Docker Compose file checkin for tr069-adapter 45/4345/2
authorgmittal <gaurav.mittal@commscope.com>
Wed, 8 Jul 2020 13:01:48 +0000 (13:01 +0000)
committerGaurav Mittal <gaurav.mittal@commscope.com>
Wed, 8 Jul 2020 14:03:32 +0000 (14:03 +0000)
Code changes to support Docker Compose file for tr069-adapterVES and nginx support.

Issue-Id: OAM-128
Signed-off-by: gmittal <gaurav.mittal@commscope.com>
Change-Id: I8bb509928abe9b20ed83739c9853d79baf45f4ee

19 files changed:
LICENSES
acs/application-booter/pom.xml
acs/nbi/pom.xml
config-data/pom.xml
db/pom.xml
docker-compose/README.md [new file with mode: 0644]
docker-compose/data/importConfig.sh [new file with mode: 0755]
docker-compose/data/testdata/0005B9423910.xml [new file with mode: 0755]
docker-compose/data/testdata/ConfigurationData.xsd [new file with mode: 0755]
docker-compose/tr069-adapter/tr069adapter-install.env [new file with mode: 0755]
docker-compose/tr069-adapter/tr069adapter-install.yaml [new file with mode: 0755]
factory/pom.xml
mapper/pom.xml
netconf-server/pom.xml
nginx/Dockerfile [new file with mode: 0755]
nginx/config/configNginx.sh [new file with mode: 0755]
nginx/config/nginx.conf [new file with mode: 0755]
nginx/pom.xml [new file with mode: 0755]
pom.xml

index f49a4e1..a09ec56 100644 (file)
--- a/LICENSES
+++ b/LICENSES
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
+oam-tr-069-adapter Apache-2.0
+
+This oam-tr-069-adapter software is distributed by CommScope Inc. 
+Unless otherwise specified, all software contained herein is licensed
+under the Apache License, Version 2.0 (the "Software License");
+you may not use this software except in compliance with the Software
+License. You may obtain a copy of the Software License at
+http://www.apache.org/licenses/LICENSE-2.0
+Unless required by applicable law or agreed to in writing, software
+distributed under the Software License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the Software License for the specific language governing permissions
+and limitations under the Software License.  
+Unless otherwise specified, all documentation contained herein is licensed
+under the Creative Commons License, Attribution 4.0 Intl. (the
+"Documentation License"); you may not use this documentation except in
+compliance with the Documentation License. You may obtain a copy of the
+Documentation License at
+https://creativecommons.org/licenses/by/4.0/
+Unless required by applicable law or agreed to in writing, documentation
+distributed under the Documentation License is distributed on an "AS IS"
+BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+implied. See the Documentation License for the specific language governing
+permissions and limitations under the Documentation License.
+
+
+This tr-069-adapter software repository includes files that are Copyright 2014
+Cisco Systems, Inc.  and distributed under the Eclipse Public License v1.0. 
+You may not use this file except in compliance with the License. You may obtain a 
+copy of the License at https://www.eclipse.org/legal/epl-v10.html. 
+This software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS 
+OF ANY KIND, either express or implied. See the License for the specific language 
+governing permissions and limitations under the License.
+
+This tr-069-adapter software repository includes files that are 
+Copyright 2010-2019 IETF Trust and distributed under the simplified BSD 
+License set forth in Section 4.c of the IETF Trust's Legal Provisions Relating 
+to IETF Documents (http://trustee.ietf.org/license-info). This software is 
+distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 
+either express or implied. See the License for the specific language 
+governing permissions and limitations under the License.
+  
+This tr-069-adapter software repository includes files that are Copyright 2019 
+O-RAN Alliance and distributed under BSD-3-Clause License.     This software is 
+distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 
+either express or implied. See the License for the specific language 
+governing permissions and limitations under the License.
+
+This tr-069-adapter software repository includes files that are Copyright (C) 2002-2020 Igor Sysoev, 
+Copyright (C) 2011-2020 Nginx, Inc. It is licensed under the 2-clause BSD-like license. This software is
+distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+either express or implied. See the License for the specific language
+governing permissions and limitations under the License.
+
+This tr-069-adapter software repository includes files that are Copyright (C) 1991, 1999 
+Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA.
+Everyone is permitted to copy and distribute verbatim copies of this license document,
+but changing it is not allowed. https://github.com/mariadb-corporation/mariadb-connector-j/blob/master/LICENSE
+
+This tr-069-adapter software repository includes files that are Copyright (c) 2007 Mockito contributors
+under MIT License(https://github.com/mockito/mockito/wiki/License).    THE SOFTWARE IS PROVIDED 
+"AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 
+WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES  
+OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,  
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 
+
+This tr-069-adapter software repository includes files that are Copyright (c) 2007, 
+Eclipse Foundation, Inc. and its licensors.(https://www.eclipse.org/org/documents/edl-v10.php)
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS 
+OR IMPLIED WARRANTIES, INCLUDING, BUTNOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY 
+AND FITNESS FOR A PARTICULARPURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR  
+CONTRIBUTORS BE LIABLEFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 
+DAMAGES (INCLUDING,BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 
+DATA, OR PROFITS;OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER 
+IN CONTRACT,STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 
+OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+This tr-069-adapter software repository includes files that are Copyright (c) SAX LICENSE 
+(https://saas.solenovo.fi/solemove/lics/LICENSE-SAX.html) This module, both source code and 
+documentation, is in the Public Domain, and comes with NO WARRANTY. See http://www.saxproject.org 
+for further information.
+
+This tr-069-adapter software repository includes files that are Copyright (C) 1989, 1991 
+Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+Everyone is permitted to copy and distribute verbatim copies of this license document, 
+but changing it is not allowed. this is under The GNU General Public License (GPL)
+https://openjdk.java.net/legal/gplv2+ce.html
 
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
\ No newline at end of file
index 291d6e4..16e9a56 100644 (file)
-<?xml version="1.0" encoding="UTF-8"?>\r
-<!--\r
-/*\r
- * ============LICENSE_START========================================================================\r
- * ONAP : tr-069-adapter\r
- * =================================================================================================\r
- * Copyright (C) 2020 CommScope Inc Intellectual Property.\r
- * =================================================================================================\r
- * This tr-069-adapter software file is distributed by CommScope Inc\r
- * under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.apache.org/licenses/LICENSE-2.0\r
- *\r
- * This file is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- * ===============LICENSE_END=======================================================================\r
-*/\r
--->\r
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">\r
-   <parent>\r
-      <groupId>org.commscope.tr069adapter.acs</groupId>\r
-      <artifactId>acs</artifactId>\r
-      <version>1.0.0</version>\r
-   </parent>\r
-   <modelVersion>4.0.0</modelVersion>\r
-   <groupId>org.commscope.tr069adapter.acs.booter</groupId>\r
-   <artifactId>application-booter</artifactId>\r
-   <name>Application Booter</name>\r
-   <licenses>\r
-      <license>\r
-         <name>The Apache Software License, Version 2.0</name>\r
-         <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>\r
-      </license>\r
-   </licenses>\r
-   <repositories>\r
-      <repository>\r
-         <id>onap-releases</id>\r
-         <name>onap-releases</name>\r
-         <url>https://nexus.onap.org/content/repositories/releases/</url>\r
-      </repository>\r
-   </repositories>\r
-   <properties>\r
-      <docker.image.name>tr069adapter-acs</docker.image.name>\r
-   </properties>\r
-   <dependencies>\r
-      <dependency>\r
-         <groupId>org.springframework</groupId>\r
-         <artifactId>spring-jms</artifactId>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>javax.xml.soap</groupId>\r
-         <artifactId>javax.xml.soap-api</artifactId>\r
-         <version>1.4.0</version>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>org.springframework.boot</groupId>\r
-         <artifactId>spring-boot-starter-web</artifactId>\r
-         <exclusions>\r
-            <exclusion>\r
-               <groupId>org.springframework.boot</groupId>\r
-               <artifactId>spring-boot-starter-logging</artifactId>\r
-            </exclusion>\r
-         </exclusions>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>org.springframework.boot</groupId>\r
-         <artifactId>spring-boot-starter-log4j2</artifactId>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>com.lmax</groupId>\r
-         <artifactId>disruptor</artifactId>\r
-         <version>3.4.2</version>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>org.springframework.boot</groupId>\r
-         <artifactId>spring-boot-starter-activemq</artifactId>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>org.apache.activemq</groupId>\r
-         <artifactId>activemq-broker</artifactId>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>com.fasterxml.jackson.core</groupId>\r
-         <artifactId>jackson-databind</artifactId>\r
-      </dependency>\r
-         <dependency>\r
-         <groupId>org.commscope.tr069adapter.acs.common</groupId>\r
-         <artifactId>acs-common</artifactId>\r
-         <version>1.0.0</version>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>org.commscope.tr069adapter.common</groupId>\r
-         <artifactId>common</artifactId>\r
-         <version>1.0.0</version>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>org.commscope.tr069adapter.acs.cpe</groupId>\r
-         <artifactId>cpe</artifactId>\r
-         <version>1.0.0</version>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>org.commscope.tr069adapter.acs.requestprocessor</groupId>\r
-         <artifactId>requestprocessor</artifactId>\r
-         <version>1.0.0</version>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>org.commscope.tr069adapter.acs.nbi</groupId>\r
-         <artifactId>acsnbi</artifactId>\r
-         <version>1.0.0</version>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>com.google.guava</groupId>\r
-         <artifactId>guava</artifactId>\r
-         <version>23.6-jre</version>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>org.apache.httpcomponents</groupId>\r
-         <artifactId>httpcore</artifactId>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>sax</groupId>\r
-         <artifactId>sax</artifactId>\r
-         <version>2.0.1</version>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>org.mockito</groupId>\r
-         <artifactId>mockito-core</artifactId>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>org.springframework.boot</groupId>\r
-         <artifactId>spring-boot-starter-test</artifactId>\r
-         <scope>test</scope>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>junit</groupId>\r
-         <artifactId>junit</artifactId>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>junit</groupId>\r
-         <artifactId>junit-dep</artifactId>\r
-         <version>4.11</version>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>com.h2database</groupId>\r
-         <artifactId>h2</artifactId>\r
-         <scope>test</scope>\r
-      </dependency>\r
-   </dependencies>\r
-   <build>\r
-      <plugins>\r
-         <plugin>\r
-            <groupId>org.springframework.boot</groupId>\r
-            <artifactId>spring-boot-maven-plugin</artifactId>\r
-         </plugin>\r
-         <plugin>\r
-            <groupId>net.revelc.code.formatter</groupId>\r
-            <artifactId>formatter-maven-plugin</artifactId>\r
-            <version>${formatter-maven-plugin.version}</version>\r
-            <configuration>\r
-               <configFile>${project.parent.parent.basedir}/eclipse-formatter.xml</configFile>\r
-            </configuration>\r
-            <!-- https://code.revelc.net/formatter-maven-plugin/ use mvn formatter:format\r
-                                        spotless:apply process-sources -->\r
-         </plugin>\r
-         <plugin>\r
-            <groupId>com.diffplug.spotless</groupId>\r
-            <artifactId>spotless-maven-plugin</artifactId>\r
-            <version>${spotless-maven-plugin.version}</version>\r
-            <configuration>\r
-               <java>\r
-                  <removeUnusedImports />\r
-                  <importOrder>\r
-                     <order>com,java,javax,org</order>\r
-                  </importOrder>\r
-               </java>\r
-            </configuration>\r
-            <!-- https://github.com/diffplug/spotless/tree/master/plugin-maven use\r
-                                        mvn spotless:apply to rewrite source files use mvn spotless:check to validate\r
-                                        source files -->\r
-         </plugin>\r
-         <plugin>\r
-            <groupId>org.apache.maven.plugins</groupId>\r
-            <artifactId>maven-surefire-plugin</artifactId>\r
-            <configuration>\r
-               <skipTests>false</skipTests>\r
-            </configuration>\r
-         </plugin>\r
-         <plugin>\r
-            <artifactId>maven-failsafe-plugin</artifactId>\r
-         </plugin>\r
-         <plugin>\r
-            <groupId>io.fabric8</groupId>\r
-            <artifactId>docker-maven-plugin</artifactId>\r
-            <version>${docker-maven-plugin}</version>\r
-            <inherited>false</inherited>\r
-            <executions>\r
-               <execution>\r
-                  <id>generate-policy-agent-image</id>\r
-                  <phase>package</phase>\r
-                  <goals>\r
-                     <goal>build</goal>\r
-                     <goal>save</goal>\r
-                  </goals>\r
-                  <configuration>\r
-                     <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>\r
-                     <images>\r
-                        <image>\r
-                           <name>${docker.image.name}:${build.version}</name>\r
-                           <build>\r
-                              <cleanup>try</cleanup>\r
-                              <contextDir>${basedir}</contextDir>\r
-                              <dockerFile>Dockerfile</dockerFile>\r
-                              <args>\r
-                                 <JAR>${project.build.finalName}.jar</JAR>\r
-                              </args>\r
-                              <tags>\r
-                                 <tag>${project.version}</tag>\r
-                              </tags>\r
-                           </build>\r
-                        </image>\r
-                     </images>\r
-                  </configuration>\r
-               </execution>\r
-               <execution>\r
-                  <id>push-policy-agent-image</id>\r
-                  <goals>\r
-                     <goal>build</goal>\r
-                     <goal>push</goal>\r
-                  </goals>\r
-                  <configuration>\r
-                     <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>\r
-                     <pushRegistry>${env.CONTAINER_PUSH_REGISTRY}</pushRegistry>\r
-                     <images>\r
-                        <image>\r
-                           <name>${docker.image.name}:${project.version}</name>\r
-                           <build>\r
-                              <contextDir>${basedir}</contextDir>\r
-                              <dockerFile>Dockerfile</dockerFile>\r
-                              <args>\r
-                                 <JAR>${project.build.finalName}.jar</JAR>\r
-                              </args>\r
-                              <tags>\r
-                                 <tag>latest</tag>\r
-                              </tags>\r
-                           </build>\r
-                        </image>\r
-                     </images>\r
-                  </configuration>\r
-               </execution>\r
-            </executions>\r
-         </plugin>\r
-         <!-- support sonar in multi-module project -->\r
-         <plugin>\r
-            <groupId>org.sonarsource.scanner.maven</groupId>\r
-            <artifactId>sonar-maven-plugin</artifactId>\r
-            <version>${sonar-maven-plugin.version}</version>\r
-         </plugin>\r
-      </plugins>\r
-   </build>\r
-   <issueManagement>\r
-      <system>JIRA</system>\r
-      <url>https://jira.o-ran-sc.org/</url>\r
-   </issueManagement>\r
-</project>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+ * ============LICENSE_START========================================================================
+ * O-RAN-SC : tr-069-adapter
+ * =================================================================================================
+ * Copyright (C) 2020 CommScope Inc Intellectual Property.
+ * =================================================================================================
+ * This tr-069-adapter software file is distributed by CommScope Inc
+ * under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * This file is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ===============LICENSE_END=======================================================================
+*/
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+   <parent>
+      <groupId>org.commscope.tr069adapter.acs</groupId>
+      <artifactId>acs</artifactId>
+      <version>1.0.0</version>
+   </parent>
+   <modelVersion>4.0.0</modelVersion>
+   <groupId>org.commscope.tr069adapter.acs.booter</groupId>
+   <artifactId>application-booter</artifactId>
+   <name>Application Booter</name>
+   <licenses>
+      <license>
+         <name>The Apache Software License, Version 2.0</name>
+         <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      </license>
+   </licenses>
+   <repositories>
+      <repository>
+         <id>onap-releases</id>
+         <name>onap-releases</name>
+         <url>https://nexus.onap.org/content/repositories/releases/</url>
+      </repository>
+   </repositories>
+   <properties>
+      <docker.image.name>o-ran-sc/tr069adapter-acs</docker.image.name>
+   </properties>
+   <dependencies>
+      <dependency>
+         <groupId>org.springframework</groupId>
+         <artifactId>spring-jms</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>javax.xml.soap</groupId>
+         <artifactId>javax.xml.soap-api</artifactId>
+         <version>1.4.0</version>
+      </dependency>
+      <dependency>
+         <groupId>org.springframework.boot</groupId>
+         <artifactId>spring-boot-starter-web</artifactId>
+         <exclusions>
+            <exclusion>
+               <groupId>org.springframework.boot</groupId>
+               <artifactId>spring-boot-starter-logging</artifactId>
+            </exclusion>
+         </exclusions>
+      </dependency>
+      <dependency>
+         <groupId>org.springframework.boot</groupId>
+         <artifactId>spring-boot-starter-log4j2</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>com.lmax</groupId>
+         <artifactId>disruptor</artifactId>
+         <version>3.4.2</version>
+      </dependency>
+      <dependency>
+         <groupId>org.springframework.boot</groupId>
+         <artifactId>spring-boot-starter-activemq</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>org.apache.activemq</groupId>
+         <artifactId>activemq-broker</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>com.fasterxml.jackson.core</groupId>
+         <artifactId>jackson-databind</artifactId>
+      </dependency>
+         <dependency>
+         <groupId>org.commscope.tr069adapter.acs.common</groupId>
+         <artifactId>acs-common</artifactId>
+         <version>1.0.0</version>
+      </dependency>
+      <dependency>
+         <groupId>org.commscope.tr069adapter.common</groupId>
+         <artifactId>common</artifactId>
+         <version>1.0.0</version>
+      </dependency>
+      <dependency>
+         <groupId>org.commscope.tr069adapter.acs.cpe</groupId>
+         <artifactId>cpe</artifactId>
+         <version>1.0.0</version>
+      </dependency>
+      <dependency>
+         <groupId>org.commscope.tr069adapter.acs.requestprocessor</groupId>
+         <artifactId>requestprocessor</artifactId>
+         <version>1.0.0</version>
+      </dependency>
+      <dependency>
+         <groupId>org.commscope.tr069adapter.acs.nbi</groupId>
+         <artifactId>acsnbi</artifactId>
+         <version>1.0.0</version>
+      </dependency>
+      <dependency>
+         <groupId>com.google.guava</groupId>
+         <artifactId>guava</artifactId>
+         <version>23.6-jre</version>
+      </dependency>
+      <dependency>
+         <groupId>org.apache.httpcomponents</groupId>
+         <artifactId>httpcore</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>sax</groupId>
+         <artifactId>sax</artifactId>
+         <version>2.0.1</version>
+      </dependency>
+      <dependency>
+         <groupId>org.mockito</groupId>
+         <artifactId>mockito-core</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>org.springframework.boot</groupId>
+         <artifactId>spring-boot-starter-test</artifactId>
+         <scope>test</scope>
+      </dependency>
+      <dependency>
+         <groupId>junit</groupId>
+         <artifactId>junit</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>junit</groupId>
+         <artifactId>junit-dep</artifactId>
+         <version>4.11</version>
+      </dependency>
+      <dependency>
+         <groupId>com.h2database</groupId>
+         <artifactId>h2</artifactId>
+         <scope>test</scope>
+      </dependency>
+   </dependencies>
+   <build>
+      <plugins>
+         <plugin>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-maven-plugin</artifactId>
+         </plugin>
+         <plugin>
+            <groupId>net.revelc.code.formatter</groupId>
+            <artifactId>formatter-maven-plugin</artifactId>
+            <version>${formatter-maven-plugin.version}</version>
+            <configuration>
+               <configFile>${project.parent.parent.basedir}/eclipse-formatter.xml</configFile>
+            </configuration>
+            <!-- https://code.revelc.net/formatter-maven-plugin/ use mvn formatter:format
+                                        spotless:apply process-sources -->
+         </plugin>
+         <plugin>
+            <groupId>com.diffplug.spotless</groupId>
+            <artifactId>spotless-maven-plugin</artifactId>
+            <version>${spotless-maven-plugin.version}</version>
+            <configuration>
+               <java>
+                  <removeUnusedImports />
+                  <importOrder>
+                     <order>com,java,javax,org</order>
+                  </importOrder>
+               </java>
+            </configuration>
+            <!-- https://github.com/diffplug/spotless/tree/master/plugin-maven use
+                                        mvn spotless:apply to rewrite source files use mvn spotless:check to validate
+                                        source files -->
+         </plugin>
+         <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-surefire-plugin</artifactId>
+            <configuration>
+               <skipTests>false</skipTests>
+            </configuration>
+         </plugin>
+         <plugin>
+            <artifactId>maven-failsafe-plugin</artifactId>
+         </plugin>
+         <plugin>
+            <groupId>io.fabric8</groupId>
+            <artifactId>docker-maven-plugin</artifactId>
+            <version>${docker-maven-plugin}</version>
+            <inherited>false</inherited>
+            <executions>
+               <execution>
+                  <id>generate-policy-agent-image</id>
+                  <phase>package</phase>
+                  <goals>
+                     <goal>build</goal>
+                     <goal>save</goal>
+                  </goals>
+                  <configuration>
+                     <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>
+                     <images>
+                        <image>
+                           <name>${docker.image.name}:${build.version}</name>
+                           <build>
+                              <cleanup>try</cleanup>
+                              <contextDir>${basedir}</contextDir>
+                              <dockerFile>Dockerfile</dockerFile>
+                              <args>
+                                 <JAR>${project.build.finalName}.jar</JAR>
+                              </args>
+                              <tags>
+                                 <tag>${project.version}</tag>
+                              </tags>
+                           </build>
+                        </image>
+                     </images>
+                  </configuration>
+               </execution>
+               <execution>
+                  <id>push-policy-agent-image</id>
+                  <goals>
+                     <goal>build</goal>
+                     <goal>push</goal>
+                  </goals>
+                  <configuration>
+                     <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>
+                     <pushRegistry>${env.CONTAINER_PUSH_REGISTRY}</pushRegistry>
+                     <images>
+                        <image>
+                           <name>${docker.image.name}:${project.version}</name>
+                           <build>
+                              <contextDir>${basedir}</contextDir>
+                              <dockerFile>Dockerfile</dockerFile>
+                              <args>
+                                 <JAR>${project.build.finalName}.jar</JAR>
+                              </args>
+                              <tags>
+                                 <tag>latest</tag>
+                              </tags>
+                           </build>
+                        </image>
+                     </images>
+                  </configuration>
+               </execution>
+            </executions>
+         </plugin>
+         <!-- support sonar in multi-module project -->
+         <plugin>
+            <groupId>org.sonarsource.scanner.maven</groupId>
+            <artifactId>sonar-maven-plugin</artifactId>
+            <version>${sonar-maven-plugin.version}</version>
+         </plugin>
+      </plugins>
+   </build>
+   <issueManagement>
+      <system>JIRA</system>
+      <url>https://jira.o-ran-sc.org/</url>
+   </issueManagement>
+</project>
index 9decb41..a148d16 100644 (file)
-<!--\r
-/*\r
- * ============LICENSE_START========================================================================\r
- * ONAP : tr-069-adapter\r
- * =================================================================================================\r
- * Copyright (C) 2020 CommScope Inc Intellectual Property.\r
- * =================================================================================================\r
- * This tr-069-adapter software file is distributed by CommScope Inc\r
- * under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.apache.org/licenses/LICENSE-2.0\r
- *\r
- * This file is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- * ===============LICENSE_END=======================================================================\r
-*/\r
--->\r
-\r
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
-       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">\r
-       \r
-       <modelVersion>4.0.0</modelVersion>\r
-       <groupId>org.commscope.tr069adapter.acs.nbi</groupId>\r
-       <artifactId>acsnbi</artifactId>\r
-       <name>acs nbi service</name>\r
-       \r
-       <parent>\r
-               <groupId>org.commscope.tr069adapter.acs</groupId>\r
-               <artifactId>acs</artifactId>\r
-               <version>1.0.0</version>\r
-       </parent>\r
-       \r
-       <dependencies>\r
-               <dependency>\r
-                       <groupId>org.springframework</groupId>\r
-                       <artifactId>spring-jms</artifactId>\r
-               </dependency>\r
-               <dependency>\r
-                       <groupId>org.springframework.boot</groupId>\r
-                       <artifactId>spring-boot-starter-web</artifactId>\r
-                       <exclusions>\r
-                <exclusion>\r
-                    <groupId>org.springframework.boot</groupId>\r
-                    <artifactId>spring-boot-starter-logging</artifactId>\r
-                </exclusion>\r
-            </exclusions>\r
-               </dependency>\r
-               <dependency>\r
-               <groupId>org.springframework.boot</groupId>\r
-               <artifactId>spring-boot-starter-log4j2</artifactId>\r
-               </dependency>\r
-               <dependency>\r
-            <groupId>com.lmax</groupId>\r
-            <artifactId>disruptor</artifactId>\r
-            <version>3.4.2</version>\r
-        </dependency>\r
-               <dependency>\r
-                       <groupId>org.apache.activemq</groupId>\r
-                       <artifactId>activemq-broker</artifactId>\r
-               </dependency>\r
-               <dependency>\r
-                       <groupId>com.fasterxml.jackson.core</groupId>\r
-                       <artifactId>jackson-databind</artifactId>\r
-               </dependency>\r
-               <dependency>\r
-                       <groupId>javax.ws.rs</groupId>\r
-                       <artifactId>javax.ws.rs-api</artifactId>\r
-                       <version>2.0</version>\r
-               </dependency>\r
-               <dependency>\r
-                       <groupId>org.commscope.tr069adapter.common</groupId>\r
-                       <artifactId>common</artifactId>\r
-                       <version>1.0.0</version>\r
-               </dependency>\r
-               <dependency>\r
-         <groupId>org.commscope.tr069adapter.acs.common</groupId>\r
-         <artifactId>acs-common</artifactId>\r
-         <version>1.0.0</version>\r
-      </dependency>\r
-               <dependency>\r
-                       <groupId>org.commscope.tr069adapter.acs.requestprocessor</groupId>\r
-                       <artifactId>requestprocessor</artifactId>\r
-                       <version>1.0.0</version>\r
-               </dependency>\r
-       </dependencies>\r
-   <build>\r
-      <plugins>\r
-         <plugin>\r
-            <groupId>net.revelc.code.formatter</groupId>\r
-            <artifactId>formatter-maven-plugin</artifactId>\r
-            <version>${formatter-maven-plugin.version}</version>\r
-            <configuration>\r
-               <configFile>${project.parent.parent.basedir}/eclipse-formatter.xml</configFile>\r
-            </configuration>\r
-            <!-- https://code.revelc.net/formatter-maven-plugin/ use mvn formatter:format\r
-                                        spotless:apply process-sources -->\r
-         </plugin>\r
-         <plugin>\r
-            <groupId>com.diffplug.spotless</groupId>\r
-            <artifactId>spotless-maven-plugin</artifactId>\r
-            <version>${spotless-maven-plugin.version}</version>\r
-            <configuration>\r
-               <java>\r
-                  <removeUnusedImports />\r
-                  <importOrder>\r
-                     <order>com,java,javax,org</order>\r
-                  </importOrder>\r
-               </java>\r
-            </configuration>\r
-            <!-- https://github.com/diffplug/spotless/tree/master/plugin-maven use\r
-                                        mvn spotless:apply to rewrite source files use mvn spotless:check to validate\r
-                                        source files -->\r
-         </plugin>\r
-         <!-- support sonar in multi-module project -->\r
-         <plugin>\r
-            <groupId>org.sonarsource.scanner.maven</groupId>\r
-            <artifactId>sonar-maven-plugin</artifactId>\r
-            <version>${sonar-maven-plugin.version}</version>\r
-         </plugin>\r
-      </plugins>\r
-   </build>\r
-   <issueManagement>\r
-      <system>JIRA</system>\r
-      <url>https://jira.o-ran-sc.org/</url>\r
-   </issueManagement>\r
-</project>
\ No newline at end of file
+<!--
+/*
+ * ============LICENSE_START========================================================================
+ * O-RAN-SC : tr-069-adapter
+ * =================================================================================================
+ * Copyright (C) 2020 CommScope Inc Intellectual Property.
+ * =================================================================================================
+ * This tr-069-adapter software file is distributed by CommScope Inc
+ * under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * This file is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ===============LICENSE_END=======================================================================
+*/
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+       
+       <modelVersion>4.0.0</modelVersion>
+       <groupId>org.commscope.tr069adapter.acs.nbi</groupId>
+       <artifactId>acsnbi</artifactId>
+       <name>acs nbi service</name>
+       
+       <parent>
+               <groupId>org.commscope.tr069adapter.acs</groupId>
+               <artifactId>acs</artifactId>
+               <version>1.0.0</version>
+       </parent>
+       
+       <dependencies>
+               <dependency>
+                       <groupId>org.springframework</groupId>
+                       <artifactId>spring-jms</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.springframework.boot</groupId>
+                       <artifactId>spring-boot-starter-web</artifactId>
+                       <exclusions>
+                <exclusion>
+                    <groupId>org.springframework.boot</groupId>
+                    <artifactId>spring-boot-starter-logging</artifactId>
+                </exclusion>
+            </exclusions>
+               </dependency>
+               <dependency>
+               <groupId>org.springframework.boot</groupId>
+               <artifactId>spring-boot-starter-log4j2</artifactId>
+               </dependency>
+               <dependency>
+            <groupId>com.lmax</groupId>
+            <artifactId>disruptor</artifactId>
+            <version>3.4.2</version>
+        </dependency>
+               <dependency>
+                       <groupId>org.apache.activemq</groupId>
+                       <artifactId>activemq-broker</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>com.fasterxml.jackson.core</groupId>
+                       <artifactId>jackson-databind</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>javax.ws.rs</groupId>
+                       <artifactId>javax.ws.rs-api</artifactId>
+                       <version>2.0</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.commscope.tr069adapter.common</groupId>
+                       <artifactId>common</artifactId>
+                       <version>1.0.0</version>
+               </dependency>
+               <dependency>
+         <groupId>org.commscope.tr069adapter.acs.common</groupId>
+         <artifactId>acs-common</artifactId>
+         <version>1.0.0</version>
+      </dependency>
+               <dependency>
+                       <groupId>org.commscope.tr069adapter.acs.requestprocessor</groupId>
+                       <artifactId>requestprocessor</artifactId>
+                       <version>1.0.0</version>
+               </dependency>
+       </dependencies>
+   <build>
+      <plugins>
+         <plugin>
+            <groupId>net.revelc.code.formatter</groupId>
+            <artifactId>formatter-maven-plugin</artifactId>
+            <version>${formatter-maven-plugin.version}</version>
+            <configuration>
+               <configFile>${project.parent.parent.basedir}/eclipse-formatter.xml</configFile>
+            </configuration>
+            <!-- https://code.revelc.net/formatter-maven-plugin/ use mvn formatter:format
+                                        spotless:apply process-sources -->
+         </plugin>
+         <plugin>
+            <groupId>com.diffplug.spotless</groupId>
+            <artifactId>spotless-maven-plugin</artifactId>
+            <version>${spotless-maven-plugin.version}</version>
+            <configuration>
+               <java>
+                  <removeUnusedImports />
+                  <importOrder>
+                     <order>com,java,javax,org</order>
+                  </importOrder>
+               </java>
+            </configuration>
+            <!-- https://github.com/diffplug/spotless/tree/master/plugin-maven use
+                                        mvn spotless:apply to rewrite source files use mvn spotless:check to validate
+                                        source files -->
+         </plugin>
+         <!-- support sonar in multi-module project -->
+         <plugin>
+            <groupId>org.sonarsource.scanner.maven</groupId>
+            <artifactId>sonar-maven-plugin</artifactId>
+            <version>${sonar-maven-plugin.version}</version>
+         </plugin>
+      </plugins>
+   </build>
+   <issueManagement>
+      <system>JIRA</system>
+      <url>https://jira.o-ran-sc.org/</url>
+   </issueManagement>
+</project>
index 6c70210..830ffa7 100644 (file)
-<?xml version="1.0" encoding="UTF-8"?>\r
-<!--\r
-/*\r
- * ============LICENSE_START========================================================================\r
- * ONAP : tr-069-adapter\r
- * =================================================================================================\r
- * Copyright (C) 2020 CommScope Inc Intellectual Property.\r
- * =================================================================================================\r
- * This tr-069-adapter software file is distributed by CommScope Inc\r
- * under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.apache.org/licenses/LICENSE-2.0\r
- *\r
- * This file is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- * ===============LICENSE_END=======================================================================\r
-*/\r
--->\r
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">\r
-   <modelVersion>4.0.0</modelVersion>\r
-   <parent>\r
-      <groupId>org.commscope.tr069adapter</groupId>\r
-      <artifactId>tr069adapter</artifactId>\r
-      <version>1.0.0</version>\r
-   </parent>\r
-   <groupId>org.commscope.tr069adapter.config</groupId>\r
-   <artifactId>config-data</artifactId>\r
-   <name>config-data</name>\r
-   <description>Configuration data import project for Spring Boot</description>\r
-   <licenses>\r
-      <license>\r
-         <name>The Apache Software License, Version 2.0</name>\r
-         <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>\r
-      </license>\r
-   </licenses>\r
-   <repositories>\r
-      <repository>\r
-         <id>onap-releases</id>\r
-         <name>onap-releases</name>\r
-         <url>https://nexus.onap.org/content/repositories/releases/</url>\r
-      </repository>\r
-   </repositories>\r
-   <properties>\r
-      <docker.image.name>tr069adapter-acs-initialpnpdb</docker.image.name>\r
-   </properties>\r
-   <dependencies>\r
-      <dependency>\r
-         <groupId>org.springframework.boot</groupId>\r
-         <artifactId>spring-boot-starter-data-jpa</artifactId>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>org.springframework.boot</groupId>\r
-         <artifactId>spring-boot-starter-web</artifactId>\r
-         <exclusions>\r
-            <exclusion>\r
-               <groupId>org.springframework.boot</groupId>\r
-               <artifactId>spring-boot-starter-logging</artifactId>\r
-            </exclusion>\r
-         </exclusions>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>org.springframework.boot</groupId>\r
-         <artifactId>spring-boot-starter-log4j2</artifactId>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>org.mariadb.jdbc</groupId>\r
-         <artifactId>mariadb-java-client</artifactId>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>org.springframework.boot</groupId>\r
-         <artifactId>spring-boot-starter-test</artifactId>\r
-         <scope>test</scope>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>com.h2database</groupId>\r
-         <artifactId>h2</artifactId>\r
-         <scope>test</scope>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>junit</groupId>\r
-         <artifactId>junit</artifactId>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>junit</groupId>\r
-         <artifactId>junit-dep</artifactId>\r
-         <version>4.11</version>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>org.springframework.boot</groupId>\r
-         <artifactId>spring-boot-starter-test</artifactId>\r
-         <scope>test</scope>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>org.commscope.tr069adapter.acs.common</groupId>\r
-         <artifactId>acs-common</artifactId>\r
-         <version>1.0.0</version>\r
-      </dependency>\r
-   </dependencies>\r
-   <build>\r
-      <plugins>\r
-         <plugin>\r
-            <groupId>org.springframework.boot</groupId>\r
-            <artifactId>spring-boot-maven-plugin</artifactId>\r
-         </plugin>\r
-         <plugin>\r
-            <groupId>net.revelc.code.formatter</groupId>\r
-            <artifactId>formatter-maven-plugin</artifactId>\r
-            <version>${formatter-maven-plugin.version}</version>\r
-            <configuration>\r
-               <configFile>${project.parent.basedir}/eclipse-formatter.xml</configFile>\r
-            </configuration>\r
-            <!-- https://code.revelc.net/formatter-maven-plugin/ use mvn formatter:format\r
-                                        spotless:apply process-sources -->\r
-         </plugin>\r
-         <plugin>\r
-            <groupId>com.diffplug.spotless</groupId>\r
-            <artifactId>spotless-maven-plugin</artifactId>\r
-            <version>${spotless-maven-plugin.version}</version>\r
-            <configuration>\r
-               <java>\r
-                  <removeUnusedImports />\r
-                  <importOrder>\r
-                     <order>com,java,javax,org</order>\r
-                  </importOrder>\r
-               </java>\r
-            </configuration>\r
-            <!-- https://github.com/diffplug/spotless/tree/master/plugin-maven use\r
-                                        mvn spotless:apply to rewrite source files use mvn spotless:check to validate\r
-                                        source files -->\r
-         </plugin>\r
-         <plugin>\r
-            <groupId>org.apache.maven.plugins</groupId>\r
-            <artifactId>maven-surefire-plugin</artifactId>\r
-            <configuration>\r
-               <skipTests>false</skipTests>\r
-            </configuration>\r
-         </plugin>\r
-         <plugin>\r
-            <artifactId>maven-failsafe-plugin</artifactId>\r
-         </plugin>\r
-         <plugin>\r
-            <groupId>io.fabric8</groupId>\r
-            <artifactId>docker-maven-plugin</artifactId>\r
-            <version>${docker-maven-plugin}</version>\r
-            <inherited>false</inherited>\r
-            <executions>\r
-               <execution>\r
-                  <id>generate-policy-agent-image</id>\r
-                  <phase>package</phase>\r
-                  <goals>\r
-                     <goal>build</goal>\r
-                     <goal>save</goal>\r
-                  </goals>\r
-                  <configuration>\r
-                     <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>\r
-                     <images>\r
-                        <image>\r
-                           <name>${docker.image.name}:${build.version}</name>\r
-                           <build>\r
-                              <cleanup>try</cleanup>\r
-                              <contextDir>${basedir}</contextDir>\r
-                              <dockerFile>Dockerfile</dockerFile>\r
-                              <args>\r
-                                 <JAR>${project.build.finalName}.jar</JAR>\r
-                              </args>\r
-                              <tags>\r
-                                 <tag>${project.version}</tag>\r
-                              </tags>\r
-                           </build>\r
-                        </image>\r
-                     </images>\r
-                  </configuration>\r
-               </execution>\r
-               <execution>\r
-                  <id>push-policy-agent-image</id>\r
-                  <goals>\r
-                     <goal>build</goal>\r
-                     <goal>push</goal>\r
-                  </goals>\r
-                  <configuration>\r
-                     <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>\r
-                     <pushRegistry>${env.CONTAINER_PUSH_REGISTRY}</pushRegistry>\r
-                     <images>\r
-                        <image>\r
-                           <name>${docker.image.name}:${project.version}</name>\r
-                           <build>\r
-                              <contextDir>${basedir}</contextDir>\r
-                              <dockerFile>Dockerfile</dockerFile>\r
-                              <args>\r
-                                 <JAR>${project.build.finalName}.jar</JAR>\r
-                              </args>\r
-                              <tags>\r
-                                 <tag>latest</tag>\r
-                              </tags>\r
-                           </build>\r
-                        </image>\r
-                     </images>\r
-                  </configuration>\r
-               </execution>\r
-            </executions>\r
-         </plugin>\r
-         <!-- support sonar in multi-module project -->\r
-         <plugin>\r
-            <groupId>org.sonarsource.scanner.maven</groupId>\r
-            <artifactId>sonar-maven-plugin</artifactId>\r
-            <version>${sonar-maven-plugin.version}</version>\r
-         </plugin>\r
-      </plugins>\r
-   </build>\r
-   <issueManagement>\r
-      <system>JIRA</system>\r
-      <url>https://jira.o-ran-sc.org/</url>\r
-   </issueManagement>\r
-</project>\r
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+ * ============LICENSE_START========================================================================
+ * O-RAN-SC : tr-069-adapter
+ * =================================================================================================
+ * Copyright (C) 2020 CommScope Inc Intellectual Property.
+ * =================================================================================================
+ * This tr-069-adapter software file is distributed by CommScope Inc
+ * under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * This file is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ===============LICENSE_END=======================================================================
+*/
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+   <modelVersion>4.0.0</modelVersion>
+   <parent>
+      <groupId>org.commscope.tr069adapter</groupId>
+      <artifactId>tr069adapter</artifactId>
+      <version>1.0.0</version>
+   </parent>
+   <groupId>org.commscope.tr069adapter.config</groupId>
+   <artifactId>config-data</artifactId>
+   <name>config-data</name>
+   <description>Configuration data import project for Spring Boot</description>
+   <licenses>
+      <license>
+         <name>The Apache Software License, Version 2.0</name>
+         <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      </license>
+   </licenses>
+   <repositories>
+      <repository>
+         <id>onap-releases</id>
+         <name>onap-releases</name>
+         <url>https://nexus.onap.org/content/repositories/releases/</url>
+      </repository>
+   </repositories>
+   <properties>
+      <docker.image.name>o-ran-sc/tr069adapter-acs-initialpnpdb</docker.image.name>
+   </properties>
+   <dependencies>
+      <dependency>
+         <groupId>org.springframework.boot</groupId>
+         <artifactId>spring-boot-starter-data-jpa</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>org.springframework.boot</groupId>
+         <artifactId>spring-boot-starter-web</artifactId>
+         <exclusions>
+            <exclusion>
+               <groupId>org.springframework.boot</groupId>
+               <artifactId>spring-boot-starter-logging</artifactId>
+            </exclusion>
+         </exclusions>
+      </dependency>
+      <dependency>
+         <groupId>org.springframework.boot</groupId>
+         <artifactId>spring-boot-starter-log4j2</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>org.mariadb.jdbc</groupId>
+         <artifactId>mariadb-java-client</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>org.springframework.boot</groupId>
+         <artifactId>spring-boot-starter-test</artifactId>
+         <scope>test</scope>
+      </dependency>
+      <dependency>
+         <groupId>com.h2database</groupId>
+         <artifactId>h2</artifactId>
+         <scope>test</scope>
+      </dependency>
+      <dependency>
+         <groupId>junit</groupId>
+         <artifactId>junit</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>junit</groupId>
+         <artifactId>junit-dep</artifactId>
+         <version>4.11</version>
+      </dependency>
+      <dependency>
+         <groupId>org.springframework.boot</groupId>
+         <artifactId>spring-boot-starter-test</artifactId>
+         <scope>test</scope>
+      </dependency>
+      <dependency>
+         <groupId>org.commscope.tr069adapter.acs.common</groupId>
+         <artifactId>acs-common</artifactId>
+         <version>1.0.0</version>
+      </dependency>
+   </dependencies>
+   <build>
+      <plugins>
+         <plugin>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-maven-plugin</artifactId>
+         </plugin>
+         <plugin>
+            <groupId>net.revelc.code.formatter</groupId>
+            <artifactId>formatter-maven-plugin</artifactId>
+            <version>${formatter-maven-plugin.version}</version>
+            <configuration>
+               <configFile>${project.parent.basedir}/eclipse-formatter.xml</configFile>
+            </configuration>
+            <!-- https://code.revelc.net/formatter-maven-plugin/ use mvn formatter:format
+                                        spotless:apply process-sources -->
+         </plugin>
+         <plugin>
+            <groupId>com.diffplug.spotless</groupId>
+            <artifactId>spotless-maven-plugin</artifactId>
+            <version>${spotless-maven-plugin.version}</version>
+            <configuration>
+               <java>
+                  <removeUnusedImports />
+                  <importOrder>
+                     <order>com,java,javax,org</order>
+                  </importOrder>
+               </java>
+            </configuration>
+            <!-- https://github.com/diffplug/spotless/tree/master/plugin-maven use
+                                        mvn spotless:apply to rewrite source files use mvn spotless:check to validate
+                                        source files -->
+         </plugin>
+         <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-surefire-plugin</artifactId>
+            <configuration>
+               <skipTests>false</skipTests>
+            </configuration>
+         </plugin>
+         <plugin>
+            <artifactId>maven-failsafe-plugin</artifactId>
+         </plugin>
+         <plugin>
+            <groupId>io.fabric8</groupId>
+            <artifactId>docker-maven-plugin</artifactId>
+            <version>${docker-maven-plugin}</version>
+            <inherited>false</inherited>
+            <executions>
+               <execution>
+                  <id>generate-policy-agent-image</id>
+                  <phase>package</phase>
+                  <goals>
+                     <goal>build</goal>
+                     <goal>save</goal>
+                  </goals>
+                  <configuration>
+                     <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>
+                     <images>
+                        <image>
+                           <name>${docker.image.name}:${build.version}</name>
+                           <build>
+                              <cleanup>try</cleanup>
+                              <contextDir>${basedir}</contextDir>
+                              <dockerFile>Dockerfile</dockerFile>
+                              <args>
+                                 <JAR>${project.build.finalName}.jar</JAR>
+                              </args>
+                              <tags>
+                                 <tag>${project.version}</tag>
+                              </tags>
+                           </build>
+                        </image>
+                     </images>
+                  </configuration>
+               </execution>
+               <execution>
+                  <id>push-policy-agent-image</id>
+                  <goals>
+                     <goal>build</goal>
+                     <goal>push</goal>
+                  </goals>
+                  <configuration>
+                     <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>
+                     <pushRegistry>${env.CONTAINER_PUSH_REGISTRY}</pushRegistry>
+                     <images>
+                        <image>
+                           <name>${docker.image.name}:${project.version}</name>
+                           <build>
+                              <contextDir>${basedir}</contextDir>
+                              <dockerFile>Dockerfile</dockerFile>
+                              <args>
+                                 <JAR>${project.build.finalName}.jar</JAR>
+                              </args>
+                              <tags>
+                                 <tag>latest</tag>
+                              </tags>
+                           </build>
+                        </image>
+                     </images>
+                  </configuration>
+               </execution>
+            </executions>
+         </plugin>
+         <!-- support sonar in multi-module project -->
+         <plugin>
+            <groupId>org.sonarsource.scanner.maven</groupId>
+            <artifactId>sonar-maven-plugin</artifactId>
+            <version>${sonar-maven-plugin.version}</version>
+         </plugin>
+      </plugins>
+   </build>
+   <issueManagement>
+      <system>JIRA</system>
+      <url>https://jira.o-ran-sc.org/</url>
+   </issueManagement>
+</project>
index a093570..2b63dcb 100644 (file)
@@ -1,99 +1,99 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<!--\r
-/*\r
- * ============LICENSE_START========================================================================\r
- * ONAP : tr-069-adapter\r
- * =================================================================================================\r
- * Copyright (C) 2020 CommScope Inc Intellectual Property.\r
- * =================================================================================================\r
- * This tr-069-adapter software file is distributed by CommScope Inc\r
- * under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.apache.org/licenses/LICENSE-2.0\r
- *\r
- * This file is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- * ===============LICENSE_END=======================================================================\r
-*/\r
--->\r
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">\r
-   <parent>\r
-      <groupId>org.commscope.tr069adapter</groupId>\r
-      <artifactId>tr069adapter</artifactId>\r
-      <version>1.0.0</version>\r
-   </parent>\r
-   <modelVersion>4.0.0</modelVersion>\r
-   <groupId>org.commscope.tr069adapter.db</groupId>\r
-   <artifactId>maria-db</artifactId>\r
-   <name>maria-db</name>\r
-   <url>http://maven.apache.org</url>\r
-   <properties>\r
-      <docker.image.name>tr069adapter-mariadb</docker.image.name>\r
-   </properties>\r
-   <build>\r
-      <plugins>\r
-         <plugin>\r
-            <groupId>io.fabric8</groupId>\r
-            <artifactId>docker-maven-plugin</artifactId>\r
-            <version>${docker-maven-plugin}</version>\r
-            <inherited>false</inherited>\r
-            <executions>\r
-               <execution>\r
-                  <id>generate-policy-agent-image</id>\r
-                  <phase>package</phase>\r
-                  <goals>\r
-                     <goal>build</goal>\r
-                                        <goal>save</goal>\r
-                  </goals>\r
-                  <configuration>\r
-                     <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>\r
-                     <images>\r
-                        <image>\r
-                           <name>${docker.image.name}:${build.version}</name>\r
-                           <build>\r
-                              <cleanup>try</cleanup>\r
-                              <contextDir>${basedir}</contextDir>\r
-                              <dockerFile>Dockerfile</dockerFile>\r
-                              <tags>\r
-                                 <tag>${project.version}</tag>\r
-                              </tags>\r
-                           </build>\r
-                        </image>\r
-                     </images>\r
-                  </configuration>\r
-               </execution>\r
-               <execution>\r
-                  <id>push-policy-agent-image</id>\r
-                  <goals>\r
-                     <goal>build</goal>\r
-                     <goal>push</goal>\r
-                  </goals>\r
-                  <configuration>\r
-                     <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>\r
-                     <pushRegistry>${env.CONTAINER_PUSH_REGISTRY}</pushRegistry>\r
-                     <images>\r
-                        <image>\r
-                           <name>${docker.image.name}:${project.version}</name>\r
-                           <build>\r
-                              <contextDir>${basedir}</contextDir>\r
-                              <dockerFile>Dockerfile</dockerFile>\r
-                              <args>\r
-                                 <JAR>${project.build.finalName}.jar</JAR>\r
-                              </args>\r
-                              <tags>\r
-                                 <tag>latest</tag>\r
-                              </tags>\r
-                           </build>\r
-                        </image>\r
-                     </images>\r
-                  </configuration>\r
-               </execution>\r
-            </executions>\r
-         </plugin>\r
-      </plugins>\r
-   </build>\r
-</project>\r
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+ * ============LICENSE_START========================================================================
+ * O-RAN-SC : tr-069-adapter
+ * =================================================================================================
+ * Copyright (C) 2020 CommScope Inc Intellectual Property.
+ * =================================================================================================
+ * This tr-069-adapter software file is distributed by CommScope Inc
+ * under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * This file is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ===============LICENSE_END=======================================================================
+*/
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+   <parent>
+      <groupId>org.commscope.tr069adapter</groupId>
+      <artifactId>tr069adapter</artifactId>
+      <version>1.0.0</version>
+   </parent>
+   <modelVersion>4.0.0</modelVersion>
+   <groupId>org.commscope.tr069adapter.db</groupId>
+   <artifactId>maria-db</artifactId>
+   <name>maria-db</name>
+   <url>http://maven.apache.org</url>
+   <properties>
+      <docker.image.name>o-ran-sc/tr069adapter-mariadb</docker.image.name>
+   </properties>
+   <build>
+      <plugins>
+         <plugin>
+            <groupId>io.fabric8</groupId>
+            <artifactId>docker-maven-plugin</artifactId>
+            <version>${docker-maven-plugin}</version>
+            <inherited>false</inherited>
+            <executions>
+               <execution>
+                  <id>generate-policy-agent-image</id>
+                  <phase>package</phase>
+                  <goals>
+                     <goal>build</goal>
+                                        <goal>save</goal>
+                  </goals>
+                  <configuration>
+                     <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>
+                     <images>
+                        <image>
+                           <name>${docker.image.name}:${build.version}</name>
+                           <build>
+                              <cleanup>try</cleanup>
+                              <contextDir>${basedir}</contextDir>
+                              <dockerFile>Dockerfile</dockerFile>
+                              <tags>
+                                 <tag>${project.version}</tag>
+                              </tags>
+                           </build>
+                        </image>
+                     </images>
+                  </configuration>
+               </execution>
+               <execution>
+                  <id>push-policy-agent-image</id>
+                  <goals>
+                     <goal>build</goal>
+                     <goal>push</goal>
+                  </goals>
+                  <configuration>
+                     <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>
+                     <pushRegistry>${env.CONTAINER_PUSH_REGISTRY}</pushRegistry>
+                     <images>
+                        <image>
+                           <name>${docker.image.name}:${project.version}</name>
+                           <build>
+                              <contextDir>${basedir}</contextDir>
+                              <dockerFile>Dockerfile</dockerFile>
+                              <args>
+                                 <JAR>${project.build.finalName}.jar</JAR>
+                              </args>
+                              <tags>
+                                 <tag>latest</tag>
+                              </tags>
+                           </build>
+                        </image>
+                     </images>
+                  </configuration>
+               </execution>
+            </executions>
+         </plugin>
+      </plugins>
+   </build>
+</project>
diff --git a/docker-compose/README.md b/docker-compose/README.md
new file mode 100644 (file)
index 0000000..1aca96a
--- /dev/null
@@ -0,0 +1,41 @@
+# O-RAN-SC docker-compose files
+
+The tr069adapter-install.yaml and tr069adapter-install.env file will create an entire tr069-adapter system with one command:
+docker-compose -f tr069adapter-install.yaml --env-file tr069adapter-install.env up -d
+
+Howto:
+cd tr069-adapter/
+docker-compose -f tr069adapter-install.yaml --env-file tr069adapter-install.env up -d
+
+The scripts in data/ will import the test data in the running system.
+
+Run command:
+If SSL is not enabled then execute
+cd data/
+./importConfig.sh 
+
+If SSL is enabled then execute 
+cd data/
+./importConfig.sh SSL
+
+Open link:
+http://localhost:1111/getConfig/0005b9423910
+or
+https://localhost:1111/getConfig/0005b9423910
+
+All the imported data is shown on the web page
+
+## License
+
+O-RAN-SC : tr-069-adapter
+Copyright (C) 2020 CommScope Inc Intellectual Property.
+This tr-069-adapter software file is distributed by CommScope Inc under the Apache License,
+Version 2.0 (the "License"); you may not use this file except in compliance with the License. You
+may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+either express or implied. See the License for the specific language governing permissions and
+limitations under the License.
+
diff --git a/docker-compose/data/importConfig.sh b/docker-compose/data/importConfig.sh
new file mode 100755 (executable)
index 0000000..4adff88
--- /dev/null
@@ -0,0 +1,32 @@
+#!/bin/bash
+# ============LICENSE_START========================================================================
+# O-RAN-SC : tr-069-adapter
+# =================================================================================================
+# Copyright (C) 2020 CommScope Inc Intellectual Property.
+# =================================================================================================
+# This tr-069-adapter software file is distributed by CommScope Inc under the Apache License,
+# Version 2.0 (the "License"); you may not use this file except in compliance with the License. You
+# may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+# either express or implied. See the License for the specific language governing permissions and
+# limitations under the License.
+# ===============LICENSE_END=======================================================================
+
+# Run command:
+# If SSL is enabled then execute : ./importConfig.sh SSL
+# If SSL is not enabled then execute : ./importConfig.sh
+
+PROTO="http"
+[ "$1" = "SSL" ] && PROTO="https"
+
+echo "Importing the Configuration..."
+curl -k -F "files=@./testdata/0005B9423910.xml" $PROTO://localhost:1111/importConfig
+echo -e "\n"
+
+echo "Validating the Import..."
+curl $PROTO://localhost:1111/getConfig/0005b9423910 -k
+echo -e "\n"
+
diff --git a/docker-compose/data/testdata/0005B9423910.xml b/docker-compose/data/testdata/0005B9423910.xml
new file mode 100755 (executable)
index 0000000..58328c1
--- /dev/null
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+     /*
+ * ============LICENSE_START========================================================================
+ * O-RAN-SC : tr-069-adapter
+ * =================================================================================================
+ * Copyright (C) 2020 CommScope Inc Intellectual Property.
+ * =================================================================================================
+ * This tr-069-adapter software file is distributed by CommScope Inc
+ * under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * This file is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ===============LICENSE_END=======================================================================
+*/
+-->
+<configDataFile>
+  <fileHeader fileFormatVersion="32.594 V14.0.0" vendorName="Commscope"/>
+  <configData>
+    <managedElement swVersion="4.3.00.038" localDn="0005B9423910" hwVersion="750742.00.04" ProductClass="LTE_Enterprise_C-RANSC_Cntrl" OUI="0005B9"/>
+    <Device>
+      <Services>
+        <FAPService index="1">
+          <AccessMgmt>
+            <LTE>
+              <AccessMode>Open Access</AccessMode>
+            </LTE>
+          </AccessMgmt>
+          <CellConfig>
+            <LTE>
+              <EPC>
+                <PLMNList index="1">
+                  <Alias>cpe-121</Alias>
+                  <Enable>1</Enable>
+                  <IsPrimary>1</IsPrimary>
+                  <PLMNID>302650</PLMNID>
+                </PLMNList>
+                <TAC>1</TAC>
+              </EPC>
+              <RAN>
+                <Common>
+                  <CellIdentity>12602</CellIdentity>
+                  <X_0005B9_CellMode>HeNB</X_0005B9_CellMode>
+                </Common>
+                <PHY>
+                  <PRACH>
+                    <RootSequenceIndex>10,12,13</RootSequenceIndex>
+                  </PRACH>
+                </PHY>
+                <RF>
+                  <DLBandwidth>100</DLBandwidth>
+                  <EARFCNDL>3200</EARFCNDL>
+                  <EARFCNUL>21200</EARFCNUL>
+                  <PhyCellID>262</PhyCellID>
+                  <ULBandwidth>100</ULBandwidth>
+                </RF>
+              </RAN>
+            </LTE>
+          </CellConfig>
+          <FAPControl>
+            <LTE>
+              <AdminState>1</AdminState>
+              <Gateway>
+                <S1ConnectionMode>ALL</S1ConnectionMode>
+                <S1SigLinkPort>36412</S1SigLinkPort>
+                <S1SigLinkServerList>10.207.192.34</S1SigLinkServerList>
+                <SecGWServer1>10.222.222.192</SecGWServer1>
+              </Gateway>
+              <X_0005B9_SelfConfig>
+                <ClearDiscoveredNeighbors>0</ClearDiscoveredNeighbors>
+              </X_0005B9_SelfConfig>
+            </LTE>
+          </FAPControl>
+          <X_0005B9_LTE>
+            <TACList>1</TACList>
+          </X_0005B9_LTE>
+        </FAPService>
+        <X_0005B9_numSectorsPerBC>1</X_0005B9_numSectorsPerBC>
+      </Services>
+      <Time>
+        <LocalTimeZone>IST+5:30</LocalTimeZone>
+      </Time>
+    </Device>
+  </configData>
+  <fileFooter dateTime="2019-07-16T17:32:35+05:30"/>
+</configDataFile>
+
+
diff --git a/docker-compose/data/testdata/ConfigurationData.xsd b/docker-compose/data/testdata/ConfigurationData.xsd
new file mode 100755 (executable)
index 0000000..c1acbc3
--- /dev/null
@@ -0,0 +1,2765 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+     /*
+ * ============LICENSE_START========================================================================
+ * O-RAN-SC : tr-069-adapter
+ * =================================================================================================
+ * Copyright (C) 2020 CommScope Inc Intellectual Property.
+ * =================================================================================================
+ * This tr-069-adapter software file is distributed by CommScope Inc
+ * under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * This file is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ===============LICENSE_END=======================================================================
+*/
+-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+       <xs:element name="configDataFile">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="fileHeader">
+                                       <xs:complexType>
+                                               <xs:attribute name="fileFormatVersion" type="xs:string" use="required"/>
+                                               <xs:attribute name="senderName" type="xs:string" use="optional"/>
+                                               <xs:attribute name="vendorName" type="xs:string" use="optional"/>
+                                       </xs:complexType>
+                               </xs:element>
+                               <xs:element ref="configData" minOccurs="1" maxOccurs="1"/>
+                               <xs:element name="fileFooter">
+                                       <xs:complexType>
+                                               <xs:attribute name="dateTime" type="xs:dateTime" use="required"/>
+                                       </xs:complexType>
+                               </xs:element>
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>           
+
+       <xs:element name="configData">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element ref="managedElement" minOccurs="1" maxOccurs="1"/>
+                               <xs:element ref="Device" minOccurs="1" maxOccurs="1" />
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="managedElement">
+               <xs:complexType>
+                       <xs:attribute name="OUI" type="xs:string" use="required"/>
+                       <xs:attribute name="localDn" type="xs:string" use="required"/>
+                       <xs:attribute name="ProductClass" type="xs:string" use="required"/>
+                       <xs:attribute name="swVersion" type="xs:string" use="required"/>
+                       <xs:attribute name="hwVersion" type="xs:string" use="optional"/>
+               </xs:complexType>
+
+       </xs:element>
+       <xs:element name="Device">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element ref="DeviceInfo" minOccurs="0"/>
+                               <xs:element ref="Ethernet" minOccurs="0"/>
+                               <xs:element ref="FAP" minOccurs="0"/>
+                               <xs:element ref="FaultMgmt" minOccurs="0"/>
+                               <xs:element ref="IP" minOccurs="0"/>
+                               <xs:element ref="IPsec" minOccurs="0"/>
+                               <xs:element ref="ManagementServer" minOccurs="0"/>
+                               <xs:element ref="NeighborDiscovery" minOccurs="0"/>
+                               <xs:element ref="PeriodicStatistics" minOccurs="0"/>
+                               <xs:element ref="QoS" minOccurs="0"/>
+                               <xs:element ref="Security" minOccurs="0"/>
+                               <xs:element ref="Services" minOccurs="0"/>
+                               <xs:element ref="Time" minOccurs="0"/>
+                               <xs:element ref="UserInterface" minOccurs="0"/>
+                               <xs:element ref="X_0005B9_FHMgmt" minOccurs="0"/>
+                               <xs:element ref="X_0005B9_IPsec2" minOccurs="0"/>
+                               <xs:element ref="X_0005B9_IPsecCA" minOccurs="0"/>
+                               <xs:element ref="X_0005B9_License" minOccurs="0"/>
+                               <xs:element ref="X_0005B9_MIGRATION" minOccurs="0"/>
+                               <xs:element ref="X_0005B9_SoftwareManagement" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="DeviceInfo">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="X_0005B9_OperatorName" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="Ethernet">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element ref="Interface" minOccurs="0" maxOccurs="unbounded"/>
+                               <xs:element ref="Link" minOccurs="0" maxOccurs="unbounded"/>
+                               <xs:element ref="VLANTermination" minOccurs="0" maxOccurs="unbounded"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+
+               <xs:unique name="uniqueId-Interface">
+                       <xs:selector xpath="Interface" />
+                       <xs:field xpath="@index" />
+               </xs:unique>
+               <xs:unique name="uniqueId-Link">
+                       <xs:selector xpath="Link" />
+                       <xs:field xpath="@index" />
+               </xs:unique>
+               <xs:unique name="uniqueId-VLANTermination">
+                       <xs:selector xpath="VLANTermination" />
+                       <xs:field xpath="@index" />
+               </xs:unique>
+       </xs:element>
+       <xs:element name="Interface">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="Alias" type="xs:string" minOccurs="0"/>
+                               <xs:element name="DuplexMode" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Enable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="LowerLayers" type="xs:string" minOccurs="0"/>
+                               <xs:element name="MaxBitRate" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="Link">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="Alias" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Enable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="LowerLayers" type="xs:string" minOccurs="0"/>
+                               <xs:element name="PriorityTagging" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="VLANTermination">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="Alias" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Enable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="LowerLayers" type="xs:string" minOccurs="0"/>
+                               <xs:element name="VLANID" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="FAP">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element ref="GPS" minOccurs="0"/>
+                               <xs:element ref="PerfMgmt" minOccurs="0"/>
+                               <xs:element name="X_0005B9_DasRttDelay" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_EnableDasMode" type="xs:string" minOccurs="0"/>
+                               <xs:element ref="X_0005B9_FileTransfer" minOccurs="0"/>
+                               <xs:element ref="X_0005B9_FileTransfersEnh" minOccurs="0" maxOccurs="unbounded"/>
+                               <xs:element ref="X_0005B9_LogLevelConfiguration" minOccurs="0"/>
+                               <xs:element ref="X_0005B9_Logging" minOccurs="0"/>
+                               <xs:element name="X_0005B9_PlatformManagementEnable" type="xs:string" minOccurs="0"/>
+                               <xs:element ref="X_0005B9_RPLogManagement" minOccurs="0"/>
+                               <xs:element ref="X_0005B9_RU" minOccurs="0" maxOccurs="unbounded"/>
+                               <xs:element name="X_0005B9_RUBlacklisted" type="xs:string" minOccurs="0"/>
+                               <xs:element ref="X_0005B9_RUSoftwareManagement" minOccurs="0"/>
+                               <xs:element name="X_0005B9_RUWhiteList" type="xs:string" minOccurs="0"/>
+                               <xs:element ref="X_0005B9_SlotReservation" minOccurs="0" maxOccurs="unbounded"/>
+                               <xs:element ref="X_0005B9_Trace" minOccurs="0" maxOccurs="unbounded"/>
+                               <xs:element ref="X_0005B9_TraceFileTransfer" minOccurs="0"/>
+                               <xs:element ref="X_0005B9_UserManagement" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+
+               <xs:unique name="uniqueId-X_0005B9_FileTransfersEnh">
+                       <xs:selector xpath="X_0005B9_FileTransfersEnh" />
+                       <xs:field xpath="@index" />
+               </xs:unique>
+               <xs:unique name="uniqueId-X_0005B9_RU">
+                       <xs:selector xpath="X_0005B9_RU" />
+                       <xs:field xpath="@index" />
+               </xs:unique>
+               <xs:unique name="uniqueId-X_0005B9_SlotReservation">
+                       <xs:selector xpath="X_0005B9_SlotReservation" />
+                       <xs:field xpath="@index" />
+               </xs:unique>
+               <xs:unique name="uniqueId-X_0005B9_Trace">
+                       <xs:selector xpath="X_0005B9_Trace" />
+                       <xs:field xpath="@index" />
+               </xs:unique>
+       </xs:element>
+       <xs:element name="GPS">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element ref="AGPSServerConfig" minOccurs="0"/>
+                               <xs:element name="ContinuousGPS" type="xs:string" minOccurs="0"/>
+                               <xs:element ref="ContinuousGPSStatus" minOccurs="0"/>
+                               <xs:element name="GPSReset" type="xs:string" minOccurs="0"/>
+                               <xs:element name="PeriodicInterval" type="xs:string" minOccurs="0"/>
+                               <xs:element name="PeriodicTime" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ScanOnBoot" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ScanPeriodically" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ScanTimeout" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_HoldoverTimeOutDuration" type="xs:string" minOccurs="0"/>
+                               <xs:element ref="X_0005B9_NominalGPS" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="AGPSServerConfig">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="Enable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Password" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ReferenceLatitude" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ReferenceLongitude" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ServerPort" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ServerURL" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Username" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_aGPSRetryPeriodMax" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="ContinuousGPSStatus">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="FirstFixTimeout" type="xs:string" minOccurs="0"/>
+                               <xs:element name="LockTimeOutDuration" type="xs:string" minOccurs="0"/>
+                               <xs:element name="SatelliteTrackingInterval" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="X_0005B9_NominalGPS">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="Altitude" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Confidence" type="xs:string" minOccurs="0"/>
+                               <xs:element name="DegreesOfLatitude" type="xs:string" minOccurs="0"/>
+                               <xs:element name="DegreesOfLongitude" type="xs:string" minOccurs="0"/>
+                               <xs:element name="DirectionOfAltitude" type="xs:string" minOccurs="0"/>
+                               <xs:element name="LatitudeSign" type="xs:string" minOccurs="0"/>
+                               <xs:element name="OrientationOfMajorAxis" type="xs:string" minOccurs="0"/>
+                               <xs:element name="UncertaintyAltitude" type="xs:string" minOccurs="0"/>
+                               <xs:element name="UncertaintySemiMajor" type="xs:string" minOccurs="0"/>
+                               <xs:element name="UncertaintySemiMinor" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="PerfMgmt">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element ref="Config" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="Config">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="X_0005B9_FileType" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_XMLFormat" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="X_0005B9_FileTransfer">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element ref="FileDetails" minOccurs="0" maxOccurs="unbounded"/>
+                               <xs:element name="HistOMFileWithDebugLog" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Password" type="xs:string" minOccurs="0"/>
+                               <xs:element name="RPOMFileWithDebugLog" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ServerURL" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Username" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+
+               <xs:unique name="uniqueId-FileDetails">
+                       <xs:selector xpath="FileDetails" />
+                       <xs:field xpath="@index" />
+               </xs:unique>
+       </xs:element>
+       <xs:element name="FileDetails">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="Alias" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Enable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="FileName" type="xs:string" minOccurs="0"/>
+                               <xs:element name="IncludeRadioPointLog" type="xs:string" minOccurs="0"/>
+                               <xs:element name="LocationOnServer" type="xs:string" minOccurs="0"/>
+                               <xs:element name="TransferNow" type="xs:string" minOccurs="0"/>
+                               <xs:element name="TransferType" type="xs:string" minOccurs="0"/>
+                               <xs:element name="TransferWindowDuration" type="xs:string" minOccurs="0"/>
+                               <xs:element name="TransferWindowInterval" type="xs:string" minOccurs="0"/>
+                               <xs:element name="TransferWindowStartTime" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="X_0005B9_FileTransfersEnh">
+               <xs:complexType>
+                       <xs:sequence>
+       <xs:element name="FileDetails" minOccurs="0" maxOccurs="unbounded">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="Alias" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Enable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="FileCompressionEnable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="FileCompressionType" type="xs:string" minOccurs="0"/>
+                               <xs:element name="FileName" type="xs:string" minOccurs="0"/>
+                               <xs:element name="IncludeRadioPointLog" type="xs:string" minOccurs="0"/>
+                               <xs:element name="LocationOnServer" type="xs:string" minOccurs="0"/>
+                               <xs:element name="TransferNow" type="xs:string" minOccurs="0"/>
+                               <xs:element name="TransferType" type="xs:string" minOccurs="0"/>
+                               <xs:element name="TransferWindowDuration" type="xs:string" minOccurs="0"/>
+                               <xs:element name="TransferWindowInterval" type="xs:string" minOccurs="0"/>
+                               <xs:element name="TransferWindowStartTime" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+                       </xs:complexType>
+       </xs:element>
+                               <xs:element name="Password" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ServerURL" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Username" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+               </xs:complexType>
+               <xs:unique name="uniqueId-FileDetails1">
+                       <xs:selector xpath="FileDetails" />
+                       <xs:field xpath="@index" />
+               </xs:unique>
+       </xs:element>
+       <xs:element name="X_0005B9_LogLevelConfiguration">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="CUAPP_CURURecvSendT" type="xs:string" minOccurs="0"/>
+                               <xs:element name="DIMClient" type="xs:string" minOccurs="0"/>
+                               <xs:element name="LTEAPP_FAPController" type="xs:string" minOccurs="0"/>
+                               <xs:element name="LTEAPP_FAPManagement" type="xs:string" minOccurs="0"/>
+                               <xs:element name="LTEAPP_L2L3MessagingInterface" type="xs:string" minOccurs="0"/>
+                               <xs:element name="LTEAPP_RRM" type="xs:string" minOccurs="0"/>
+                               <xs:element name="LTEAPP_RRMUEMGR" type="xs:string" minOccurs="0"/>
+                               <xs:element name="LTEAPP_RuMgr" type="xs:string" minOccurs="0"/>
+                               <xs:element name="LTEAPP_SON" type="xs:string" minOccurs="0"/>
+                               <xs:element name="LTEAPP_STACKController" type="xs:string" minOccurs="0"/>
+                               <xs:element name="RRC" type="xs:string" minOccurs="0"/>
+                               <xs:element name="RUAPP_RUDiscoveryConfigClient" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="X_0005B9_Logging">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element ref="SyslogNg" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="SyslogNg">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="EventTypes" type="xs:string" minOccurs="0"/>
+                               <xs:element name="MonitoredInterface" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Port" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Server" type="xs:string" minOccurs="0"/>
+                               <xs:element name="UseIPSecTunnel" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="X_0005B9_RPLogManagement">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="IncludePlatformLog" type="xs:string" minOccurs="0"/>
+                               <xs:element name="TransferLogsToController" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="X_0005B9_RU">
+               <xs:complexType>
+                       <xs:sequence>
+       <xs:element name="Device" minOccurs="0">
+               <xs:complexType>
+                       <xs:sequence>
+       <xs:element name="DeviceInfo" minOccurs="0">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="Alias" type="xs:string" minOccurs="0"/>
+                               <xs:element name="DeviceType" type="xs:string" minOccurs="0"/>
+                               <xs:element name="InstallationType" type="xs:string" minOccurs="0"/>
+                               <xs:element ref="Location" minOccurs="0"/>
+                               <xs:element ref="NGRP" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+                               <xs:element ref="PHY" minOccurs="0"/>
+                               <xs:element ref="RAN" minOccurs="0"/>
+                               <xs:element ref="SlotReservation" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+                               <xs:element name="RUIndex" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Reboot" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Reset" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="Location">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="Altitude" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Confidence" type="xs:string" minOccurs="0"/>
+                               <xs:element name="DataObject" type="xs:string" minOccurs="0"/>
+                               <xs:element name="DegreesOfLatitude" type="xs:string" minOccurs="0"/>
+                               <xs:element name="DegreesOfLongitude" type="xs:string" minOccurs="0"/>
+                               <xs:element name="DirectionOfAltitude" type="xs:string" minOccurs="0"/>
+                               <xs:element name="LatitudeSign" type="xs:string" minOccurs="0"/>
+                               <xs:element name="OrientationOfMajorAxis" type="xs:string" minOccurs="0"/>
+                               <xs:element name="UncertaintyAltitude" type="xs:string" minOccurs="0"/>
+                               <xs:element name="UncertaintySemiMajor" type="xs:string" minOccurs="0"/>
+                               <xs:element name="UncertaintySemiMinor" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="NGRP">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="REBOOT" type="xs:string" minOccurs="0"/>
+                               <xs:element name="RESET" type="xs:string" minOccurs="0"/>
+                               <xs:element name="TimingSource" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="PHY">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element ref="AntennaInfo" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="AntennaInfo">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="AntennaType" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="RAN">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element ref="RF" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="RF">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="RfTxPower" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="SlotReservation">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="AntennaPortNumber" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="X_0005B9_RUSoftwareManagement">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="ApplyImage" type="xs:string" minOccurs="0"/>
+                               <xs:element name="EnableNGRPUpgrade" type="xs:string" minOccurs="0"/>
+                               <xs:element name="FileTransferProtocol" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="X_0005B9_SlotReservation">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="AntennaPortNumber" type="xs:string" minOccurs="0"/>
+                               <xs:element name="PARTNUMBER" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="X_0005B9_Trace">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="UeSpecificTraceEnable" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="X_0005B9_TraceFileTransfer">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="FileUploadPeriodicity" type="xs:string" minOccurs="0"/>
+                               <xs:element name="LocationOnServer" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Password" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ServerPort" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Username" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="X_0005B9_UserManagement">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="ExternalAuthAccess" type="xs:string" minOccurs="0"/>
+                               <xs:element ref="LDAP" minOccurs="0"/>
+                               <xs:element ref="RADIUS" minOccurs="0"/>
+                               <xs:element ref="UserAccount" minOccurs="0" maxOccurs="unbounded"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+
+               <xs:unique name="uniqueId-UserAccount">
+                       <xs:selector xpath="UserAccount" />
+                       <xs:field xpath="@index" />
+               </xs:unique>
+       </xs:element>
+       <xs:element name="LDAP">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="AdminDN" type="xs:string" minOccurs="0"/>
+                               <xs:element name="AdminPassword" type="xs:string" minOccurs="0"/>
+                               <xs:element name="BaseDN" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ConnectionTimeout" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Filter" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Port" type="xs:string" minOccurs="0"/>
+                               <xs:element name="RetryCount" type="xs:string" minOccurs="0"/>
+                               <xs:element name="SASL" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ServerIPAddress" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ServerName" type="xs:string" minOccurs="0"/>
+                               <xs:element name="TLSCertificate" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="RADIUS">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="ConnectionTimeout" type="xs:string" minOccurs="0"/>
+                               <xs:element name="NASIPAddress" type="xs:string" minOccurs="0"/>
+                               <xs:element name="NASIdentifier" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Port" type="xs:string" minOccurs="0"/>
+                               <xs:element name="RetryCount" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ServerIPAddress" type="xs:string" minOccurs="0"/>
+                               <xs:element name="SharedSecretKey" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="UserAccount">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="Alias" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Password" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Privileges" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ResetPassword" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Status" type="xs:string" minOccurs="0"/>
+                               <xs:element name="UserName" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="FaultMgmt">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element ref="CurrentAlarm" minOccurs="0" maxOccurs="unbounded"/>
+                               <xs:element ref="ExpeditedEvent" minOccurs="0" maxOccurs="unbounded"/>
+                               <xs:element ref="HistoryEvent" minOccurs="0" maxOccurs="unbounded"/>
+                               <xs:element ref="SupportedAlarm" minOccurs="0" maxOccurs="unbounded"/>
+                               <xs:element name="X_0005B9_SendTestAlarm" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+
+               <xs:unique name="uniqueId-CurrentAlarm">
+                       <xs:selector xpath="CurrentAlarm" />
+                       <xs:field xpath="@index" />
+               </xs:unique>
+               <xs:unique name="uniqueId-ExpeditedEvent">
+                       <xs:selector xpath="ExpeditedEvent" />
+                       <xs:field xpath="@index" />
+               </xs:unique>
+               <xs:unique name="uniqueId-HistoryEvent">
+                       <xs:selector xpath="HistoryEvent" />
+                       <xs:field xpath="@index" />
+               </xs:unique>
+               <xs:unique name="uniqueId-SupportedAlarm">
+                       <xs:selector xpath="SupportedAlarm" />
+                       <xs:field xpath="@index" />
+               </xs:unique>
+       </xs:element>
+       <xs:element name="CurrentAlarm">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="CurrentAlarmIndex" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="ExpeditedEvent">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="ExpediteAlarmIndex" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="HistoryEvent">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="HistoryAlarmIndex" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="SupportedAlarm">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="ReportingMechanism" type="xs:string" minOccurs="0"/>
+                               <xs:element name="SupportedAlarmIndex" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="IP">
+               <xs:complexType>
+                       <xs:sequence>
+       <xs:element name="Interface" minOccurs="0" maxOccurs="unbounded">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="Alias" type="xs:string" minOccurs="0"/>
+                               <xs:element name="AutoIPEnable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Enable" type="xs:string" minOccurs="0"/>
+                               <xs:element ref="IPv4Address" minOccurs="0" maxOccurs="unbounded"/>
+                               <xs:element name="IPv4Enable" type="xs:string" minOccurs="0"/>
+                               <xs:element ref="IPv6Address" minOccurs="0" maxOccurs="unbounded"/>
+                               <xs:element name="IPv6Enable" type="xs:string" minOccurs="0"/>
+                               <xs:element ref="IPv6Prefix" minOccurs="0" maxOccurs="unbounded"/>
+                               <xs:element name="Loopback" type="xs:string" minOccurs="0"/>
+                               <xs:element name="MaxMTUSize" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Reset" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Router" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ULAEnable" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+                       </xs:complexType>
+       </xs:element>
+
+                       </xs:sequence>
+               </xs:complexType>
+
+               <xs:unique name="uniqueId-Interface1">
+                       <xs:selector xpath="Interface" />
+                       <xs:field xpath="@index" />
+               </xs:unique>
+               <xs:unique name="uniqueId-IPv4Address">
+                       <xs:selector xpath="IPv4Address" />
+                       <xs:field xpath="@index" />
+               </xs:unique>
+               <xs:unique name="uniqueId-IPv6Address">
+                       <xs:selector xpath="IPv6Address" />
+                       <xs:field xpath="@index" />
+               </xs:unique>
+               <xs:unique name="uniqueId-IPv6Prefix">
+                       <xs:selector xpath="IPv6Prefix" />
+                       <xs:field xpath="@index" />
+               </xs:unique>
+       </xs:element>
+       <xs:element name="IPv4Address">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="AddressingType" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Alias" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Enable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="IPAddress" type="xs:string" minOccurs="0"/>
+                               <xs:element name="SubnetMask" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_DNS" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="IPv6Address">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="Alias" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Anycast" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Enable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="IPAddress" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Origin" type="xs:string" minOccurs="0"/>
+                               <xs:element name="PreferredLifetime" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Prefix" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ValidLifetime" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_DNS" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_Prefix" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="IPv6Prefix">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="Alias" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ChildPrefixBits" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Origin" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ParentPrefix" type="xs:string" minOccurs="0"/>
+                               <xs:element name="PreferredLifetime" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Prefix" type="xs:string" minOccurs="0"/>
+                               <xs:element name="StaticType" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ValidLifetime" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="IPsec">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="Enable" type="xs:string" minOccurs="0"/>
+                               <xs:element ref="Filter" minOccurs="0" maxOccurs="unbounded"/>
+                               <xs:element ref="IKEv2SA" minOccurs="0" maxOccurs="unbounded"/>
+                               <xs:element ref="LogLevel" minOccurs="0"/>
+                               <xs:element ref="Profile" minOccurs="0" maxOccurs="unbounded"/>
+                               <xs:element ref="Tunnel" minOccurs="0" maxOccurs="unbounded"/>
+                               <xs:element name="X_0005B9_ExcludeCP" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_IgnoreBasicConstraint" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+
+               <xs:unique name="uniqueId-Filter">
+                       <xs:selector xpath="Filter" />
+                       <xs:field xpath="@index" />
+               </xs:unique>
+               <xs:unique name="uniqueId-IKEv2SA">
+                       <xs:selector xpath="IKEv2SA" />
+                       <xs:field xpath="@index" />
+               </xs:unique>
+               <xs:unique name="uniqueId-Profile">
+                       <xs:selector xpath="Profile" />
+                       <xs:field xpath="@index" />
+               </xs:unique>
+               <xs:unique name="uniqueId-Tunnel">
+                       <xs:selector xpath="Tunnel" />
+                       <xs:field xpath="@index" />
+               </xs:unique>
+       </xs:element>
+       <xs:element name="Filter">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="Alias" type="xs:string" minOccurs="0"/>
+                               <xs:element name="AllInterfaces" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Interface" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Order" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Profile" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="IKEv2SA">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="Alias" type="xs:string" minOccurs="0"/>
+                               <xs:element ref="ChildSA" minOccurs="0" maxOccurs="unbounded"/>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+               </xs:complexType>
+               <xs:unique name="uniqueId-ChildSA">
+                       <xs:selector xpath="ChildSA" />
+                       <xs:field xpath="@index" />
+               </xs:unique>
+       </xs:element>
+       <xs:element name="ChildSA">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="Alias" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="LogLevel">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="X_0005B9_cfg" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_chd" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_dmn" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_enc" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_ike" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_knl" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_lib" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_mgr" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_net" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="Profile">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="AHAllowedIntegrityAlgorithms" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Alias" type="xs:string" minOccurs="0"/>
+                               <xs:element name="AntiReplayWindowSize" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ChildSATimeLimit" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ChildSATrafficLimit" type="xs:string" minOccurs="0"/>
+                               <xs:element name="DSCPMarkPolicy" type="xs:string" minOccurs="0"/>
+                               <xs:element name="DoNotFragment" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ESPAllowedEncryptionAlgorithms" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ESPAllowedIntegrityAlgorithms" type="xs:string" minOccurs="0"/>
+                               <xs:element name="IKEv2AllowedDiffieHellmanGroupTransforms" type="xs:string" minOccurs="0"/>
+                               <xs:element name="IKEv2AllowedEncryptionAlgorithms" type="xs:string" minOccurs="0"/>
+                               <xs:element name="IKEv2AllowedIntegrityAlgorithms" type="xs:string" minOccurs="0"/>
+                               <xs:element name="IKEv2AllowedPseudoRandomFunctions" type="xs:string" minOccurs="0"/>
+                               <xs:element name="IKEv2AuthenticationMethod" type="xs:string" minOccurs="0"/>
+                               <xs:element name="IKEv2DeadPeerDetectionTimeout" type="xs:string" minOccurs="0"/>
+                               <xs:element name="IKEv2NATTKeepaliveTimeout" type="xs:string" minOccurs="0"/>
+                               <xs:element name="IKEv2SATimeLimit" type="xs:string" minOccurs="0"/>
+                               <xs:element name="MaxChildSAs" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Protocol" type="xs:string" minOccurs="0"/>
+                               <xs:element name="RemoteEndpoints" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_IKEv2RekeyMargin" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_IPsec_IKERetryCount" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_IPsec_IKERetryTimeOut" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_IPsec_IKETunnelBounce" type="xs:string" minOccurs="0"/>
+                               <xs:element name="gtpFragmentation" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="Tunnel">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="Alias" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="ManagementServer">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="ConnectionRequestPassword" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ConnectionRequestUsername" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Password" type="xs:string" minOccurs="0"/>
+                               <xs:element name="PeriodicInformEnable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="PeriodicInformInterval" type="xs:string" minOccurs="0"/>
+                               <xs:element name="PeriodicInformTime" type="xs:string" minOccurs="0"/>
+                               <xs:element name="URL" type="xs:string" minOccurs="0"/>
+                               <xs:element name="UpgradesManaged" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Username" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="NeighborDiscovery">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="Enable" type="xs:string" minOccurs="0"/>
+                               <xs:element ref="InterfaceSetting" minOccurs="0" maxOccurs="unbounded"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+
+               <xs:unique name="uniqueId-InterfaceSetting">
+                       <xs:selector xpath="InterfaceSetting" />
+                       <xs:field xpath="@index" />
+               </xs:unique>
+       </xs:element>
+       <xs:element name="InterfaceSetting">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="Alias" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Enable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Interface" type="xs:string" minOccurs="0"/>
+                               <xs:element name="MaxRtrSolicitations" type="xs:string" minOccurs="0"/>
+                               <xs:element name="NUDEnable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="RSEnable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="RetransTimer" type="xs:string" minOccurs="0"/>
+                               <xs:element name="RtrSolicitationInterval" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="PeriodicStatistics">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element ref="SampleSet" minOccurs="0" maxOccurs="unbounded"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+
+               <xs:unique name="uniqueId-SampleSet">
+                       <xs:selector xpath="SampleSet" />
+                       <xs:field xpath="@index" />
+               </xs:unique>
+       </xs:element>
+       <xs:element name="SampleSet">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="SampleInterval" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="QoS">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element ref="Classification" minOccurs="0" maxOccurs="unbounded"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+
+               <xs:unique name="uniqueId-Classification">
+                       <xs:selector xpath="Classification" />
+                       <xs:field xpath="@index" />
+               </xs:unique>
+       </xs:element>
+       <xs:element name="Classification">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="DSCPMark" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Protocol" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="Security">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element ref="Certificate" minOccurs="0" maxOccurs="unbounded"/>
+                               <xs:element ref="X_0005B9_CMPv2" minOccurs="0"/>
+                               <xs:element ref="X_0005B9_WebGUI" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+
+               <xs:unique name="uniqueId-Certificate">
+                       <xs:selector xpath="Certificate" />
+                       <xs:field xpath="@index" />
+               </xs:unique>
+       </xs:element>
+       <xs:element name="Certificate">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="CertIndex" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="X_0005B9_CMPv2">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="CAServer" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Port" type="xs:string" minOccurs="0"/>
+                               <xs:element name="RenewBefore" type="xs:string" minOccurs="0"/>
+                               <xs:element name="SecGWServer" type="xs:string" minOccurs="0"/>
+                               <xs:element name="URI" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="X_0005B9_WebGUI">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="ResetAdminUserPassword" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="Services">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element ref="FAPService" minOccurs="0" maxOccurs="2"/>
+                               <xs:element ref="VoiceService" minOccurs="0" maxOccurs="2"/>
+                               <xs:element name="X_0005B9_FNEnable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_MOCNEnable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_nRrc4CatM1" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_numSectorsPerBC" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="FAPService">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element ref="AccessMgmt" minOccurs="0"/>
+                               <xs:element ref="Capabilities" minOccurs="0"/>
+                               <xs:element ref="CellConfig" minOccurs="0"/>
+                               <xs:element ref="FAPControl" minOccurs="0"/>
+                               <xs:element ref="REM" minOccurs="0"/>
+                               <xs:element ref="Transport" minOccurs="0"/>
+                               <xs:element ref="X_0005B9_AutoConfig" minOccurs="0"/>
+                               <xs:element ref="X_0005B9_AutoTxPower" minOccurs="0"/>
+                               <xs:element ref="X_0005B9_ExpressREM" minOccurs="0"/>
+                               <xs:element ref="X_0005B9_LTE" minOccurs="0"/>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="AccessMgmt">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element ref="LTE" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="LTE">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="AccessMode" type="xs:string" minOccurs="0"/>
+                               <xs:element name="CSGID" type="xs:string" minOccurs="0"/>
+                               <xs:element name="HNBName" type="xs:string" minOccurs="0"/>
+                               <xs:element name="MaxCSGMembers" type="xs:string" minOccurs="0"/>
+                               <xs:element name="MaxNonCSGMembers" type="xs:string" minOccurs="0"/>
+                               <xs:element name="MaxResourceNonCSGMembers" type="xs:string" minOccurs="0"/>
+                               <xs:element name="MaxUEsServed" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="Capabilities">
+               <xs:complexType>
+                       <xs:sequence>
+       <xs:element name="LTE" minOccurs="0">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="X_0005B9_MaxNumX2" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="CellConfig">
+               <xs:complexType>
+                       <xs:sequence>
+       <xs:element name="LTE" minOccurs="0">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element ref="EPC" minOccurs="0"/>
+       <xs:element name="RAN" minOccurs="0">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element ref="CellRestriction" minOccurs="0"/>
+                               <xs:element ref="Common" minOccurs="0"/>
+                               <xs:element ref="MAC" minOccurs="0"/>
+                               <xs:element ref="Mobility" minOccurs="0"/>
+                               <xs:element ref="NeighborList" minOccurs="0"/>
+                               <xs:element ref="NeighborListInUse" minOccurs="0"/>
+       <xs:element name="PHY" minOccurs="0">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element ref="PDSCH" minOccurs="0"/>
+                               <xs:element ref="PRACH" minOccurs="0"/>
+                               <xs:element ref="PUCCH" minOccurs="0"/>
+                               <xs:element ref="PUSCH" minOccurs="0"/>
+                               <xs:element ref="SRS" minOccurs="0"/>
+                               <xs:element ref="ULPowerControl" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="RF" minOccurs="0">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="DLBandwidth" type="xs:string" minOccurs="0"/>
+                               <xs:element name="EARFCNDL" type="xs:string" minOccurs="0"/>
+                               <xs:element name="EARFCNUL" type="xs:string" minOccurs="0"/>
+                               <xs:element name="FreqBandIndicator" type="xs:string" minOccurs="0"/>
+                               <xs:element name="PBCHPowerOffset" type="xs:string" minOccurs="0"/>
+                               <xs:element name="PSCHPowerOffset" type="xs:string" minOccurs="0"/>
+                               <xs:element name="PhyCellID" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ReferenceSignalPower" type="xs:string" minOccurs="0"/>
+                               <xs:element name="SSCHPowerOffset" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ULBandwidth" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_Imargin" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_Imax" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_MaxTxPower" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+                               <xs:element ref="RLC" minOccurs="0"/>
+                               <xs:element ref="RRCTimers" minOccurs="0"/>
+                               <xs:element ref="S1AP" minOccurs="0"/>
+                               <xs:element ref="S1U" minOccurs="0"/>
+                               <xs:element ref="X_0005B9_X2AP_CE" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+                               <xs:element ref="X_0005B9_CE" minOccurs="0"/>
+                               <xs:element ref="X_0005B9_CarrierAggregation" minOccurs="0"/>
+                               <xs:element ref="X_0005B9_RrcConnection" minOccurs="0"/>
+                               <xs:element ref="X_0005B9_RrcConnectionRejection" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="EPC">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="AllowedCipheringAlgorithmList" type="xs:string" minOccurs="0"/>
+                               <xs:element name="AllowedIntegrityProtectionAlgorithmList" type="xs:string" minOccurs="0"/>
+                               <xs:element name="EAID" type="xs:string" minOccurs="0"/>
+                               <xs:element ref="PLMNList" minOccurs="0" maxOccurs="unbounded"/>
+       <xs:element name="QoS" minOccurs="0" maxOccurs="unbounded">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="Enable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="PacketelayBudget" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Priority" type="xs:string" minOccurs="0"/>
+                               <xs:element name="QCI" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Type" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_DSCP" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_DeltaBundle" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_PacketLossRate" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_RLCMode" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_RTPBundle" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_SPSPeriodDL" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_SPSPeriodUL" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+                       </xs:complexType>
+       </xs:element>
+                               <xs:element name="TAC" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_MaxConcurrentCMASBroadcasts" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_PWSMode" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+
+               <xs:unique name="uniqueId-PLMNList">
+                       <xs:selector xpath="PLMNList" />
+                       <xs:field xpath="@index" />
+               </xs:unique>
+               <xs:unique name="uniqueId-QoS">
+                       <xs:selector xpath="QoS" />
+                       <xs:field xpath="@index" />
+               </xs:unique>
+       </xs:element>
+       <xs:element name="PLMNList">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="Alias" type="xs:string" minOccurs="0"/>
+                               <xs:element name="CellReservedForOperatorUse" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Enable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="IsPrimary" type="xs:string" minOccurs="0"/>
+                               <xs:element name="PLMNID" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_BarringForEmergency" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_BarringSkipForMMTELVideo" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_BarringSkipForMMTELVoice" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_BarringSkipForSMS" type="xs:string" minOccurs="0"/>
+                               <xs:element ref="X_0005B9_ImpendingOverload" minOccurs="0"/>
+                               <xs:element name="X_0005B9_MODataBarringFactor" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_MODataBarringForSpecialAC" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_MODataBarringTime" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_MOSigBarringFactor" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_MOSigBarringForSpecialAC" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_MOSigBarringTime" type="xs:string" minOccurs="0"/>
+                               <xs:element ref="X_0005B9_NormalLoad" minOccurs="0"/>
+                               <xs:element ref="X_0005B9_Overload" minOccurs="0"/>
+                               <xs:element name="X_0005B9_PLMNListIndex" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_Type" type="xs:string" minOccurs="0"/>
+                               <xs:element ref="X_0005B9_WarningLoadLvl" minOccurs="0"/>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="X_0005B9_ImpendingOverload">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="acBarringFactor" type="xs:string" minOccurs="0"/>
+                               <xs:element name="acBarringForSpecialAC" type="xs:string" minOccurs="0"/>
+                               <xs:element name="acBarringTime" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="X_0005B9_NormalLoad">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="acBarringFactor" type="xs:string" minOccurs="0"/>
+                               <xs:element name="acBarringForSpecialAC" type="xs:string" minOccurs="0"/>
+                               <xs:element name="acBarringTime" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="X_0005B9_Overload">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="acBarringFactor" type="xs:string" minOccurs="0"/>
+                               <xs:element name="acBarringForSpecialAC" type="xs:string" minOccurs="0"/>
+                               <xs:element name="acBarringTime" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="X_0005B9_WarningLoadLvl">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="acBarringFactor" type="xs:string" minOccurs="0"/>
+                               <xs:element name="acBarringForSpecialAC" type="xs:string" minOccurs="0"/>
+                               <xs:element name="acBarringTime" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="CellRestriction">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="BarringForEmergency" type="xs:string" minOccurs="0"/>
+                               <xs:element name="CellBarred" type="xs:string" minOccurs="0"/>
+                               <xs:element name="CellReservedForOperatorUse" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_AccBarStaticEnable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_AutoACBEnable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_BarringSkipForMMTELVideo" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_BarringSkipForMMTELVoice" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_BarringSkipForSMS" type="xs:string" minOccurs="0"/>
+       <xs:element name="X_0005B9_ImpendingOverload" minOccurs="0">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="ACBarringFactor" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ACBarringForSpecialAC" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ACBarringTime" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+                               <xs:element ref="X_0005B9_L3_ImpendingOverload" minOccurs="0"/>
+                               <xs:element ref="X_0005B9_L3_OK" minOccurs="0"/>
+                               <xs:element ref="X_0005B9_L3_Overload" minOccurs="0"/>
+                               <xs:element ref="X_0005B9_L3_Warning" minOccurs="0"/>
+                               <xs:element name="X_0005B9_MODataBarringFactor" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_MODataBarringForSpecialAC" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_MODataBarringTime" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_MOSigBarringFactor" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_MOSigBarringForSpecialAC" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_MOSigBarringTime" type="xs:string" minOccurs="0"/>
+       <xs:element name="X_0005B9_NormalLoad" minOccurs="0">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="ACBarringFactor" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ACBarringForSpecialAC" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ACBarringTime" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="X_0005B9_Overload" minOccurs="0">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="ACBarringFactor" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ACBarringForSpecialAC" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ACBarringTime" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="X_0005B9_WarningLoadLvl" minOccurs="0">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="ACBarringFactor" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ACBarringForSpecialAC" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ACBarringTime" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+                               <xs:element name="X_0005B9_cellLock" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_guardTimer" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="X_0005B9_L3_ImpendingOverload">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="MaxS1PagesPerRRCPage" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="X_0005B9_L3_OK">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="MaxS1PagesPerRRCPage" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="X_0005B9_L3_Overload">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="MaxS1PagesPerRRCPage" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="X_0005B9_L3_Warning">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="MaxS1PagesPerRRCPage" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="Common">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="CellIdentity" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_CellMode" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_CellName" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="MAC">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element ref="DRX" minOccurs="0"/>
+                               <xs:element ref="RACH" minOccurs="0"/>
+                               <xs:element ref="ULSCH" minOccurs="0"/>
+                               <xs:element name="X_0005B9_DlMssClampVal" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_DynDciCQIThreshDl" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_DynDciCQIThreshUl" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_GratUlDciTimer" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_GtpMtu" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_HighCQIAggLevelDl" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_HighCQIAggLevelUl" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_LowCQIAggLevelDl" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_LowCQIAggLevelUl" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_MacSuspendEnbRlfEnabled" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_MaxCcchMsgRetx" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_MaxDLUePerTTI" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_MaxGbrBearers" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_MaxGbrDLUePerTTI" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_MaxGbrDlBitsPerSec" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_MaxGbrULUePerTTI" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_MaxGbrUlBitsPerSec" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_MaxHarqReTxDl" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_MaxNumCzvRp" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_MaxULUePerTTI" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_MinCzvThreshold" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_MssClampEnabled" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_PriorityMetricMethod" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_PucchPrbReserved" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_QCI6MinDlBitsPerSec" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_QCI6MinUlBitsPerSec" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_ReuseInterferenceThreshold" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_SingleLayerCLSMEnabled" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_UlMssClampVal" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="DRX">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="DRXEnabled" type="xs:string" minOccurs="0"/>
+                               <xs:element name="DRXInactivityTimer" type="xs:string" minOccurs="0"/>
+                               <xs:element name="DRXRetransmissionTimer" type="xs:string" minOccurs="0"/>
+                               <xs:element name="DRXShortCycleTimer" type="xs:string" minOccurs="0"/>
+                               <xs:element name="DRXStartOffset" type="xs:string" minOccurs="0"/>
+                               <xs:element name="LongDRXCycle" type="xs:string" minOccurs="0"/>
+                               <xs:element name="OnDurationTimer" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ShortDRXCycle" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_maxDrxUe" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="RACH">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="ContentionResolutionTimer" type="xs:string" minOccurs="0"/>
+                               <xs:element name="MaxHARQMsg3Tx" type="xs:string" minOccurs="0"/>
+                               <xs:element name="MessagePowerOffsetGroupB" type="xs:string" minOccurs="0"/>
+                               <xs:element name="MessageSizeGroupA" type="xs:string" minOccurs="0"/>
+                               <xs:element name="NumberOfRaPreambles" type="xs:string" minOccurs="0"/>
+                               <xs:element name="PowerRampingStep" type="xs:string" minOccurs="0"/>
+                               <xs:element name="PreambleInitialReceivedTargetPower" type="xs:string" minOccurs="0"/>
+                               <xs:element name="PreambleTransMax" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ResponseWindowSize" type="xs:string" minOccurs="0"/>
+                               <xs:element name="SizeOfRaGroupA" type="xs:string" minOccurs="0"/>
+       <xs:element name="X_0005B9_CE" minOccurs="0">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="PreambleTransMax" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+                               <xs:element ref="X_0005B9_CE0" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="X_0005B9_CE0">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="ContentionResolutionTimer" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ResponseWindowSize" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="ULSCH">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="X_0005B9_qci1MaxHARQ-Tx" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="Mobility">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element ref="ConnMode" minOccurs="0"/>
+                               <xs:element ref="IdleMode" minOccurs="0"/>
+                               <xs:element name="X_0005B9_csfbMeasWaitTime" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_csfbPrefRat" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_iRatPsRedirection" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="ConnMode">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element ref="EUTRA" minOccurs="0"/>
+                               <xs:element ref="IRAT" minOccurs="0"/>
+                               <xs:element name="X_0005B9_HOBlackListEnabled" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_InterFreqHandOffEnable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_IntraFreqHandOffEnable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_RSRPThreshold" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_RSRQThreshold" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="EUTRA">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="A1ThresholdRSRP" type="xs:string" minOccurs="0"/>
+                               <xs:element name="A1ThresholdRSRQ" type="xs:string" minOccurs="0"/>
+                               <xs:element name="A2ThresholdRSRP" type="xs:string" minOccurs="0"/>
+                               <xs:element name="A2ThresholdRSRQ" type="xs:string" minOccurs="0"/>
+                               <xs:element name="A3Offset" type="xs:string" minOccurs="0"/>
+                               <xs:element name="A5Threshold1RSRP" type="xs:string" minOccurs="0"/>
+                               <xs:element name="A5Threshold1RSRQ" type="xs:string" minOccurs="0"/>
+                               <xs:element name="A5Threshold2RSRP" type="xs:string" minOccurs="0"/>
+                               <xs:element name="A5Threshold2RSRQ" type="xs:string" minOccurs="0"/>
+                               <xs:element name="FilterCoefficientRSRP" type="xs:string" minOccurs="0"/>
+                               <xs:element name="FilterCoefficientRSRQ" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Hysteresis" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ReportAmount" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ReportInterval" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ReportOnLeave" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ReportQuantity" type="xs:string" minOccurs="0"/>
+                               <xs:element name="TimeToTrigger" type="xs:string" minOccurs="0"/>
+                               <xs:element name="TriggerQuantity" type="xs:string" minOccurs="0"/>
+       <xs:element name="X_0005B9_CE" minOccurs="0">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="A3Offset" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="IRAT">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="B1ThresholdUTRAEcN0" type="xs:string" minOccurs="0"/>
+                               <xs:element name="B1ThresholdUTRARSCP" type="xs:string" minOccurs="0"/>
+                               <xs:element name="B2Threshold1RSRP" type="xs:string" minOccurs="0"/>
+                               <xs:element name="B2Threshold1RSRQ" type="xs:string" minOccurs="0"/>
+                               <xs:element name="B2Threshold2UTRAEcN0" type="xs:string" minOccurs="0"/>
+                               <xs:element name="B2Threshold2UTRARSCP" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="IdleMode">
+               <xs:complexType>
+                       <xs:sequence>
+       <xs:element name="Common" minOccurs="0">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="NCellChangeHigh" type="xs:string" minOccurs="0"/>
+                               <xs:element name="NCellChangeMedium" type="xs:string" minOccurs="0"/>
+                               <xs:element name="QHystSFHigh" type="xs:string" minOccurs="0"/>
+                               <xs:element name="QHystSFMedium" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Qhyst" type="xs:string" minOccurs="0"/>
+                               <xs:element name="THystNormal" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Tevaluation" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="IRAT" minOccurs="0">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element ref="CDMA2000" minOccurs="0"/>
+                               <xs:element ref="GERAN" minOccurs="0"/>
+                               <xs:element ref="UTRA" minOccurs="0"/>
+                               <xs:element name="X_0005B9_CSFBMODE" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_CSFBRATTYPE" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_EmergencyExcessFactor" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_cSFBDUALReceiveENABLE" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+                               <xs:element ref="InterFreq" minOccurs="0"/>
+                               <xs:element ref="IntraFreq" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="CDMA2000">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element ref="CDMA2000Band" minOccurs="0" maxOccurs="unbounded"/>
+                               <xs:element name="SearchWindowSize" type="xs:string" minOccurs="0"/>
+                               <xs:element name="TReselectionCDMA2000" type="xs:string" minOccurs="0"/>
+                               <xs:element name="TReselectionCDMA2000SFHigh" type="xs:string" minOccurs="0"/>
+                               <xs:element name="TReselectionCDMA2000SFMedium" type="xs:string" minOccurs="0"/>
+                               <xs:element ref="X_0005B9_CellParam" minOccurs="0"/>
+                               <xs:element ref="X_0005B9_Mobility_SIB8_Parameters" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+
+               <xs:unique name="uniqueId-CDMA2000Band">
+                       <xs:selector xpath="CDMA2000Band" />
+                       <xs:field xpath="@index" />
+               </xs:unique>
+       </xs:element>
+       <xs:element name="CDMA2000Band">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="Alias" type="xs:string" minOccurs="0"/>
+                               <xs:element name="BandClass" type="xs:string" minOccurs="0"/>
+                               <xs:element name="CellReselectionPriority" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Enable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ThreshXHigh" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ThreshXLow" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_Index" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="X_0005B9_CellParam">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="ReferenceCellID" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="X_0005B9_Mobility_SIB8_Parameters">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="Auth" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ForeignNidReg" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ForeignSidReg" type="xs:string" minOccurs="0"/>
+                               <xs:element name="HomeReg" type="xs:string" minOccurs="0"/>
+                               <xs:element name="IMSI1112" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ImsiTSupported" type="xs:string" minOccurs="0"/>
+                               <xs:element name="MCC" type="xs:string" minOccurs="0"/>
+                               <xs:element name="MaxNumAltSO" type="xs:string" minOccurs="0"/>
+                               <xs:element name="MultipleNid" type="xs:string" minOccurs="0"/>
+                               <xs:element name="MultipleSid" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Nid" type="xs:string" minOccurs="0"/>
+                               <xs:element name="PacketZoneId" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ParameReg" type="xs:string" minOccurs="0"/>
+                               <xs:element name="PowerDownReg" type="xs:string" minOccurs="0"/>
+                               <xs:element name="PowerUpReg" type="xs:string" minOccurs="0"/>
+                               <xs:element name="PrefMSIDType" type="xs:string" minOccurs="0"/>
+                               <xs:element name="RegPrd" type="xs:string" minOccurs="0"/>
+                               <xs:element name="RegZone" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Sid" type="xs:string" minOccurs="0"/>
+                               <xs:element name="TotalZone" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ZoneTimer" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="GERAN">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element ref="GERANFreqGroup" minOccurs="0" maxOccurs="unbounded"/>
+                               <xs:element name="t-ReselectionGERAN" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+
+               <xs:unique name="uniqueId-GERANFreqGroup">
+                       <xs:selector xpath="GERANFreqGroup" />
+                       <xs:field xpath="@index" />
+               </xs:unique>
+       </xs:element>
+       <xs:element name="GERANFreqGroup">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="Alias" type="xs:string" minOccurs="0"/>
+                               <xs:element name="BCCHARFCN" type="xs:string" minOccurs="0"/>
+                               <xs:element name="BandIndicator" type="xs:string" minOccurs="0"/>
+                               <xs:element name="CellReselectionPriority" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Enable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="QRxLevMin" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ThreshXHigh" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ThreshXLow" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_Index" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="UTRA">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="TReselectionUTRA" type="xs:string" minOccurs="0"/>
+                               <xs:element ref="UTRANFDDFreq" minOccurs="0" maxOccurs="unbounded"/>
+                               <xs:element name="X_0005B9_threshXHighQr9SIB6" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_threshXLowQr9SIB6" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+
+               <xs:unique name="uniqueId-UTRANFDDFreq">
+                       <xs:selector xpath="UTRANFDDFreq" />
+                       <xs:field xpath="@index" />
+               </xs:unique>
+       </xs:element>
+       <xs:element name="UTRANFDDFreq">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="Alias" type="xs:string" minOccurs="0"/>
+                               <xs:element name="CellReselectionPriority" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Enable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="PMaxUTRA" type="xs:string" minOccurs="0"/>
+                               <xs:element name="QQualMin" type="xs:string" minOccurs="0"/>
+                               <xs:element name="QRxLevMin" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ThreshXHigh" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ThreshXLow" type="xs:string" minOccurs="0"/>
+                               <xs:element name="UTRACarrierARFCN" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_Index" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="InterFreq">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element ref="Carrier" minOccurs="0" maxOccurs="unbounded"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+
+               <xs:unique name="uniqueId-Carrier">
+                       <xs:selector xpath="Carrier" />
+                       <xs:field xpath="@index" />
+               </xs:unique>
+       </xs:element>
+       <xs:element name="Carrier">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="Alias" type="xs:string" minOccurs="0"/>
+                               <xs:element name="CellReselectionPriority" type="xs:string" minOccurs="0"/>
+                               <xs:element name="EUTRACarrierARFCN" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Enable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Pmax" type="xs:string" minOccurs="0"/>
+                               <xs:element name="QOffsetFreq" type="xs:string" minOccurs="0"/>
+                               <xs:element name="QRxLevMinSIB5" type="xs:string" minOccurs="0"/>
+                               <xs:element name="TReselectionEUTRA" type="xs:string" minOccurs="0"/>
+                               <xs:element name="TReselectionEUTRASFHigh" type="xs:string" minOccurs="0"/>
+                               <xs:element name="TReselectionEUTRASFMedium" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ThreshXHigh" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ThreshXLow" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_MultiBandInfoList" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_ThreshXHighQr9SIB5" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_ThreshXLowQr9SIB5" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_qQualMinSIB5" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="IntraFreq">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="CellReselectionPriority" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Pmax" type="xs:string" minOccurs="0"/>
+                               <xs:element name="QRxLevMinOffset" type="xs:string" minOccurs="0"/>
+                               <xs:element name="QRxLevMinSIB1" type="xs:string" minOccurs="0"/>
+                               <xs:element name="QRxLevMinSIB3" type="xs:string" minOccurs="0"/>
+                               <xs:element name="SIntraSearch" type="xs:string" minOccurs="0"/>
+                               <xs:element name="SNonIntraSearch" type="xs:string" minOccurs="0"/>
+                               <xs:element name="TReselectionEUTRA" type="xs:string" minOccurs="0"/>
+                               <xs:element name="TReselectionEUTRASFHigh" type="xs:string" minOccurs="0"/>
+                               <xs:element name="TReselectionEUTRASFMedium" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ThreshServingLow" type="xs:string" minOccurs="0"/>
+       <xs:element name="X_0005B9_CE" minOccurs="0">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="QRxLevMinSIB1" type="xs:string" minOccurs="0"/>
+                               <xs:element name="QRxLevMinSIB3" type="xs:string" minOccurs="0"/>
+                               <xs:element name="qQualMinRSRQSIB1" type="xs:string" minOccurs="0"/>
+                               <xs:element name="qQualMinRSRQSIB3" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+                               <xs:element name="X_0005B9_IntraFreqReselectionSIB1" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_allowedMeasurementBandwidthSIB3" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_neighCellConfigSIB3" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_pMaxSIB3" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_presenceAntennaPort1SIB3" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_qQualMinOffsetr9SIB1" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_qQualMinSIB3" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_qQualMinr9SIB1" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_sIntraSearch_Pr9SIB3" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_sIntraSearch_Qr9SIB3" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_snonIntraSearch_Pr9SIB3" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_snonIntraSearch_Qr9SIB3" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_thresholdServingLowQSIB3" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="NeighborList">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element ref="InterRATCell" minOccurs="0"/>
+                               <xs:element ref="LTECell" minOccurs="0" maxOccurs="unbounded"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+
+               <xs:unique name="uniqueId-LTECell">
+                       <xs:selector xpath="LTECell" />
+                       <xs:field xpath="@index" />
+               </xs:unique>
+       </xs:element>
+       <xs:element name="InterRATCell">
+               <xs:complexType>
+                       <xs:sequence>
+       <xs:element name="CDMA2000" minOccurs="0" maxOccurs="unbounded">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="ARFCN" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Alias" type="xs:string" minOccurs="0"/>
+                               <xs:element name="BandClass" type="xs:string" minOccurs="0"/>
+                               <xs:element name="CID" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Enable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="MustInclude" type="xs:string" minOccurs="0"/>
+                               <xs:element name="PNOffset" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Type" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_FpcFchInitSetptRc3" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_Index" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_MinProtocolRevLevel" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_PilotInc" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_ProtocolRevLevel" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+                       </xs:complexType>
+       </xs:element>
+
+                       </xs:sequence>
+               </xs:complexType>
+
+               <xs:unique name="uniqueId-CDMA2000">
+                       <xs:selector xpath="CDMA2000" />
+                       <xs:field xpath="@index" />
+               </xs:unique>
+       </xs:element>
+       <xs:element name="LTECell">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="Alias" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Blacklisted" type="xs:string" minOccurs="0"/>
+                               <xs:element name="CID" type="xs:string" minOccurs="0"/>
+                               <xs:element name="CIO" type="xs:string" minOccurs="0"/>
+                               <xs:element name="EUTRACarrierARFCN" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Enable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="MustInclude" type="xs:string" minOccurs="0"/>
+                               <xs:element name="PLMNID" type="xs:string" minOccurs="0"/>
+                               <xs:element name="PhyCellID" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Qoffset" type="xs:string" minOccurs="0"/>
+                               <xs:element name="RSTxPower" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_CSGIdentity" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_CSGIndication" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_FreqBandIndicatorPriority" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_LBPartner" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_LTECellNeighborListIndex" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_MFBICapable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_MultiBandInfoList" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_TAC" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_X2LinkEnable" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="NeighborListInUse">
+               <xs:complexType>
+                       <xs:sequence>
+       <xs:element name="InterRATCell" minOccurs="0">
+               <xs:complexType>
+                       <xs:sequence>
+       <xs:element name="CDMA2000" minOccurs="0" maxOccurs="unbounded">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="NLInUseCDMA2000Index" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+                       </xs:complexType>
+       </xs:element>
+                               <xs:element ref="GSM" minOccurs="0" maxOccurs="unbounded"/>
+                               <xs:element ref="UMTS" minOccurs="0" maxOccurs="unbounded"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="LTECell" minOccurs="0" maxOccurs="unbounded">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="NeighborListInUseCellIndex" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+                       </xs:complexType>
+       </xs:element>
+
+                       </xs:sequence>
+               </xs:complexType>
+
+               <xs:unique name="uniqueId-CDMA20001">
+                       <xs:selector xpath="CDMA2000" />
+                       <xs:field xpath="@index" />
+               </xs:unique>
+               <xs:unique name="uniqueId-GSM">
+                       <xs:selector xpath="GSM" />
+                       <xs:field xpath="@index" />
+               </xs:unique>
+               <xs:unique name="uniqueId-UMTS">
+                       <xs:selector xpath="UMTS" />
+                       <xs:field xpath="@index" />
+               </xs:unique>
+               <xs:unique name="uniqueId-LTECell1">
+                       <xs:selector xpath="LTECell" />
+                       <xs:field xpath="@index" />
+               </xs:unique>
+       </xs:element>
+       <xs:element name="GSM">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="NLInUseGSMIndex" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="UMTS">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="NLInUseUMTSIndex" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="PDSCH">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="Pa" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Pb" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="PRACH">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="ConfigurationIndex" type="xs:string" minOccurs="0"/>
+                               <xs:element name="FreqOffset" type="xs:string" minOccurs="0"/>
+                               <xs:element name="RootSequenceIndex" type="xs:string" minOccurs="0"/>
+       <xs:element name="X_0005B9_CE" minOccurs="0">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="ConfigIndex" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+                               <xs:element name="ZeroCorrelationZoneConfig" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="PUCCH">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="CQIPUCCHResourceIndex" type="xs:string" minOccurs="0"/>
+                               <xs:element name="DeltaPUCCHShift" type="xs:string" minOccurs="0"/>
+                               <xs:element name="DynamicSRsupport" type="xs:string" minOccurs="0"/>
+                               <xs:element name="N1PUCCHAN" type="xs:string" minOccurs="0"/>
+                               <xs:element name="NRBCQI" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_DummyDci0Allocation" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_DummyDci0Thr" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="PUSCH">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element ref="ULRS" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="ULRS">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="SequenceHoppingEnabled" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="SRS">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="AckNackSRSSimultaneousTransmission" type="xs:string" minOccurs="0"/>
+                               <xs:element name="SRSBandwidthConfig" type="xs:string" minOccurs="0"/>
+                               <xs:element name="SRSEnabled" type="xs:string" minOccurs="0"/>
+                               <xs:element name="SRSMaxUpPTS" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="ULPowerControl">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="Alpha" type="xs:string" minOccurs="0"/>
+                               <xs:element name="P0NominalPUCCH" type="xs:string" minOccurs="0"/>
+                               <xs:element name="P0NominalPUSCH" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="RLC">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element ref="DRB" minOccurs="0"/>
+                               <xs:element ref="SRB1" minOccurs="0"/>
+                               <xs:element ref="SRB2" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="DRB">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="MaxRetxThreshold" type="xs:string" minOccurs="0"/>
+                               <xs:element name="TPollRetransmit" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="SRB1">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="DefaultConfiguration" type="xs:string" minOccurs="0"/>
+                               <xs:element name="MaxRetxThreshold" type="xs:string" minOccurs="0"/>
+                               <xs:element name="PollByte" type="xs:string" minOccurs="0"/>
+                               <xs:element name="PollPDU" type="xs:string" minOccurs="0"/>
+                               <xs:element name="TPollRetransmit" type="xs:string" minOccurs="0"/>
+                               <xs:element name="TReordering" type="xs:string" minOccurs="0"/>
+                               <xs:element name="TStatusProhibit" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="SRB2">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="DefaultConfiguration" type="xs:string" minOccurs="0"/>
+                               <xs:element name="MaxRetxThreshold" type="xs:string" minOccurs="0"/>
+                               <xs:element name="PollByte" type="xs:string" minOccurs="0"/>
+                               <xs:element name="PollPDU" type="xs:string" minOccurs="0"/>
+                               <xs:element name="TPollRetransmit" type="xs:string" minOccurs="0"/>
+                               <xs:element name="TReordering" type="xs:string" minOccurs="0"/>
+                               <xs:element name="TStatusProhibit" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="RRCTimers">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="N310" type="xs:string" minOccurs="0"/>
+                               <xs:element name="N311" type="xs:string" minOccurs="0"/>
+                               <xs:element name="T300" type="xs:string" minOccurs="0"/>
+                               <xs:element name="T301" type="xs:string" minOccurs="0"/>
+                               <xs:element name="T302" type="xs:string" minOccurs="0"/>
+                               <xs:element name="T304EUTRA" type="xs:string" minOccurs="0"/>
+                               <xs:element name="T304IRAT" type="xs:string" minOccurs="0"/>
+                               <xs:element name="T310" type="xs:string" minOccurs="0"/>
+                               <xs:element name="T311" type="xs:string" minOccurs="0"/>
+                               <xs:element name="T320" type="xs:string" minOccurs="0"/>
+       <xs:element name="X_0005B9_CE" minOccurs="0">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="T300" type="xs:string" minOccurs="0"/>
+                               <xs:element name="T301" type="xs:string" minOccurs="0"/>
+                               <xs:element name="T304EUTRA" type="xs:string" minOccurs="0"/>
+                               <xs:element name="T310" type="xs:string" minOccurs="0"/>
+                               <xs:element name="T311" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+                               <xs:element name="X_0005B9_RLFWaitForReestTimer" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="S1AP">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="TRelocOverall" type="xs:string" minOccurs="0"/>
+                               <xs:element name="TRelocPrep" type="xs:string" minOccurs="0"/>
+       <xs:element name="X_0005B9_CE" minOccurs="0">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="TRelocOverall" type="xs:string" minOccurs="0"/>
+                               <xs:element name="TRelocPrep" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+                               <xs:element name="X_0005B9_eNBName" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="S1U">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="GTPUEchoInterval" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="X_0005B9_X2AP_CE">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="TRelocOverall" type="xs:string" minOccurs="0"/>
+                               <xs:element name="TRelocPrep" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="X_0005B9_CE">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="eDRXAllowed" type="xs:string" minOccurs="0"/>
+                               <xs:element name="numSib1BrRep" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="X_0005B9_CarrierAggregation">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="CaLoadBalance" type="xs:string" minOccurs="0"/>
+                               <xs:element name="CaUeThr" type="xs:string" minOccurs="0"/>
+                               <xs:element name="DlQloadLowCount" type="xs:string" minOccurs="0"/>
+                               <xs:element name="DlQloadLowThreshold" type="xs:string" minOccurs="0"/>
+                               <xs:element name="McsScc" type="xs:string" minOccurs="0"/>
+                               <xs:element name="PccCaThr" type="xs:string" minOccurs="0"/>
+                               <xs:element name="QloadCaLimitInstances" type="xs:string" minOccurs="0"/>
+                               <xs:element name="SccA2ThreshRSRP" type="xs:string" minOccurs="0"/>
+                               <xs:element name="SccA2ThreshRSRQ" type="xs:string" minOccurs="0"/>
+                               <xs:element name="SccA4ThreshRSRP" type="xs:string" minOccurs="0"/>
+                               <xs:element name="SccA4ThreshRSRQ" type="xs:string" minOccurs="0"/>
+                               <xs:element name="SccColocatedPairTime" type="xs:string" minOccurs="0"/>
+                               <xs:element name="SccCqiLowCount" type="xs:string" minOccurs="0"/>
+                               <xs:element name="SccCqiLowThesh" type="xs:string" minOccurs="0"/>
+                               <xs:element name="SccCqiStaleTime" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="X_0005B9_RrcConnection">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="NRrcCC" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="X_0005B9_RrcConnectionRejection">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="deprioritisationTime" type="xs:string" minOccurs="0"/>
+                               <xs:element name="deprioritisationType" type="xs:string" minOccurs="0"/>
+                               <xs:element name="waitTime" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="FAPControl">
+               <xs:complexType>
+                       <xs:sequence>
+       <xs:element name="LTE" minOccurs="0">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="AdminState" type="xs:string" minOccurs="0"/>
+                               <xs:element ref="Gateway" minOccurs="0"/>
+                               <xs:element name="PMConfig" type="xs:string" minOccurs="0"/>
+       <xs:element name="X_0005B9_CE" minOccurs="0">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="DefaultPagingCycle" type="xs:string" minOccurs="0"/>
+                               <xs:element name="siRepetitionPattern" type="xs:string" minOccurs="0"/>
+                               <xs:element name="siValidityTime" type="xs:string" minOccurs="0"/>
+                               <xs:element name="siWindowLength" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+                               <xs:element name="X_0005B9_CatM1Enable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_DefaultPagingCycle" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_EmergencyErabARP" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_Enable4X4MIMO" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_EnableDL256QAM" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_EnableDlReuse" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_EnableUL64QAM" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_EnableUlReuse" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_IdleLoadBalance" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_InactivityTimer" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_MCPTTEnable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_MFBISupport" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_MultiBandInfoList" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_ReuseFactorDl" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_ReuseFactorUl" type="xs:string" minOccurs="0"/>
+                               <xs:element ref="X_0005B9_SelfConfig" minOccurs="0"/>
+                               <xs:element name="X_0005B9_UnequalTxPower" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_X2Enable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_downlinkCaEnable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_explicitlyReleaseAfter" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_maxSPSDL" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_maxSPSUL" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_maxSirThr" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_minSirThr" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_numConfiguredSPSProcess" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_numRpInMaxQsv" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_spsMcsOverride" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+                               <xs:element name="SelfConfigEvents" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="Gateway">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="S1ConnectionMode" type="xs:string" minOccurs="0"/>
+                               <xs:element name="S1SigLinkPort" type="xs:string" minOccurs="0"/>
+                               <xs:element name="S1SigLinkServerList" type="xs:string" minOccurs="0"/>
+                               <xs:element name="SecGWServer1" type="xs:string" minOccurs="0"/>
+                               <xs:element name="SecGWServer2" type="xs:string" minOccurs="0"/>
+                               <xs:element name="SecGWServer3" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_EnableDUALTunnel" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_S1apGaurdPeriod" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_SecGW2Server1" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_SecGW2Server2" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_SecGW2Server3" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="X_0005B9_SelfConfig">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="ANRSelfConfigEnable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="AssignSameTAC" type="xs:string" minOccurs="0"/>
+                               <xs:element name="AutoTxPowerEnable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="CellReselectionSelfConfigEnable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ClearDiscoveredNeighbors" type="xs:string" minOccurs="0"/>
+                               <xs:element name="CrntiHist" type="xs:string" minOccurs="0"/>
+                               <xs:element name="EARFCNDLSelfConfigEnable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="InterFreqMeasSelfConfigEnable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="InterRATMeasSelfConfigEnable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="IntraFreqMeasSelfConfigEnable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="NeighborListSelfConfigEnable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="PciColDetectThr" type="xs:string" minOccurs="0"/>
+                               <xs:element name="PciCollisionDetectFlag" type="xs:string" minOccurs="0"/>
+                               <xs:element name="PhyCellIDSelfConfigEnable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="PmaxSelfConfigEnable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="PreambleRACHTxPwrSelfConfigEnable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="PropotionalRrcSplit" type="xs:string" minOccurs="0"/>
+                               <xs:element name="RSTxPowerSelfConfigEnable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="RootSequenceIndexSelfConfigEnable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="RsiCollisionDetectFlag" type="xs:string" minOccurs="0"/>
+                               <xs:element name="TACPolicy" type="xs:string" minOccurs="0"/>
+                               <xs:element name="TACSelfConfigEnable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X2TriggeredPciReconfigAllowed" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="REM">
+               <xs:complexType>
+                       <xs:sequence>
+       <xs:element name="LTE" minOccurs="0">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element ref="Cell" minOccurs="0" maxOccurs="unbounded"/>
+                               <xs:element name="EUTRACarrierARFCNDLList" type="xs:string" minOccurs="0"/>
+                               <xs:element name="InServiceHandling" type="xs:string" minOccurs="0"/>
+                               <xs:element name="PeriodicInterval" type="xs:string" minOccurs="0"/>
+                               <xs:element name="PeriodicTime" type="xs:string" minOccurs="0"/>
+                               <xs:element name="REMBandList" type="xs:string" minOccurs="0"/>
+                               <xs:element name="REMPLMNList" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ScanOnBoot" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ScanPeriodically" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ScanTimeout" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="UMTS" minOccurs="0">
+               <xs:complexType>
+                       <xs:sequence>
+       <xs:element name="GSM" minOccurs="0">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="ARFCNList" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+                               <xs:element ref="WCDMA" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="Cell">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="RemLteCellIndex" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="WCDMA">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="UARFCNDLList" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="Transport">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element ref="SCTP" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="SCTP">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="Enable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="HBInterval" type="xs:string" minOccurs="0"/>
+                               <xs:element name="MaxAssociationRetransmits" type="xs:string" minOccurs="0"/>
+                               <xs:element name="MaxInitRetransmits" type="xs:string" minOccurs="0"/>
+                               <xs:element name="MaxPathRetransmits" type="xs:string" minOccurs="0"/>
+                               <xs:element name="RTOInitial" type="xs:string" minOccurs="0"/>
+                               <xs:element name="RTOMax" type="xs:string" minOccurs="0"/>
+                               <xs:element name="RTOMin" type="xs:string" minOccurs="0"/>
+                               <xs:element name="SCTPMTUSize" type="xs:string" minOccurs="0"/>
+                               <xs:element name="SackFrequency" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ValCookieLife" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="X_0005B9_AutoConfig">
+               <xs:complexType>
+                       <xs:sequence>
+       <xs:element name="LTE" minOccurs="0">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="AvgMcsOnDlThresh" type="xs:string" minOccurs="0"/>
+                               <xs:element name="AvgMcsOnUlThresh" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ConnectionDropRateThresh" type="xs:string" minOccurs="0"/>
+                               <xs:element name="EarfcnProgressiveEnable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="EpochCountThresh" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ErabEstablishmentFailureThresh" type="xs:string" minOccurs="0"/>
+                               <xs:element name="FiftyThPercentileMcsDlThresh" type="xs:string" minOccurs="0"/>
+                               <xs:element name="FiftyThPercentileMcsUlThresh" type="xs:string" minOccurs="0"/>
+                               <xs:element name="HoSuccessThresh" type="xs:string" minOccurs="0"/>
+                               <xs:element name="PciProgressiveEnable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="PeriodicInterval" type="xs:string" minOccurs="0"/>
+                               <xs:element name="PeriodicTime" type="xs:string" minOccurs="0"/>
+                               <xs:element name="RachToConnectionThresh" type="xs:string" minOccurs="0"/>
+                               <xs:element name="RsiProgressiveEnable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="RsrpPciThresh" type="xs:string" minOccurs="0"/>
+                               <xs:element name="RssiThresh" type="xs:string" minOccurs="0"/>
+                               <xs:element name="TenThPercentileMcsDlThresh" type="xs:string" minOccurs="0"/>
+                               <xs:element name="TenThPercentileMcsUlThresh" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="X_0005B9_AutoTxPower">
+               <xs:complexType>
+                       <xs:sequence>
+       <xs:element name="LTE" minOccurs="0">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="AutoPowerConfigTimer" type="xs:string" minOccurs="0"/>
+                               <xs:element name="DisablePowerDuration" type="xs:string" minOccurs="0"/>
+                               <xs:element name="HOCountThreshold" type="xs:string" minOccurs="0"/>
+                               <xs:element name="LeakageRateThreshold" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ProcessRLFonRrcConnEst" type="xs:string" minOccurs="0"/>
+                               <xs:element name="RLFRateThreshold" type="xs:string" minOccurs="0"/>
+                               <xs:element name="RRCConnectionThreshold" type="xs:string" minOccurs="0"/>
+                               <xs:element name="RSRPThreshold" type="xs:string" minOccurs="0"/>
+                               <xs:element name="STmsiAge" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Tcritical" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ToggleCountThreshold" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="X_0005B9_ExpressREM">
+               <xs:complexType>
+                       <xs:sequence>
+       <xs:element name="LTE" minOccurs="0">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="Enabled" type="xs:string" minOccurs="0"/>
+                               <xs:element name="NumCarriers" type="xs:string" minOccurs="0"/>
+                               <xs:element name="PCIListLength" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Periodicity" type="xs:string" minOccurs="0"/>
+                               <xs:element name="TimeOut" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="X_0005B9_LTE">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="ANREpochPeriod" type="xs:string" minOccurs="0"/>
+                               <xs:element name="CrntiStartRange" type="xs:string" minOccurs="0"/>
+                               <xs:element name="EARFCNDLInUse" type="xs:string" minOccurs="0"/>
+                               <xs:element name="EARFCNULInUse" type="xs:string" minOccurs="0"/>
+                               <xs:element name="PMReportFormat" type="xs:string" minOccurs="0"/>
+                               <xs:element name="PMaxInUse" type="xs:string" minOccurs="0"/>
+                               <xs:element name="PhyCellIDInUse" type="xs:string" minOccurs="0"/>
+                               <xs:element name="PreambleRACHTxPwrInUse" type="xs:string" minOccurs="0"/>
+                               <xs:element name="RSTxPowerInUse" type="xs:string" minOccurs="0"/>
+                               <xs:element name="RootSequenceIndexInUse" type="xs:string" minOccurs="0"/>
+                               <xs:element name="TACInUse" type="xs:string" minOccurs="0"/>
+                               <xs:element name="TACList" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="VoiceService">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element ref="X_0005B9_VoIP" minOccurs="0"/>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="X_0005B9_VoIP">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="EmergencyPolicy" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Enable" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="Time">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="LocalTimeZone" type="xs:string" minOccurs="0"/>
+                               <xs:element name="NTPServer1" type="xs:string" minOccurs="0"/>
+                               <xs:element name="NTPServer2" type="xs:string" minOccurs="0"/>
+                               <xs:element name="NTPServer3" type="xs:string" minOccurs="0"/>
+                               <xs:element name="NTPServer4" type="xs:string" minOccurs="0"/>
+                               <xs:element name="NTPServer5" type="xs:string" minOccurs="0"/>
+                               <xs:element ref="X_0005B9_PTP" minOccurs="0"/>
+                               <xs:element name="X_0005B9_TimeSource" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="X_0005B9_PTP">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="AssymetricDelay" type="xs:string" minOccurs="0"/>
+                               <xs:element name="DomainNumber" type="xs:string" minOccurs="0"/>
+                               <xs:element name="MultiCastIPAddress" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Server" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ServerInUse" type="xs:string" minOccurs="0"/>
+                               <xs:element name="TCID" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="UserInterface">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="X_0005B9_Enable" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="X_0005B9_FHMgmt">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element ref="TrapReceiver" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="TrapReceiver">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="AuthKey" type="xs:string" minOccurs="0"/>
+                               <xs:element name="AuthProtocol" type="xs:string" minOccurs="0"/>
+                               <xs:element name="DMSIPAddressPort" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Enable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="IPAddress" type="xs:string" minOccurs="0"/>
+                               <xs:element name="PrivacyKey" type="xs:string" minOccurs="0"/>
+                               <xs:element name="PrivacyProtocol" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ProcessingRate" type="xs:string" minOccurs="0"/>
+                               <xs:element name="SwitchEngineID" type="xs:string" minOccurs="0"/>
+                               <xs:element name="UserName" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="X_0005B9_IPsec2">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="ExcludeCP" type="xs:string" minOccurs="0"/>
+       <xs:element name="Filter" minOccurs="0" maxOccurs="unbounded">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="Alias" type="xs:string" minOccurs="0"/>
+                               <xs:element name="AllInterfaces" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Interface" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Order" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Profile" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+                       </xs:complexType>
+       </xs:element>
+       <xs:element name="IKEv2SA" minOccurs="0" maxOccurs="unbounded">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="Alias" type="xs:string" minOccurs="0"/>
+       <xs:element name="ChildSA" minOccurs="0" maxOccurs="unbounded">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="Alias" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+                       </xs:complexType>
+       </xs:element>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+                       </xs:complexType>
+       </xs:element>
+       <xs:element name="Profile" minOccurs="0" maxOccurs="unbounded">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="AHAllowedIntegrityAlgorithms" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Alias" type="xs:string" minOccurs="0"/>
+                               <xs:element name="AntiReplayWindowSize" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ChildSATimeLimit" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ChildSATrafficLimit" type="xs:string" minOccurs="0"/>
+                               <xs:element name="DSCPMarkPolicy" type="xs:string" minOccurs="0"/>
+                               <xs:element name="DoNotFragment" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ESPAllowedEncryptionAlgorithms" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ESPAllowedIntegrityAlgorithms" type="xs:string" minOccurs="0"/>
+                               <xs:element name="IKEv2AllowedDiffieHellmanGroupTransforms" type="xs:string" minOccurs="0"/>
+                               <xs:element name="IKEv2AllowedEncryptionAlgorithms" type="xs:string" minOccurs="0"/>
+                               <xs:element name="IKEv2AllowedIntegrityAlgorithms" type="xs:string" minOccurs="0"/>
+                               <xs:element name="IKEv2AllowedPseudoRandomFunctions" type="xs:string" minOccurs="0"/>
+                               <xs:element name="IKEv2AuthenticationMethod" type="xs:string" minOccurs="0"/>
+                               <xs:element name="IKEv2DeadPeerDetectionTimeout" type="xs:string" minOccurs="0"/>
+                               <xs:element name="IKEv2NATTKeepaliveTimeout" type="xs:string" minOccurs="0"/>
+                               <xs:element name="IKEv2SATimeLimit" type="xs:string" minOccurs="0"/>
+                               <xs:element name="MaxChildSAs" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Protocol" type="xs:string" minOccurs="0"/>
+                               <xs:element name="RemoteEndpoints" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_IKEv2RekeyMargin" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+                       </xs:complexType>
+       </xs:element>
+
+                       </xs:sequence>
+               </xs:complexType>
+
+               <xs:unique name="uniqueId-Filter1">
+                       <xs:selector xpath="Filter" />
+                       <xs:field xpath="@index" />
+               </xs:unique>
+               <xs:unique name="uniqueId-IKEv2SA1">
+                       <xs:selector xpath="IKEv2SA" />
+                       <xs:field xpath="@index" />
+               </xs:unique>
+               <xs:unique name="uniqueId-ChildSA1">
+                       <xs:selector xpath="ChildSA" />
+                       <xs:field xpath="@index" />
+               </xs:unique>
+               <xs:unique name="uniqueId-Profile1">
+                       <xs:selector xpath="Profile" />
+                       <xs:field xpath="@index" />
+               </xs:unique>
+       </xs:element>
+       <xs:element name="X_0005B9_IPsecCA">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="Enable" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ExcludeCP" type="xs:string" minOccurs="0"/>
+       <xs:element name="Filter" minOccurs="0" maxOccurs="unbounded">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="Alias" type="xs:string" minOccurs="0"/>
+                               <xs:element name="AllInterfaces" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Interface" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Order" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Profile" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+                       </xs:complexType>
+       </xs:element>
+       <xs:element name="IKEv2SA" minOccurs="0" maxOccurs="unbounded">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="Alias" type="xs:string" minOccurs="0"/>
+       <xs:element name="ChildSA" minOccurs="0" maxOccurs="unbounded">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="Alias" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+                       </xs:complexType>
+       </xs:element>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+                       </xs:complexType>
+       </xs:element>
+       <xs:element name="Profile" minOccurs="0" maxOccurs="unbounded">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="AHAllowedIntegrityAlgorithms" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Alias" type="xs:string" minOccurs="0"/>
+                               <xs:element name="AntiReplayWindowSize" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ChildSATimeLimit" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ChildSATrafficLimit" type="xs:string" minOccurs="0"/>
+                               <xs:element name="DSCPMarkPolicy" type="xs:string" minOccurs="0"/>
+                               <xs:element name="DoNotFragment" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ESPAllowedEncryptionAlgorithms" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ESPAllowedIntegrityAlgorithms" type="xs:string" minOccurs="0"/>
+                               <xs:element name="IKEv2AllowedDiffieHellmanGroupTransforms" type="xs:string" minOccurs="0"/>
+                               <xs:element name="IKEv2AllowedEncryptionAlgorithms" type="xs:string" minOccurs="0"/>
+                               <xs:element name="IKEv2AllowedIntegrityAlgorithms" type="xs:string" minOccurs="0"/>
+                               <xs:element name="IKEv2AllowedPseudoRandomFunctions" type="xs:string" minOccurs="0"/>
+                               <xs:element name="IKEv2AuthenticationMethod" type="xs:string" minOccurs="0"/>
+                               <xs:element name="IKEv2DeadPeerDetectionTimeout" type="xs:string" minOccurs="0"/>
+                               <xs:element name="IKEv2NATTKeepaliveTimeout" type="xs:string" minOccurs="0"/>
+                               <xs:element name="IKEv2SATimeLimit" type="xs:string" minOccurs="0"/>
+                               <xs:element name="MaxChildSAs" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Protocol" type="xs:string" minOccurs="0"/>
+                               <xs:element name="RemoteEndpoints" type="xs:string" minOccurs="0"/>
+                               <xs:element name="X_0005B9_IKEv2RekeyMargin" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+                       </xs:complexType>
+       </xs:element>
+
+                       </xs:sequence>
+               </xs:complexType>
+
+               <xs:unique name="uniqueId-Filter12">
+                       <xs:selector xpath="Filter" />
+                       <xs:field xpath="@index" />
+               </xs:unique>
+               <xs:unique name="uniqueId-IKEv2SA12">
+                       <xs:selector xpath="IKEv2SA" />
+                       <xs:field xpath="@index" />
+               </xs:unique>
+               <xs:unique name="uniqueId-ChildSA12">
+                       <xs:selector xpath="ChildSA" />
+                       <xs:field xpath="@index" />
+               </xs:unique>
+               <xs:unique name="uniqueId-Profile12">
+                       <xs:selector xpath="Profile" />
+                       <xs:field xpath="@index" />
+               </xs:unique>
+       </xs:element>
+       <xs:element name="X_0005B9_License">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element ref="Licenses" minOccurs="0" maxOccurs="unbounded"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+
+               <xs:unique name="uniqueId-Licenses">
+                       <xs:selector xpath="Licenses" />
+                       <xs:field xpath="@index" />
+               </xs:unique>
+       </xs:element>
+       <xs:element name="Licenses">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="LicenseKeyIndex" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+                       <xs:attribute name="index" type="dmsIndex" use="required"/>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="X_0005B9_MIGRATION">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="Migrate" type="xs:string" minOccurs="0"/>
+                               <xs:element name="Rollback" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="X_0005B9_SoftwareManagement">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="ApplyWindowDuration" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ApplyWindowInterval" type="xs:string" minOccurs="0"/>
+                               <xs:element name="ApplyWindowStart" type="xs:string" minOccurs="0"/>
+                               <xs:element name="UpgradeState" type="xs:string" minOccurs="0"/>
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+
+       <xs:simpleType name="dmsIndex">
+               <xs:restriction base="xs:integer">
+                       <xs:minInclusive value="1"/>
+                       <xs:pattern value="\d+"/>
+               </xs:restriction>
+       </xs:simpleType>
+</xs:schema>
diff --git a/docker-compose/tr069-adapter/tr069adapter-install.env b/docker-compose/tr069-adapter/tr069adapter-install.env
new file mode 100755 (executable)
index 0000000..0a700e1
--- /dev/null
@@ -0,0 +1,95 @@
+# ============LICENSE_START========================================================================
+# O-RAN-SC : tr-069-adapter
+# =================================================================================================
+# Copyright (C) 2020 CommScope Inc Intellectual Property.
+# =================================================================================================
+# This tr-069-adapter software file is distributed by CommScope Inc under the Apache License,
+# Version 2.0 (the "License"); you may not use this file except in compliance with the License. You
+# may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+# either express or implied. See the License for the specific language governing permissions and
+# limitations under the License.
+# ===============LICENSE_END=======================================================================
+
+#
+# Below 3 are the identites of TR069Adapters. This is needed if any one of the communication is going to be over SSL.
+#
+# tr069adapterSSLCert           : Provide the Public Certificate Chain for TR069Adapter
+# tr069adapterSSLKey            : Provide the Private Key for TR069Adapter
+# tr069adapterCertPassPhrase    : Provide the PassPhrase used while generating the Public Certificate Chain for TR069Adapter
+
+tr069adapterSSLCert=tr069adapter.crt
+tr069adapterSSLKey=tr069adapter.key
+tr069adapterCertPassPhrase=tr069adapterpassphrase.txt
+
+
+#
+# Details for the Fault VES Collector Variables.
+# 
+# faultvesCollectorDNSServer    : If the faultvesCollectorHost is not an IP, but a FQDN, then provide the DNS Server IP where this FQDN is configured and will be resolved.
+# faultvesCollectorHost         : IP of the Fault VES Collector. Allowed values (IPv4/IPv6). If FQDN is provided, then provide the complete FQDN and not just the HOSTNAME. 
+# faultvesCollectorPort         : Port of the Fault VES Collector.
+# faultvesCollectorComm         : Communication to and from Fault VES Collector. Allowed values (noAuth/basicAuth/certOnly/certBasicAuth)
+#       noAuth                  : SSL is disabled.
+#       basicAuth               : SSL is enabled, and the verification is done via username and password only.
+#       certOnly                : SSL is enabled, and the verification is done via Certificates only that are imported in VES.
+#       certBasicAuth           : SSL is enabled, and the verification is done using username and password and also with Certificates.
+# faultvesCollectorTrustVerify  : If SSL is enabled, then whether to Trust Certificate. Allowed Values (TRUE/FALSE)
+# faultvesCollectorTrustCRT     : If faultvesCollectorTrustVerify=TRUE, then provide the Trust Certificate Chain
+# faultvesCollectorBasicAuthUserPassEncrypt : If faultvesCollectorComm=basicAuth or faultvesCollectorComm=certBasicAuth, then provide the encrypted string. To encrypt execute the command 'echo -n "user:pass" | base64'
+
+faultvesCollectorDNSServer=
+faultvesCollectorHost=
+faultvesCollectorPort=8080
+faultvesCollectorComm=noAuth
+faultvesCollectorTrustVerify=FALSE
+faultvesCollectorTrustCRT=faultvestrustcert.pem
+faultvesCollectorBasicAuthUserPassEncrypt=
+
+#
+# Details for the PNF VES Collector Variables.
+#
+# pnfregvesCollectorDNSServer   : If the pnfregvesCollectorHost is not an IP, but a FQDN, then provide the DNS Server IP where this FQDN is configured and will be resolved.
+# pnfregvesCollectorHost        : IP of the PNF VES Collector. Allowed values (IPv4/IPv6). If FQDN is provided, then provide the complete FQDN and not just the HOSTNAME.
+# pnfregvesCollectorPort        : Port of the PNF VES Collector.
+# pnfregvesCollectorComm        : Communication to and from PNF VES Collector. Allowed values (noAuth/basicAuth/certOnly/certBasicAuth)
+#       noAuth                  : SSL is disabled.
+#       basicAuth               : SSL is enabled, and the verification is done via username and password only.
+#       certOnly                : SSL is enabled, and the verification is done via Certificates only that are imported in VES.
+#       certBasicAuth           : SSL is enabled, and the verification is done using username and password and also with Certificates.
+# pnfregvesCollectorTrustVerify : If SSL is enabled, then whether to Trust Certificate. Allowed Values (TRUE/FALSE)
+# pnfregvesCollectorTrustCRT    : If pnfregvesCollectorTrustVerify=TRUE, then provide the Trust Certificate Chain
+# pnfregvesCollectorBasicAuthUserPassEncrypt : If pnfregvesCollectorComm=basicAuth or pnfregvesCollectorComm=certBasicAuth, then provide the encrypted string. To encrypt execute the command 'echo -n "user:pass" | base64'
+
+pnfregvesCollectorDNSServer=
+pnfregvesCollectorHost=
+pnfregvesCollectorPort=8080
+pnfregvesCollectorComm=noAuth
+pnfregvesCollectorTrustVerify=FALSE
+pnfregvesCollectorTrustCRT=pnfvertrustcert.pem
+pnfregvesCollectorBasicAuthUserPassEncrypt=
+
+#
+# Details for the TR069Adapter Variables.
+#
+# tr069adapterComm              : Communication to and from TR069Adapter. For all device communications, Factory Import and Config Import. Allowed values (SSL/NO-SSL)
+# tr069adapterSSLClientAuth     : If tr069adapterComm=SSL, then whether to Authenticate Client Certificate. Allowed Values (TRUE/FALSE)
+# tr069adapterSSLClientTrustCRT : If tr069adapterSSLClientAuth=TRUE, then provide the Trust Certificate Chain for the client
+
+tr069adapterComm=NO-SSL
+tr069adapterSSLClientAuth=FALSE
+tr069adapterSSLClientTrustCRT=tr069adapterclienttrust.crt
+
+#
+# Details for the TR069Adapter Variables.
+#
+# netconfServerIP   : IP address of the Server where the Docker containers are hosted. Allowed value is IPv4
+# DeviceId          : Mac ID of the Device
+
+netconfServerIP=
+DeviceId=0005B9423910
+
+
diff --git a/docker-compose/tr069-adapter/tr069adapter-install.yaml b/docker-compose/tr069-adapter/tr069adapter-install.yaml
new file mode 100755 (executable)
index 0000000..2a0fa5c
--- /dev/null
@@ -0,0 +1,210 @@
+# ============LICENSE_START========================================================================
+# O-RAN-SC : tr-069-adapter
+# =================================================================================================
+# Copyright (C) 2020 CommScope Inc Intellectual Property.
+# =================================================================================================
+# This tr-069-adapter software file is distributed by CommScope Inc under the Apache License,
+# Version 2.0 (the "License"); you may not use this file except in compliance with the License. You
+# may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+# either express or implied. See the License for the specific language governing permissions and
+# limitations under the License.
+# ===============LICENSE_END=======================================================================
+
+# Note:
+# In order to support the deployment in IPv6 Docker-compose enviroment, uncomment the lines in the 
+# network section and update the subnet and Gateway.
+#
+
+version: '2.4'
+services:
+  tr069adapter-mariadb:
+    image: "nexus3.o-ran-sc.org:10004/o-ran-sc/tr069adapter-mariadb:latest"
+    container_name: tr069adapter-mariadb
+    restart: always
+    ports:
+    - "3306:3306"
+    networks:
+      - csadapter_nw
+    environment:
+      MYSQL_ROOT_PASSWORD: root
+
+  tr069adapter-acs-factorydb:
+    image: "nexus3.o-ran-sc.org:10004/o-ran-sc/tr069adapter-acs-factorydb:latest"
+    container_name: tr069adapter-acs-factorydb
+    restart: always
+    depends_on:
+     - tr069adapter-mariadb
+    ports:
+    - "8089:8089"
+    networks:
+      - csadapter_nw
+    environment:
+      FACTORY_PORT: 8089
+
+  tr069adapter-acs:
+    image: "nexus3.o-ran-sc.org:10004/o-ran-sc/tr069adapter-acs:latest"
+    container_name: tr069adapter-acs
+    restart: always
+    depends_on:
+     - tr069adapter-mariadb
+    ports:
+    - "9977:9977"
+    networks:
+      - csadapter_nw
+    environment:
+      ACS_REST_PORT: 9977
+      ACS_ADDITIONAL_REST_PORT: 9975
+      ACS_SSL_ENABLED: 'false'
+      CERT_FILE: /logs
+      DB_USERNAME: root
+      DB_PASSWORD: root
+      DB_SERVICE: tr069adapter-mariadb
+      DB_NAME: dmsdb
+      MAPPER_REST_PORT: 9999
+      FACTORY_REST_PORT: 8089
+      FACTORY_REST_HOST: tr069adapter-acs-factorydb
+      MAPPER_REST_HOST: tr069adapter-netconfig-mapper
+
+  tr069adapter-netconfig-mapper:
+    image: "nexus3.o-ran-sc.org:10004/o-ran-sc/tr069adapter-netconfig-mapper:latest"
+    container_name: tr069adapter-netconfig-mapper
+    restart: always
+    depends_on:
+     - tr069adapter-mariadb
+    ports:
+    - "9999:9999"
+    networks:
+      - csadapter_nw
+    environment:
+      SBI_REST_HOST: tr069adapter-acs
+      SBI_REST_PORT: 9977
+      CONFIG_DB_REST_HOST: tr069adapter-acs-initialpnpdb
+      CONFIG_DB_REST_PORT: 9000
+      MAPPER_REST_PORT: 9999
+      REQUEST_TIMEOUT: 300
+      PRE_CONFIGURE_ON_PNP: 'true'
+      NBI_REST_HOST: tr069adapter-netconf-server
+      NBI_REST_PORT: 8181
+      VES_REST_HOST: tr069adapter-ves-notifier
+      VES_REST_PORT: 8383
+      NBI_NETCONF_PORT: 17830
+      NETCONF_SERVER_PORT: 17830
+      NETCONF_SERVER_IP: tr069adapter-netconf-server
+
+  tr069adapter-netconf-server:
+    image: "nexus3.o-ran-sc.org:10004/o-ran-sc/tr069adapter-netconf-server:latest"
+    container_name: tr069adapter-netconf-server
+    restart: always
+    depends_on:
+     - tr069adapter-mariadb
+    ports:
+    - "8181:8181"
+    - "17830:17830"
+    networks:
+      - csadapter_nw
+    environment:
+      NETCONF_REST_PORT: 8181
+      MAPPER_REST_PORT: 9999
+      NETCONFSRV_PORT: 17830
+      DeviceId: ${DeviceId}
+      netConfServerIP: ${netconfServerIP}
+      MAPPER_REST_HOST: tr069adapter-netconfig-mapper
+      VES_PORT: 8383
+      VES_REST_HOST: tr069adapter-ves-notifier
+      VES_REST_PORT: 8383
+  tr069adapter-ves-notifier:
+    image: "nexus3.o-ran-sc.org:10004/o-ran-sc/tr069adapter-ves-notifier:latest"
+    container_name: tr069adapter-ves-notifier
+    restart: always
+    depends_on:
+     - tr069adapter-mariadb
+    ports:
+    - "8383:8383"
+    networks:
+      - csadapter_nw
+    environment:
+      VES_REST_PORT: 8383
+      faultvesCollectorHost: ${netconfServerIP}
+      faultvesCollectorPort: 2222
+      pnfregvesCollectorHost: ${netconfServerIP}
+      pnfregvesCollectorPort: 3333
+      MAPPER_REST_HOST: tr069adapter-netconfig-mapper
+      MAPPER_REST_PORT: 9999
+      DB_USERNAME: root
+      DB_PASSWORD: root
+      DB_SERVICE: tr069adapter-mariadb
+      DB_NAME: dmsdb
+      CONFIG_MAP_ENABLE: 'false'
+
+  tr069adapter-acs-initialpnpdb:
+    image: "nexus3.o-ran-sc.org:10004/o-ran-sc/tr069adapter-acs-initialpnpdb:latest"
+    container_name: tr069adapter-acs-initialpnpdb
+    restart: always
+    depends_on:
+     - tr069adapter-mariadb
+    ports:
+    - "9000:9000"
+    networks:
+      - csadapter_nw
+    environment:
+      DB_USERNAME: root
+      DB_PASSWORD: root
+      DB_SERVICE: tr069adapter-mariadb
+      DB_NAME: dmsdb
+      INITIALPNP_PORT: 9000
+
+  tr069adapter-nginx:
+    image: "nexus3.o-ran-sc.org:10004/o-ran-sc/tr069adapter-nginx:latest"
+    container_name: tr069adapter-nginx
+    restart: always
+    ports:
+    - "1111:1111"
+    - "2222:2222"
+    - "3333:3333"
+    volumes:
+    - ./ssl:/etc/nginx/ssl/
+    environment:
+      faultvesCollectorDNSServer: ${faultvesCollectorDNSServer}
+      faultvesCollectorHost: ${faultvesCollectorHost}
+      faultvesCollectorPort: ${faultvesCollectorPort}
+      faultvesCollectorComm: ${faultvesCollectorComm}
+      faultvesCollectorSSLCert: ${tr069adapterSSLCert}
+      faultvesCollectorSSLKey: ${tr069adapterSSLKey}
+      faultvesCollectorTrustVerify: ${faultvesCollectorTrustVerify}
+      faultvesCollectorTrustCRT: ${faultvesCollectorTrustCRT}
+      pnfregvesCollectorDNSServer: ${pnfregvesCollectorDNSServer}
+      pnfregvesCollectorHost: ${pnfregvesCollectorHost}
+      pnfregvesCollectorPort: ${pnfregvesCollectorPort}
+      pnfregvesCollectorComm: ${pnfregvesCollectorComm}
+      pnfregvesCollectorSSLCert: ${tr069adapterSSLCert}
+      pnfregvesCollectorSSLKey: ${tr069adapterSSLKey}
+      pnfregvesCollectorTrustVerify: ${pnfregvesCollectorTrustVerify}
+      pnfregvesCollectorTrustCRT: ${pnfregvesCollectorTrustCRT}
+      netconfServerIP: ${netconfServerIP}
+      tr069adapterComm: ${tr069adapterComm}
+      tr069adapterSSLCert: ${tr069adapterSSLCert}
+      tr069adapterSSLKey: ${tr069adapterSSLKey}
+      tr069adapterSSLClientAuth: ${tr069adapterSSLClientAuth}
+      tr069adapterSSLClientTrustCRT: ${tr069adapterSSLClientTrustCRT}
+      tr069adapterCertPassPhrase: ${tr069adapterCertPassPhrase}
+      pnfregvesCollectorBasicAuthUserPassEncrypt: ${pnfregvesCollectorBasicAuthUserPassEncrypt}
+      faultvesCollectorBasicAuthUserPassEncrypt: ${faultvesCollectorBasicAuthUserPassEncrypt}
+    networks:
+      - csadapter_nw
+    command: /bin/bash -c "/opt/CSAdapter/configNginx.sh"
+
+networks:
+  csadapter_nw:
+    name: csadapter_nw
+    driver: bridge
+#    enable_ipv6: true
+#    ipam:
+#      driver: default
+#      config:
+#      - subnet: 2001:db9:1::/64
+#        gateway: 2001:db9:1::1
index 592c946..4876f27 100644 (file)
-<?xml version="1.0" encoding="UTF-8"?>\r
-<!--\r
-/*\r
- * ============LICENSE_START========================================================================\r
- * ONAP : tr-069-adapter\r
- * =================================================================================================\r
- * Copyright (C) 2020 CommScope Inc Intellectual Property.\r
- * =================================================================================================\r
- * This tr-069-adapter software file is distributed by CommScope Inc\r
- * under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.apache.org/licenses/LICENSE-2.0\r
- *\r
- * This file is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- * ===============LICENSE_END=======================================================================\r
-*/\r
--->\r
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">\r
-   <modelVersion>4.0.0</modelVersion>\r
-   <parent>\r
-      <groupId>org.commscope.tr069adapter</groupId>\r
-      <artifactId>tr069adapter</artifactId>\r
-      <version>1.0.0</version>\r
-   </parent>\r
-   <groupId>org.commscope.tr069adapter.factory</groupId>\r
-   <artifactId>factory</artifactId>\r
-   <name>factory</name>\r
-   <description>Factory import project for Spring Boot</description>\r
-   <licenses>\r
-      <license>\r
-         <name>The Apache Software License, Version 2.0</name>\r
-         <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>\r
-      </license>\r
-   </licenses>\r
-   <repositories>\r
-      <repository>\r
-         <id>onap-releases</id>\r
-         <name>onap-releases</name>\r
-         <url>https://nexus.onap.org/content/repositories/releases/</url>\r
-      </repository>\r
-   </repositories>\r
-   <properties>\r
-      <docker.image.name>tr069adapter-acs-factorydb</docker.image.name>\r
-   </properties>\r
-   <dependencies>\r
-      <dependency>\r
-         <groupId>org.springframework.boot</groupId>\r
-         <artifactId>spring-boot-starter-web</artifactId>\r
-         <exclusions>\r
-            <exclusion>\r
-               <groupId>org.springframework.boot</groupId>\r
-               <artifactId>spring-boot-starter-logging</artifactId>\r
-            </exclusion>\r
-         </exclusions>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>org.springframework.boot</groupId>\r
-         <artifactId>spring-boot-starter-log4j2</artifactId>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>org.springframework.boot</groupId>\r
-         <artifactId>spring-boot-starter-test</artifactId>\r
-         <scope>test</scope>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>com.fasterxml.jackson.core</groupId>\r
-         <artifactId>jackson-databind</artifactId>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>org.commscope.tr069adapter.acs.common</groupId>\r
-         <artifactId>acs-common</artifactId>\r
-         <version>1.0.0</version>\r
-      </dependency>\r
-   </dependencies>\r
-   <build>\r
-      <plugins>\r
-         <plugin>\r
-            <groupId>org.springframework.boot</groupId>\r
-            <artifactId>spring-boot-maven-plugin</artifactId>\r
-         </plugin>\r
-         <plugin>\r
-            <groupId>net.revelc.code.formatter</groupId>\r
-            <artifactId>formatter-maven-plugin</artifactId>\r
-            <version>${formatter-maven-plugin.version}</version>\r
-            <configuration>\r
-               <configFile>${project.parent.basedir}/eclipse-formatter.xml</configFile>\r
-            </configuration>\r
-            <!-- https://code.revelc.net/formatter-maven-plugin/ use mvn formatter:format\r
-                                        spotless:apply process-sources -->\r
-         </plugin>\r
-         <plugin>\r
-            <groupId>com.diffplug.spotless</groupId>\r
-            <artifactId>spotless-maven-plugin</artifactId>\r
-            <version>${spotless-maven-plugin.version}</version>\r
-            <configuration>\r
-               <java>\r
-                  <removeUnusedImports />\r
-                  <importOrder>\r
-                     <order>com,java,javax,org</order>\r
-                  </importOrder>\r
-               </java>\r
-            </configuration>\r
-            <!-- https://github.com/diffplug/spotless/tree/master/plugin-maven use\r
-                                        mvn spotless:apply to rewrite source files use mvn spotless:check to validate\r
-                                        source files -->\r
-         </plugin>\r
-         <plugin>\r
-            <groupId>org.apache.maven.plugins</groupId>\r
-            <artifactId>maven-surefire-plugin</artifactId>\r
-            <configuration>\r
-               <skipTests>false</skipTests>\r
-            </configuration>\r
-         </plugin>\r
-         <plugin>\r
-            <artifactId>maven-failsafe-plugin</artifactId>\r
-         </plugin>\r
-         <plugin>\r
-            <groupId>io.fabric8</groupId>\r
-            <artifactId>docker-maven-plugin</artifactId>\r
-            <version>${docker-maven-plugin}</version>\r
-            <inherited>false</inherited>\r
-            <executions>\r
-               <execution>\r
-                  <id>generate-policy-agent-image</id>\r
-                  <phase>package</phase>\r
-                  <goals>\r
-                     <goal>build</goal>\r
-                                        <goal>save</goal>\r
-                  </goals>\r
-                  <configuration>\r
-                     <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>\r
-                     <images>\r
-                        <image>\r
-                           <name>${docker.image.name}:${build.version}</name>\r
-                           <build>\r
-                              <cleanup>try</cleanup>\r
-                              <contextDir>${basedir}</contextDir>\r
-                              <dockerFile>Dockerfile</dockerFile>\r
-                              <args>\r
-                                 <JAR>${project.build.finalName}.jar</JAR>\r
-                              </args>\r
-                              <tags>\r
-                                 <tag>${project.version}</tag>\r
-                              </tags>\r
-                           </build>\r
-                        </image>\r
-                     </images>\r
-                  </configuration>\r
-               </execution>\r
-               <execution>\r
-                  <id>push-policy-agent-image</id>\r
-                  <goals>\r
-                     <goal>build</goal>\r
-                     <goal>push</goal>\r
-                  </goals>\r
-                  <configuration>\r
-                     <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>\r
-                     <pushRegistry>${env.CONTAINER_PUSH_REGISTRY}</pushRegistry>\r
-                     <images>\r
-                        <image>\r
-                           <name>${docker.image.name}:${project.version}</name>\r
-                           <build>\r
-                              <contextDir>${basedir}</contextDir>\r
-                              <dockerFile>Dockerfile</dockerFile>\r
-                              <args>\r
-                                 <JAR>${project.build.finalName}.jar</JAR>\r
-                              </args>\r
-                              <tags>\r
-                                 <tag>latest</tag>\r
-                              </tags>\r
-                           </build>\r
-                        </image>\r
-                     </images>\r
-                  </configuration>\r
-               </execution>\r
-            </executions>\r
-         </plugin>\r
-         <!-- support sonar in multi-module project -->\r
-         <plugin>\r
-            <groupId>org.sonarsource.scanner.maven</groupId>\r
-            <artifactId>sonar-maven-plugin</artifactId>\r
-            <version>${sonar-maven-plugin.version}</version>\r
-         </plugin>\r
-      </plugins>\r
-   </build>\r
-   <issueManagement>\r
-      <system>JIRA</system>\r
-      <url>https://jira.o-ran-sc.org/</url>\r
-   </issueManagement>\r
-</project>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+ * ============LICENSE_START========================================================================
+ * O-RAN-SC : tr-069-adapter
+ * =================================================================================================
+ * Copyright (C) 2020 CommScope Inc Intellectual Property.
+ * =================================================================================================
+ * This tr-069-adapter software file is distributed by CommScope Inc
+ * under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * This file is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ===============LICENSE_END=======================================================================
+*/
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+   <modelVersion>4.0.0</modelVersion>
+   <parent>
+      <groupId>org.commscope.tr069adapter</groupId>
+      <artifactId>tr069adapter</artifactId>
+      <version>1.0.0</version>
+   </parent>
+   <groupId>org.commscope.tr069adapter.factory</groupId>
+   <artifactId>factory</artifactId>
+   <name>factory</name>
+   <description>Factory import project for Spring Boot</description>
+   <licenses>
+      <license>
+         <name>The Apache Software License, Version 2.0</name>
+         <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      </license>
+   </licenses>
+   <repositories>
+      <repository>
+         <id>onap-releases</id>
+         <name>onap-releases</name>
+         <url>https://nexus.onap.org/content/repositories/releases/</url>
+      </repository>
+   </repositories>
+   <properties>
+      <docker.image.name>o-ran-sc/tr069adapter-acs-factorydb</docker.image.name>
+   </properties>
+   <dependencies>
+      <dependency>
+         <groupId>org.springframework.boot</groupId>
+         <artifactId>spring-boot-starter-web</artifactId>
+         <exclusions>
+            <exclusion>
+               <groupId>org.springframework.boot</groupId>
+               <artifactId>spring-boot-starter-logging</artifactId>
+            </exclusion>
+         </exclusions>
+      </dependency>
+      <dependency>
+         <groupId>org.springframework.boot</groupId>
+         <artifactId>spring-boot-starter-log4j2</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>org.springframework.boot</groupId>
+         <artifactId>spring-boot-starter-test</artifactId>
+         <scope>test</scope>
+      </dependency>
+      <dependency>
+         <groupId>com.fasterxml.jackson.core</groupId>
+         <artifactId>jackson-databind</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>org.commscope.tr069adapter.acs.common</groupId>
+         <artifactId>acs-common</artifactId>
+         <version>1.0.0</version>
+      </dependency>
+   </dependencies>
+   <build>
+      <plugins>
+         <plugin>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-maven-plugin</artifactId>
+         </plugin>
+         <plugin>
+            <groupId>net.revelc.code.formatter</groupId>
+            <artifactId>formatter-maven-plugin</artifactId>
+            <version>${formatter-maven-plugin.version}</version>
+            <configuration>
+               <configFile>${project.parent.basedir}/eclipse-formatter.xml</configFile>
+            </configuration>
+            <!-- https://code.revelc.net/formatter-maven-plugin/ use mvn formatter:format
+                                        spotless:apply process-sources -->
+         </plugin>
+         <plugin>
+            <groupId>com.diffplug.spotless</groupId>
+            <artifactId>spotless-maven-plugin</artifactId>
+            <version>${spotless-maven-plugin.version}</version>
+            <configuration>
+               <java>
+                  <removeUnusedImports />
+                  <importOrder>
+                     <order>com,java,javax,org</order>
+                  </importOrder>
+               </java>
+            </configuration>
+            <!-- https://github.com/diffplug/spotless/tree/master/plugin-maven use
+                                        mvn spotless:apply to rewrite source files use mvn spotless:check to validate
+                                        source files -->
+         </plugin>
+         <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-surefire-plugin</artifactId>
+            <configuration>
+               <skipTests>false</skipTests>
+            </configuration>
+         </plugin>
+         <plugin>
+            <artifactId>maven-failsafe-plugin</artifactId>
+         </plugin>
+         <plugin>
+            <groupId>io.fabric8</groupId>
+            <artifactId>docker-maven-plugin</artifactId>
+            <version>${docker-maven-plugin}</version>
+            <inherited>false</inherited>
+            <executions>
+               <execution>
+                  <id>generate-policy-agent-image</id>
+                  <phase>package</phase>
+                  <goals>
+                     <goal>build</goal>
+                                        <goal>save</goal>
+                  </goals>
+                  <configuration>
+                     <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>
+                     <images>
+                        <image>
+                           <name>${docker.image.name}:${build.version}</name>
+                           <build>
+                              <cleanup>try</cleanup>
+                              <contextDir>${basedir}</contextDir>
+                              <dockerFile>Dockerfile</dockerFile>
+                              <args>
+                                 <JAR>${project.build.finalName}.jar</JAR>
+                              </args>
+                              <tags>
+                                 <tag>${project.version}</tag>
+                              </tags>
+                           </build>
+                        </image>
+                     </images>
+                  </configuration>
+               </execution>
+               <execution>
+                  <id>push-policy-agent-image</id>
+                  <goals>
+                     <goal>build</goal>
+                     <goal>push</goal>
+                  </goals>
+                  <configuration>
+                     <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>
+                     <pushRegistry>${env.CONTAINER_PUSH_REGISTRY}</pushRegistry>
+                     <images>
+                        <image>
+                           <name>${docker.image.name}:${project.version}</name>
+                           <build>
+                              <contextDir>${basedir}</contextDir>
+                              <dockerFile>Dockerfile</dockerFile>
+                              <args>
+                                 <JAR>${project.build.finalName}.jar</JAR>
+                              </args>
+                              <tags>
+                                 <tag>latest</tag>
+                              </tags>
+                           </build>
+                        </image>
+                     </images>
+                  </configuration>
+               </execution>
+            </executions>
+         </plugin>
+         <!-- support sonar in multi-module project -->
+         <plugin>
+            <groupId>org.sonarsource.scanner.maven</groupId>
+            <artifactId>sonar-maven-plugin</artifactId>
+            <version>${sonar-maven-plugin.version}</version>
+         </plugin>
+      </plugins>
+   </build>
+   <issueManagement>
+      <system>JIRA</system>
+      <url>https://jira.o-ran-sc.org/</url>
+   </issueManagement>
+</project>
index cfce5a3..36d6ba9 100644 (file)
-<!--\r
-/*\r
- * ============LICENSE_START========================================================================\r
- * ONAP : tr-069-adapter\r
- * =================================================================================================\r
- * Copyright (C) 2020 CommScope Inc Intellectual Property.\r
- * =================================================================================================\r
- * This tr-069-adapter software file is distributed by CommScope Inc\r
- * under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.apache.org/licenses/LICENSE-2.0\r
- *\r
- * This file is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- * ===============LICENSE_END=======================================================================\r
-*/\r
--->\r
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">\r
-   <parent>\r
-      <groupId>org.commscope.tr069adapter</groupId>\r
-      <artifactId>tr069adapter</artifactId>\r
-      <version>1.0.0</version>\r
-   </parent>\r
-   <modelVersion>4.0.0</modelVersion>\r
-   <groupId>org.commscope.tr069adapter.mapper</groupId>\r
-   <artifactId>mapper</artifactId>\r
-   <name>TR069_Mapper</name>\r
-   <licenses>\r
-      <license>\r
-         <name>The Apache Software License, Version 2.0</name>\r
-         <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>\r
-      </license>\r
-   </licenses>\r
-   <repositories>\r
-      <repository>\r
-         <id>onap-releases</id>\r
-         <name>onap-releases</name>\r
-         <url>https://nexus.onap.org/content/repositories/releases/</url>\r
-      </repository>\r
-   </repositories>\r
-   <properties>\r
-      <docker.image.name>tr069adapter-netconfig-mapper</docker.image.name>\r
-   </properties>\r
-   <dependencies>\r
-      <dependency>\r
-         <groupId>org.springframework.boot</groupId>\r
-         <artifactId>spring-boot-starter-web</artifactId>\r
-         <exclusions>\r
-            <exclusion>\r
-               <groupId>org.springframework.boot</groupId>\r
-               <artifactId>spring-boot-starter-logging</artifactId>\r
-            </exclusion>\r
-         </exclusions>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>org.springframework.boot</groupId>\r
-         <artifactId>spring-boot-starter-log4j2</artifactId>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>com.lmax</groupId>\r
-         <artifactId>disruptor</artifactId>\r
-         <version>3.4.2</version>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>org.springframework.boot</groupId>\r
-         <artifactId>spring-boot-starter-activemq</artifactId>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>com.fasterxml.jackson.core</groupId>\r
-         <artifactId>jackson-databind</artifactId>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>org.commscope.tr069adapter.acs.common</groupId>\r
-         <artifactId>acs-common</artifactId>\r
-         <version>1.0.0</version>\r
-      </dependency>\r
-      <dependency>\r
-               <groupId>org.mariadb.jdbc</groupId>\r
-               <artifactId>mariadb-java-client</artifactId>\r
-       </dependency>\r
-       <dependency>\r
-                       <groupId>org.springframework.boot</groupId>\r
-                       <artifactId>spring-boot-starter-data-jpa</artifactId>\r
-               </dependency>\r
-      <dependency>\r
-         <groupId>commons-io</groupId>\r
-         <artifactId>commons-io</artifactId>\r
-         <version>2.6</version>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>junit</groupId>\r
-         <artifactId>junit</artifactId>\r
-         <scope>test</scope>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>junit</groupId>\r
-         <artifactId>junit-dep</artifactId>\r
-         <version>4.11</version>\r
-         <scope>test</scope>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>org.springframework.boot</groupId>\r
-         <artifactId>spring-boot-starter-test</artifactId>\r
-         <scope>test</scope>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>com.h2database</groupId>\r
-         <artifactId>h2</artifactId>\r
-         <scope>test</scope>\r
-      </dependency>\r
-   </dependencies>\r
-   <build>\r
-      <plugins>\r
-         <plugin>\r
-            <groupId>org.apache.maven.plugins</groupId>\r
-            <artifactId>maven-jar-plugin</artifactId>\r
-            <executions>\r
-               <execution>\r
-                  <id>mapper-client</id>\r
-                  <goals>\r
-                     <goal>jar</goal>\r
-                  </goals>\r
-                  <configuration>\r
-                     <finalName>mapper-client</finalName>\r
-                     <classifier>lib</classifier>\r
-                     <includes>\r
-                        <include>org/commscope/tr069adapter/mapper/model/*</include>\r
-                     </includes>\r
-                  </configuration>\r
-               </execution>\r
-            </executions>\r
-         </plugin>\r
-         <plugin>\r
-            <groupId>org.springframework.boot</groupId>\r
-            <artifactId>spring-boot-maven-plugin</artifactId>\r
-         </plugin>\r
-         <plugin>\r
-            <groupId>net.revelc.code.formatter</groupId>\r
-            <artifactId>formatter-maven-plugin</artifactId>\r
-            <version>${formatter-maven-plugin.version}</version>\r
-            <configuration>\r
-               <configFile>${project.parent.basedir}/eclipse-formatter.xml</configFile>\r
-            </configuration>\r
-            <!-- https://code.revelc.net/formatter-maven-plugin/ use mvn formatter:format \r
-                                       spotless:apply process-sources -->\r
-         </plugin>\r
-         <plugin>\r
-            <groupId>com.diffplug.spotless</groupId>\r
-            <artifactId>spotless-maven-plugin</artifactId>\r
-            <version>${spotless-maven-plugin.version}</version>\r
-            <configuration>\r
-               <java>\r
-                  <removeUnusedImports />\r
-                  <importOrder>\r
-                     <order>com,java,javax,org</order>\r
-                  </importOrder>\r
-               </java>\r
-            </configuration>\r
-            <!-- https://github.com/diffplug/spotless/tree/master/plugin-maven use \r
-                                       mvn spotless:apply to rewrite source files use mvn spotless:check to validate \r
-                                       source files -->\r
-         </plugin>\r
-         <plugin>\r
-            <groupId>org.apache.maven.plugins</groupId>\r
-            <artifactId>maven-surefire-plugin</artifactId>\r
-            <version>2.17</version>\r
-            <configuration>\r
-               <skipTests>false</skipTests>\r
-            </configuration>\r
-         </plugin>\r
-         <plugin>\r
-            <artifactId>maven-failsafe-plugin</artifactId>\r
-         </plugin>\r
-         <plugin>\r
-            <groupId>io.fabric8</groupId>\r
-            <artifactId>docker-maven-plugin</artifactId>\r
-            <version>${docker-maven-plugin}</version>\r
-            <inherited>false</inherited>\r
-            <executions>\r
-               <execution>\r
-                  <id>generate-policy-agent-image</id>\r
-                  <phase>package</phase>\r
-                  <goals>\r
-                     <goal>build</goal>\r
-                     <goal>save</goal>\r
-                  </goals>\r
-                  <configuration>\r
-                     <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>\r
-                     <images>\r
-                        <image>\r
-                           <name>${docker.image.name}:${build.version}</name>\r
-                           <build>\r
-                              <cleanup>try</cleanup>\r
-                              <contextDir>${basedir}</contextDir>\r
-                              <dockerFile>Dockerfile</dockerFile>\r
-                              <args>\r
-                                 <JAR>${project.build.finalName}.jar</JAR>\r
-                              </args>\r
-                              <tags>\r
-                                 <tag>${project.version}</tag>\r
-                              </tags>\r
-                           </build>\r
-                        </image>\r
-                     </images>\r
-                  </configuration>\r
-               </execution>\r
-               <execution>\r
-                  <id>push-policy-agent-image</id>\r
-                  <goals>\r
-                     <goal>build</goal>\r
-                     <goal>push</goal>\r
-                  </goals>\r
-                  <configuration>\r
-                     <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>\r
-                     <pushRegistry>${env.CONTAINER_PUSH_REGISTRY}</pushRegistry>\r
-                     <images>\r
-                        <image>\r
-                           <name>${docker.image.name}:${project.version}</name>\r
-                           <build>\r
-                              <contextDir>${basedir}</contextDir>\r
-                              <dockerFile>Dockerfile</dockerFile>\r
-                              <args>\r
-                                 <JAR>${project.build.finalName}.jar</JAR>\r
-                              </args>\r
-                              <tags>\r
-                                 <tag>latest</tag>\r
-                              </tags>\r
-                           </build>\r
-                        </image>\r
-                     </images>\r
-                  </configuration>\r
-               </execution>\r
-            </executions>\r
-         </plugin>\r
-         <!-- support sonar in multi-module project -->\r
-         <plugin>\r
-            <groupId>org.sonarsource.scanner.maven</groupId>\r
-            <artifactId>sonar-maven-plugin</artifactId>\r
-            <version>${sonar-maven-plugin.version}</version>\r
-         </plugin>\r
-      </plugins>\r
-   </build>\r
-   <issueManagement>\r
-      <system>JIRA</system>\r
-      <url>https://jira.o-ran-sc.org/</url>\r
-   </issueManagement>\r
-</project>
\ No newline at end of file
+<!--
+/*
+ * ============LICENSE_START========================================================================
+ * O-RAN-SC : tr-069-adapter
+ * =================================================================================================
+ * Copyright (C) 2020 CommScope Inc Intellectual Property.
+ * =================================================================================================
+ * This tr-069-adapter software file is distributed by CommScope Inc
+ * under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * This file is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ===============LICENSE_END=======================================================================
+*/
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+   <parent>
+      <groupId>org.commscope.tr069adapter</groupId>
+      <artifactId>tr069adapter</artifactId>
+      <version>1.0.0</version>
+   </parent>
+   <modelVersion>4.0.0</modelVersion>
+   <groupId>org.commscope.tr069adapter.mapper</groupId>
+   <artifactId>mapper</artifactId>
+   <name>TR069_Mapper</name>
+   <licenses>
+      <license>
+         <name>The Apache Software License, Version 2.0</name>
+         <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      </license>
+   </licenses>
+   <repositories>
+      <repository>
+         <id>onap-releases</id>
+         <name>onap-releases</name>
+         <url>https://nexus.onap.org/content/repositories/releases/</url>
+      </repository>
+   </repositories>
+   <properties>
+      <docker.image.name>o-ran-sc/tr069adapter-netconfig-mapper</docker.image.name>
+   </properties>
+   <dependencies>
+      <dependency>
+         <groupId>org.springframework.boot</groupId>
+         <artifactId>spring-boot-starter-web</artifactId>
+         <exclusions>
+            <exclusion>
+               <groupId>org.springframework.boot</groupId>
+               <artifactId>spring-boot-starter-logging</artifactId>
+            </exclusion>
+         </exclusions>
+      </dependency>
+      <dependency>
+         <groupId>org.springframework.boot</groupId>
+         <artifactId>spring-boot-starter-log4j2</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>com.lmax</groupId>
+         <artifactId>disruptor</artifactId>
+         <version>3.4.2</version>
+      </dependency>
+      <dependency>
+         <groupId>org.springframework.boot</groupId>
+         <artifactId>spring-boot-starter-activemq</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>com.fasterxml.jackson.core</groupId>
+         <artifactId>jackson-databind</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>org.commscope.tr069adapter.acs.common</groupId>
+         <artifactId>acs-common</artifactId>
+         <version>1.0.0</version>
+      </dependency>
+      <dependency>
+               <groupId>org.mariadb.jdbc</groupId>
+               <artifactId>mariadb-java-client</artifactId>
+       </dependency>
+       <dependency>
+                       <groupId>org.springframework.boot</groupId>
+                       <artifactId>spring-boot-starter-data-jpa</artifactId>
+               </dependency>
+      <dependency>
+         <groupId>commons-io</groupId>
+         <artifactId>commons-io</artifactId>
+         <version>2.6</version>
+      </dependency>
+      <dependency>
+         <groupId>junit</groupId>
+         <artifactId>junit</artifactId>
+         <scope>test</scope>
+      </dependency>
+      <dependency>
+         <groupId>junit</groupId>
+         <artifactId>junit-dep</artifactId>
+         <version>4.11</version>
+         <scope>test</scope>
+      </dependency>
+      <dependency>
+         <groupId>org.springframework.boot</groupId>
+         <artifactId>spring-boot-starter-test</artifactId>
+         <scope>test</scope>
+      </dependency>
+      <dependency>
+         <groupId>com.h2database</groupId>
+         <artifactId>h2</artifactId>
+         <scope>test</scope>
+      </dependency>
+   </dependencies>
+   <build>
+      <plugins>
+         <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-jar-plugin</artifactId>
+            <executions>
+               <execution>
+                  <id>mapper-client</id>
+                  <goals>
+                     <goal>jar</goal>
+                  </goals>
+                  <configuration>
+                     <finalName>mapper-client</finalName>
+                     <classifier>lib</classifier>
+                     <includes>
+                        <include>org/commscope/tr069adapter/mapper/model/*</include>
+                     </includes>
+                  </configuration>
+               </execution>
+            </executions>
+         </plugin>
+         <plugin>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-maven-plugin</artifactId>
+         </plugin>
+         <plugin>
+            <groupId>net.revelc.code.formatter</groupId>
+            <artifactId>formatter-maven-plugin</artifactId>
+            <version>${formatter-maven-plugin.version}</version>
+            <configuration>
+               <configFile>${project.parent.basedir}/eclipse-formatter.xml</configFile>
+            </configuration>
+            <!-- https://code.revelc.net/formatter-maven-plugin/ use mvn formatter:format 
+                                       spotless:apply process-sources -->
+         </plugin>
+         <plugin>
+            <groupId>com.diffplug.spotless</groupId>
+            <artifactId>spotless-maven-plugin</artifactId>
+            <version>${spotless-maven-plugin.version}</version>
+            <configuration>
+               <java>
+                  <removeUnusedImports />
+                  <importOrder>
+                     <order>com,java,javax,org</order>
+                  </importOrder>
+               </java>
+            </configuration>
+            <!-- https://github.com/diffplug/spotless/tree/master/plugin-maven use 
+                                       mvn spotless:apply to rewrite source files use mvn spotless:check to validate 
+                                       source files -->
+         </plugin>
+         <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-surefire-plugin</artifactId>
+            <version>2.17</version>
+            <configuration>
+               <skipTests>false</skipTests>
+            </configuration>
+         </plugin>
+         <plugin>
+            <artifactId>maven-failsafe-plugin</artifactId>
+         </plugin>
+         <plugin>
+            <groupId>io.fabric8</groupId>
+            <artifactId>docker-maven-plugin</artifactId>
+            <version>${docker-maven-plugin}</version>
+            <inherited>false</inherited>
+            <executions>
+               <execution>
+                  <id>generate-policy-agent-image</id>
+                  <phase>package</phase>
+                  <goals>
+                     <goal>build</goal>
+                     <goal>save</goal>
+                  </goals>
+                  <configuration>
+                     <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>
+                     <images>
+                        <image>
+                           <name>${docker.image.name}:${build.version}</name>
+                           <build>
+                              <cleanup>try</cleanup>
+                              <contextDir>${basedir}</contextDir>
+                              <dockerFile>Dockerfile</dockerFile>
+                              <args>
+                                 <JAR>${project.build.finalName}.jar</JAR>
+                              </args>
+                              <tags>
+                                 <tag>${project.version}</tag>
+                              </tags>
+                           </build>
+                        </image>
+                     </images>
+                  </configuration>
+               </execution>
+               <execution>
+                  <id>push-policy-agent-image</id>
+                  <goals>
+                     <goal>build</goal>
+                     <goal>push</goal>
+                  </goals>
+                  <configuration>
+                     <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>
+                     <pushRegistry>${env.CONTAINER_PUSH_REGISTRY}</pushRegistry>
+                     <images>
+                        <image>
+                           <name>${docker.image.name}:${project.version}</name>
+                           <build>
+                              <contextDir>${basedir}</contextDir>
+                              <dockerFile>Dockerfile</dockerFile>
+                              <args>
+                                 <JAR>${project.build.finalName}.jar</JAR>
+                              </args>
+                              <tags>
+                                 <tag>latest</tag>
+                              </tags>
+                           </build>
+                        </image>
+                     </images>
+                  </configuration>
+               </execution>
+            </executions>
+         </plugin>
+         <!-- support sonar in multi-module project -->
+         <plugin>
+            <groupId>org.sonarsource.scanner.maven</groupId>
+            <artifactId>sonar-maven-plugin</artifactId>
+            <version>${sonar-maven-plugin.version}</version>
+         </plugin>
+      </plugins>
+   </build>
+   <issueManagement>
+      <system>JIRA</system>
+      <url>https://jira.o-ran-sc.org/</url>
+   </issueManagement>
+</project>
index 3b09997..0f906c8 100644 (file)
-<?xml version="1.0" encoding="UTF-8"?>\r
-<!--\r
-/*\r
- * ============LICENSE_START========================================================================\r
- * ONAP : tr-069-adapter\r
- * =================================================================================================\r
- * Copyright (C) 2020 CommScope Inc Intellectual Property.\r
- * =================================================================================================\r
- * This tr-069-adapter software file is distributed by CommScope Inc\r
- * under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.apache.org/licenses/LICENSE-2.0\r
- *\r
- * This file is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- * ===============LICENSE_END=======================================================================\r
-*/\r
--->\r
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">\r
-   <modelVersion>4.0.0</modelVersion>\r
-   <parent>\r
-      <groupId>org.commscope.tr069adapter</groupId>\r
-      <artifactId>tr069adapter</artifactId>\r
-      <version>1.0.0</version>\r
-   </parent>\r
-   <groupId>org.commscope.tr069adapter.netconf.server</groupId>\r
-   <artifactId>netconf-server</artifactId>\r
-   <name>netconf-server</name>\r
-   <packaging>jar</packaging>\r
-   <licenses>\r
-      <license>\r
-         <name>The Apache Software License, Version 2.0</name>\r
-         <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>\r
-      </license>\r
-   </licenses>\r
-   <repositories>\r
-      <repository>\r
-         <id>onap-releases</id>\r
-         <name>onap-releases</name>\r
-         <url>https://nexus.onap.org/content/repositories/releases/</url>\r
-      </repository>\r
-   </repositories>\r
-   <properties>\r
-      <docker.image.name>tr069adapter-netconf-server</docker.image.name>\r
-   </properties>\r
-   <dependencies>\r
-      <dependency>\r
-         <groupId>org.springframework.boot</groupId>\r
-         <artifactId>spring-boot-starter</artifactId>\r
-         <exclusions>\r
-            <exclusion>\r
-               <groupId>org.springframework.boot</groupId>\r
-               <artifactId>spring-boot-starter-logging</artifactId>\r
-            </exclusion>\r
-         </exclusions>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>org.springframework.boot</groupId>\r
-         <artifactId>spring-boot-starter-web</artifactId>\r
-         <exclusions>\r
-            <exclusion>\r
-               <groupId>org.springframework.boot</groupId>\r
-               <artifactId>spring-boot-starter-logging</artifactId>\r
-            </exclusion>\r
-         </exclusions>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>org.springframework.boot</groupId>\r
-         <artifactId>spring-boot-starter-activemq</artifactId>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>com.fasterxml.jackson.core</groupId>\r
-         <artifactId>jackson-databind</artifactId>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>org.opendaylight.netconf</groupId>\r
-         <artifactId>netconf-testtool</artifactId>\r
-         <version>1.7.0</version>\r
-         <exclusions>\r
-            <exclusion>\r
-               <groupId>ch.qos.logback</groupId>\r
-               <artifactId>logback-classic</artifactId>\r
-            </exclusion>\r
-         </exclusions>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>org.springframework</groupId>\r
-         <artifactId>spring-context</artifactId>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>org.commscope.tr069adapter.mapper</groupId>\r
-         <artifactId>mapper</artifactId>\r
-         <version>1.0.0</version>\r
-         <classifier>lib</classifier>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>org.springframework.boot</groupId>\r
-         <artifactId>spring-boot-actuator-autoconfigure</artifactId>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>org.springframework.retry</groupId>\r
-         <artifactId>spring-retry</artifactId>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>org.springframework</groupId>\r
-         <artifactId>spring-aspects</artifactId>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>org.mariadb.jdbc</groupId>\r
-         <artifactId>mariadb-java-client</artifactId>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>org.springframework.boot</groupId>\r
-         <artifactId>spring-boot-starter-data-jpa</artifactId>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>org.mockito</groupId>\r
-         <artifactId>mockito-core</artifactId>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>org.springframework.boot</groupId>\r
-         <artifactId>spring-boot-starter-test</artifactId>\r
-         <scope>test</scope>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>junit</groupId>\r
-         <artifactId>junit</artifactId>\r
-         <scope>test</scope>\r
-         <exclusions>\r
-            <exclusion>\r
-               <groupId>ch.qos.logback</groupId>\r
-               <artifactId>logback-classic</artifactId>\r
-            </exclusion>\r
-         </exclusions>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>junit</groupId>\r
-         <artifactId>junit-dep</artifactId>\r
-         <version>4.11</version>\r
-         <scope>test</scope>\r
-         <exclusions>\r
-            <exclusion>\r
-               <groupId>ch.qos.logback</groupId>\r
-               <artifactId>logback-classic</artifactId>\r
-            </exclusion>\r
-         </exclusions>\r
-      </dependency>\r
-      <dependency>\r
-         <groupId>com.h2database</groupId>\r
-         <artifactId>h2</artifactId>\r
-         <scope>test</scope>\r
-      </dependency>\r
-   </dependencies>\r
-   <build>\r
-      <plugins>\r
-         <plugin>\r
-            <groupId>org.springframework.boot</groupId>\r
-            <artifactId>spring-boot-maven-plugin</artifactId>\r
-         </plugin>\r
-         <plugin>\r
-            <groupId>net.revelc.code.formatter</groupId>\r
-            <artifactId>formatter-maven-plugin</artifactId>\r
-            <version>${formatter-maven-plugin.version}</version>\r
-            <configuration>\r
-               <configFile>${project.parent.basedir}/eclipse-formatter.xml</configFile>\r
-            </configuration>\r
-            <!-- https://code.revelc.net/formatter-maven-plugin/ use mvn formatter:format\r
-                                        spotless:apply process-sources -->\r
-         </plugin>\r
-         <plugin>\r
-            <groupId>com.diffplug.spotless</groupId>\r
-            <artifactId>spotless-maven-plugin</artifactId>\r
-            <version>${spotless-maven-plugin.version}</version>\r
-            <configuration>\r
-               <java>\r
-                  <removeUnusedImports />\r
-                  <importOrder>\r
-                     <order>com,java,javax,org</order>\r
-                  </importOrder>\r
-               </java>\r
-            </configuration>\r
-            <!-- https://github.com/diffplug/spotless/tree/master/plugin-maven use\r
-                                        mvn spotless:apply to rewrite source files use mvn spotless:check to validate\r
-                                        source files -->\r
-         </plugin>\r
-         <plugin>\r
-            <groupId>org.apache.maven.plugins</groupId>\r
-            <artifactId>maven-surefire-plugin</artifactId>\r
-            <configuration>\r
-               <skipTests>false</skipTests>\r
-            </configuration>\r
-         </plugin>\r
-         <plugin>\r
-            <artifactId>maven-failsafe-plugin</artifactId>\r
-         </plugin>\r
-         <plugin>\r
-            <groupId>io.fabric8</groupId>\r
-            <artifactId>docker-maven-plugin</artifactId>\r
-            <version>${docker-maven-plugin}</version>\r
-            <inherited>false</inherited>\r
-            <executions>\r
-               <execution>\r
-                  <id>generate-policy-agent-image</id>\r
-                  <phase>package</phase>\r
-                  <goals>\r
-                     <goal>build</goal>\r
-                     <goal>save</goal>\r
-                  </goals>\r
-                  <configuration>\r
-                     <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>\r
-                     <images>\r
-                        <image>\r
-                           <name>${docker.image.name}:${build.version}</name>\r
-                           <build>\r
-                              <cleanup>try</cleanup>\r
-                              <contextDir>${basedir}</contextDir>\r
-                              <dockerFile>Dockerfile</dockerFile>\r
-                              <args>\r
-                                 <JAR>${project.build.finalName}.jar</JAR>\r
-                              </args>\r
-                              <tags>\r
-                                 <tag>${project.version}</tag>\r
-                              </tags>\r
-                           </build>\r
-                        </image>\r
-                     </images>\r
-                  </configuration>\r
-               </execution>\r
-               <execution>\r
-                  <id>push-policy-agent-image</id>\r
-                  <goals>\r
-                     <goal>build</goal>\r
-                     <goal>push</goal>\r
-                  </goals>\r
-                  <configuration>\r
-                     <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>\r
-                     <pushRegistry>${env.CONTAINER_PUSH_REGISTRY}</pushRegistry>\r
-                     <images>\r
-                        <image>\r
-                           <name>${docker.image.name}:${project.version}</name>\r
-                           <build>\r
-                              <contextDir>${basedir}</contextDir>\r
-                              <dockerFile>Dockerfile</dockerFile>\r
-                              <args>\r
-                                 <JAR>${project.build.finalName}.jar</JAR>\r
-                              </args>\r
-                              <tags>\r
-                                 <tag>latest</tag>\r
-                              </tags>\r
-                           </build>\r
-                        </image>\r
-                     </images>\r
-                  </configuration>\r
-               </execution>\r
-            </executions>\r
-         </plugin>\r
-         <!-- support sonar in multi-module project -->\r
-         <plugin>\r
-            <groupId>org.sonarsource.scanner.maven</groupId>\r
-            <artifactId>sonar-maven-plugin</artifactId>\r
-            <version>${sonar-maven-plugin.version}</version>\r
-         </plugin>\r
-      </plugins>\r
-   </build>\r
-   <issueManagement>\r
-      <system>JIRA</system>\r
-      <url>https://jira.o-ran-sc.org/</url>\r
-   </issueManagement>\r
-</project>\r
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+ * ============LICENSE_START========================================================================
+ * O-RAN-SC : tr-069-adapter
+ * =================================================================================================
+ * Copyright (C) 2020 CommScope Inc Intellectual Property.
+ * =================================================================================================
+ * This tr-069-adapter software file is distributed by CommScope Inc
+ * under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * This file is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ===============LICENSE_END=======================================================================
+*/
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+   <modelVersion>4.0.0</modelVersion>
+   <parent>
+      <groupId>org.commscope.tr069adapter</groupId>
+      <artifactId>tr069adapter</artifactId>
+      <version>1.0.0</version>
+   </parent>
+   <groupId>org.commscope.tr069adapter.netconf.server</groupId>
+   <artifactId>netconf-server</artifactId>
+   <name>netconf-server</name>
+   <packaging>jar</packaging>
+   <licenses>
+      <license>
+         <name>The Apache Software License, Version 2.0</name>
+         <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      </license>
+   </licenses>
+   <repositories>
+      <repository>
+         <id>onap-releases</id>
+         <name>onap-releases</name>
+         <url>https://nexus.onap.org/content/repositories/releases/</url>
+      </repository>
+   </repositories>
+   <properties>
+      <docker.image.name>o-ran-sc/tr069adapter-netconf-server</docker.image.name>
+   </properties>
+   <dependencies>
+      <dependency>
+         <groupId>org.springframework.boot</groupId>
+         <artifactId>spring-boot-starter</artifactId>
+         <exclusions>
+            <exclusion>
+               <groupId>org.springframework.boot</groupId>
+               <artifactId>spring-boot-starter-logging</artifactId>
+            </exclusion>
+         </exclusions>
+      </dependency>
+      <dependency>
+         <groupId>org.springframework.boot</groupId>
+         <artifactId>spring-boot-starter-web</artifactId>
+         <exclusions>
+            <exclusion>
+               <groupId>org.springframework.boot</groupId>
+               <artifactId>spring-boot-starter-logging</artifactId>
+            </exclusion>
+         </exclusions>
+      </dependency>
+      <dependency>
+         <groupId>org.springframework.boot</groupId>
+         <artifactId>spring-boot-starter-activemq</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>com.fasterxml.jackson.core</groupId>
+         <artifactId>jackson-databind</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>org.opendaylight.netconf</groupId>
+         <artifactId>netconf-testtool</artifactId>
+         <version>1.7.0</version>
+         <exclusions>
+            <exclusion>
+               <groupId>ch.qos.logback</groupId>
+               <artifactId>logback-classic</artifactId>
+            </exclusion>
+         </exclusions>
+      </dependency>
+      <dependency>
+         <groupId>org.springframework</groupId>
+         <artifactId>spring-context</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>org.commscope.tr069adapter.mapper</groupId>
+         <artifactId>mapper</artifactId>
+         <version>1.0.0</version>
+         <classifier>lib</classifier>
+      </dependency>
+      <dependency>
+         <groupId>org.springframework.boot</groupId>
+         <artifactId>spring-boot-actuator-autoconfigure</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>org.springframework.retry</groupId>
+         <artifactId>spring-retry</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>org.springframework</groupId>
+         <artifactId>spring-aspects</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>org.mariadb.jdbc</groupId>
+         <artifactId>mariadb-java-client</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>org.springframework.boot</groupId>
+         <artifactId>spring-boot-starter-data-jpa</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>org.mockito</groupId>
+         <artifactId>mockito-core</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>org.springframework.boot</groupId>
+         <artifactId>spring-boot-starter-test</artifactId>
+         <scope>test</scope>
+      </dependency>
+      <dependency>
+         <groupId>junit</groupId>
+         <artifactId>junit</artifactId>
+         <scope>test</scope>
+         <exclusions>
+            <exclusion>
+               <groupId>ch.qos.logback</groupId>
+               <artifactId>logback-classic</artifactId>
+            </exclusion>
+         </exclusions>
+      </dependency>
+      <dependency>
+         <groupId>junit</groupId>
+         <artifactId>junit-dep</artifactId>
+         <version>4.11</version>
+         <scope>test</scope>
+         <exclusions>
+            <exclusion>
+               <groupId>ch.qos.logback</groupId>
+               <artifactId>logback-classic</artifactId>
+            </exclusion>
+         </exclusions>
+      </dependency>
+      <dependency>
+         <groupId>com.h2database</groupId>
+         <artifactId>h2</artifactId>
+         <scope>test</scope>
+      </dependency>
+   </dependencies>
+   <build>
+      <plugins>
+         <plugin>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-maven-plugin</artifactId>
+         </plugin>
+         <plugin>
+            <groupId>net.revelc.code.formatter</groupId>
+            <artifactId>formatter-maven-plugin</artifactId>
+            <version>${formatter-maven-plugin.version}</version>
+            <configuration>
+               <configFile>${project.parent.basedir}/eclipse-formatter.xml</configFile>
+            </configuration>
+            <!-- https://code.revelc.net/formatter-maven-plugin/ use mvn formatter:format
+                                        spotless:apply process-sources -->
+         </plugin>
+         <plugin>
+            <groupId>com.diffplug.spotless</groupId>
+            <artifactId>spotless-maven-plugin</artifactId>
+            <version>${spotless-maven-plugin.version}</version>
+            <configuration>
+               <java>
+                  <removeUnusedImports />
+                  <importOrder>
+                     <order>com,java,javax,org</order>
+                  </importOrder>
+               </java>
+            </configuration>
+            <!-- https://github.com/diffplug/spotless/tree/master/plugin-maven use
+                                        mvn spotless:apply to rewrite source files use mvn spotless:check to validate
+                                        source files -->
+         </plugin>
+         <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-surefire-plugin</artifactId>
+            <configuration>
+               <skipTests>false</skipTests>
+            </configuration>
+         </plugin>
+         <plugin>
+            <artifactId>maven-failsafe-plugin</artifactId>
+         </plugin>
+         <plugin>
+            <groupId>io.fabric8</groupId>
+            <artifactId>docker-maven-plugin</artifactId>
+            <version>${docker-maven-plugin}</version>
+            <inherited>false</inherited>
+            <executions>
+               <execution>
+                  <id>generate-policy-agent-image</id>
+                  <phase>package</phase>
+                  <goals>
+                     <goal>build</goal>
+                     <goal>save</goal>
+                  </goals>
+                  <configuration>
+                     <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>
+                     <images>
+                        <image>
+                           <name>${docker.image.name}:${build.version}</name>
+                           <build>
+                              <cleanup>try</cleanup>
+                              <contextDir>${basedir}</contextDir>
+                              <dockerFile>Dockerfile</dockerFile>
+                              <args>
+                                 <JAR>${project.build.finalName}.jar</JAR>
+                              </args>
+                              <tags>
+                                 <tag>${project.version}</tag>
+                              </tags>
+                           </build>
+                        </image>
+                     </images>
+                  </configuration>
+               </execution>
+               <execution>
+                  <id>push-policy-agent-image</id>
+                  <goals>
+                     <goal>build</goal>
+                     <goal>push</goal>
+                  </goals>
+                  <configuration>
+                     <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>
+                     <pushRegistry>${env.CONTAINER_PUSH_REGISTRY}</pushRegistry>
+                     <images>
+                        <image>
+                           <name>${docker.image.name}:${project.version}</name>
+                           <build>
+                              <contextDir>${basedir}</contextDir>
+                              <dockerFile>Dockerfile</dockerFile>
+                              <args>
+                                 <JAR>${project.build.finalName}.jar</JAR>
+                              </args>
+                              <tags>
+                                 <tag>latest</tag>
+                              </tags>
+                           </build>
+                        </image>
+                     </images>
+                  </configuration>
+               </execution>
+            </executions>
+         </plugin>
+         <!-- support sonar in multi-module project -->
+         <plugin>
+            <groupId>org.sonarsource.scanner.maven</groupId>
+            <artifactId>sonar-maven-plugin</artifactId>
+            <version>${sonar-maven-plugin.version}</version>
+         </plugin>
+      </plugins>
+   </build>
+   <issueManagement>
+      <system>JIRA</system>
+      <url>https://jira.o-ran-sc.org/</url>
+   </issueManagement>
+</project>
diff --git a/nginx/Dockerfile b/nginx/Dockerfile
new file mode 100755 (executable)
index 0000000..cbba299
--- /dev/null
@@ -0,0 +1,26 @@
+# ============LICENSE_START========================================================================
+# O-RAN-SC : tr-069-adapter
+# =================================================================================================
+# Copyright (C) 2020 CommScope Inc Intellectual Property.
+# =================================================================================================
+# This tr-069-adapter software file is distributed by CommScope Inc
+# under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# This file is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ===============LICENSE_END=======================================================================
+
+FROM nginx:latest
+
+WORKDIR /opt/CSAdapter/
+
+ADD config/configNginx.sh configNginx.sh
+RUN chmod +x ./configNginx.sh
+ADD config/nginx.conf /etc/nginx/nginx.conf
+
diff --git a/nginx/config/configNginx.sh b/nginx/config/configNginx.sh
new file mode 100755 (executable)
index 0000000..9a42a93
--- /dev/null
@@ -0,0 +1,270 @@
+#!/bin/bash
+# ============LICENSE_START========================================================================
+# O-RAN-SC : tr-069-adapter
+# =================================================================================================
+# Copyright (C) 2020 CommScope Inc Intellectual Property.
+# =================================================================================================
+# This tr-069-adapter software file is distributed by CommScope Inc under the Apache License,
+# Version 2.0 (the "License"); you may not use this file except in compliance with the License. You
+# may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+# either express or implied. See the License for the specific language governing permissions and
+# limitations under the License.
+# ===============LICENSE_END=======================================================================
+
+NGINX_CONF=/etc/nginx/nginx.conf
+
+updateAdapter()
+{
+echo ""
+echo "# Checking if TR069Adapter is SSL Enabled..."
+if [ $tr069adapterComm != "SSL" ]; then
+  echo ": SSL Not enabled, Cleaning up the entries..."
+  perl -pi -e "s/tr069adapterComm//g" $NGINX_CONF
+    sed -i '/tr069adapterSSLCert;/,+4 d' $NGINX_CONF
+else
+  echo ": SSL is enabled, Updating the entries..."
+  perl -pi -e "s/tr069adapterComm/ssl/g" $NGINX_CONF
+  perl -pi -e "s/tr069adapterSSLCert/${tr069adapterSSLCert}/g" $NGINX_CONF
+  perl -pi -e "s/tr069adapterSSLKey/${tr069adapterSSLKey}/g" $NGINX_CONF
+  if [ $tr069adapterSSLClientAuth != "TRUE" ]; then
+   echo ": Client Trusted Certificate verification is NOT Enabled..."
+    sed -i '/tr069adapterSSLClientTrustCRT/,+2 d' $NGINX_CONF
+  else
+    echo ": Client Trusted Certificate verification is Enabled..."
+    perl -pi -e "s/tr069adapterSSLClientTrustCRT/${tr069adapterSSLClientTrustCRT}/g" $NGINX_CONF
+  fi
+fi
+
+  if [ -f /etc/nginx/ssl/${tr069adapterCertPassPhrase} ]; then
+    echo ": Updating the Certificate PassPhrase..."
+    perl -pi -e "s/tr069adapterCertPassPhrase/${tr069adapterCertPassPhrase}/g" $NGINX_CONF
+  else
+    echo ": Certificate PassPhrase NOT Available..."
+    perl -pi -e "s/^\s*ssl_password_file.*//g" $NGINX_CONF
+    perl -pi -e "s/^\s*proxy_ssl_password_file.*//g" $NGINX_CONF
+  fi
+
+echo ": Updating the IP Address for $netconfServerIP..."
+if [[ ${netconfServerIP} =~ .*:.* ]]; then
+  perl -pi -e "s/netconfServerIP/[${netconfServerIP}]/g" $NGINX_CONF
+else
+  perl -pi -e "s/netconfServerIP/${netconfServerIP}/g" $NGINX_CONF
+fi
+}
+
+updateFaultVes()
+{
+echo ""
+echo "# Checking configuration for Fault VES Collector..."
+echo ": Updating the IP Address and Port for $faultvesCollectorHost..."
+perl -pi -e "s/faultvesCollectorPort/${faultvesCollectorPort}/g" $NGINX_CONF
+if [[ ${faultvesCollectorHost} =~ .*:.* ]]; then
+  if [ $faultvesCollectorComm = "noAuth" ]; then
+    perl -pi -e "s|https://faultvesCollectorHost|http://[${faultvesCollectorHost}]|g" $NGINX_CONF
+  else
+    perl -pi -e "s/faultvesCollectorHost/[${faultvesCollectorHost}]/g" $NGINX_CONF
+  fi
+else
+  if [ $faultvesCollectorComm = "noAuth" ]; then
+    perl -pi -e "s|https://faultvesCollectorHost|http://${faultvesCollectorHost}|g" $NGINX_CONF
+  else
+   perl -pi -e "s/faultvesCollectorHost/${faultvesCollectorHost}/g" $NGINX_CONF
+  fi
+fi
+
+if [ $faultvesCollectorComm = "noAuth" ]; then
+  echo ": SSL Not enabled, Cleaning up the entries..."
+  sed -i '/faultvesCollectorSSLCert/,+9 d' $NGINX_CONF
+
+elif [ $faultvesCollectorComm = "basicAuth" ]; then
+  echo ": SSL is enabled as basicAuth, Updating the entries..."
+  sed -i '/faultvesCollectorSSLCert/,+2 d' $NGINX_CONF
+  if [ ! -z ${faultvesCollectorBasicAuthUserPassEncrypt} ]; then
+    perl -pi -e "s/faultvesCollectorBasicAuthUserPassEncrypt/${faultvesCollectorBasicAuthUserPassEncrypt}/g" $NGINX_CONF
+  else
+    echo ": Username/Password Credentials not provided...FAILED"
+    exit 1
+  fi
+
+elif [ $faultvesCollectorComm = "certOnly" ]; then
+  echo ": SSL is enabled as certOnly, Updating the entries..."
+  if [ -f /etc/nginx/ssl/${faultvesCollectorSSLCert} ]; then
+    perl -pi -e "s/faultvesCollectorSSLCert/${faultvesCollectorSSLCert}/g" $NGINX_CONF
+  else
+    echo ": SSL Certificate ${faultvesCollectorSSLCert} not available...FAILED"
+    exit 1
+  fi
+
+  if [ -f /etc/nginx/ssl/${faultvesCollectorSSLKey} ]; then
+    perl -pi -e "s/faultvesCollectorSSLKey/${faultvesCollectorSSLKey}/g" $NGINX_CONF
+  else
+    echo ": SSL Key ${faultvesCollectorSSLKey} not available...FAILED"
+    exit 1
+  fi
+
+  sed -i 's|proxy_set_header Authorization "Basic faultvesCollectorBasicAuthUserPassEncrypt";||g' $NGINX_CONF
+
+elif [ $faultvesCollectorComm = "certBasicAuth" ]; then
+  echo ": SSL is enabled as certBasicAuth, Updating the entries..."
+  if [ ! -z ${faultvesCollectorBasicAuthUserPassEncrypt} ]; then
+    perl -pi -e "s/faultvesCollectorBasicAuthUserPassEncrypt/${faultvesCollectorBasicAuthUserPassEncrypt}/g" $NGINX_CONF
+  else
+    echo ": Username/Password Credentials not provided...FAILED"
+    exit 1
+  fi
+
+  if [ -f /etc/nginx/ssl/${faultvesCollectorSSLCert} ]; then
+    perl -pi -e "s/faultvesCollectorSSLCert/${faultvesCollectorSSLCert}/g" $NGINX_CONF
+  else
+    echo ": SSL Certificate ${faultvesCollectorSSLCert} not available...FAILED"
+    exit 1
+  fi
+
+  if [ -f /etc/nginx/ssl/${faultvesCollectorSSLKey} ]; then
+    perl -pi -e "s/faultvesCollectorSSLKey/${faultvesCollectorSSLKey}/g" $NGINX_CONF
+  else
+    echo ": SSL Key ${faultvesCollectorSSLKey} not available...FAILED"
+    exit 1
+  fi
+
+else
+  echo ": Invalid Option... FAILED"
+  exit 1
+fi
+
+echo ""
+echo "# Checking if Trusted CA Certificate verification is Enabled or Not..."
+if [ $faultvesCollectorTrustVerify != "TRUE" ]; then
+  echo ": Trusted CA Certificate verification is NOT Enabled..."
+  sed -i '/faultvesCollectorTrustCRT/,+2 d' $NGINX_CONF
+else
+  echo ": Trusted CA Certificate verification is Enabled..."
+  perl -pi -e "s/faultvesCollectorTrustCRT/${faultvesCollectorTrustCRT}/g" $NGINX_CONF
+fi
+
+echo ""
+echo "# Checking if Fault VES Collector DNS Server Details are Provided..."
+if [ ! -z ${faultvesCollectorDNSServer} ]; then
+  echo ": DNS Server Details Provided..."
+  perl -pi -e "s/faultvesCollectorDNSServer/${faultvesCollectorDNSServer}/g" $NGINX_CONF
+else
+  echo ": DNS Server Details NOT Provided..."
+  sed -i 's|resolver faultvesCollectorDNSServer;||g' $NGINX_CONF
+fi
+}
+
+updatePNFVes()
+{
+echo ""
+echo "# Checking configuration for Pnf Req VES Collector..."
+echo ": Updating the IP Address and Port for $pnfregvesCollectorHost..."
+perl -pi -e "s/pnfregvesCollectorPort/${pnfregvesCollectorPort}/g" $NGINX_CONF
+if [[ ${pnfregvesCollectorHost} =~ .*:.* ]]; then
+  if [ $pnfregvesCollectorComm = "noAuth" ]; then
+    perl -pi -e "s|https://pnfregvesCollectorHost|http://[${pnfregvesCollectorHost}]|g" $NGINX_CONF
+  else
+    perl -pi -e "s/pnfregvesCollectorHost/[${pnfregvesCollectorHost}]/g" $NGINX_CONF
+  fi
+else
+  if [ $pnfregvesCollectorComm = "noAuth" ]; then
+    perl -pi -e "s|https://pnfregvesCollectorHost|http://${pnfregvesCollectorHost}|g" $NGINX_CONF
+  else
+   perl -pi -e "s/pnfregvesCollectorHost/${pnfregvesCollectorHost}/g" $NGINX_CONF
+  fi
+fi
+
+if [ $pnfregvesCollectorComm = "noAuth" ]; then
+  echo ": SSL Not enabled, Cleaning up the entries..."
+  sed -i '/pnfregvesCollectorSSLCert/,+9 d' $NGINX_CONF
+
+elif [ $pnfregvesCollectorComm = "basicAuth" ]; then
+  echo ": SSL is enabled as basicAuth, Updating the entries..."
+  sed -i '/pnfregvesCollectorSSLCert/,+2 d' $NGINX_CONF
+  if [ ! -z ${pnfregvesCollectorBasicAuthUserPassEncrypt} ]; then
+    perl -pi -e "s/pnfregvesCollectorBasicAuthUserPassEncrypt/${pnfregvesCollectorBasicAuthUserPassEncrypt}/g" $NGINX_CONF
+  else
+    echo ": Username/Password Credentials not provided...FAILED"
+    exit 1
+  fi
+
+elif [ $pnfregvesCollectorComm = "certOnly" ]; then
+  echo ": SSL is enabled as certOnly, Updating the entries..."
+  if [ -f /etc/nginx/ssl/${pnfregvesCollectorSSLCert} ]; then
+    perl -pi -e "s/pnfregvesCollectorSSLCert/${pnfregvesCollectorSSLCert}/g" $NGINX_CONF
+  else
+    echo ": SSL Certificate ${pnfregvesCollectorSSLCert} not available...FAILED"
+    exit 1
+  fi
+
+  if [ -f /etc/nginx/ssl/${pnfregvesCollectorSSLKey} ]; then
+    perl -pi -e "s/pnfregvesCollectorSSLKey/${pnfregvesCollectorSSLKey}/g" $NGINX_CONF
+  else
+    echo ": SSL Key ${pnfregvesCollectorSSLKey} not available...FAILED"
+    exit 1
+  fi
+
+  sed -i 's|proxy_set_header Authorization "Basic pnfregvesCollectorBasicAuthUserPassEncrypt";||g' $NGINX_CONF
+
+elif [ $pnfregvesCollectorComm = "certBasicAuth" ]; then
+  echo ": SSL is enabled as certBasicAuth, Updating the entries..."
+  if [ ! -z ${pnfregvesCollectorBasicAuthUserPassEncrypt} ]; then
+    perl -pi -e "s/pnfregvesCollectorBasicAuthUserPassEncrypt/${pnfregvesCollectorBasicAuthUserPassEncrypt}/g" $NGINX_CONF
+  else
+    echo ": Username/Password Credentials not provided...FAILED"
+    exit 1
+  fi
+
+    if [ -f /etc/nginx/ssl/${pnfregvesCollectorSSLCert} ]; then
+    perl -pi -e "s/pnfregvesCollectorSSLCert/${pnfregvesCollectorSSLCert}/g" $NGINX_CONF
+  else
+    echo ": SSL Certificate ${pnfregvesCollectorSSLCert} not available...FAILED"
+    exit 1
+  fi
+
+  if [ -f /etc/nginx/ssl/${pnfregvesCollectorSSLKey} ]; then
+    perl -pi -e "s/pnfregvesCollectorSSLKey/${pnfregvesCollectorSSLKey}/g" $NGINX_CONF
+  else
+    echo ": SSL Key ${pnfregvesCollectorSSLKey} not available...FAILED"
+    exit 1
+  fi
+
+else
+  echo ": Invalid Option... FAILED"
+  exit 1
+fi
+
+echo ""
+echo "# Checking if Trusted CA Certificate verification is Enabled or Not..."
+if [ $pnfregvesCollectorTrustVerify != "TRUE" ]; then
+  echo ": Trusted CA Certificate verification is NOT Enabled..."
+  sed -i '/pnfregvesCollectorTrustCRT/,+2 d' $NGINX_CONF
+else
+  echo ": Trusted CA Certificate verification is Enabled..."
+  perl -pi -e "s/pnfregvesCollectorTrustCRT/${pnfregvesCollectorTrustCRT}/g" $NGINX_CONF
+fi
+
+echo""
+echo "# Checking if PNF VES Collector DNS Server Details are Provided..."
+if [ ! -z ${pnfregvesCollectorDNSServer} ]; then
+  echo ": DNS Server Details Provided..."
+  perl -pi -e "s/pnfregvesCollectorDNSServer/${pnfregvesCollectorDNSServer}/g" $NGINX_CONF
+else
+  echo ": DNS Server Details NOT Provided..."
+  sed -i 's|resolver pnfregvesCollectorDNSServer;||g' $NGINX_CONF
+fi
+}
+
+#
+# Main Call
+#
+
+updateAdapter
+updateFaultVes
+updatePNFVes
+
+exec nginx -g 'daemon off;'
+
diff --git a/nginx/config/nginx.conf b/nginx/config/nginx.conf
new file mode 100755 (executable)
index 0000000..cc61bd5
--- /dev/null
@@ -0,0 +1,112 @@
+# ============LICENSE_START========================================================================
+# O-RAN-SC : tr-069-adapter
+# =================================================================================================
+# Copyright (C) 2020 CommScope Inc Intellectual Property.
+# =================================================================================================
+# This tr-069-adapter software file is distributed by CommScope Inc under the Apache License,
+# Version 2.0 (the "License"); you may not use this file except in compliance with the License. You
+# may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+# either express or implied. See the License for the specific language governing permissions and
+# limitations under the License.
+# ===============LICENSE_END=======================================================================
+worker_processes auto;
+events { worker_connections 1024; }
+http {
+    sendfile on;
+    ssl_password_file /etc/nginx/ssl/tr069adapterCertPassPhrase;
+#
+# This Section is TR069Adapter for SSL Termination
+#
+    server {
+        listen 1111 tr069adapterComm;
+        server_name         netconfServerIP;
+        ssl_certificate     /etc/nginx/ssl/tr069adapterSSLCert;
+        ssl_certificate_key /etc/nginx/ssl/tr069adapterSSLKey;
+
+        ssl_client_certificate /etc/nginx/ssl/tr069adapterSSLClientTrustCRT;
+        ssl_verify_client on;
+
+        location /viewAll {
+            proxy_pass         http://netconfServerIP:8089;
+        }
+
+        location /importFactory {
+            proxy_pass         http://netconfServerIP:8089;
+        }
+
+        location /importConfig {
+            proxy_pass         http://netconfServerIP:9000;
+        }
+
+        location /getConfig {
+            proxy_pass         http://netconfServerIP:9000;
+        }
+
+        location /netConfServerManagerService/listServers {
+            proxy_pass         http://netconfServerIP:8181;
+        }
+
+        location /CPEMgmt/acs {
+            proxy_pass         http://netconfServerIP:9977;
+            proxy_redirect     off;
+            proxy_set_header   Host $host;
+            proxy_set_header   X-Real-IP $remote_addr;
+            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+            proxy_set_header   X-Forwarded-Host $server_name;
+        }
+    }
+
+#
+# This Section is for Fault VES Collector
+#
+    server {
+        listen 2222;
+        resolver faultvesCollectorDNSServer;
+        server_name netconfServerIP;
+
+        location / {
+            proxy_pass                     https://faultvesCollectorHost:faultvesCollectorPort$request_uri;
+            proxy_ssl_certificate          /etc/nginx/ssl/faultvesCollectorSSLCert;
+            proxy_ssl_certificate_key      /etc/nginx/ssl/faultvesCollectorSSLKey;
+            proxy_ssl_password_file        /etc/nginx/ssl/tr069adapterCertPassPhrase;
+            proxy_ssl_session_reuse        on;
+
+            proxy_ssl_trusted_certificate  /etc/nginx/ssl/faultvesCollectorTrustCRT;
+            proxy_ssl_verify               on;
+            proxy_ssl_verify_depth         2;
+            
+            proxy_set_header Authorization "Basic faultvesCollectorBasicAuthUserPassEncrypt";
+        }
+    }
+
+#
+# This Section is for PNF Reg VES Collector
+#
+
+    server {
+        listen 3333;
+        resolver pnfregvesCollectorDNSServer;
+        server_name netconfServerIP;
+
+        location / {
+            proxy_pass                     https://pnfregvesCollectorHost:pnfregvesCollectorPort$request_uri;
+            proxy_ssl_certificate          /etc/nginx/ssl/pnfregvesCollectorSSLCert;
+            proxy_ssl_certificate_key      /etc/nginx/ssl/pnfregvesCollectorSSLKey;
+            proxy_ssl_password_file        /etc/nginx/ssl/tr069adapterCertPassPhrase;
+            proxy_ssl_session_reuse        on;
+   
+            proxy_ssl_trusted_certificate  /etc/nginx/ssl/pnfregvesCollectorTrustCRT;
+            proxy_ssl_verify               on;
+            proxy_ssl_verify_depth         2;
+
+            proxy_set_header Authorization "Basic pnfregvesCollectorBasicAuthUserPassEncrypt";
+        }
+    }
+}
diff --git a/nginx/pom.xml b/nginx/pom.xml
new file mode 100755 (executable)
index 0000000..be5ec9e
--- /dev/null
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+     /*
+ * ============LICENSE_START========================================================================
+ * O-RAN-SC : tr-069-adapter
+ * =================================================================================================
+ * Copyright (C) 2020 CommScope Inc Intellectual Property.
+ * =================================================================================================
+ * This tr-069-adapter software file is distributed by CommScope Inc
+ * under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * This file is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ===============LICENSE_END=======================================================================
+*/
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+   <parent>
+      <groupId>org.commscope.tr069adapter</groupId>
+      <artifactId>tr069adapter</artifactId>
+      <version>1.0.0</version>
+   </parent>
+   <modelVersion>4.0.0</modelVersion>
+   <groupId>org.commscope.tr069adapter.nginx</groupId>
+   <artifactId>nginx</artifactId>
+   <packaging>jar</packaging>
+   <name>nginx</name>
+   <url>http://maven.apache.org</url>
+   <properties>
+      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+      <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+      <docker.image.name>o-ran-sc/tr069adapter-nginx</docker.image.name>
+   </properties>
+   <build>
+      <plugins>
+         <plugin>
+            <groupId>io.fabric8</groupId>
+            <artifactId>docker-maven-plugin</artifactId>
+            <version>${docker-maven-plugin}</version>
+            <inherited>false</inherited>
+            <executions>
+               <execution>
+                  <id>generate-policy-agent-image</id>
+                  <phase>package</phase>
+                  <goals>
+                     <goal>build</goal>
+                     <goal>save</goal>
+                  </goals>
+                  <configuration>
+                     <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>
+                     <images>
+                        <image>
+                           <name>${docker.image.name}:${build.version}</name>
+                           <build>
+                              <cleanup>try</cleanup>
+                              <contextDir>${basedir}</contextDir>
+                              <dockerFile>Dockerfile</dockerFile>
+                              <tags>
+                                 <tag>${project.version}</tag>
+                              </tags>
+                           </build>
+                        </image>
+                     </images>
+                  </configuration>
+               </execution>
+               <execution>
+                  <id>push-policy-agent-image</id>
+                  <goals>
+                     <goal>build</goal>
+                     <goal>push</goal>
+                  </goals>
+                  <configuration>
+                     <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>
+                     <pushRegistry>${env.CONTAINER_PUSH_REGISTRY}</pushRegistry>
+                     <images>
+                        <image>
+                           <name>${docker.image.name}:${project.version}</name>
+                           <build>
+                              <contextDir>${basedir}</contextDir>
+                              <dockerFile>Dockerfile</dockerFile>
+                              <args>
+                                 <JAR>${project.build.finalName}.jar</JAR>
+                              </args>
+                              <tags>
+                                 <tag>latest</tag>
+                              </tags>
+                           </build>
+                        </image>
+                     </images>
+                  </configuration>
+               </execution>
+            </executions>
+         </plugin>
+      </plugins>
+   </build>
+   <issueManagement>
+      <system>JIRA</system>
+      <url>https://jira.o-ran-sc.org/</url>
+   </issueManagement>
+</project>
diff --git a/pom.xml b/pom.xml
index ebfd52f..b616bec 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -1,68 +1,69 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<!--\r
-/*\r
- * ============LICENSE_START========================================================================\r
- * ONAP : tr-069-adapter\r
- * =================================================================================================\r
- * Copyright (C) 2020 CommScope Inc Intellectual Property.\r
- * =================================================================================================\r
- * This tr-069-adapter software file is distributed by CommScope Inc\r
- * under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.apache.org/licenses/LICENSE-2.0\r
- *\r
- * This file is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- * ===============LICENSE_END=======================================================================\r
-*/\r
--->\r
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">\r
-   <parent>\r
-      <groupId>org.springframework.boot</groupId>\r
-      <artifactId>spring-boot-starter-parent</artifactId>\r
-      <version>2.2.1.RELEASE</version>\r
-   </parent>\r
-   <modelVersion>4.0.0</modelVersion>\r
-   <groupId>org.commscope.tr069adapter</groupId>\r
-   <artifactId>tr069adapter</artifactId>\r
-   <version>1.0.0</version>\r
-   <packaging>pom</packaging>\r
-   <name>tr069adapter</name>\r
-   <properties>\r
-      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>\r
-      <build.version>latest</build.version>\r
-      <jdk.version>1.7</jdk.version>\r
-      <java.version>1.8</java.version>\r
-      <org.apache.axis.version>1.4</org.apache.axis.version>\r
-      <junit.version>4.12</junit.version>\r
-      <junit.scope>test</junit.scope>\r
-      <jta.version>1.1</jta.version>\r
-      <jaxb-api.version>2.1</jaxb-api.version>\r
-      <org.mockito.version>1.8.4</org.mockito.version>\r
-      <maven-clean-plugin.version>2.4.1</maven-clean-plugin.version>\r
-      <maven-compiler-plugin.version>3.1</maven-compiler-plugin.version>\r
-      <maven-surefire-plugin.version>2.22.0</maven-surefire-plugin.version>\r
-      <maven-assembly-plugin.version>2.2</maven-assembly-plugin.version>\r
-      <maven-deploy-plugin.version>2.7</maven-deploy-plugin.version>\r
-      <log4j.extras>1.2.17</log4j.extras>\r
-      <docker-maven-plugin>0.30.0</docker-maven-plugin>\r
-      <sonar-maven-plugin.version>3.7.0.1746</sonar-maven-plugin.version>\r
-      <jacoco-maven-plugin.version>0.8.5</jacoco-maven-plugin.version>\r
-      <spotless-maven-plugin.version>1.18.0</spotless-maven-plugin.version>\r
-      <formatter-maven-plugin.version>2.8.1</formatter-maven-plugin.version>\r
-   </properties>\r
-   <modules>\r
-      <module>common</module>\r
-      <module>db</module>\r
-      <module>factory</module>\r
-      <module>acs</module>\r
-      <module>mapper</module>\r
-      <module>netconf-server</module>\r
-      <module>ves-agent</module>\r
-      <module>config-data</module>\r
-   </modules>\r
-</project>\r
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+ * ============LICENSE_START========================================================================
+ * O-RAN-SC : tr-069-adapter
+ * =================================================================================================
+ * Copyright (C) 2020 CommScope Inc Intellectual Property.
+ * =================================================================================================
+ * This tr-069-adapter software file is distributed by CommScope Inc
+ * under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * This file is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ===============LICENSE_END=======================================================================
+*/
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+   <parent>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-parent</artifactId>
+      <version>2.2.1.RELEASE</version>
+   </parent>
+   <modelVersion>4.0.0</modelVersion>
+   <groupId>org.commscope.tr069adapter</groupId>
+   <artifactId>tr069adapter</artifactId>
+   <version>1.0.0</version>
+   <packaging>pom</packaging>
+   <name>tr069adapter</name>
+   <properties>
+      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+      <build.version>latest</build.version>
+      <jdk.version>1.7</jdk.version>
+      <java.version>1.8</java.version>
+      <org.apache.axis.version>1.4</org.apache.axis.version>
+      <junit.version>4.12</junit.version>
+      <junit.scope>test</junit.scope>
+      <jta.version>1.1</jta.version>
+      <jaxb-api.version>2.1</jaxb-api.version>
+      <org.mockito.version>1.8.4</org.mockito.version>
+      <maven-clean-plugin.version>2.4.1</maven-clean-plugin.version>
+      <maven-compiler-plugin.version>3.1</maven-compiler-plugin.version>
+      <maven-surefire-plugin.version>2.22.0</maven-surefire-plugin.version>
+      <maven-assembly-plugin.version>2.2</maven-assembly-plugin.version>
+      <maven-deploy-plugin.version>2.7</maven-deploy-plugin.version>
+      <log4j.extras>1.2.17</log4j.extras>
+      <docker-maven-plugin>0.30.0</docker-maven-plugin>
+      <sonar-maven-plugin.version>3.7.0.1746</sonar-maven-plugin.version>
+      <jacoco-maven-plugin.version>0.8.5</jacoco-maven-plugin.version>
+      <spotless-maven-plugin.version>1.18.0</spotless-maven-plugin.version>
+      <formatter-maven-plugin.version>2.8.1</formatter-maven-plugin.version>
+   </properties>
+   <modules>
+      <module>common</module>
+      <module>db</module>
+      <module>nginx</module>
+      <module>factory</module>
+      <module>acs</module>
+      <module>mapper</module>
+      <module>netconf-server</module>
+      <module>ves-agent</module>
+      <module>config-data</module>
+   </modules>
+</project>