Conform ccsdk/sli/plugins to ONAP Style 73/8473/3
authorMarcus G K Williams <marcus.williams@intel.com>
Wed, 23 Aug 2017 18:47:08 +0000 (11:47 -0700)
committerMarcus Williams <marcus.williams@intel.com>
Wed, 23 Aug 2017 19:03:23 +0000 (19:03 +0000)
Per ONAP Style Guide:
1. Convert tabs to 4 spaces.
2. Break lines to be less than 120 characters
3. Clean ecomp references
4. Remove extraneous spaces

Issue-Id: CCSDK-1
Change-Id: I5638326170aa3ab26774b373ab573643840e97ab
Signed-off-by: Marcus G K Williams <marcus.williams@intel.com>
32 files changed:
README.md
pom.xml
properties-node/features/pom.xml
properties-node/features/src/main/resources/features.xml
properties-node/installer/pom.xml
properties-node/installer/src/assembly/assemble_installer_zip.xml
properties-node/installer/src/assembly/assemble_mvnrepo_zip.xml
properties-node/installer/src/main/resources/scripts/install-feature.sh
properties-node/pom.xml
properties-node/provider/pom.xml
properties-node/provider/src/main/java/org/onap/ccsdk/sli/plugins/prop/PropertiesNode.java
properties-node/provider/src/main/resources/META-INF/spring/properties-node-context.xml
properties-node/provider/src/main/resources/META-INF/spring/properties-node-osgi-context.xml
restapi-call-node/pom.xml
restapi-call-node/provider/pom.xml
restapi-call-node/provider/src/main/java/org/onap/ccsdk/sli/plugins/restapicall/JsonParser.java
restapi-call-node/provider/src/main/java/org/onap/ccsdk/sli/plugins/restapicall/RestapiCallNode.java
restapi-call-node/provider/src/main/java/org/onap/ccsdk/sli/plugins/restapicall/RetryPolicy.java
restapi-call-node/provider/src/main/java/org/onap/ccsdk/sli/plugins/restapicall/XmlJsonUtil.java
restapi-call-node/provider/src/main/java/org/onap/ccsdk/sli/plugins/restapicall/XmlParser.java
restapi-call-node/provider/src/main/resources/META-INF/spring/restapi-call-node-context.xml
restapi-call-node/provider/src/main/resources/META-INF/spring/restapi-call-node-osgi-context.xml
restapi-call-node/provider/src/main/resources/default-ueb-message.json
restapi-call-node/provider/src/main/resources/northbound-api-template.json
restapi-call-node/provider/src/main/resources/northbound-api-template.xml
restapi-call-node/provider/src/test/java/jtest/org/onap/ccsdk/sli/plugins/restapicall/TestJsonParser.java
restapi-call-node/provider/src/test/java/jtest/org/onap/ccsdk/sli/plugins/restapicall/TestRestapiCallNode.java
restapi-call-node/provider/src/test/java/jtest/org/onap/ccsdk/sli/plugins/restapicall/TestXmlJsonUtil.java
restapi-call-node/provider/src/test/java/jtest/org/onap/ccsdk/sli/plugins/restapicall/TestXmlParser.java
restapi-call-node/provider/src/test/resources/test.json
restapi-call-node/provider/src/test/resources/test.xml
restapi-call-node/provider/src/test/resources/test3.xml

index 4e733ca..3ad2eae 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,8 +1,8 @@
-This source repository contains the code for the SDN Controller plugins.
+This source repository contains the code for the CCSDK plugins.
 
 To compile this code:
 
-1. Make sure your local Maven settings file ($HOME/.m2/settings.xml) contains references to the OpenECOMP repositories and OpenDaylight repositories.  See example-settings.xml for an example.
+1. Make sure your local Maven settings file ($HOME/.m2/settings.xml) contains references to the ONAP repositories and OpenDaylight repositories.  See example-settings.xml for an example.
 
 2. To compile, run "mvn clean install".
 
diff --git a/pom.xml b/pom.xml
index 4af5fb5..71303b7 100755 (executable)
--- a/pom.xml
+++ b/pom.xml
 <?xml version="1.0" encoding="UTF-8"?>
 <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/maven-v4_0_0.xsd">
-
-       <parent>
-               <groupId>org.onap.ccsdk.parent</groupId>
-               <artifactId>odlparent-carbon-sr1</artifactId>
-               <version>0.0.1-SNAPSHOT</version>
-       </parent>
-
-       <modelVersion>4.0.0</modelVersion>
-       <packaging>pom</packaging>
-       <groupId>org.onap.ccsdk.sli.plugins</groupId>
-       <artifactId>sdnc-plugins</artifactId>
-
-       <name>SDN-C Java Plugins</name>
-       <url>https://wiki.onap.org</url>
-       <description>The SDN-C core components contains the SLI, dblib and root pom</description>
-
-
-       <issueManagement>
-               <system>JIRA</system>
-               <url>https://jira.onap.org/</url>
-       </issueManagement>
-
-
-       <scm>
-               <connection>scm:git:ssh://git@${onap.git.host}/ccsdk/sli/plugins.git</connection>
-               <developerConnection>scm:git:ssh://${onap.git.host}:${onap.git.port}/${onap.git.project}/ccsdk/sli/plugins.git</developerConnection>
-               <url>${onap.git.protocol}://${onap.git.host}/projects/${onap.git.project}/repos/ccsdk/sli/plugins/browse</url>
-               <tag>HEAD</tag>
-       </scm>
-
-       <ciManagement>
-               <system>Jenkins</system>
-               <url>https://jenkins.onap.org</url>
-       </ciManagement>
-
-
-       <distributionManagement>
-               <site>
-                       <id>sdnc-javadoc</id>
-                       <url>dav:https://${onap.nexus.host}/content/sites/site/org/onap/sdnc/plugins/${project.artifactId}/${project.version}</url>
-               </site>
-       </distributionManagement>
-
-       <profiles>
-               <profile>
-                       <id>blackduck</id>
-                       <activation>
-                               <property>
-                                       <name>blackduck-scan</name>
-                               </property>
-                       </activation>
-                       <build>
-                                       <plugins>
-                                               <plugin>
-                                                       <groupId>com.blackducksoftware.integration</groupId>
-                                                       <artifactId>hub-maven-plugin</artifactId>
-                                                       <version>1.4.0</version>
-                                                       <inherited>false</inherited>
-                                                       <configuration>
-                                                               <hubProjectName>${project.name}</hubProjectName>
-                                                               <outputDirectory>${project.basedir}</outputDirectory>
-                                                       </configuration>
-                                                       <executions>
-                                                               <execution>
-                                                                       <id>create-bdio-file</id>
-                                                                       <phase>package</phase>
-                                                                       <goals>
-                                                                               <goal>createHubOutput</goal>
-                                                                       </goals>
-                                                               </execution>
-                                                       </executions>
-                                               </plugin>
-                                       </plugins>
-
-
-                       </build>
-
-               </profile>
-
-       </profiles>
-       <build>
-               <plugins>
-                       <plugin>
-                               <groupId>org.apache.maven.plugins</groupId>
-                               <artifactId>maven-surefire-plugin</artifactId>
-                               <version>2.17</version>
-                               <configuration>
-                                       <skipTests>true</skipTests>
-                               </configuration>
-                       </plugin>
-                       <plugin>
-                               <groupId>org.sonatype.plugins</groupId>
-                               <artifactId>nexus-staging-maven-plugin</artifactId>
-                               <version>1.6.7</version>
-                               <extensions>true</extensions>
-                               <configuration>
-                                       <nexusUrl>https://${onap.nexus.host}</nexusUrl>
-                                       <stagingProfileId>${onap.nexus.staging.profile-id}</stagingProfileId>
-                                       <serverId>${onap.nexus.staging.server-id}</serverId>
-                               </configuration>
-                       </plugin>
-               </plugins>
-
-       </build>
-       <modules>
-               <module>properties-node</module>
-               <module>restapi-call-node</module>
-       </modules>
-       <organization>
-               <name>AT&amp;T</name>
-       </organization>
-       <version>0.1.0-SNAPSHOT</version>
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+    <parent>
+        <groupId>org.onap.ccsdk.parent</groupId>
+        <artifactId>odlparent-carbon-sr1</artifactId>
+        <version>0.0.1-SNAPSHOT</version>
+    </parent>
+
+    <modelVersion>4.0.0</modelVersion>
+    <packaging>pom</packaging>
+    <groupId>org.onap.ccsdk.sli.plugins</groupId>
+    <artifactId>sdnc-plugins</artifactId>
+
+    <name>SDN-C Java Plugins</name>
+    <url>https://wiki.onap.org</url>
+    <description>The SDN-C core components contains the SLI, dblib and root pom</description>
+
+
+    <issueManagement>
+        <system>JIRA</system>
+        <url>https://jira.onap.org/</url>
+    </issueManagement>
+
+
+    <scm>
+        <connection>scm:git:ssh://git@${onap.git.host}/ccsdk/sli/plugins.git</connection>
+        <developerConnection>scm:git:ssh://${onap.git.host}:${onap.git.port}/${onap.git.project}/ccsdk/sli/plugins.git</developerConnection>
+        <url>${onap.git.protocol}://${onap.git.host}/projects/${onap.git.project}/repos/ccsdk/sli/plugins/browse</url>
+        <tag>HEAD</tag>
+    </scm>
+
+    <ciManagement>
+        <system>Jenkins</system>
+        <url>https://jenkins.onap.org</url>
+    </ciManagement>
+
+
+    <distributionManagement>
+        <site>
+            <id>sdnc-javadoc</id>
+            <url>dav:https://${onap.nexus.host}/content/sites/site/org/onap/sdnc/plugins/${project.artifactId}/${project.version}</url>
+        </site>
+    </distributionManagement>
+
+    <profiles>
+        <profile>
+            <id>blackduck</id>
+            <activation>
+                <property>
+                    <name>blackduck-scan</name>
+                </property>
+            </activation>
+            <build>
+                    <plugins>
+                        <plugin>
+                            <groupId>com.blackducksoftware.integration</groupId>
+                            <artifactId>hub-maven-plugin</artifactId>
+                            <version>1.4.0</version>
+                            <inherited>false</inherited>
+                            <configuration>
+                                <hubProjectName>${project.name}</hubProjectName>
+                                <outputDirectory>${project.basedir}</outputDirectory>
+                            </configuration>
+                            <executions>
+                                <execution>
+                                    <id>create-bdio-file</id>
+                                    <phase>package</phase>
+                                    <goals>
+                                        <goal>createHubOutput</goal>
+                                    </goals>
+                                </execution>
+                            </executions>
+                        </plugin>
+                    </plugins>
+
+
+            </build>
+
+        </profile>
+
+    </profiles>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <version>2.17</version>
+                <configuration>
+                    <skipTests>true</skipTests>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.sonatype.plugins</groupId>
+                <artifactId>nexus-staging-maven-plugin</artifactId>
+                <version>1.6.7</version>
+                <extensions>true</extensions>
+                <configuration>
+                    <nexusUrl>https://${onap.nexus.host}</nexusUrl>
+                    <stagingProfileId>${onap.nexus.staging.profile-id}</stagingProfileId>
+                    <serverId>${onap.nexus.staging.server-id}</serverId>
+                </configuration>
+            </plugin>
+        </plugins>
+
+    </build>
+    <modules>
+        <module>properties-node</module>
+        <module>restapi-call-node</module>
+    </modules>
+    <organization>
+        <name>AT&amp;T</name>
+    </organization>
+    <version>0.1.0-SNAPSHOT</version>
 
 
 </project>
index d23d997..5573d1e 100755 (executable)
 <?xml version="1.0" encoding="UTF-8"?>\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
-               <artifactId>properties-node</artifactId>\r
-               <groupId>org.onap.ccsdk.sli.plugins</groupId>\r
-               <version>0.1.0-SNAPSHOT</version>\r
-       </parent>\r
-       <groupId>org.onap.ccsdk.sli.plugins</groupId>\r
-       <version>0.1.0-SNAPSHOT</version>\r
-       <artifactId>properties-node-features</artifactId>\r
-       <name>Properties Node - Features</name>\r
+    <modelVersion>4.0.0</modelVersion>\r
+    <parent>\r
+        <artifactId>properties-node</artifactId>\r
+        <groupId>org.onap.ccsdk.sli.plugins</groupId>\r
+        <version>0.1.0-SNAPSHOT</version>\r
+    </parent>\r
+    <groupId>org.onap.ccsdk.sli.plugins</groupId>\r
+    <version>0.1.0-SNAPSHOT</version>\r
+    <artifactId>properties-node-features</artifactId>\r
+    <name>Properties Node - Features</name>\r
 \r
-       <packaging>jar</packaging>\r
+    <packaging>jar</packaging>\r
 \r
-       <dependencies>\r
+    <dependencies>\r
 \r
-               <dependency>\r
-                       <groupId>org.onap.ccsdk.sli.plugins</groupId>\r
-                       <artifactId>properties-node-provider</artifactId>\r
-                       <version>${project.version}</version>\r
-               </dependency>\r
+        <dependency>\r
+            <groupId>org.onap.ccsdk.sli.plugins</groupId>\r
+            <artifactId>properties-node-provider</artifactId>\r
+            <version>${project.version}</version>\r
+        </dependency>\r
 \r
-               <dependency>\r
-                       <groupId>commons-lang</groupId>\r
-                       <artifactId>commons-lang</artifactId>\r
-                       <version>2.6</version>\r
-                       <scope>compile</scope>\r
-               </dependency>\r
+        <dependency>\r
+            <groupId>commons-lang</groupId>\r
+            <artifactId>commons-lang</artifactId>\r
+            <version>2.6</version>\r
+            <scope>compile</scope>\r
+        </dependency>\r
 \r
-               <dependency>\r
-                       <groupId>org.opendaylight.mdsal</groupId>\r
-                       <artifactId>features-mdsal</artifactId>\r
-                       <version>${odl.mdsal.features.version}</version>\r
-                       <classifier>features</classifier>\r
-                       <type>xml</type>\r
+        <dependency>\r
+            <groupId>org.opendaylight.mdsal</groupId>\r
+            <artifactId>features-mdsal</artifactId>\r
+            <version>${odl.mdsal.features.version}</version>\r
+            <classifier>features</classifier>\r
+            <type>xml</type>\r
 \r
-                       <scope>runtime</scope>\r
-               </dependency>\r
+            <scope>runtime</scope>\r
+        </dependency>\r
 \r
 \r
-               <!-- dependency for opendaylight-karaf-empty for use by testing -->\r
-               <dependency>\r
-                       <groupId>org.opendaylight.controller</groupId>\r
-                       <artifactId>opendaylight-karaf-empty</artifactId>\r
-                       <version>${odl.karaf.empty.distro.version}</version>\r
-                       <type>zip</type>\r
-               </dependency>\r
+        <!-- dependency for opendaylight-karaf-empty for use by testing -->\r
+        <dependency>\r
+            <groupId>org.opendaylight.controller</groupId>\r
+            <artifactId>opendaylight-karaf-empty</artifactId>\r
+            <version>${odl.karaf.empty.distro.version}</version>\r
+            <type>zip</type>\r
+        </dependency>\r
 \r
 \r
-               <dependency>\r
-                       <!-- Required for launching the feature tests -->\r
-                       <groupId>org.opendaylight.odlparent</groupId>\r
-                       <artifactId>features-test</artifactId>\r
-                       <version>${odl.commons.opendaylight.version}</version>\r
-                       <scope>test</scope>\r
-               </dependency>\r
+        <dependency>\r
+            <!-- Required for launching the feature tests -->\r
+            <groupId>org.opendaylight.odlparent</groupId>\r
+            <artifactId>features-test</artifactId>\r
+            <version>${odl.commons.opendaylight.version}</version>\r
+            <scope>test</scope>\r
+        </dependency>\r
 \r
-               <dependency>\r
-                       <groupId>org.opendaylight.yangtools</groupId>\r
-                       <artifactId>features-yangtools</artifactId>\r
-                       <version>${odl.yangtools.version}</version>\r
-                       <classifier>features</classifier>\r
-                       <type>xml</type>\r
-                       <scope>runtime</scope>\r
-               </dependency>\r
-       </dependencies>\r
+        <dependency>\r
+            <groupId>org.opendaylight.yangtools</groupId>\r
+            <artifactId>features-yangtools</artifactId>\r
+            <version>${odl.yangtools.version}</version>\r
+            <classifier>features</classifier>\r
+            <type>xml</type>\r
+            <scope>runtime</scope>\r
+        </dependency>\r
+    </dependencies>\r
 \r
-       <build>\r
-               <resources>\r
-                       <resource>\r
-                               <filtering>true</filtering>\r
-                               <directory>src/main/resources</directory>\r
-                       </resource>\r
-               </resources>\r
-               <plugins>\r
-                       <plugin>\r
-                               <groupId>org.apache.maven.plugins</groupId>\r
-                               <artifactId>maven-resources-plugin</artifactId>\r
-                               <executions>\r
-                                       <execution>\r
-                                               <id>filter</id>\r
-                                               <goals>\r
-                                                       <goal>resources</goal>\r
-                                               </goals>\r
-                                               <phase>generate-resources</phase>\r
-                                       </execution>\r
-                               </executions>\r
-                       </plugin>\r
-                                       <!-- launches the feature test, which validates that your karaf feature\r
-                                       can be installed inside of a karaf container. It doesn't validate that your\r
-                                       functionality works correctly, just that you have all of the dependent bundles\r
-                                       defined correctly.\r
-                       <plugin>\r
+    <build>\r
+        <resources>\r
+            <resource>\r
+                <filtering>true</filtering>\r
+                <directory>src/main/resources</directory>\r
+            </resource>\r
+        </resources>\r
+        <plugins>\r
+            <plugin>\r
+                <groupId>org.apache.maven.plugins</groupId>\r
+                <artifactId>maven-resources-plugin</artifactId>\r
+                <executions>\r
+                    <execution>\r
+                        <id>filter</id>\r
+                        <goals>\r
+                            <goal>resources</goal>\r
+                        </goals>\r
+                        <phase>generate-resources</phase>\r
+                    </execution>\r
+                </executions>\r
+            </plugin>\r
+                    <!-- launches the feature test, which validates that your karaf feature\r
+                    can be installed inside of a karaf container. It doesn't validate that your\r
+                    functionality works correctly, just that you have all of the dependent bundles\r
+                    defined correctly.\r
+            <plugin>\r
 \r
-                               <groupId>org.apache.maven.plugins</groupId>\r
-                               <artifactId>maven-surefire-plugin</artifactId>\r
-                               <version>2.16</version>\r
-                               <configuration>\r
-                                       <systemPropertyVariables>\r
-                                               <karaf.distro.groupId>org.opendaylight.controller</karaf.distro.groupId>\r
-                                               <karaf.distro.artifactId>opendaylight-karaf-empty</karaf.distro.artifactId>\r
-                                               <karaf.distro.version>${odl.karaf.empty.distro.version}</karaf.distro.version>\r
-                                       </systemPropertyVariables>\r
-                                       <dependenciesToScan>\r
-                                               <dependency>org.opendaylight.yangtools:features-test</dependency>\r
-                                       </dependenciesToScan>\r
-                               </configuration>\r
-                       </plugin>\r
-                       -->\r
-                       <plugin>\r
-                               <groupId>org.codehaus.mojo</groupId>\r
-                               <artifactId>build-helper-maven-plugin</artifactId>\r
-                               <executions>\r
-                                       <execution>\r
-                                               <id>attach-artifacts</id>\r
-                                               <goals>\r
-                                                       <goal>attach-artifact</goal>\r
-                                               </goals>\r
-                                               <phase>package</phase>\r
-                                               <configuration>\r
-                                                       <artifacts>\r
-                                                               <artifact>\r
-                                                                       <file>${project.build.directory}/classes/${features.file}</file>\r
-                                                                       <type>xml</type>\r
-                                                                       <classifier>features</classifier>\r
-                                                               </artifact>\r
-                                                       </artifacts>\r
-                                               </configuration>\r
-                                       </execution>\r
-                               </executions>\r
-                       </plugin>\r
-               </plugins>\r
-       </build>\r
+                <groupId>org.apache.maven.plugins</groupId>\r
+                <artifactId>maven-surefire-plugin</artifactId>\r
+                <version>2.16</version>\r
+                <configuration>\r
+                    <systemPropertyVariables>\r
+                        <karaf.distro.groupId>org.opendaylight.controller</karaf.distro.groupId>\r
+                        <karaf.distro.artifactId>opendaylight-karaf-empty</karaf.distro.artifactId>\r
+                        <karaf.distro.version>${odl.karaf.empty.distro.version}</karaf.distro.version>\r
+                    </systemPropertyVariables>\r
+                    <dependenciesToScan>\r
+                        <dependency>org.opendaylight.yangtools:features-test</dependency>\r
+                    </dependenciesToScan>\r
+                </configuration>\r
+            </plugin>\r
+            -->\r
+            <plugin>\r
+                <groupId>org.codehaus.mojo</groupId>\r
+                <artifactId>build-helper-maven-plugin</artifactId>\r
+                <executions>\r
+                    <execution>\r
+                        <id>attach-artifacts</id>\r
+                        <goals>\r
+                            <goal>attach-artifact</goal>\r
+                        </goals>\r
+                        <phase>package</phase>\r
+                        <configuration>\r
+                            <artifacts>\r
+                                <artifact>\r
+                                    <file>${project.build.directory}/classes/${features.file}</file>\r
+                                    <type>xml</type>\r
+                                    <classifier>features</classifier>\r
+                                </artifact>\r
+                            </artifacts>\r
+                        </configuration>\r
+                    </execution>\r
+                </executions>\r
+            </plugin>\r
+        </plugins>\r
+    </build>\r
 </project>\r
index 5f0d7b5..96f37a9 100644 (file)
 
 
 <features name="sdnc-properties-node-${project.version}" xmlns="http://karaf.apache.org/xmlns/features/v1.2.0"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://karaf.apache.org/xmlns/features/v1.2.0 http://karaf.apache.org/xmlns/features/v1.2.0">
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://karaf.apache.org/xmlns/features/v1.2.0 http://karaf.apache.org/xmlns/features/v1.2.0">
 
-       <repository>mvn:org.opendaylight.mdsal/features-mdsal/${odl.mdsal.features.version}/xml/features</repository>
+    <repository>mvn:org.opendaylight.mdsal/features-mdsal/${odl.mdsal.features.version}/xml/features</repository>
 
-       <feature name='sdnc-properties-node' description="sdnc-properties-node"
-               version='${project.version}'>
-               <feature version="${sdnctl.sli.version}">sdnc-sli</feature>
-               <feature>spring</feature>
-               <feature>spring-dm</feature>
-               <bundle>mvn:org.onap.ccsdk.sli.plugins/properties-node-provider/${project.version}
-               </bundle>
-       </feature>
+    <feature name='sdnc-properties-node' description="sdnc-properties-node"
+        version='${project.version}'>
+        <feature version="${sdnctl.sli.version}">sdnc-sli</feature>
+        <feature>spring</feature>
+        <feature>spring-dm</feature>
+        <bundle>mvn:org.onap.ccsdk.sli.plugins/properties-node-provider/${project.version}
+        </bundle>
+    </feature>
 
 </features>
index 7e6ae17..570eced 100755 (executable)
 <?xml version="1.0" encoding="UTF-8"?>
 <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>
-               <artifactId>properties-node</artifactId>
-               <groupId>org.onap.ccsdk.sli.plugins</groupId>
-               <version>0.1.0-SNAPSHOT</version>
-       </parent>
-       <artifactId>properties-node-installer</artifactId>
-       <name>Properties node - Karaf  Installer</name>
-       <packaging>pom</packaging>
+    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>
+        <artifactId>properties-node</artifactId>
+        <groupId>org.onap.ccsdk.sli.plugins</groupId>
+        <version>0.1.0-SNAPSHOT</version>
+    </parent>
+    <artifactId>properties-node-installer</artifactId>
+    <name>Properties node - Karaf  Installer</name>
+    <packaging>pom</packaging>
 
-       <properties>
-               <application.name>sdnc-properties-node</application.name>
-               <features.boot>sdnc-properties-node</features.boot>
-               <features.repositories>mvn:org.onap.ccsdk.sli.plugins/properties-node-features/${project.version}/xml/features</features.repositories>
-               <include.transitive.dependencies>false</include.transitive.dependencies>
-       </properties>
+    <properties>
+        <application.name>sdnc-properties-node</application.name>
+        <features.boot>sdnc-properties-node</features.boot>
+        <features.repositories>mvn:org.onap.ccsdk.sli.plugins/properties-node-features/${project.version}/xml/features</features.repositories>
+        <include.transitive.dependencies>false</include.transitive.dependencies>
+    </properties>
 
-       <dependencies>
+    <dependencies>
 
-               <dependency>
-                       <groupId>org.onap.ccsdk.sli.plugins</groupId>
-                       <artifactId>properties-node-features</artifactId>
-                       <version>${project.version}</version>
-                       <classifier>features</classifier>
-                       <type>xml</type>
-                       <exclusions>
-                               <exclusion>
-                                       <groupId>*</groupId>
-                                       <artifactId>*</artifactId>
-                               </exclusion>
-                       </exclusions>
-               </dependency>
+        <dependency>
+            <groupId>org.onap.ccsdk.sli.plugins</groupId>
+            <artifactId>properties-node-features</artifactId>
+            <version>${project.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
 
-               <dependency>
-                       <groupId>org.onap.ccsdk.sli.plugins</groupId>
-                       <artifactId>properties-node-provider</artifactId>
-                       <version>${project.version}</version>
-               </dependency>
+        <dependency>
+            <groupId>org.onap.ccsdk.sli.plugins</groupId>
+            <artifactId>properties-node-provider</artifactId>
+            <version>${project.version}</version>
+        </dependency>
 
-       </dependencies>
+    </dependencies>
 
-       <build>
-               <plugins>
-                       <plugin>
-                               <artifactId>maven-assembly-plugin</artifactId>
-                               <version>2.6</version>
-                               <executions>
-                                       <execution>
-                                               <id>maven-repo-zip</id>
-                                               <goals>
-                                                       <goal>single</goal>
-                                               </goals>
-                                               <phase>package</phase>
-                                               <configuration>
-                                                       <attach>false</attach>
-                                                       <finalName>stage/${application.name}-${project.version}</finalName>
-                                                       <descriptors>
-                                                               <descriptor>src/assembly/assemble_mvnrepo_zip.xml</descriptor>
-                                                       </descriptors>
-                                                       <appendAssemblyId>false</appendAssemblyId>
-                                               </configuration>
-                                       </execution>
-                                       <execution>
-                                               <id>installer-zip</id>
-                                               <goals>
-                                                       <goal>single</goal>
-                                               </goals>
-                                               <phase>package</phase>
-                                               <configuration>
-                                                       <attach>true</attach>
-                                                       <finalName>${application.name}-${project.version}-installer</finalName>
-                                                       <descriptors>
-                                                               <descriptor>src/assembly/assemble_installer_zip.xml</descriptor>
-                                                       </descriptors>
-                                                       <appendAssemblyId>false</appendAssemblyId>
-                                               </configuration>
-                                       </execution>
-                               </executions>
-                       </plugin>
-                       <plugin>
-                               <groupId>org.apache.maven.plugins</groupId>
-                               <artifactId>maven-dependency-plugin</artifactId>
-                               <executions>
-                                       <execution>
-                                               <id>copy-dependencies</id>
-                                               <goals>
-                                                       <goal>copy-dependencies</goal>
-                                               </goals>
-                                               <phase>prepare-package</phase>
-                                               <configuration>
-                                                       <transitive>false</transitive>
-                                                       <outputDirectory>${project.build.directory}/assembly/system</outputDirectory>
-                                                       <overWriteReleases>false</overWriteReleases>
-                                                       <overWriteSnapshots>true</overWriteSnapshots>
-                                                       <overWriteIfNewer>true</overWriteIfNewer>
-                                                       <useRepositoryLayout>true</useRepositoryLayout>
-                                                       <addParentPoms>false</addParentPoms>
-                                                       <copyPom>false</copyPom>
-                                                       <includeGroupIds>org.onap.ccsdk.sli</includeGroupIds>
-                                                       <excludeArtifactIds>sli-common,sli-provider,dblib-provider</excludeArtifactIds>
-                                                       <scope>provided</scope>
-                                               </configuration>
-                                       </execution>
-                               </executions>
-                       </plugin>
-                       <plugin>
-                               <artifactId>maven-resources-plugin</artifactId>
-                               <version>2.6</version>
-                               <executions>
-                                       <execution>
-                                               <id>copy-version</id>
-                                               <goals>
-                                                       <goal>copy-resources</goal>
-                                               </goals><!-- here the phase you need -->
-                                               <phase>validate</phase>
-                                               <configuration>
-                                                       <outputDirectory>${basedir}/target/stage</outputDirectory>
-                                                       <resources>
-                                                               <resource>
-                                                                       <directory>src/main/resources/scripts</directory>
-                                                                       <includes>
-                                                                               <include>install-feature.sh</include>
-                                                                       </includes>
-                                                                       <filtering>true</filtering>
-                                                               </resource>
-                                                       </resources>
-                                               </configuration>
-                                       </execution>
+    <build>
+        <plugins>
+            <plugin>
+                <artifactId>maven-assembly-plugin</artifactId>
+                <version>2.6</version>
+                <executions>
+                    <execution>
+                        <id>maven-repo-zip</id>
+                        <goals>
+                            <goal>single</goal>
+                        </goals>
+                        <phase>package</phase>
+                        <configuration>
+                            <attach>false</attach>
+                            <finalName>stage/${application.name}-${project.version}</finalName>
+                            <descriptors>
+                                <descriptor>src/assembly/assemble_mvnrepo_zip.xml</descriptor>
+                            </descriptors>
+                            <appendAssemblyId>false</appendAssemblyId>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>installer-zip</id>
+                        <goals>
+                            <goal>single</goal>
+                        </goals>
+                        <phase>package</phase>
+                        <configuration>
+                            <attach>true</attach>
+                            <finalName>${application.name}-${project.version}-installer</finalName>
+                            <descriptors>
+                                <descriptor>src/assembly/assemble_installer_zip.xml</descriptor>
+                            </descriptors>
+                            <appendAssemblyId>false</appendAssemblyId>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-dependency-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>copy-dependencies</id>
+                        <goals>
+                            <goal>copy-dependencies</goal>
+                        </goals>
+                        <phase>prepare-package</phase>
+                        <configuration>
+                            <transitive>false</transitive>
+                            <outputDirectory>${project.build.directory}/assembly/system</outputDirectory>
+                            <overWriteReleases>false</overWriteReleases>
+                            <overWriteSnapshots>true</overWriteSnapshots>
+                            <overWriteIfNewer>true</overWriteIfNewer>
+                            <useRepositoryLayout>true</useRepositoryLayout>
+                            <addParentPoms>false</addParentPoms>
+                            <copyPom>false</copyPom>
+                            <includeGroupIds>org.onap.ccsdk.sli</includeGroupIds>
+                            <excludeArtifactIds>sli-common,sli-provider,dblib-provider</excludeArtifactIds>
+                            <scope>provided</scope>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <artifactId>maven-resources-plugin</artifactId>
+                <version>2.6</version>
+                <executions>
+                    <execution>
+                        <id>copy-version</id>
+                        <goals>
+                            <goal>copy-resources</goal>
+                        </goals><!-- here the phase you need -->
+                        <phase>validate</phase>
+                        <configuration>
+                            <outputDirectory>${basedir}/target/stage</outputDirectory>
+                            <resources>
+                                <resource>
+                                    <directory>src/main/resources/scripts</directory>
+                                    <includes>
+                                        <include>install-feature.sh</include>
+                                    </includes>
+                                    <filtering>true</filtering>
+                                </resource>
+                            </resources>
+                        </configuration>
+                    </execution>
 
-                               </executions>
-                       </plugin>
+                </executions>
+            </plugin>
 
-               </plugins>
-       </build>
+        </plugins>
+    </build>
 
 </project>
index 3bed4b5..b6fd655 100644 (file)
 <!-- Defines how we build the .zip file which is our distribution. -->
 
 <assembly
-       xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
-       <id>installer_zip</id>
-       <formats>
-               <format>zip</format>
-       </formats>
+    xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
+    <id>installer_zip</id>
+    <formats>
+        <format>zip</format>
+    </formats>
 
-       <!--  we want "system" and related files right at the root level
-                 as this file is suppose to be unzip on top of a karaf
-                 distro. -->
-       <includeBaseDirectory>false</includeBaseDirectory>
+    <!--  we want "system" and related files right at the root level
+          as this file is suppose to be unzip on top of a karaf
+          distro. -->
+    <includeBaseDirectory>false</includeBaseDirectory>
 
-       <fileSets>
-               <fileSet>
-                       <directory>target/stage/</directory>
-                       <outputDirectory>${application.name}</outputDirectory>
-                       <fileMode>755</fileMode>
-                       <includes>
-                               <include>*.sh</include>
-                       </includes>
-               </fileSet>
-               <fileSet>
-                       <directory>target/stage/</directory>
-                       <outputDirectory>${application.name}</outputDirectory>
-                       <fileMode>644</fileMode>
-                       <excludes>
-                               <exclude>*.sh</exclude>
-                       </excludes>
-               </fileSet>
-       </fileSets>
+    <fileSets>
+        <fileSet>
+            <directory>target/stage/</directory>
+            <outputDirectory>${application.name}</outputDirectory>
+            <fileMode>755</fileMode>
+            <includes>
+                <include>*.sh</include>
+            </includes>
+        </fileSet>
+        <fileSet>
+            <directory>target/stage/</directory>
+            <outputDirectory>${application.name}</outputDirectory>
+            <fileMode>644</fileMode>
+            <excludes>
+                <exclude>*.sh</exclude>
+            </excludes>
+        </fileSet>
+    </fileSets>
 
 
 
index cb56f2c..2ee2244 100644 (file)
 <!-- Defines how we build the .zip file which is our distribution. -->
 
 <assembly
-       xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
-       <id>mvnrepo_zip</id>
-       <formats>
-               <format>zip</format>
-       </formats>
+    xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
+    <id>mvnrepo_zip</id>
+    <formats>
+        <format>zip</format>
+    </formats>
 
-       <!--  we want "system" and related files right at the root level
-                 as this file is suppose to be unzip on top of a karaf
-                 distro. -->
-       <includeBaseDirectory>false</includeBaseDirectory>
+    <!--  we want "system" and related files right at the root level
+          as this file is suppose to be unzip on top of a karaf
+          distro. -->
+    <includeBaseDirectory>false</includeBaseDirectory>
 
-       <fileSets>
-               <fileSet>
-                       <directory>target/assembly/</directory>
-                       <outputDirectory>.</outputDirectory>
-                       <excludes>
-                       </excludes>
-               </fileSet>
-       </fileSets>
+    <fileSets>
+        <fileSet>
+            <directory>target/assembly/</directory>
+            <outputDirectory>.</outputDirectory>
+            <excludes>
+            </excludes>
+        </fileSet>
+    </fileSets>
 
 
 
index e986764..df03392 100644 (file)
@@ -30,10 +30,10 @@ REPOZIP=${INSTALLERDIR}/${features.boot}-${project.version}.zip
 
 if [ -f ${REPOZIP} ]
 then
-       unzip -d ${ODL_HOME} ${REPOZIP}
+    unzip -d ${ODL_HOME} ${REPOZIP}
 else
-       echo "ERROR : repo zip ($REPOZIP) not found"
-       exit 1
+    echo "ERROR : repo zip ($REPOZIP) not found"
+    exit 1
 fi
 
 ${ODL_KARAF_CLIENT} ${ODL_KARAF_CLIENT_OPTS} feature:repo-add ${features.repositories}
index 44d89f9..066db5e 100755 (executable)
@@ -1,43 +1,43 @@
 <?xml version="1.0" encoding="UTF-8"?>\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/maven-v4_0_0.xsd">\r
-       <parent>\r
-               <groupId>org.onap.ccsdk.sli.plugins</groupId>\r
-               <artifactId>sdnc-plugins</artifactId>\r
-               <version>0.1.0-SNAPSHOT</version>\r
-       </parent>\r
+    <parent>\r
+        <groupId>org.onap.ccsdk.sli.plugins</groupId>\r
+        <artifactId>sdnc-plugins</artifactId>\r
+        <version>0.1.0-SNAPSHOT</version>\r
+    </parent>\r
 \r
-       <modelVersion>4.0.0</modelVersion>\r
-       <packaging>pom</packaging>\r
+    <modelVersion>4.0.0</modelVersion>\r
+    <packaging>pom</packaging>\r
 \r
-       <groupId>org.onap.ccsdk.sli.plugins</groupId>\r
-       <artifactId>properties-node</artifactId>\r
-       <version>0.1.0-SNAPSHOT</version>\r
+    <groupId>org.onap.ccsdk.sli.plugins</groupId>\r
+    <artifactId>properties-node</artifactId>\r
+    <version>0.1.0-SNAPSHOT</version>\r
 \r
-       <name>Properties Node</name>\r
-       <description>This is an implementation of DG Execute Node that reads property file and\r
-       puts the properties in the DG context</description>\r
+    <name>Properties Node</name>\r
+    <description>This is an implementation of DG Execute Node that reads property file and\r
+    puts the properties in the DG context</description>\r
 \r
-       <dependencyManagement>\r
-               <dependencies>\r
-                       <dependency>\r
-                               <groupId>org.onap.ccsdk.sli.plugins</groupId>\r
-                               <artifactId>properties-node-features</artifactId>\r
-                               <classifier>features</classifier>\r
-                               <type>xml</type>\r
-                               <version>${project.version}</version>\r
-                       </dependency>\r
-                       <dependency>\r
-                               <groupId>org.onap.ccsdk.sli.plugins</groupId>\r
-                               <artifactId>properties-node-provider</artifactId>\r
-                               <version>${project.version}</version>\r
-                       </dependency>\r
-               </dependencies>\r
-       </dependencyManagement>\r
+    <dependencyManagement>\r
+        <dependencies>\r
+            <dependency>\r
+                <groupId>org.onap.ccsdk.sli.plugins</groupId>\r
+                <artifactId>properties-node-features</artifactId>\r
+                <classifier>features</classifier>\r
+                <type>xml</type>\r
+                <version>${project.version}</version>\r
+            </dependency>\r
+            <dependency>\r
+                <groupId>org.onap.ccsdk.sli.plugins</groupId>\r
+                <artifactId>properties-node-provider</artifactId>\r
+                <version>${project.version}</version>\r
+            </dependency>\r
+        </dependencies>\r
+    </dependencyManagement>\r
 \r
-       <modules>\r
-               <module>provider</module>\r
-               <module>features</module>\r
-               <module>installer</module>\r
-       </modules>\r
+    <modules>\r
+        <module>provider</module>\r
+        <module>features</module>\r
+        <module>installer</module>\r
+    </modules>\r
 </project>\r
 \r
index 1c5eff7..a5249d9 100755 (executable)
@@ -1,89 +1,89 @@
 <?xml version="1.0" encoding="UTF-8"?>\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.onap.ccsdk.sli.plugins</groupId>\r
-               <artifactId>properties-node</artifactId>\r
-               <version>0.1.0-SNAPSHOT</version>\r
-       </parent>\r
-       <groupId>org.onap.ccsdk.sli.plugins</groupId>\r
-       <version>0.1.0-SNAPSHOT</version>\r
-       <artifactId>properties-node-provider</artifactId>\r
-       <packaging>bundle</packaging>\r
-       <name>Properties Node - Provider</name>\r
-       <url>http://maven.apache.org</url>\r
-       <properties>\r
-               <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>\r
-       </properties>\r
-       <dependencies>\r
-               <dependency>\r
-                       <groupId>junit</groupId>\r
-                       <artifactId>junit</artifactId>\r
-                       <scope>test</scope>\r
-               </dependency>\r
-               <dependency>\r
-                       <groupId>org.springframework</groupId>\r
-                       <artifactId>spring-test</artifactId>\r
-                       <version>${spring.version}</version>\r
-                       <scope>test</scope>\r
-               </dependency>\r
-               <dependency>\r
-                       <groupId>org.onap.ccsdk.sli.core</groupId>\r
-                       <artifactId>sli-common</artifactId>\r
-                       <version>${sdnctl.sli.version}</version>\r
-                       <scope>compile</scope>\r
-               </dependency>\r
-               <dependency>\r
-                       <groupId>org.onap.ccsdk.sli.core</groupId>\r
-                       <artifactId>sli-provider</artifactId>\r
-                       <version>${sdnctl.sli.version}</version>\r
-                       <scope>compile</scope>\r
-               </dependency>\r
-               <dependency>\r
-                       <groupId>org.slf4j</groupId>\r
-                       <artifactId>slf4j-api</artifactId>\r
-                       <version>${slf4j.version}</version>\r
-               </dependency>\r
-               <dependency>\r
-                       <groupId>org.slf4j</groupId>\r
-                       <artifactId>jcl-over-slf4j</artifactId>\r
-                       <version>${slf4j.version}</version>\r
-               </dependency>\r
-               <dependency>\r
-                       <groupId>org.springframework</groupId>\r
-                       <artifactId>spring-beans</artifactId>\r
-                       <version>${spring.version}</version>\r
-               </dependency>\r
-               <dependency>\r
-                       <groupId>org.springframework</groupId>\r
-                       <artifactId>spring-context</artifactId>\r
-                       <version>${spring.version}</version>\r
-               </dependency>\r
-       </dependencies>\r
+    <modelVersion>4.0.0</modelVersion>\r
+    <parent>\r
+        <groupId>org.onap.ccsdk.sli.plugins</groupId>\r
+        <artifactId>properties-node</artifactId>\r
+        <version>0.1.0-SNAPSHOT</version>\r
+    </parent>\r
+    <groupId>org.onap.ccsdk.sli.plugins</groupId>\r
+    <version>0.1.0-SNAPSHOT</version>\r
+    <artifactId>properties-node-provider</artifactId>\r
+    <packaging>bundle</packaging>\r
+    <name>Properties Node - Provider</name>\r
+    <url>http://maven.apache.org</url>\r
+    <properties>\r
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>\r
+    </properties>\r
+    <dependencies>\r
+        <dependency>\r
+            <groupId>junit</groupId>\r
+            <artifactId>junit</artifactId>\r
+            <scope>test</scope>\r
+        </dependency>\r
+        <dependency>\r
+            <groupId>org.springframework</groupId>\r
+            <artifactId>spring-test</artifactId>\r
+            <version>${spring.version}</version>\r
+            <scope>test</scope>\r
+        </dependency>\r
+        <dependency>\r
+            <groupId>org.onap.ccsdk.sli.core</groupId>\r
+            <artifactId>sli-common</artifactId>\r
+            <version>${sdnctl.sli.version}</version>\r
+            <scope>compile</scope>\r
+        </dependency>\r
+        <dependency>\r
+            <groupId>org.onap.ccsdk.sli.core</groupId>\r
+            <artifactId>sli-provider</artifactId>\r
+            <version>${sdnctl.sli.version}</version>\r
+            <scope>compile</scope>\r
+        </dependency>\r
+        <dependency>\r
+            <groupId>org.slf4j</groupId>\r
+            <artifactId>slf4j-api</artifactId>\r
+            <version>${slf4j.version}</version>\r
+        </dependency>\r
+        <dependency>\r
+            <groupId>org.slf4j</groupId>\r
+            <artifactId>jcl-over-slf4j</artifactId>\r
+            <version>${slf4j.version}</version>\r
+        </dependency>\r
+        <dependency>\r
+            <groupId>org.springframework</groupId>\r
+            <artifactId>spring-beans</artifactId>\r
+            <version>${spring.version}</version>\r
+        </dependency>\r
+        <dependency>\r
+            <groupId>org.springframework</groupId>\r
+            <artifactId>spring-context</artifactId>\r
+            <version>${spring.version}</version>\r
+        </dependency>\r
+    </dependencies>\r
 \r
-       <build>\r
-               <plugins>\r
+    <build>\r
+        <plugins>\r
 \r
 \r
 \r
-                       <plugin>\r
-                               <groupId>org.apache.felix</groupId>\r
-                               <artifactId>maven-bundle-plugin</artifactId>\r
-                               <extensions>true</extensions>\r
-                               <configuration>\r
-                                       <instructions>\r
-                                               <Bundle-SymbolicName>org.onap.ccsdk.sli.prop</Bundle-SymbolicName>\r
-                                               <Export-Package>org.onap.ccsdk.sli.prop</Export-Package>\r
-                                               <Import-Package>*</Import-Package>\r
-                                       </instructions>\r
+            <plugin>\r
+                <groupId>org.apache.felix</groupId>\r
+                <artifactId>maven-bundle-plugin</artifactId>\r
+                <extensions>true</extensions>\r
+                <configuration>\r
+                    <instructions>\r
+                        <Bundle-SymbolicName>org.onap.ccsdk.sli.prop</Bundle-SymbolicName>\r
+                        <Export-Package>org.onap.ccsdk.sli.prop</Export-Package>\r
+                        <Import-Package>*</Import-Package>\r
+                    </instructions>\r
 \r
 \r
-                               </configuration>\r
+                </configuration>\r
 \r
-                       </plugin>\r
+            </plugin>\r
 \r
 \r
-               </plugins>\r
+        </plugins>\r
 \r
-       </build>\r
+    </build>\r
 </project>\r
index 165b706..b4886d5 100644 (file)
@@ -35,63 +35,63 @@ import org.slf4j.LoggerFactory;
 
 public class PropertiesNode implements SvcLogicJavaPlugin {
 
-       private static final Logger log = LoggerFactory.getLogger(PropertiesNode.class);
+    private static final Logger log = LoggerFactory.getLogger(PropertiesNode.class);
 
-       public void readProperties(Map<String, String> paramMap, SvcLogicContext ctx) throws SvcLogicException {
-               String fileName = parseParam(paramMap, "fileName", true, null);
-               String contextPrefix = parseParam(paramMap, "contextPrefix", false, null);
+    public void readProperties(Map<String, String> paramMap, SvcLogicContext ctx) throws SvcLogicException {
+        String fileName = parseParam(paramMap, "fileName", true, null);
+        String contextPrefix = parseParam(paramMap, "contextPrefix", false, null);
 
-               try {
-                       Properties pp = new Properties();
-                       InputStream in = new FileInputStream(fileName);
-                       pp.load(in);
-                       for (Object key : pp.keySet()) {
-                               String pfx = contextPrefix != null ? contextPrefix + '.' : "";
-                               String name = (String) key;
-                               String value = pp.getProperty(name);
-                               if (value != null && value.trim().length() > 0) {
-                                       ctx.setAttribute(pfx + name, value.trim());
-                                       log.info("+++ " + pfx + name + ": [" + value + "]");
-                               }
-                       }
-               } catch (IOException e) {
-                       throw new SvcLogicException("Cannot read property file: " + fileName + ": " + e.getMessage(), e);
-               }
-       }
+        try {
+            Properties pp = new Properties();
+            InputStream in = new FileInputStream(fileName);
+            pp.load(in);
+            for (Object key : pp.keySet()) {
+                String pfx = contextPrefix != null ? contextPrefix + '.' : "";
+                String name = (String) key;
+                String value = pp.getProperty(name);
+                if (value != null && value.trim().length() > 0) {
+                    ctx.setAttribute(pfx + name, value.trim());
+                    log.info("+++ " + pfx + name + ": [" + value + "]");
+                }
+            }
+        } catch (IOException e) {
+            throw new SvcLogicException("Cannot read property file: " + fileName + ": " + e.getMessage(), e);
+        }
+    }
 
-       private String parseParam(Map<String, String> paramMap, String name, boolean required, String def)
-               throws SvcLogicException {
-               String s = paramMap.get(name);
+    private String parseParam(Map<String, String> paramMap, String name, boolean required, String def)
+            throws SvcLogicException {
+        String s = paramMap.get(name);
 
-               if (s == null || s.trim().length() == 0) {
-                       if (!required)
-                               return def;
-                       throw new SvcLogicException("Parameter " + name + " is required in PropertiesNode");
-               }
+        if (s == null || s.trim().length() == 0) {
+            if (!required)
+                return def;
+            throw new SvcLogicException("Parameter " + name + " is required in PropertiesNode");
+        }
 
-               s = s.trim();
-               String value = "";
-               int i = 0;
-               int i1 = s.indexOf('%');
-               while (i1 >= 0) {
-                       int i2 = s.indexOf('%', i1 + 1);
-                       if (i2 < 0)
-                               throw new SvcLogicException("Cannot parse parameter " + name + ": " + s + ": no matching %");
+        s = s.trim();
+        String value = "";
+        int i = 0;
+        int i1 = s.indexOf('%');
+        while (i1 >= 0) {
+            int i2 = s.indexOf('%', i1 + 1);
+            if (i2 < 0)
+                throw new SvcLogicException("Cannot parse parameter " + name + ": " + s + ": no matching %");
 
-                       String varName = s.substring(i1 + 1, i2);
-                       String varValue = System.getenv(varName);
-                       if (varValue == null)
-                               varValue = "";
+            String varName = s.substring(i1 + 1, i2);
+            String varValue = System.getenv(varName);
+            if (varValue == null)
+                varValue = "";
 
-                       value += s.substring(i, i1);
-                       value += varValue;
+            value += s.substring(i, i1);
+            value += varValue;
 
-                       i = i2 + 1;
-                       i1 = s.indexOf('%', i);
-               }
-               value += s.substring(i);
+            i = i2 + 1;
+            i1 = s.indexOf('%', i);
+        }
+        value += s.substring(i);
 
-               log.info("Parameter " + name + ": " + value);
-               return value;
-       }
+        log.info("Parameter " + name + ": " + value);
+        return value;
+    }
 }
index fd7ace8..52d1cd9 100644 (file)
@@ -26,7 +26,7 @@
     xsi:schemaLocation="http://www.springframework.org/schema/beans
         http://www.springframework.org/schema/beans/spring-beans.xsd">
 
-       <bean id="propertiesNode" class="org.onap.ccsdk.sli.plugins.prop.PropertiesNode">
-       </bean>
+    <bean id="propertiesNode" class="org.onap.ccsdk.sli.plugins.prop.PropertiesNode">
+    </bean>
 
 </beans>
index 19275fc..a46e37c 100644 (file)
   -->
 
 <beans:beans xmlns="http://www.springframework.org/schema/osgi"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans"
-       xsi:schemaLocation="http://www.springframework.org/schema/osgi  
+             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans"
+             xsi:schemaLocation="http://www.springframework.org/schema/osgi
        http://www.springframework.org/schema/osgi/spring-osgi.xsd
-       http://www.springframework.org/schema/beans   
+       http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd">
 
-       <service ref="propertiesNode" interface="org.onap.ccsdk.sli.plugins.prop.PropertiesNode" />
+    <service ref="propertiesNode" interface="org.onap.ccsdk.sli.plugins.prop.PropertiesNode" />
 
 </beans:beans>
index e201c27..7e1886f 100755 (executable)
@@ -1,42 +1,42 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <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/maven-v4_0_0.xsd">
-       <parent>
-               <groupId>org.onap.ccsdk.sli.plugins</groupId>
-               <artifactId>sdnc-plugins</artifactId>
-               <version>0.1.0-SNAPSHOT</version>
-       </parent>
+    <parent>
+        <groupId>org.onap.ccsdk.sli.plugins</groupId>
+        <artifactId>sdnc-plugins</artifactId>
+        <version>0.1.0-SNAPSHOT</version>
+    </parent>
 
-       <modelVersion>4.0.0</modelVersion>
-       <packaging>pom</packaging>
+    <modelVersion>4.0.0</modelVersion>
+    <packaging>pom</packaging>
 
-       <groupId>org.onap.ccsdk.sli.plugins</groupId>
-       <artifactId>restapi-call-node</artifactId>
-       <version>0.1.0-SNAPSHOT</version>
+    <groupId>org.onap.ccsdk.sli.plugins</groupId>
+    <artifactId>restapi-call-node</artifactId>
+    <version>0.1.0-SNAPSHOT</version>
 
-       <name>RESTAPI Call Node</name>
-       <description>This is an implementation of DG Execute Node that makes a call to an external REST API</description>
+    <name>RESTAPI Call Node</name>
+    <description>This is an implementation of DG Execute Node that makes a call to an external REST API</description>
 
-       <dependencyManagement>
-               <dependencies>
-                       <dependency>
-                               <groupId>org.onap.ccsdk.sli.plugins</groupId>
-                               <artifactId>restapi-call-node-features</artifactId>
-                               <classifier>features</classifier>
-                               <type>xml</type>
-                               <version>${project.version}</version>
-                       </dependency>
-                       <dependency>
-                               <groupId>org.onap.ccsdk.sli.plugins</groupId>
-                               <artifactId>restapi-call-node-provider</artifactId>
-                               <version>${project.version}</version>
-                       </dependency>
-               </dependencies>
-       </dependencyManagement>
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.onap.ccsdk.sli.plugins</groupId>
+                <artifactId>restapi-call-node-features</artifactId>
+                <classifier>features</classifier>
+                <type>xml</type>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.onap.ccsdk.sli.plugins</groupId>
+                <artifactId>restapi-call-node-provider</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
 
-       <modules>
-               <module>provider</module>
-               <module>features</module>
-               <module>installer</module>
-       </modules>
+    <modules>
+        <module>provider</module>
+        <module>features</module>
+        <module>installer</module>
+    </modules>
 </project>
 
index 0d695bb..ca3f004 100755 (executable)
 <?xml version="1.0" encoding="UTF-8"?>
 <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.onap.ccsdk.sli.plugins</groupId>
-               <artifactId>restapi-call-node</artifactId>
-               <version>0.1.0-SNAPSHOT</version>
-       </parent>
-       <groupId>org.onap.ccsdk.sli.plugins</groupId>
-       <artifactId>restapi-call-node-provider</artifactId>
-       <version>0.1.0-SNAPSHOT</version>
-       <packaging>bundle</packaging>
-       <name>RESTAPI Call Node - Provider</name>
-       <url>http://maven.apache.org</url>
-       <properties>
-               <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-       </properties>
-       <dependencies>
-               <dependency>
-                       <groupId>junit</groupId>
-                       <artifactId>junit</artifactId>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework</groupId>
-                       <artifactId>spring-test</artifactId>
-                       <version>${spring.version}</version>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.ccsdk.sli.core</groupId>
-                       <artifactId>sli-common</artifactId>
-                       <version>${sdnctl.sli.version}</version>
-                       <scope>compile</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.ccsdk.sli.core</groupId>
-                       <artifactId>sli-provider</artifactId>
-                       <version>${sdnctl.sli.version}</version>
-                       <scope>compile</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.slf4j</groupId>
-                       <artifactId>slf4j-api</artifactId>
-                       <version>${slf4j.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.slf4j</groupId>
-                       <artifactId>jcl-over-slf4j</artifactId>
-                       <version>${slf4j.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework</groupId>
-                       <artifactId>spring-beans</artifactId>
-                       <version>${spring.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework</groupId>
-                       <artifactId>spring-context</artifactId>
-                       <version>${spring.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>com.sun.jersey</groupId>
-                       <artifactId>jersey-client</artifactId>
-                       <version>${jersey.version}</version>
-                       <scope>provided</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.codehaus.jettison</groupId>
-                       <artifactId>jettison</artifactId>
-                       <version>${jettison.version}</version>
-                       <scope>provided</scope>
-               </dependency>
-       </dependencies>
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.onap.ccsdk.sli.plugins</groupId>
+        <artifactId>restapi-call-node</artifactId>
+        <version>0.1.0-SNAPSHOT</version>
+    </parent>
+    <groupId>org.onap.ccsdk.sli.plugins</groupId>
+    <artifactId>restapi-call-node-provider</artifactId>
+    <version>0.1.0-SNAPSHOT</version>
+    <packaging>bundle</packaging>
+    <name>RESTAPI Call Node - Provider</name>
+    <url>http://maven.apache.org</url>
+    <properties>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+    <dependencies>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-test</artifactId>
+            <version>${spring.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.ccsdk.sli.core</groupId>
+            <artifactId>sli-common</artifactId>
+            <version>${sdnctl.sli.version}</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.ccsdk.sli.core</groupId>
+            <artifactId>sli-provider</artifactId>
+            <version>${sdnctl.sli.version}</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+            <version>${slf4j.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>jcl-over-slf4j</artifactId>
+            <version>${slf4j.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-beans</artifactId>
+            <version>${spring.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-context</artifactId>
+            <version>${spring.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>com.sun.jersey</groupId>
+            <artifactId>jersey-client</artifactId>
+            <version>${jersey.version}</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.codehaus.jettison</groupId>
+            <artifactId>jettison</artifactId>
+            <version>${jettison.version}</version>
+            <scope>provided</scope>
+        </dependency>
+    </dependencies>
 
-       <build>
-               <plugins>
+    <build>
+        <plugins>
 
 
 
-                       <plugin>
-                               <groupId>org.apache.felix</groupId>
-                               <artifactId>maven-bundle-plugin</artifactId>
-                               <extensions>true</extensions>
-                               <configuration>
-                                       <instructions>
-                                               <Bundle-SymbolicName>org.onap.ccsdk.sli.restapicall</Bundle-SymbolicName>
-                                               <Export-Package>org.onap.ccsdk.sli.plugins.restapicall</Export-Package>
-                                               <Import-Package>*</Import-Package>
-                                       </instructions>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+                <extensions>true</extensions>
+                <configuration>
+                    <instructions>
+                        <Bundle-SymbolicName>org.onap.ccsdk.sli.restapicall</Bundle-SymbolicName>
+                        <Export-Package>org.onap.ccsdk.sli.plugins.restapicall</Export-Package>
+                        <Import-Package>*</Import-Package>
+                    </instructions>
 
 
-                               </configuration>
+                </configuration>
 
-                       </plugin>
+            </plugin>
 
 
-               </plugins>
+        </plugins>
 
-       </build>
+    </build>
 </project>
index f22aa0b..4de4a34 100644 (file)
@@ -34,52 +34,52 @@ import org.slf4j.LoggerFactory;
 
 public class JsonParser {
 
-       private static final Logger log = LoggerFactory.getLogger(JsonParser.class);
-
-       @SuppressWarnings("unchecked")
-       public static Map<String, String> convertToProperties(String s) throws JSONException {
-               JSONObject json = new JSONObject(s);
-
-               Map<String, Object> wm = new HashMap<String, Object>();
-               Iterator<String> ii = json.keys();
-               while (ii.hasNext()) {
-                       String key1 = ii.next();
-                       wm.put(key1, json.get(key1));
-               }
-
-               Map<String, String> mm = new HashMap<String, String>();
-
-               while (!wm.isEmpty())
-                       for (String key : new ArrayList<>(wm.keySet())) {
-                               Object o = wm.get(key);
-                               wm.remove(key);
-
-                               if (o instanceof Boolean || o instanceof Number || o instanceof String) {
-                                       mm.put(key, o.toString());
-
-                                       log.info("Added property: " + key + ": " + o.toString());
-                               }
-
-                               else if (o instanceof JSONObject) {
-                                       JSONObject jo = (JSONObject) o;
-                                       Iterator<String> i = jo.keys();
-                                       while (i.hasNext()) {
-                                               String key1 = i.next();
-                                               wm.put(key + "." + key1, jo.get(key1));
-                                       }
-                               }
-
-                               else if (o instanceof JSONArray) {
-                                       JSONArray ja = (JSONArray) o;
-                                       mm.put(key + "_length", String.valueOf(ja.length()));
-
-                                       log.info("Added property: " + key + "_length" + ": " + String.valueOf(ja.length()));
-
-                                       for (int i = 0; i < ja.length(); i++)
-                                               wm.put(key + '[' + i + ']', ja.get(i));
-                               }
-                       }
-
-               return mm;
-       }
+    private static final Logger log = LoggerFactory.getLogger(JsonParser.class);
+
+    @SuppressWarnings("unchecked")
+    public static Map<String, String> convertToProperties(String s) throws JSONException {
+        JSONObject json = new JSONObject(s);
+
+        Map<String, Object> wm = new HashMap<String, Object>();
+        Iterator<String> ii = json.keys();
+        while (ii.hasNext()) {
+            String key1 = ii.next();
+            wm.put(key1, json.get(key1));
+        }
+
+        Map<String, String> mm = new HashMap<String, String>();
+
+        while (!wm.isEmpty())
+            for (String key : new ArrayList<>(wm.keySet())) {
+                Object o = wm.get(key);
+                wm.remove(key);
+
+                if (o instanceof Boolean || o instanceof Number || o instanceof String) {
+                    mm.put(key, o.toString());
+
+                    log.info("Added property: " + key + ": " + o.toString());
+                }
+
+                else if (o instanceof JSONObject) {
+                    JSONObject jo = (JSONObject) o;
+                    Iterator<String> i = jo.keys();
+                    while (i.hasNext()) {
+                        String key1 = i.next();
+                        wm.put(key + "." + key1, jo.get(key1));
+                    }
+                }
+
+                else if (o instanceof JSONArray) {
+                    JSONArray ja = (JSONArray) o;
+                    mm.put(key + "_length", String.valueOf(ja.length()));
+
+                    log.info("Added property: " + key + "_length" + ": " + String.valueOf(ja.length()));
+
+                    for (int i = 0; i < ja.length(); i++)
+                        wm.put(key + '[' + i + ']', ja.get(i));
+                }
+            }
+
+        return mm;
+    }
 }
index ef31455..fb77226 100644 (file)
@@ -61,25 +61,25 @@ import com.sun.jersey.client.urlconnection.HTTPSProperties;
 
 public class RestapiCallNode implements SvcLogicJavaPlugin {
 
-       private static final Logger log = LoggerFactory.getLogger(RestapiCallNode.class);
+    private static final Logger log = LoggerFactory.getLogger(RestapiCallNode.class);
 
-       private String uebServers;
-       private String defaultUebTemplateFileName = "/opt/bvc/restapi/templates/default-ueb-message.json";
-       protected RetryPolicyStore retryPolicyStore;
+    private String uebServers;
+    private String defaultUebTemplateFileName = "/opt/bvc/restapi/templates/default-ueb-message.json";
+    protected RetryPolicyStore retryPolicyStore;
 
-       protected RetryPolicyStore getRetryPolicyStore() {
-               return retryPolicyStore;
-       }
+    protected RetryPolicyStore getRetryPolicyStore() {
+        return retryPolicyStore;
+    }
 
-       public void setRetryPolicyStore(RetryPolicyStore retryPolicyStore) {
-               this.retryPolicyStore = retryPolicyStore;
-       }
+    public void setRetryPolicyStore(RetryPolicyStore retryPolicyStore) {
+        this.retryPolicyStore = retryPolicyStore;
+    }
 
-       public RestapiCallNode() {
+    public RestapiCallNode() {
 
-       }
+    }
 
-        /**
+     /**
      * Allows Directed Graphs  the ability to interact with REST APIs.
      * @param parameters HashMap<String,String> of parameters passed by the DG to this function
      * <table border="1">
@@ -106,654 +106,655 @@ public class RestapiCallNode implements SvcLogicJavaPlugin {
      * @since 11.0.2
      * @see String#split(String, int)
      */
-       public void sendRequest(Map<String, String> paramMap, SvcLogicContext ctx) throws SvcLogicException {
-               sendRequest(paramMap, ctx, null);
-       }
-
-       public void sendRequest(Map<String, String> paramMap, SvcLogicContext ctx, Integer retryCount)
-               throws SvcLogicException {
-
-               RetryPolicy retryPolicy = null;
-               HttpResponse r = null;
-               try {
-                       Parameters p = getParameters(paramMap);
-                       if (p.partner != null) {
-                               retryPolicy = retryPolicyStore.getRetryPolicy(p.partner);
-                       }
-                       String pp = p.responsePrefix != null ? p.responsePrefix + '.' : "";
-
-                       String req = null;
-                       if (p.templateFileName != null) {
-                               String reqTemplate = readFile(p.templateFileName);
-                               req = buildXmlJsonRequest(ctx, reqTemplate, p.format);
-                       }
-                       r = sendHttpRequest(req, p);
-                       setResponseStatus(ctx, p.responsePrefix, r);
-
-                       if (p.dumpHeaders && r.headers != null) {
+    public void sendRequest(Map<String, String> paramMap, SvcLogicContext ctx) throws SvcLogicException {
+        sendRequest(paramMap, ctx, null);
+    }
+
+    public void sendRequest(Map<String, String> paramMap, SvcLogicContext ctx, Integer retryCount)
+            throws SvcLogicException {
+
+        RetryPolicy retryPolicy = null;
+        HttpResponse r = null;
+        try {
+            Parameters p = getParameters(paramMap);
+            if (p.partner != null) {
+                retryPolicy = retryPolicyStore.getRetryPolicy(p.partner);
+            }
+            String pp = p.responsePrefix != null ? p.responsePrefix + '.' : "";
+
+            String req = null;
+            if (p.templateFileName != null) {
+                String reqTemplate = readFile(p.templateFileName);
+                req = buildXmlJsonRequest(ctx, reqTemplate, p.format);
+            }
+            r = sendHttpRequest(req, p);
+            setResponseStatus(ctx, p.responsePrefix, r);
+
+            if (p.dumpHeaders && r.headers != null) {
                 for (Entry<String, List<String>> a : r.headers.entrySet()) {
                     ctx.setAttribute(pp + "header." + a.getKey(), StringUtils.join(a.getValue(), ","));
                 }
             }
 
-                       if (r.body != null && r.body.trim().length() > 0) {
-                               ctx.setAttribute(pp + "httpResponse", r.body);
-
-                               if (p.convertResponse) {
-                                       Map<String, String> mm = null;
-                                       if (p.format == Format.XML)
-                                               mm = XmlParser.convertToProperties(r.body, p.listNameList);
-                                       else if (p.format == Format.JSON)
-                                               mm = JsonParser.convertToProperties(r.body);
-
-                                       if (mm != null)
-                                               for (String key : mm.keySet())
-                                                       ctx.setAttribute(pp + key, mm.get(key));
-                               }
-                       }
-               } catch (Exception e) {
-                       boolean shouldRetry = false;
-                       if (e.getCause() instanceof java.net.SocketException) {
-                               shouldRetry = true;
-                       }
-
-                       log.error("Error sending the request: " + e.getMessage(), e);
-                       String prefix = parseParam(paramMap, "responsePrefix", false, null);
-                       if (retryPolicy == null || shouldRetry == false) {
-                               setFailureResponseStatus(ctx, prefix, e.getMessage(), r);
-                       } else {
-                               if (retryCount == null) {
-                                       retryCount = 0;
-                               }
-                               String retryMessage = retryCount + " attempts were made out of " + retryPolicy.getMaximumRetries() +
-                                       " maximum retries.";
-                               log.debug(retryMessage);
-                               try {
-                                       retryCount = retryCount + 1;
-                                       if (retryCount < retryPolicy.getMaximumRetries() + 1) {
-                                               URI uri = new URI(paramMap.get("restapiUrl"));
-                                               String hostname = uri.getHost();
-                                               String retryString = retryPolicy.getNextHostName((uri.toString()));
-                                               URI uriTwo = new URI(retryString);
-                                               URI retryUri = UriBuilder.fromUri(uri).host(uriTwo.getHost()).port(uriTwo.getPort()).scheme(
-                                                       uriTwo.getScheme()).build();
-                                               paramMap.put("restapiUrl", retryUri.toString());
-                                               log.debug("URL was set to " + retryUri.toString());
-                                               log.debug("Failed to communicate with host " + hostname +
-                                                       ". Request will be re-attempted using the host " + retryString + ".");
-                                               log.debug("This is retry attempt " + retryCount + " out of " + retryPolicy.getMaximumRetries());
-                                               sendRequest(paramMap, ctx, retryCount);
-                                       } else {
-                                               log.debug("Maximum retries reached, calling setFailureResponseStatus.");
-                                               setFailureResponseStatus(ctx, prefix, e.getMessage(), r);
-                                       }
-                               } catch (Exception ex) {
-                                       log.error("Could not attempt retry.", ex);
-                                       String retryErrorMessage =
-                                               "Retry attempt has failed. No further retry shall be attempted, calling setFailureResponseStatus.";
-                                       setFailureResponseStatus(ctx, prefix, retryErrorMessage, r);
-                               }
-                       }
-               }
-
-               if (r != null && r.code >= 300)
-                       throw new SvcLogicException(String.valueOf(r.code) + ": " + r.message);
-       }
-
-       protected Parameters getParameters(Map<String, String> paramMap) throws SvcLogicException {
-               Parameters p = new Parameters();
-               p.templateFileName = parseParam(paramMap, "templateFileName", false, null);
-               p.restapiUrl = parseParam(paramMap, "restapiUrl", true, null);
-               p.restapiUser = parseParam(paramMap, "restapiUser", false, null);
-               p.restapiPassword = parseParam(paramMap, "restapiPassword", false, null);
-               p.contentType = parseParam(paramMap, "contentType", false, null);
-               p.format = Format.fromString(parseParam(paramMap, "format", false, "json"));
-               p.httpMethod = HttpMethod.fromString(parseParam(paramMap, "httpMethod", false, "post"));
-               p.responsePrefix = parseParam(paramMap, "responsePrefix", false, null);
-               p.listNameList = getListNameList(paramMap);
-               String skipSendingStr = paramMap.get("skipSending");
-               p.skipSending = skipSendingStr != null && skipSendingStr.equalsIgnoreCase("true");
-               p.convertResponse = Boolean.valueOf(parseParam(paramMap, "convertResponse", false, "true"));
-               p.trustStoreFileName = parseParam(paramMap, "trustStoreFileName", false, null);
-               p.trustStorePassword = parseParam(paramMap, "trustStorePassword", false, null);
-               p.keyStoreFileName = parseParam(paramMap, "keyStoreFileName", false, null);
-               p.keyStorePassword = parseParam(paramMap, "keyStorePassword", false, null);
-               p.ssl = p.trustStoreFileName != null && p.trustStorePassword != null && p.keyStoreFileName != null &&
-                       p.keyStorePassword != null;
-               p.customHttpHeaders = parseParam(paramMap, "customHttpHeaders", false, null);
-               p.partner = parseParam(paramMap, "partner", false, null);
-           p.dumpHeaders = Boolean.valueOf(parseParam(paramMap, "dumpHeaders", false, null));
-               return p;
-       }
-
-       protected Set<String> getListNameList(Map<String, String> paramMap) {
-               Set<String> ll = new HashSet<String>();
-               for (String key : paramMap.keySet())
-                       if (key.startsWith("listName"))
-                               ll.add(paramMap.get(key));
-               return ll;
-       }
-
-       protected String parseParam(Map<String, String> paramMap, String name, boolean required, String def)
-               throws SvcLogicException {
-               String s = paramMap.get(name);
-
-               if (s == null || s.trim().length() == 0) {
-                       if (!required)
-                               return def;
-                       throw new SvcLogicException("Parameter " + name + " is required in RestapiCallNode");
-               }
-
-               s = s.trim();
-               String value = "";
-               int i = 0;
-               int i1 = s.indexOf('%');
-               while (i1 >= 0) {
-                       int i2 = s.indexOf('%', i1 + 1);
-                       if (i2 < 0)
-                               break;
-
-                       String varName = s.substring(i1 + 1, i2);
-                       String varValue = System.getenv(varName);
-                       if (varValue == null)
-                               varValue = "%" + varName + "%";
-
-                       value += s.substring(i, i1);
-                       value += varValue;
-
-                       i = i2 + 1;
-                       i1 = s.indexOf('%', i);
-               }
-               value += s.substring(i);
-
-               log.info("Parameter " + name + ": [" + value + "]");
-               return value;
-       }
-
-       protected String buildXmlJsonRequest(SvcLogicContext ctx, String template, Format format) {
-               log.info("Building " + format + " started");
-               long t1 = System.currentTimeMillis();
-
-               template = expandRepeats(ctx, template, 1);
-
-               Map<String, String> mm = new HashMap<>();
-               for (String s : ctx.getAttributeKeySet())
-                       mm.put(s, ctx.getAttribute(s));
-
-               StringBuilder ss = new StringBuilder();
-               int i = 0;
-               while (i < template.length()) {
-                       int i1 = template.indexOf("${", i);
-                       if (i1 < 0) {
-                               ss.append(template.substring(i));
-                               break;
-                       }
-
-                       int i2 = template.indexOf('}', i1 + 2);
-                       if (i2 < 0)
-                               throw new RuntimeException("Template error: Matching } not found");
-
-                       String var1 = template.substring(i1 + 2, i2);
-                       String value1 = format == Format.XML ? XmlJsonUtil.getXml(mm, var1) : XmlJsonUtil.getJson(mm, var1);
-                       // log.info(" " + var1 + ": " + value1);
-                       if (value1 == null || value1.trim().length() == 0) {
-                               // delete the whole element (line)
-                               int i3 = template.lastIndexOf('\n', i1);
-                               if (i3 < 0)
-                                       i3 = 0;
-                               int i4 = template.indexOf('\n', i1);
-                               if (i4 < 0)
-                                       i4 = template.length();
-
-                               if (i < i3)
-                                       ss.append(template.substring(i, i3));
-                               i = i4;
-                       } else {
-                               ss.append(template.substring(i, i1)).append(value1);
-                               i = i2 + 1;
-                       }
-               }
-
-               String req = format == Format.XML
-                       ? XmlJsonUtil.removeEmptyStructXml(ss.toString()) : XmlJsonUtil.removeEmptyStructJson(ss.toString());
-
-               if (format == Format.JSON)
-                       req = XmlJsonUtil.removeLastCommaJson(req);
-
-               long t2 = System.currentTimeMillis();
-               log.info("Building " + format + " completed. Time: " + (t2 - t1));
-
-               return req;
-       }
-
-       protected String expandRepeats(SvcLogicContext ctx, String template, int level) {
-               StringBuilder newTemplate = new StringBuilder();
-               int k = 0;
-               while (k < template.length()) {
-                       int i1 = template.indexOf("${repeat:", k);
-                       if (i1 < 0) {
-                               newTemplate.append(template.substring(k));
-                               break;
-                       }
-
-                       int i2 = template.indexOf(':', i1 + 9);
-                       if (i2 < 0)
-                               throw new RuntimeException(
-                                       "Template error: Context variable name followed by : is required after repeat");
-
-                       // Find the closing }, store in i3
-                       int nn = 1;
-                       int i3 = -1;
-                       int i = i2;
-                       while (nn > 0 && i < template.length()) {
-                               i3 = template.indexOf('}', i);
-                               if (i3 < 0)
-                                       throw new RuntimeException("Template error: Matching } not found");
-                               int i32 = template.indexOf('{', i);
-                               if (i32 >= 0 && i32 < i3) {
-                                       nn++;
-                                       i = i32 + 1;
-                               } else {
-                                       nn--;
-                                       i = i3 + 1;
-                               }
-                       }
-
-                       String var1 = template.substring(i1 + 9, i2);
-                       String value1 = ctx.getAttribute(var1);
-                       log.info("     " + var1 + ": " + value1);
-                       int n = 0;
-                       try {
-                               n = Integer.parseInt(value1);
-                       } catch (Exception e) {
-                               n = 0;
-                       }
-
-                       newTemplate.append(template.substring(k, i1));
-
-                       String rpt = template.substring(i2 + 1, i3);
-
-                       for (int ii = 0; ii < n; ii++) {
-                               String ss = rpt.replaceAll("\\[\\$\\{" + level + "\\}\\]", "[" + ii + "]");
-                               if (ii == n - 1 && ss.trim().endsWith(",")) {
-                                       int i4 = ss.lastIndexOf(',');
-                                       if (i4 > 0)
-                                               ss = ss.substring(0, i4) + ss.substring(i4 + 1);
-                               }
-                               newTemplate.append(ss);
-                       }
-
-                       k = i3 + 1;
-               }
-
-               if (k == 0)
-                       return newTemplate.toString();
-
-               return expandRepeats(ctx, newTemplate.toString(), level + 1);
-       }
-
-       protected String readFile(String fileName) throws Exception {
-               byte[] encoded = Files.readAllBytes(Paths.get(fileName));
-               return new String(encoded, "UTF-8");
-       }
-
-       protected HttpResponse sendHttpRequest(String request, Parameters p) throws Exception {
-               ClientConfig config = new DefaultClientConfig();
-               SSLContext ssl = null;
-               if (p.ssl && p.restapiUrl.startsWith("https"))
-                       ssl = createSSLContext(p);
-               if (ssl != null) {
-                       HostnameVerifier hostnameVerifier = new HostnameVerifier() {
-
-                               @Override
-                               public boolean verify(String hostname, SSLSession session) {
-                                       return true;
-                               }
-                       };
-
-                       config.getProperties().put(HTTPSProperties.PROPERTY_HTTPS_PROPERTIES,
-                               new HTTPSProperties(hostnameVerifier, ssl));
-               }
-
-               logProperties(config.getProperties());
-
-               Client client = Client.create(config);
-               client.setConnectTimeout(5000);
-               if (p.restapiUser != null)
-                       client.addFilter(new HTTPBasicAuthFilter(p.restapiUser, p.restapiPassword));
-               WebResource webResource = client.resource(p.restapiUrl);
-
-               log.info("Sending request:");
-               log.info(request);
-               long t1 = System.currentTimeMillis();
-
-               HttpResponse r = new HttpResponse();
-               r.code = 200;
-
-               if (!p.skipSending) {
-                       String tt = p.format == Format.XML ? "application/xml" : "application/json";
-                       String tt1 = tt + ";charset=UTF-8";
-                       if (p.contentType != null) {
-                               tt = p.contentType;
-                               tt1 = p.contentType;
-                       }
-
-                       WebResource.Builder webResourceBuilder = webResource.accept(tt).type(tt1);
+            if (r.body != null && r.body.trim().length() > 0) {
+                ctx.setAttribute(pp + "httpResponse", r.body);
+
+                if (p.convertResponse) {
+                    Map<String, String> mm = null;
+                    if (p.format == Format.XML)
+                        mm = XmlParser.convertToProperties(r.body, p.listNameList);
+                    else if (p.format == Format.JSON)
+                        mm = JsonParser.convertToProperties(r.body);
+
+                    if (mm != null)
+                        for (String key : mm.keySet())
+                            ctx.setAttribute(pp + key, mm.get(key));
+                }
+            }
+        } catch (Exception e) {
+            boolean shouldRetry = false;
+            if (e.getCause() instanceof java.net.SocketException) {
+                shouldRetry = true;
+            }
+
+            log.error("Error sending the request: " + e.getMessage(), e);
+            String prefix = parseParam(paramMap, "responsePrefix", false, null);
+            if (retryPolicy == null || shouldRetry == false) {
+                setFailureResponseStatus(ctx, prefix, e.getMessage(), r);
+            } else {
+                if (retryCount == null) {
+                    retryCount = 0;
+                }
+                String retryMessage = retryCount + " attempts were made out of " + retryPolicy.getMaximumRetries() +
+                        " maximum retries.";
+                log.debug(retryMessage);
+                try {
+                    retryCount = retryCount + 1;
+                    if (retryCount < retryPolicy.getMaximumRetries() + 1) {
+                        URI uri = new URI(paramMap.get("restapiUrl"));
+                        String hostname = uri.getHost();
+                        String retryString = retryPolicy.getNextHostName((uri.toString()));
+                        URI uriTwo = new URI(retryString);
+                        URI retryUri = UriBuilder.fromUri(uri).host(uriTwo.getHost()).port(uriTwo.getPort()).scheme(
+                                uriTwo.getScheme()).build();
+                        paramMap.put("restapiUrl", retryUri.toString());
+                        log.debug("URL was set to " + retryUri.toString());
+                        log.debug("Failed to communicate with host " + hostname +
+                                ". Request will be re-attempted using the host " + retryString + ".");
+                        log.debug("This is retry attempt " + retryCount + " out of " + retryPolicy.getMaximumRetries());
+                        sendRequest(paramMap, ctx, retryCount);
+                    } else {
+                        log.debug("Maximum retries reached, calling setFailureResponseStatus.");
+                        setFailureResponseStatus(ctx, prefix, e.getMessage(), r);
+                    }
+                } catch (Exception ex) {
+                    log.error("Could not attempt retry.", ex);
+                    String retryErrorMessage =
+                            "Retry attempt has failed. No further retry shall be attempted, calling setFailureResponseStatus.";
+                    setFailureResponseStatus(ctx, prefix, retryErrorMessage, r);
+                }
+            }
+        }
+
+        if (r != null && r.code >= 300)
+            throw new SvcLogicException(String.valueOf(r.code) + ": " + r.message);
+    }
+
+    protected Parameters getParameters(Map<String, String> paramMap) throws SvcLogicException {
+        Parameters p = new Parameters();
+        p.templateFileName = parseParam(paramMap, "templateFileName", false, null);
+        p.restapiUrl = parseParam(paramMap, "restapiUrl", true, null);
+        p.restapiUser = parseParam(paramMap, "restapiUser", false, null);
+        p.restapiPassword = parseParam(paramMap, "restapiPassword", false, null);
+        p.contentType = parseParam(paramMap, "contentType", false, null);
+        p.format = Format.fromString(parseParam(paramMap, "format", false, "json"));
+        p.httpMethod = HttpMethod.fromString(parseParam(paramMap, "httpMethod", false, "post"));
+        p.responsePrefix = parseParam(paramMap, "responsePrefix", false, null);
+        p.listNameList = getListNameList(paramMap);
+        String skipSendingStr = paramMap.get("skipSending");
+        p.skipSending = skipSendingStr != null && skipSendingStr.equalsIgnoreCase("true");
+        p.convertResponse = Boolean.valueOf(parseParam(paramMap, "convertResponse", false, "true"));
+        p.trustStoreFileName = parseParam(paramMap, "trustStoreFileName", false, null);
+        p.trustStorePassword = parseParam(paramMap, "trustStorePassword", false, null);
+        p.keyStoreFileName = parseParam(paramMap, "keyStoreFileName", false, null);
+        p.keyStorePassword = parseParam(paramMap, "keyStorePassword", false, null);
+        p.ssl = p.trustStoreFileName != null && p.trustStorePassword != null && p.keyStoreFileName != null &&
+                p.keyStorePassword != null;
+        p.customHttpHeaders = parseParam(paramMap, "customHttpHeaders", false, null);
+        p.partner = parseParam(paramMap, "partner", false, null);
+        p.dumpHeaders = Boolean.valueOf(parseParam(paramMap, "dumpHeaders", false, null));
+        return p;
+    }
+
+    protected Set<String> getListNameList(Map<String, String> paramMap) {
+        Set<String> ll = new HashSet<String>();
+        for (String key : paramMap.keySet())
+            if (key.startsWith("listName"))
+                ll.add(paramMap.get(key));
+        return ll;
+    }
+
+    protected String parseParam(Map<String, String> paramMap, String name, boolean required, String def)
+            throws SvcLogicException {
+        String s = paramMap.get(name);
+
+        if (s == null || s.trim().length() == 0) {
+            if (!required)
+                return def;
+            throw new SvcLogicException("Parameter " + name + " is required in RestapiCallNode");
+        }
+
+        s = s.trim();
+        String value = "";
+        int i = 0;
+        int i1 = s.indexOf('%');
+        while (i1 >= 0) {
+            int i2 = s.indexOf('%', i1 + 1);
+            if (i2 < 0)
+                break;
+
+            String varName = s.substring(i1 + 1, i2);
+            String varValue = System.getenv(varName);
+            if (varValue == null)
+                varValue = "%" + varName + "%";
+
+            value += s.substring(i, i1);
+            value += varValue;
+
+            i = i2 + 1;
+            i1 = s.indexOf('%', i);
+        }
+        value += s.substring(i);
+
+        log.info("Parameter " + name + ": [" + value + "]");
+        return value;
+    }
+
+    protected String buildXmlJsonRequest(SvcLogicContext ctx, String template, Format format) {
+        log.info("Building " + format + " started");
+        long t1 = System.currentTimeMillis();
+
+        template = expandRepeats(ctx, template, 1);
+
+        Map<String, String> mm = new HashMap<>();
+        for (String s : ctx.getAttributeKeySet())
+            mm.put(s, ctx.getAttribute(s));
+
+        StringBuilder ss = new StringBuilder();
+        int i = 0;
+        while (i < template.length()) {
+            int i1 = template.indexOf("${", i);
+            if (i1 < 0) {
+                ss.append(template.substring(i));
+                break;
+            }
+
+            int i2 = template.indexOf('}', i1 + 2);
+            if (i2 < 0)
+                throw new RuntimeException("Template error: Matching } not found");
+
+            String var1 = template.substring(i1 + 2, i2);
+            String value1 = format == Format.XML ? XmlJsonUtil.getXml(mm, var1) : XmlJsonUtil.getJson(mm, var1);
+            // log.info(" " + var1 + ": " + value1);
+            if (value1 == null || value1.trim().length() == 0) {
+                // delete the whole element (line)
+                int i3 = template.lastIndexOf('\n', i1);
+                if (i3 < 0)
+                    i3 = 0;
+                int i4 = template.indexOf('\n', i1);
+                if (i4 < 0)
+                    i4 = template.length();
+
+                if (i < i3)
+                    ss.append(template.substring(i, i3));
+                i = i4;
+            } else {
+                ss.append(template.substring(i, i1)).append(value1);
+                i = i2 + 1;
+            }
+        }
+
+        String req = format == Format.XML
+                ? XmlJsonUtil.removeEmptyStructXml(ss.toString()) : XmlJsonUtil.removeEmptyStructJson(ss.toString());
+
+        if (format == Format.JSON)
+            req = XmlJsonUtil.removeLastCommaJson(req);
+
+        long t2 = System.currentTimeMillis();
+        log.info("Building " + format + " completed. Time: " + (t2 - t1));
+
+        return req;
+    }
+
+    protected String expandRepeats(SvcLogicContext ctx, String template, int level) {
+        StringBuilder newTemplate = new StringBuilder();
+        int k = 0;
+        while (k < template.length()) {
+            int i1 = template.indexOf("${repeat:", k);
+            if (i1 < 0) {
+                newTemplate.append(template.substring(k));
+                break;
+            }
+
+            int i2 = template.indexOf(':', i1 + 9);
+            if (i2 < 0)
+                throw new RuntimeException(
+                        "Template error: Context variable name followed by : is required after repeat");
+
+            // Find the closing }, store in i3
+            int nn = 1;
+            int i3 = -1;
+            int i = i2;
+            while (nn > 0 && i < template.length()) {
+                i3 = template.indexOf('}', i);
+                if (i3 < 0)
+                    throw new RuntimeException("Template error: Matching } not found");
+                int i32 = template.indexOf('{', i);
+                if (i32 >= 0 && i32 < i3) {
+                    nn++;
+                    i = i32 + 1;
+                } else {
+                    nn--;
+                    i = i3 + 1;
+                }
+            }
+
+            String var1 = template.substring(i1 + 9, i2);
+            String value1 = ctx.getAttribute(var1);
+            log.info("     " + var1 + ": " + value1);
+            int n = 0;
+            try {
+                n = Integer.parseInt(value1);
+            } catch (Exception e) {
+                n = 0;
+            }
+
+            newTemplate.append(template.substring(k, i1));
+
+            String rpt = template.substring(i2 + 1, i3);
+
+            for (int ii = 0; ii < n; ii++) {
+                String ss = rpt.replaceAll("\\[\\$\\{" + level + "\\}\\]", "[" + ii + "]");
+                if (ii == n - 1 && ss.trim().endsWith(",")) {
+                    int i4 = ss.lastIndexOf(',');
+                    if (i4 > 0)
+                        ss = ss.substring(0, i4) + ss.substring(i4 + 1);
+                }
+                newTemplate.append(ss);
+            }
+
+            k = i3 + 1;
+        }
+
+        if (k == 0)
+            return newTemplate.toString();
+
+        return expandRepeats(ctx, newTemplate.toString(), level + 1);
+    }
+
+    protected String readFile(String fileName) throws Exception {
+        byte[] encoded = Files.readAllBytes(Paths.get(fileName));
+        return new String(encoded, "UTF-8");
+    }
+
+    protected HttpResponse sendHttpRequest(String request, Parameters p) throws Exception {
+        ClientConfig config = new DefaultClientConfig();
+        SSLContext ssl = null;
+        if (p.ssl && p.restapiUrl.startsWith("https"))
+            ssl = createSSLContext(p);
+        if (ssl != null) {
+            HostnameVerifier hostnameVerifier = new HostnameVerifier() {
+
+                @Override
+                public boolean verify(String hostname, SSLSession session) {
+                    return true;
+                }
+            };
+
+            config.getProperties().put(HTTPSProperties.PROPERTY_HTTPS_PROPERTIES,
+                    new HTTPSProperties(hostnameVerifier, ssl));
+        }
+
+        logProperties(config.getProperties());
+
+        Client client = Client.create(config);
+        client.setConnectTimeout(5000);
+        if (p.restapiUser != null)
+            client.addFilter(new HTTPBasicAuthFilter(p.restapiUser, p.restapiPassword));
+        WebResource webResource = client.resource(p.restapiUrl);
+
+        log.info("Sending request:");
+        log.info(request);
+        long t1 = System.currentTimeMillis();
+
+        HttpResponse r = new HttpResponse();
+        r.code = 200;
+
+        if (!p.skipSending) {
+            String tt = p.format == Format.XML ? "application/xml" : "application/json";
+            String tt1 = tt + ";charset=UTF-8";
+            if (p.contentType != null) {
+                tt = p.contentType;
+                tt1 = p.contentType;
+            }
+
+            WebResource.Builder webResourceBuilder = webResource.accept(tt).type(tt1);
 
             if (p.customHttpHeaders != null && p.customHttpHeaders.length() > 0) {
                 String[] keyValuePairs = p.customHttpHeaders.split(",");
                 for (String singlePair : keyValuePairs) {
                     int equalPosition = singlePair.indexOf('=');
-                    webResourceBuilder.header(singlePair.substring(0, equalPosition), singlePair.substring(equalPosition + 1, singlePair.length()));
+                    webResourceBuilder.header(singlePair.substring(0, equalPosition),
+                            singlePair.substring(equalPosition + 1, singlePair.length()));
                 }
             }
 
             webResourceBuilder.header("X-ECOMP-RequestID",org.slf4j.MDC.get("X-ECOMP-RequestID"));
 
-                       ClientResponse response = webResourceBuilder.method(p.httpMethod.toString(), ClientResponse.class, request);
-
-                       r.code = response.getStatus();
-                       r.headers = response.getHeaders();
-                       EntityTag etag = response.getEntityTag();
-                       if (etag != null)
-                               r.message = etag.getValue();
-                       if (response.hasEntity() && r.code != 204)
-                               r.body = response.getEntity(String.class);
-               }
-
-               long t2 = System.currentTimeMillis();
-               log.info("Response received. Time: " + (t2 - t1));
-               log.info("HTTP response code: " + r.code);
-               log.info("HTTP response message: " + r.message);
-               logHeaders(r.headers);
-               log.info("HTTP response: " + r.body);
-
-               return r;
-       }
-
-       protected SSLContext createSSLContext(Parameters p) {
-               try {
-                       System.setProperty("jsse.enableSNIExtension", "false");
-                       System.setProperty("javax.net.ssl.trustStore", p.trustStoreFileName);
-                       System.setProperty("javax.net.ssl.trustStorePassword", p.trustStorePassword);
-
-                       HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() {
-
-                               @Override
-                               public boolean verify(String string, SSLSession ssls) {
-                                       return true;
-                               }
-                       });
-
-                       KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
-                       FileInputStream in = new FileInputStream(p.keyStoreFileName);
-                       KeyStore ks = KeyStore.getInstance("PKCS12");
-                       char[] pwd = p.keyStorePassword.toCharArray();
-                       ks.load(in, pwd);
-                       kmf.init(ks, pwd);
-
-                       SSLContext ctx = SSLContext.getInstance("TLS");
-                       ctx.init(kmf.getKeyManagers(), null, null);
-                       return ctx;
-               } catch (Exception e) {
-                       log.error("Error creating SSLContext: " + e.getMessage(), e);
-               }
-               return null;
-       }
-
-       protected void setFailureResponseStatus(SvcLogicContext ctx, String prefix, String errorMessage, HttpResponse r) {
-               r = new HttpResponse();
-               r.code = 500;
-               r.message = errorMessage;
-               String pp = prefix != null ? prefix + '.' : "";
-               ctx.setAttribute(pp + "response-code", String.valueOf(r.code));
-               ctx.setAttribute(pp + "response-message", r.message);
-       }
-
-       protected void setResponseStatus(SvcLogicContext ctx, String prefix, HttpResponse r) {
-               String pp = prefix != null ? prefix + '.' : "";
-               ctx.setAttribute(pp + "response-code", String.valueOf(r.code));
-               ctx.setAttribute(pp + "response-message", r.message);
-       }
-
-       public void sendFile(Map<String, String> paramMap, SvcLogicContext ctx) throws SvcLogicException {
-               HttpResponse r = null;
-               try {
-                       FileParam p = getFileParameters(paramMap);
-                       byte[] data = Files.readAllBytes(Paths.get(p.fileName));
-
-                       r = sendHttpData(data, p);
-                       setResponseStatus(ctx, p.responsePrefix, r);
-
-               } catch (Exception e) {
-                       log.error("Error sending the request: " + e.getMessage(), e);
-
-                       r = new HttpResponse();
-                       r.code = 500;
-                       r.message = e.getMessage();
-                       String prefix = parseParam(paramMap, "responsePrefix", false, null);
-                       setResponseStatus(ctx, prefix, r);
-               }
-
-               if (r != null && r.code >= 300)
-                       throw new SvcLogicException(String.valueOf(r.code) + ": " + r.message);
-       }
-
-       private static class FileParam {
-
-               public String fileName;
-               public String url;
-               public String user;
-               public String password;
-               public HttpMethod httpMethod;
-               public String responsePrefix;
-               public boolean skipSending;
-       }
-
-       private FileParam getFileParameters(Map<String, String> paramMap) throws SvcLogicException {
-               FileParam p = new FileParam();
-               p.fileName = parseParam(paramMap, "fileName", true, null);
-               p.url = parseParam(paramMap, "url", true, null);
-               p.user = parseParam(paramMap, "user", false, null);
-               p.password = parseParam(paramMap, "password", false, null);
-               p.httpMethod = HttpMethod.fromString(parseParam(paramMap, "httpMethod", false, "post"));
-               p.responsePrefix = parseParam(paramMap, "responsePrefix", false, null);
-               String skipSendingStr = paramMap.get("skipSending");
-               p.skipSending = skipSendingStr != null && skipSendingStr.equalsIgnoreCase("true");
-               return p;
-       }
-
-       protected HttpResponse sendHttpData(byte[] data, FileParam p) {
-               Client client = Client.create();
-               client.setConnectTimeout(5000);
-               client.setFollowRedirects(true);
-               if (p.user != null)
-                       client.addFilter(new HTTPBasicAuthFilter(p.user, p.password));
-               WebResource webResource = client.resource(p.url);
-
-               log.info("Sending file");
-               long t1 = System.currentTimeMillis();
-
-               HttpResponse r = new HttpResponse();
-               r.code = 200;
-
-               if (!p.skipSending) {
-                       String tt = "application/octet-stream";
-
-                       ClientResponse response = null;
-                       if (p.httpMethod == HttpMethod.POST)
-                               response = webResource.accept(tt).type(tt).post(ClientResponse.class, data);
-                       else if (p.httpMethod == HttpMethod.PUT)
-                               response = webResource.accept(tt).type(tt).put(ClientResponse.class, data);
-
-                       r.code = response.getStatus();
-                       r.headers = response.getHeaders();
-                       EntityTag etag = response.getEntityTag();
-                       if (etag != null)
-                               r.message = etag.getValue();
-                       if (response.hasEntity() && r.code != 204)
-                               r.body = response.getEntity(String.class);
-
-                       if (r.code == 301) {
-                               String newUrl = response.getHeaders().getFirst("Location");
-
-                               log.info("Got response code 301. Sending same request to URL: " + newUrl);
-
-                               webResource = client.resource(newUrl);
-
-                               if (p.httpMethod == HttpMethod.POST)
-                                       response = webResource.accept(tt).type(tt).post(ClientResponse.class, data);
-                               else if (p.httpMethod == HttpMethod.PUT)
-                                       response = webResource.accept(tt).type(tt).put(ClientResponse.class, data);
-
-                               r.code = response.getStatus();
-                               etag = response.getEntityTag();
-                               if (etag != null)
-                                       r.message = etag.getValue();
-                               if (response.hasEntity() && r.code != 204)
-                                       r.body = response.getEntity(String.class);
-                       }
-               }
-
-               long t2 = System.currentTimeMillis();
-               log.info("Response received. Time: " + (t2 - t1));
-               log.info("HTTP response code: " + r.code);
-               log.info("HTTP response message: " + r.message);
-               logHeaders(r.headers);
-               log.info("HTTP response: " + r.body);
-
-               return r;
-       }
-
-       public void postMessageOnUeb(Map<String, String> paramMap, SvcLogicContext ctx) throws SvcLogicException {
-               HttpResponse r = null;
-               try {
-                       UebParam p = getUebParameters(paramMap);
-
-                       String pp = p.responsePrefix != null ? p.responsePrefix + '.' : "";
-
-                       String req = null;
-
-                       if (p.templateFileName == null) {
-                               log.info("No template file name specified. Using default UEB template: " + defaultUebTemplateFileName);
-                               p.templateFileName = defaultUebTemplateFileName;
-                       }
-
-                       String reqTemplate = readFile(p.templateFileName);
-                       reqTemplate = reqTemplate.replaceAll("rootVarName", p.rootVarName);
-                       req = buildXmlJsonRequest(ctx, reqTemplate, Format.JSON);
-
-                       r = postOnUeb(req, p);
-                       setResponseStatus(ctx, p.responsePrefix, r);
-                       if (r.body != null)
-                               ctx.setAttribute(pp + "httpResponse", r.body);
-
-               } catch (Exception e) {
-                       log.error("Error sending the request: " + e.getMessage(), e);
-
-                       r = new HttpResponse();
-                       r.code = 500;
-                       r.message = e.getMessage();
-                       String prefix = parseParam(paramMap, "responsePrefix", false, null);
-                       setResponseStatus(ctx, prefix, r);
-               }
-
-               if (r != null && r.code >= 300)
-                       throw new SvcLogicException(String.valueOf(r.code) + ": " + r.message);
-       }
-
-       private static class UebParam {
-
-               public String topic;
-               public String templateFileName;
-               public String rootVarName;
-               public String responsePrefix;
-               public boolean skipSending;
-       }
-
-       private UebParam getUebParameters(Map<String, String> paramMap) throws SvcLogicException {
-               UebParam p = new UebParam();
-               p.topic = parseParam(paramMap, "topic", true, null);
-               p.templateFileName = parseParam(paramMap, "templateFileName", false, null);
-               p.rootVarName = parseParam(paramMap, "rootVarName", false, null);
-               p.responsePrefix = parseParam(paramMap, "responsePrefix", false, null);
-               String skipSendingStr = paramMap.get("skipSending");
-               p.skipSending = skipSendingStr != null && skipSendingStr.equalsIgnoreCase("true");
-               return p;
-       }
-
-       protected HttpResponse postOnUeb(String request, UebParam p) throws Exception {
-               String[] urls = uebServers.split(" ");
-               for (int i = 0; i < urls.length; i++) {
-                       if (!urls[i].endsWith("/"))
-                               urls[i] += "/";
-                       urls[i] += "events/" + p.topic;
-               }
-
-               Client client = Client.create();
-               client.setConnectTimeout(5000);
-               WebResource webResource = client.resource(urls[0]);
-
-               log.info("UEB URL: " + urls[0]);
-               log.info("Sending request:");
-               log.info(request);
-               long t1 = System.currentTimeMillis();
-
-               HttpResponse r = new HttpResponse();
-               r.code = 200;
-
-               if (!p.skipSending) {
-                       String tt = "application/json";
-                       String tt1 = tt + ";charset=UTF-8";
-
-                       ClientResponse response = webResource.accept(tt).type(tt1).post(ClientResponse.class, request);
-
-                       r.code = response.getStatus();
-                       r.headers = response.getHeaders();
-                       if (response.hasEntity())
-                               r.body = response.getEntity(String.class);
-               }
-
-               long t2 = System.currentTimeMillis();
-               log.info("Response received. Time: " + (t2 - t1));
-               log.info("HTTP response code: " + r.code);
-               logHeaders(r.headers);
-               log.info("HTTP response:\n" + r.body);
-
-               return r;
-       }
-
-       protected void logProperties(Map<String, Object> mm) {
-               List<String> ll = new ArrayList<>();
-               for (Object o : mm.keySet())
-                       ll.add((String) o);
-               Collections.sort(ll);
-
-               log.info("Properties:");
-               for (String name : ll)
-                       log.info("--- " + name + ": " + String.valueOf(mm.get(name)));
-       }
-
-       protected void logHeaders(MultivaluedMap<String, String> mm) {
-               log.info("HTTP response headers:");
-
-               if (mm == null)
-                       return;
-
-               List<String> ll = new ArrayList<>();
-               for (Object o : mm.keySet())
-                       ll.add((String) o);
-               Collections.sort(ll);
-
-               for (String name : ll)
-                       log.info("--- " + name + ": " + String.valueOf(mm.get(name)));
-       }
-
-       public void setUebServers(String uebServers) {
-               this.uebServers = uebServers;
-       }
-
-       public void setDefaultUebTemplateFileName(String defaultUebTemplateFileName) {
-               this.defaultUebTemplateFileName = defaultUebTemplateFileName;
-       }
+            ClientResponse response = webResourceBuilder.method(p.httpMethod.toString(), ClientResponse.class, request);
+
+            r.code = response.getStatus();
+            r.headers = response.getHeaders();
+            EntityTag etag = response.getEntityTag();
+            if (etag != null)
+                r.message = etag.getValue();
+            if (response.hasEntity() && r.code != 204)
+                r.body = response.getEntity(String.class);
+        }
+
+        long t2 = System.currentTimeMillis();
+        log.info("Response received. Time: " + (t2 - t1));
+        log.info("HTTP response code: " + r.code);
+        log.info("HTTP response message: " + r.message);
+        logHeaders(r.headers);
+        log.info("HTTP response: " + r.body);
+
+        return r;
+    }
+
+    protected SSLContext createSSLContext(Parameters p) {
+        try {
+            System.setProperty("jsse.enableSNIExtension", "false");
+            System.setProperty("javax.net.ssl.trustStore", p.trustStoreFileName);
+            System.setProperty("javax.net.ssl.trustStorePassword", p.trustStorePassword);
+
+            HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() {
+
+                @Override
+                public boolean verify(String string, SSLSession ssls) {
+                    return true;
+                }
+            });
+
+            KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
+            FileInputStream in = new FileInputStream(p.keyStoreFileName);
+            KeyStore ks = KeyStore.getInstance("PKCS12");
+            char[] pwd = p.keyStorePassword.toCharArray();
+            ks.load(in, pwd);
+            kmf.init(ks, pwd);
+
+            SSLContext ctx = SSLContext.getInstance("TLS");
+            ctx.init(kmf.getKeyManagers(), null, null);
+            return ctx;
+        } catch (Exception e) {
+            log.error("Error creating SSLContext: " + e.getMessage(), e);
+        }
+        return null;
+    }
+
+    protected void setFailureResponseStatus(SvcLogicContext ctx, String prefix, String errorMessage, HttpResponse r) {
+        r = new HttpResponse();
+        r.code = 500;
+        r.message = errorMessage;
+        String pp = prefix != null ? prefix + '.' : "";
+        ctx.setAttribute(pp + "response-code", String.valueOf(r.code));
+        ctx.setAttribute(pp + "response-message", r.message);
+    }
+
+    protected void setResponseStatus(SvcLogicContext ctx, String prefix, HttpResponse r) {
+        String pp = prefix != null ? prefix + '.' : "";
+        ctx.setAttribute(pp + "response-code", String.valueOf(r.code));
+        ctx.setAttribute(pp + "response-message", r.message);
+    }
+
+    public void sendFile(Map<String, String> paramMap, SvcLogicContext ctx) throws SvcLogicException {
+        HttpResponse r = null;
+        try {
+            FileParam p = getFileParameters(paramMap);
+            byte[] data = Files.readAllBytes(Paths.get(p.fileName));
+
+            r = sendHttpData(data, p);
+            setResponseStatus(ctx, p.responsePrefix, r);
+
+        } catch (Exception e) {
+            log.error("Error sending the request: " + e.getMessage(), e);
+
+            r = new HttpResponse();
+            r.code = 500;
+            r.message = e.getMessage();
+            String prefix = parseParam(paramMap, "responsePrefix", false, null);
+            setResponseStatus(ctx, prefix, r);
+        }
+
+        if (r != null && r.code >= 300)
+            throw new SvcLogicException(String.valueOf(r.code) + ": " + r.message);
+    }
+
+    private static class FileParam {
+
+        public String fileName;
+        public String url;
+        public String user;
+        public String password;
+        public HttpMethod httpMethod;
+        public String responsePrefix;
+        public boolean skipSending;
+    }
+
+    private FileParam getFileParameters(Map<String, String> paramMap) throws SvcLogicException {
+        FileParam p = new FileParam();
+        p.fileName = parseParam(paramMap, "fileName", true, null);
+        p.url = parseParam(paramMap, "url", true, null);
+        p.user = parseParam(paramMap, "user", false, null);
+        p.password = parseParam(paramMap, "password", false, null);
+        p.httpMethod = HttpMethod.fromString(parseParam(paramMap, "httpMethod", false, "post"));
+        p.responsePrefix = parseParam(paramMap, "responsePrefix", false, null);
+        String skipSendingStr = paramMap.get("skipSending");
+        p.skipSending = skipSendingStr != null && skipSendingStr.equalsIgnoreCase("true");
+        return p;
+    }
+
+    protected HttpResponse sendHttpData(byte[] data, FileParam p) {
+        Client client = Client.create();
+        client.setConnectTimeout(5000);
+        client.setFollowRedirects(true);
+        if (p.user != null)
+            client.addFilter(new HTTPBasicAuthFilter(p.user, p.password));
+        WebResource webResource = client.resource(p.url);
+
+        log.info("Sending file");
+        long t1 = System.currentTimeMillis();
+
+        HttpResponse r = new HttpResponse();
+        r.code = 200;
+
+        if (!p.skipSending) {
+            String tt = "application/octet-stream";
+
+            ClientResponse response = null;
+            if (p.httpMethod == HttpMethod.POST)
+                response = webResource.accept(tt).type(tt).post(ClientResponse.class, data);
+            else if (p.httpMethod == HttpMethod.PUT)
+                response = webResource.accept(tt).type(tt).put(ClientResponse.class, data);
+
+            r.code = response.getStatus();
+            r.headers = response.getHeaders();
+            EntityTag etag = response.getEntityTag();
+            if (etag != null)
+                r.message = etag.getValue();
+            if (response.hasEntity() && r.code != 204)
+                r.body = response.getEntity(String.class);
+
+            if (r.code == 301) {
+                String newUrl = response.getHeaders().getFirst("Location");
+
+                log.info("Got response code 301. Sending same request to URL: " + newUrl);
+
+                webResource = client.resource(newUrl);
+
+                if (p.httpMethod == HttpMethod.POST)
+                    response = webResource.accept(tt).type(tt).post(ClientResponse.class, data);
+                else if (p.httpMethod == HttpMethod.PUT)
+                    response = webResource.accept(tt).type(tt).put(ClientResponse.class, data);
+
+                r.code = response.getStatus();
+                etag = response.getEntityTag();
+                if (etag != null)
+                    r.message = etag.getValue();
+                if (response.hasEntity() && r.code != 204)
+                    r.body = response.getEntity(String.class);
+            }
+        }
+
+        long t2 = System.currentTimeMillis();
+        log.info("Response received. Time: " + (t2 - t1));
+        log.info("HTTP response code: " + r.code);
+        log.info("HTTP response message: " + r.message);
+        logHeaders(r.headers);
+        log.info("HTTP response: " + r.body);
+
+        return r;
+    }
+
+    public void postMessageOnUeb(Map<String, String> paramMap, SvcLogicContext ctx) throws SvcLogicException {
+        HttpResponse r = null;
+        try {
+            UebParam p = getUebParameters(paramMap);
+
+            String pp = p.responsePrefix != null ? p.responsePrefix + '.' : "";
+
+            String req = null;
+
+            if (p.templateFileName == null) {
+                log.info("No template file name specified. Using default UEB template: " + defaultUebTemplateFileName);
+                p.templateFileName = defaultUebTemplateFileName;
+            }
+
+            String reqTemplate = readFile(p.templateFileName);
+            reqTemplate = reqTemplate.replaceAll("rootVarName", p.rootVarName);
+            req = buildXmlJsonRequest(ctx, reqTemplate, Format.JSON);
+
+            r = postOnUeb(req, p);
+            setResponseStatus(ctx, p.responsePrefix, r);
+            if (r.body != null)
+                ctx.setAttribute(pp + "httpResponse", r.body);
+
+        } catch (Exception e) {
+            log.error("Error sending the request: " + e.getMessage(), e);
+
+            r = new HttpResponse();
+            r.code = 500;
+            r.message = e.getMessage();
+            String prefix = parseParam(paramMap, "responsePrefix", false, null);
+            setResponseStatus(ctx, prefix, r);
+        }
+
+        if (r != null && r.code >= 300)
+            throw new SvcLogicException(String.valueOf(r.code) + ": " + r.message);
+    }
+
+    private static class UebParam {
+
+        public String topic;
+        public String templateFileName;
+        public String rootVarName;
+        public String responsePrefix;
+        public boolean skipSending;
+    }
+
+    private UebParam getUebParameters(Map<String, String> paramMap) throws SvcLogicException {
+        UebParam p = new UebParam();
+        p.topic = parseParam(paramMap, "topic", true, null);
+        p.templateFileName = parseParam(paramMap, "templateFileName", false, null);
+        p.rootVarName = parseParam(paramMap, "rootVarName", false, null);
+        p.responsePrefix = parseParam(paramMap, "responsePrefix", false, null);
+        String skipSendingStr = paramMap.get("skipSending");
+        p.skipSending = skipSendingStr != null && skipSendingStr.equalsIgnoreCase("true");
+        return p;
+    }
+
+    protected HttpResponse postOnUeb(String request, UebParam p) throws Exception {
+        String[] urls = uebServers.split(" ");
+        for (int i = 0; i < urls.length; i++) {
+            if (!urls[i].endsWith("/"))
+                urls[i] += "/";
+            urls[i] += "events/" + p.topic;
+        }
+
+        Client client = Client.create();
+        client.setConnectTimeout(5000);
+        WebResource webResource = client.resource(urls[0]);
+
+        log.info("UEB URL: " + urls[0]);
+        log.info("Sending request:");
+        log.info(request);
+        long t1 = System.currentTimeMillis();
+
+        HttpResponse r = new HttpResponse();
+        r.code = 200;
+
+        if (!p.skipSending) {
+            String tt = "application/json";
+            String tt1 = tt + ";charset=UTF-8";
+
+            ClientResponse response = webResource.accept(tt).type(tt1).post(ClientResponse.class, request);
+
+            r.code = response.getStatus();
+            r.headers = response.getHeaders();
+            if (response.hasEntity())
+                r.body = response.getEntity(String.class);
+        }
+
+        long t2 = System.currentTimeMillis();
+        log.info("Response received. Time: " + (t2 - t1));
+        log.info("HTTP response code: " + r.code);
+        logHeaders(r.headers);
+        log.info("HTTP response:\n" + r.body);
+
+        return r;
+    }
+
+    protected void logProperties(Map<String, Object> mm) {
+        List<String> ll = new ArrayList<>();
+        for (Object o : mm.keySet())
+            ll.add((String) o);
+        Collections.sort(ll);
+
+        log.info("Properties:");
+        for (String name : ll)
+            log.info("--- " + name + ": " + String.valueOf(mm.get(name)));
+    }
+
+    protected void logHeaders(MultivaluedMap<String, String> mm) {
+        log.info("HTTP response headers:");
+
+        if (mm == null)
+            return;
+
+        List<String> ll = new ArrayList<>();
+        for (Object o : mm.keySet())
+            ll.add((String) o);
+        Collections.sort(ll);
+
+        for (String name : ll)
+            log.info("--- " + name + ": " + String.valueOf(mm.get(name)));
+    }
+
+    public void setUebServers(String uebServers) {
+        this.uebServers = uebServers;
+    }
+
+    public void setDefaultUebTemplateFileName(String defaultUebTemplateFileName) {
+        this.defaultUebTemplateFileName = defaultUebTemplateFileName;
+    }
 }
index 69334a9..5cee077 100644 (file)
@@ -40,7 +40,8 @@ public class RetryPolicy {
         }
 
         if(position == null){
-            throw new RetryException("No match found for the provided uri[" + uri + "] so the next host name could not be retreived");
+            throw new RetryException("No match found for the provided uri[" + uri + "] " +
+                    "so the next host name could not be retreived");
         }
         position++;
 
index 2fa3fa5..16b9f51 100644 (file)
@@ -31,342 +31,342 @@ import org.slf4j.LoggerFactory;
 
 public class XmlJsonUtil {
 
-       private static final Logger log = LoggerFactory.getLogger(XmlJsonUtil.class);
-
-       public static String getXml(Map<String, String> varmap, String var) {
-               boolean escape = true;
-               if (var.startsWith("'")) {
-                       var = var.substring(1);
-                       escape = false;
-               }
-
-               Object o = createStructure(varmap, var);
-               return generateXml(o, 0, escape);
-       }
-
-       public static String getJson(Map<String, String> varmap, String var) {
-               boolean escape = true;
-               if (var.startsWith("'")) {
-                       var = var.substring(1);
-                       escape = false;
-               }
-
-               Object o = createStructure(varmap, var);
-               return generateJson(o, escape);
-       }
-
-       private static Object createStructure(Map<String, String> flatmap, String var) {
-               if (flatmap.containsKey(var)) {
-                       if (var.endsWith("_length") || var.endsWith("].key"))
-                               return null;
-                       return flatmap.get(var);
-               }
-
-               Map<String, Object> mm = new HashMap<>();
-               for (String k : flatmap.keySet())
-                       if (k.startsWith(var + ".")) {
-                               int i1 = k.indexOf('.', var.length() + 1);
-                               int i2 = k.indexOf('[', var.length() + 1);
-                               int i3 = k.length();
-                               if (i1 > 0 && i1 < i3)
-                                       i3 = i1;
-                               if (i2 > 0 && i2 < i3)
-                                       i3 = i2;
-                               String k1 = k.substring(var.length() + 1, i3);
-                               String var1 = k.substring(0, i3);
-                               if (!mm.containsKey(k1)) {
-                                       Object str = createStructure(flatmap, var1);
-                                       if (str != null && (!(str instanceof String) || ((String) str).trim().length() > 0))
-                                               mm.put(k1, str);
-                               }
-                       }
-               if (!mm.isEmpty())
-                       return mm;
-
-               boolean arrayFound = false;
-               for (String k : flatmap.keySet())
-                       if (k.startsWith(var + "[")) {
-                               arrayFound = true;
-                               break;
-                       }
-
-               if (arrayFound) {
-                       List<Object> ll = new ArrayList<>();
-
-                       int length = Integer.MAX_VALUE;
-                       String lengthStr = flatmap.get(var + "_length");
-                       if (lengthStr != null) {
-                               try {
-                                       length = Integer.parseInt(lengthStr);
-                               } catch (Exception e) {
-                                       log.warn("Invalid number for " + var + "_length:" + lengthStr);
-                               }
-                       }
-
-                       for (int i = 0; i < length; i++) {
-                               Object v = createStructure(flatmap, var + '[' + i + ']');
-                               if (v == null)
-                                       break;
-                               ll.add(v);
-                       }
-
-                       if (!ll.isEmpty())
-                               return ll;
-               }
-
-               return null;
-       }
-
-       @SuppressWarnings("unchecked")
-       private static String generateXml(Object o, int indent, boolean escape) {
-               if (o == null)
-                       return null;
-
-               if (o instanceof String)
-                       return escape ? escapeXml((String) o) : (String) o;;
-
-               if (o instanceof Map) {
-                       StringBuilder ss = new StringBuilder();
-                       Map<String, Object> mm = (Map<String, Object>) o;
-                       for (String k : mm.keySet()) {
-                               Object v = mm.get(k);
-                               if (v instanceof String) {
-                                       String s = escape ? escapeXml((String) v) : (String) v;
-                                       ss.append(pad(indent)).append('<').append(k).append('>');
-                                       ss.append(s);
-                                       ss.append("</").append(k).append('>').append('\n');
-                               } else if (v instanceof Map) {
-                                       ss.append(pad(indent)).append('<').append(k).append('>').append('\n');
-                                       ss.append(generateXml(v, indent + 1, escape));
-                                       ss.append(pad(indent)).append("</").append(k).append('>').append('\n');
-                               } else if (v instanceof List) {
-                                       List<Object> ll = (List<Object>) v;
-                                       for (Object o1 : ll) {
-                                               ss.append(pad(indent)).append('<').append(k).append('>').append('\n');
-                                               ss.append(generateXml(o1, indent + 1, escape));
-                                               ss.append(pad(indent)).append("</").append(k).append('>').append('\n');
-                                       }
-                               }
-                       }
-                       return ss.toString();
-               }
-
-               return null;
-       }
-
-       private static String generateJson(Object o, boolean escape) {
-               if (o == null)
-                       return null;
-
-               StringBuilder ss = new StringBuilder();
-               generateJson(ss, o, 0, false, escape);
-               return ss.toString();
-       }
-
-       @SuppressWarnings("unchecked")
-       private static void generateJson(StringBuilder ss, Object o, int indent, boolean padFirst, boolean escape) {
-               if (o instanceof String) {
-                       String s = escape ? escapeJson((String) o) : (String) o;
-                       if (padFirst)
-                               ss.append(pad(indent));
-                       ss.append('"').append(s).append('"');
-                       return;
-               }
-
-               if (o instanceof Map) {
-                       Map<String, Object> mm = (Map<String, Object>) o;
-
-                       if (padFirst)
-                               ss.append(pad(indent));
-                       ss.append("{\n");
-
-                       boolean first = true;
-                       for (String k : mm.keySet()) {
-                               if (!first)
-                                       ss.append(",\n");
-                               first = false;
-
-                               Object v = mm.get(k);
-                               ss.append(pad(indent + 1)).append('"').append(k).append("\": ");
-                               generateJson(ss, v, indent + 1, false, escape);
-                       }
-
-                       ss.append("\n");
-                       ss.append(pad(indent)).append('}');
-
-                       return;
-               }
-
-               if (o instanceof List) {
-                       List<Object> ll = (List<Object>) o;
-
-                       if (padFirst)
-                               ss.append(pad(indent));
-                       ss.append("[\n");
-
-                       boolean first = true;
-                       for (Object o1 : ll) {
-                               if (!first)
-                                       ss.append(",\n");
-                               first = false;
-
-                               generateJson(ss, o1, indent + 1, true, escape);
-                       }
-
-                       ss.append("\n");
-                       ss.append(pad(indent)).append(']');
-               }
-       }
-
-       public static String removeLastCommaJson(String s) {
-               StringBuilder sb = new StringBuilder();
-               int k = 0;
-               int start = 0;
-               while (k < s.length()) {
-                       int i11 = s.indexOf('}', k);
-                       int i12 = s.indexOf(']', k);
-                       int i1 = -1;
-                       if (i11 < 0)
-                               i1 = i12;
-                       else if (i12 < 0)
-                               i1 = i11;
-                       else
-                               i1 = i11 < i12 ? i11 : i12;
-                       if (i1 < 0)
-                               break;
-
-                       int i2 = s.lastIndexOf(',', i1);
-                       if (i2 < 0) {
-                               k = i1 + 1;
-                               continue;
-                       }
-
-                       String between = s.substring(i2 + 1, i1);
-                       if (between.trim().length() > 0) {
-                               k = i1 + 1;
-                               continue;
-                       }
-
-                       sb.append(s.substring(start, i2));
-                       start = i2 + 1;
-                       k = i1 + 1;
-               }
-
-               sb.append(s.substring(start, s.length()));
-
-               return sb.toString();
-       }
-
-       public static String removeEmptyStructJson(String s) {
-               int k = 0;
-               while (k < s.length()) {
-                       boolean curly = true;
-                       int i11 = s.indexOf('{', k);
-                       int i12 = s.indexOf('[', k);
-                       int i1 = -1;
-                       if (i11 < 0) {
-                               i1 = i12;
-                               curly = false;
-                       } else if (i12 < 0)
-                               i1 = i11;
-                       else
-                               if (i11 < i12)
-                                       i1 = i11;
-                               else {
-                                       i1 = i12;
-                                       curly = false;
-                               }
-
-                       if (i1 >= 0) {
-                               int i2 = curly ? s.indexOf('}', i1) : s.indexOf(']', i1);
-                               if (i2 > 0) {
-                                       String value = s.substring(i1 + 1, i2);
-                                       if (value.trim().length() == 0) {
-                                               int i4 = s.lastIndexOf('\n', i1);
-                                               if (i4 < 0)
-                                                       i4 = 0;
-                                               int i5 = s.indexOf('\n', i2);
-                                               if (i5 < 0)
-                                                       i5 = s.length();
-
-                                               s = s.substring(0, i4) + s.substring(i5);
-                                               k = 0;
-                                       } else
-                                               k = i1 + 1;
-                               } else
-                                       break;
-                       } else
-                               break;
-               }
-
-               return s;
-       }
-
-       public static String removeEmptyStructXml(String s) {
-               int k = 0;
-               while (k < s.length()) {
-                       int i1 = s.indexOf('<', k);
-                       if (i1 < 0 || i1 == s.length() - 1)
-                               break;
-
-                       char c1 = s.charAt(i1 + 1);
-                       if (c1 == '?' || c1 == '!') {
-                               k = i1 + 2;
-                               continue;
-                       }
-
-                       int i2 = s.indexOf('>', i1);
-                       if (i2 < 0) {
-                               k = i1 + 1;
-                               continue;
-                       }
-
-                       String closingTag = "</" + s.substring(i1 + 1, i2 + 1);
-                       int i3 = s.indexOf(closingTag, i2 + 1);
-                       if (i3 < 0) {
-                               k = i2 + 1;
-                               continue;
-                       }
-
-                       String value = s.substring(i2 + 1, i3);
-                       if (value.trim().length() > 0) {
-                               k = i2 + 1;
-                               continue;
-                       }
-
-                       int i4 = s.lastIndexOf('\n', i1);
-                       if (i4 < 0)
-                               i4 = 0;
-                       int i5 = s.indexOf('\n', i3);
-                       if (i5 < 0)
-                               i5 = s.length();
-
-                       s = s.substring(0, i4) + s.substring(i5);
-                       k = 0;
-               }
-
-               return s;
-       }
-
-       private static String escapeXml(String v) {
-               String s = v.replaceAll("&", "&amp;");
-               s = s.replaceAll("<", "&lt;");
-               s = s.replaceAll("'", "&apos;");
-               s = s.replaceAll("\"", "&quot;");
-               s = s.replaceAll(">", "&gt;");
-               return s;
-       }
-
-       private static String escapeJson(String v) {
-               String s = v.replaceAll("\\\\", "\\\\\\\\");
-               s = s.replaceAll("\"", "\\\\\"");
-               return s;
-       }
-
-       private static String pad(int n) {
-               String s = "";
-               for (int i = 0; i < n; i++)
-                       s += '\t';
-               return s;
-       }
+    private static final Logger log = LoggerFactory.getLogger(XmlJsonUtil.class);
+
+    public static String getXml(Map<String, String> varmap, String var) {
+        boolean escape = true;
+        if (var.startsWith("'")) {
+            var = var.substring(1);
+            escape = false;
+        }
+
+        Object o = createStructure(varmap, var);
+        return generateXml(o, 0, escape);
+    }
+
+    public static String getJson(Map<String, String> varmap, String var) {
+        boolean escape = true;
+        if (var.startsWith("'")) {
+            var = var.substring(1);
+            escape = false;
+        }
+
+        Object o = createStructure(varmap, var);
+        return generateJson(o, escape);
+    }
+
+    private static Object createStructure(Map<String, String> flatmap, String var) {
+        if (flatmap.containsKey(var)) {
+            if (var.endsWith("_length") || var.endsWith("].key"))
+                return null;
+            return flatmap.get(var);
+        }
+
+        Map<String, Object> mm = new HashMap<>();
+        for (String k : flatmap.keySet())
+            if (k.startsWith(var + ".")) {
+                int i1 = k.indexOf('.', var.length() + 1);
+                int i2 = k.indexOf('[', var.length() + 1);
+                int i3 = k.length();
+                if (i1 > 0 && i1 < i3)
+                    i3 = i1;
+                if (i2 > 0 && i2 < i3)
+                    i3 = i2;
+                String k1 = k.substring(var.length() + 1, i3);
+                String var1 = k.substring(0, i3);
+                if (!mm.containsKey(k1)) {
+                    Object str = createStructure(flatmap, var1);
+                    if (str != null && (!(str instanceof String) || ((String) str).trim().length() > 0))
+                        mm.put(k1, str);
+                }
+            }
+        if (!mm.isEmpty())
+            return mm;
+
+        boolean arrayFound = false;
+        for (String k : flatmap.keySet())
+            if (k.startsWith(var + "[")) {
+                arrayFound = true;
+                break;
+            }
+
+        if (arrayFound) {
+            List<Object> ll = new ArrayList<>();
+
+            int length = Integer.MAX_VALUE;
+            String lengthStr = flatmap.get(var + "_length");
+            if (lengthStr != null) {
+                try {
+                    length = Integer.parseInt(lengthStr);
+                } catch (Exception e) {
+                    log.warn("Invalid number for " + var + "_length:" + lengthStr);
+                }
+            }
+
+            for (int i = 0; i < length; i++) {
+                Object v = createStructure(flatmap, var + '[' + i + ']');
+                if (v == null)
+                    break;
+                ll.add(v);
+            }
+
+            if (!ll.isEmpty())
+                return ll;
+        }
+
+        return null;
+    }
+
+    @SuppressWarnings("unchecked")
+    private static String generateXml(Object o, int indent, boolean escape) {
+        if (o == null)
+            return null;
+
+        if (o instanceof String)
+            return escape ? escapeXml((String) o) : (String) o;;
+
+        if (o instanceof Map) {
+            StringBuilder ss = new StringBuilder();
+            Map<String, Object> mm = (Map<String, Object>) o;
+            for (String k : mm.keySet()) {
+                Object v = mm.get(k);
+                if (v instanceof String) {
+                    String s = escape ? escapeXml((String) v) : (String) v;
+                    ss.append(pad(indent)).append('<').append(k).append('>');
+                    ss.append(s);
+                    ss.append("</").append(k).append('>').append('\n');
+                } else if (v instanceof Map) {
+                    ss.append(pad(indent)).append('<').append(k).append('>').append('\n');
+                    ss.append(generateXml(v, indent + 1, escape));
+                    ss.append(pad(indent)).append("</").append(k).append('>').append('\n');
+                } else if (v instanceof List) {
+                    List<Object> ll = (List<Object>) v;
+                    for (Object o1 : ll) {
+                        ss.append(pad(indent)).append('<').append(k).append('>').append('\n');
+                        ss.append(generateXml(o1, indent + 1, escape));
+                        ss.append(pad(indent)).append("</").append(k).append('>').append('\n');
+                    }
+                }
+            }
+            return ss.toString();
+        }
+
+        return null;
+    }
+
+    private static String generateJson(Object o, boolean escape) {
+        if (o == null)
+            return null;
+
+        StringBuilder ss = new StringBuilder();
+        generateJson(ss, o, 0, false, escape);
+        return ss.toString();
+    }
+
+    @SuppressWarnings("unchecked")
+    private static void generateJson(StringBuilder ss, Object o, int indent, boolean padFirst, boolean escape) {
+        if (o instanceof String) {
+            String s = escape ? escapeJson((String) o) : (String) o;
+            if (padFirst)
+                ss.append(pad(indent));
+            ss.append('"').append(s).append('"');
+            return;
+        }
+
+        if (o instanceof Map) {
+            Map<String, Object> mm = (Map<String, Object>) o;
+
+            if (padFirst)
+                ss.append(pad(indent));
+            ss.append("{\n");
+
+            boolean first = true;
+            for (String k : mm.keySet()) {
+                if (!first)
+                    ss.append(",\n");
+                first = false;
+
+                Object v = mm.get(k);
+                ss.append(pad(indent + 1)).append('"').append(k).append("\": ");
+                generateJson(ss, v, indent + 1, false, escape);
+            }
+
+            ss.append("\n");
+            ss.append(pad(indent)).append('}');
+
+            return;
+        }
+
+        if (o instanceof List) {
+            List<Object> ll = (List<Object>) o;
+
+            if (padFirst)
+                ss.append(pad(indent));
+            ss.append("[\n");
+
+            boolean first = true;
+            for (Object o1 : ll) {
+                if (!first)
+                    ss.append(",\n");
+                first = false;
+
+                generateJson(ss, o1, indent + 1, true, escape);
+            }
+
+            ss.append("\n");
+            ss.append(pad(indent)).append(']');
+        }
+    }
+
+    public static String removeLastCommaJson(String s) {
+        StringBuilder sb = new StringBuilder();
+        int k = 0;
+        int start = 0;
+        while (k < s.length()) {
+            int i11 = s.indexOf('}', k);
+            int i12 = s.indexOf(']', k);
+            int i1 = -1;
+            if (i11 < 0)
+                i1 = i12;
+            else if (i12 < 0)
+                i1 = i11;
+            else
+                i1 = i11 < i12 ? i11 : i12;
+            if (i1 < 0)
+                break;
+
+            int i2 = s.lastIndexOf(',', i1);
+            if (i2 < 0) {
+                k = i1 + 1;
+                continue;
+            }
+
+            String between = s.substring(i2 + 1, i1);
+            if (between.trim().length() > 0) {
+                k = i1 + 1;
+                continue;
+            }
+
+            sb.append(s.substring(start, i2));
+            start = i2 + 1;
+            k = i1 + 1;
+        }
+
+        sb.append(s.substring(start, s.length()));
+
+        return sb.toString();
+    }
+
+    public static String removeEmptyStructJson(String s) {
+        int k = 0;
+        while (k < s.length()) {
+            boolean curly = true;
+            int i11 = s.indexOf('{', k);
+            int i12 = s.indexOf('[', k);
+            int i1 = -1;
+            if (i11 < 0) {
+                i1 = i12;
+                curly = false;
+            } else if (i12 < 0)
+                i1 = i11;
+            else
+                if (i11 < i12)
+                    i1 = i11;
+                else {
+                    i1 = i12;
+                    curly = false;
+                }
+
+            if (i1 >= 0) {
+                int i2 = curly ? s.indexOf('}', i1) : s.indexOf(']', i1);
+                if (i2 > 0) {
+                    String value = s.substring(i1 + 1, i2);
+                    if (value.trim().length() == 0) {
+                        int i4 = s.lastIndexOf('\n', i1);
+                        if (i4 < 0)
+                            i4 = 0;
+                        int i5 = s.indexOf('\n', i2);
+                        if (i5 < 0)
+                            i5 = s.length();
+
+                        s = s.substring(0, i4) + s.substring(i5);
+                        k = 0;
+                    } else
+                        k = i1 + 1;
+                } else
+                    break;
+            } else
+                break;
+        }
+
+        return s;
+    }
+
+    public static String removeEmptyStructXml(String s) {
+        int k = 0;
+        while (k < s.length()) {
+            int i1 = s.indexOf('<', k);
+            if (i1 < 0 || i1 == s.length() - 1)
+                break;
+
+            char c1 = s.charAt(i1 + 1);
+            if (c1 == '?' || c1 == '!') {
+                k = i1 + 2;
+                continue;
+            }
+
+            int i2 = s.indexOf('>', i1);
+            if (i2 < 0) {
+                k = i1 + 1;
+                continue;
+            }
+
+            String closingTag = "</" + s.substring(i1 + 1, i2 + 1);
+            int i3 = s.indexOf(closingTag, i2 + 1);
+            if (i3 < 0) {
+                k = i2 + 1;
+                continue;
+            }
+
+            String value = s.substring(i2 + 1, i3);
+            if (value.trim().length() > 0) {
+                k = i2 + 1;
+                continue;
+            }
+
+            int i4 = s.lastIndexOf('\n', i1);
+            if (i4 < 0)
+                i4 = 0;
+            int i5 = s.indexOf('\n', i3);
+            if (i5 < 0)
+                i5 = s.length();
+
+            s = s.substring(0, i4) + s.substring(i5);
+            k = 0;
+        }
+
+        return s;
+    }
+
+    private static String escapeXml(String v) {
+        String s = v.replaceAll("&", "&amp;");
+        s = s.replaceAll("<", "&lt;");
+        s = s.replaceAll("'", "&apos;");
+        s = s.replaceAll("\"", "&quot;");
+        s = s.replaceAll(">", "&gt;");
+        return s;
+    }
+
+    private static String escapeJson(String v) {
+        String s = v.replaceAll("\\\\", "\\\\\\\\");
+        s = s.replaceAll("\"", "\\\\\"");
+        return s;
+    }
+
+    private static String pad(int n) {
+        String s = "";
+        for (int i = 0; i < n; i++)
+            s += '\t';
+        return s;
+    }
 }
index 8f3febc..85c9dc0 100644 (file)
@@ -39,122 +39,122 @@ import org.xml.sax.helpers.DefaultHandler;
 
 public class XmlParser {
 
-       private static final Logger log = LoggerFactory.getLogger(XmlParser.class);
-
-       public static Map<String, String> convertToProperties(String s, Set<String> listNameList) {
-               Handler handler = new Handler(listNameList);
-               try {
-                       SAXParserFactory factory = SAXParserFactory.newInstance();
-                       SAXParser saxParser = factory.newSAXParser();
-                       InputStream in = new ByteArrayInputStream(s.getBytes());
-                       saxParser.parse(in, handler);
-               } catch (Exception e) {
-                       e.printStackTrace();
-               }
-
-               return handler.getProperties();
-       }
-
-       private static class Handler extends DefaultHandler {
-
-               private Set<String> listNameList;
-
-               private Map<String, String> properties = new HashMap<>();
-
-               public Map<String, String> getProperties() {
-                       return properties;
-               }
-
-               public Handler(Set<String> listNameList) {
-                       super();
-                       this.listNameList = listNameList;
-                       if (this.listNameList == null)
-                               this.listNameList = new HashSet<String>();
-               }
-
-               String currentName = "";
-               String currentValue = "";
-
-               @Override
-               public void startElement(String uri, String localName, String qName, Attributes attributes)
-                       throws SAXException {
-                       super.startElement(uri, localName, qName, attributes);
-
-                       String name = localName;
-                       if (name == null || name.trim().length() == 0)
-                               name = qName;
-                       int i2 = name.indexOf(':');
-                       if (i2 >= 0)
-                               name = name.substring(i2 + 1);
-
-                       if (currentName.length() > 0)
-                               currentName += '.';
-                       currentName += name;
-
-                       String listName = removeIndexes(currentName);
-
-                       if (listNameList.contains(listName)) {
-                               int len = getInt(properties, currentName + "_length");
-                               properties.put(currentName + "_length", String.valueOf(len + 1));
-                               currentName += "[" + len + "]";
-                       }
-               }
-
-               @Override
-               public void endElement(String uri, String localName, String qName) throws SAXException {
-                       super.endElement(uri, localName, qName);
-
-                       String name = localName;
-                       if (name == null || name.trim().length() == 0)
-                               name = qName;
-                       int i2 = name.indexOf(':');
-                       if (i2 >= 0)
-                               name = name.substring(i2 + 1);
-
-                       if (currentValue.trim().length() > 0) {
-                               currentValue = currentValue.trim();
-                               properties.put(currentName, currentValue);
-
-                               log.info("Added property: " + currentName + ": " + currentValue);
-
-                               currentValue = "";
-                       }
-
-                       int i1 = currentName.lastIndexOf("." + name);
-                       if (i1 <= 0)
-                               currentName = "";
-                       else
-                               currentName = currentName.substring(0, i1);
-               }
-
-               @Override
-               public void characters(char[] ch, int start, int length) throws SAXException {
-                       super.characters(ch, start, length);
-
-                       String value = new String(ch, start, length);
-                       currentValue += value;
-               }
-
-               private static int getInt(Map<String, String> mm, String name) {
-                       String s = mm.get(name);
-                       if (s == null)
-                               return 0;
-                       return Integer.parseInt(s);
-               }
-
-               private String removeIndexes(String currentName) {
-                       String s = "";
-                       boolean add = true;
-                       for (int i = 0; i < currentName.length(); i++) {
-                               char c = currentName.charAt(i);
-                               if (c == '[')
-                                       add = false;
-                               else if (c == ']')
-                                       add = true;
-                               else if (add)
-                                       s += c;
-                       }
-                       return s;
-               }
-       }
+    private static final Logger log = LoggerFactory.getLogger(XmlParser.class);
+
+    public static Map<String, String> convertToProperties(String s, Set<String> listNameList) {
+        Handler handler = new Handler(listNameList);
+        try {
+            SAXParserFactory factory = SAXParserFactory.newInstance();
+            SAXParser saxParser = factory.newSAXParser();
+            InputStream in = new ByteArrayInputStream(s.getBytes());
+            saxParser.parse(in, handler);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+        return handler.getProperties();
+    }
+
+    private static class Handler extends DefaultHandler {
+
+        private Set<String> listNameList;
+
+        private Map<String, String> properties = new HashMap<>();
+
+        public Map<String, String> getProperties() {
+            return properties;
+        }
+
+        public Handler(Set<String> listNameList) {
+            super();
+            this.listNameList = listNameList;
+            if (this.listNameList == null)
+                this.listNameList = new HashSet<String>();
+        }
+
+        String currentName = "";
+        String currentValue = "";
+
+        @Override
+        public void startElement(String uri, String localName, String qName, Attributes attributes)
+                throws SAXException {
+            super.startElement(uri, localName, qName, attributes);
+
+            String name = localName;
+            if (name == null || name.trim().length() == 0)
+                name = qName;
+            int i2 = name.indexOf(':');
+            if (i2 >= 0)
+                name = name.substring(i2 + 1);
+
+            if (currentName.length() > 0)
+                currentName += '.';
+            currentName += name;
+
+            String listName = removeIndexes(currentName);
+
+            if (listNameList.contains(listName)) {
+                int len = getInt(properties, currentName + "_length");
+                properties.put(currentName + "_length", String.valueOf(len + 1));
+                currentName += "[" + len + "]";
+            }
+        }
+
+        @Override
+        public void endElement(String uri, String localName, String qName) throws SAXException {
+            super.endElement(uri, localName, qName);
+
+            String name = localName;
+            if (name == null || name.trim().length() == 0)
+                name = qName;
+            int i2 = name.indexOf(':');
+            if (i2 >= 0)
+                name = name.substring(i2 + 1);
+
+            if (currentValue.trim().length() > 0) {
+                currentValue = currentValue.trim();
+                properties.put(currentName, currentValue);
+
+                log.info("Added property: " + currentName + ": " + currentValue);
+
+                currentValue = "";
+            }
+
+            int i1 = currentName.lastIndexOf("." + name);
+            if (i1 <= 0)
+                currentName = "";
+            else
+                currentName = currentName.substring(0, i1);
+        }
+
+        @Override
+        public void characters(char[] ch, int start, int length) throws SAXException {
+            super.characters(ch, start, length);
+
+            String value = new String(ch, start, length);
+            currentValue += value;
+        }
+
+        private static int getInt(Map<String, String> mm, String name) {
+            String s = mm.get(name);
+            if (s == null)
+                return 0;
+            return Integer.parseInt(s);
+        }
+
+        private String removeIndexes(String currentName) {
+            String s = "";
+            boolean add = true;
+            for (int i = 0; i < currentName.length(); i++) {
+                char c = currentName.charAt(i);
+                if (c == '[')
+                    add = false;
+                else if (c == ']')
+                    add = true;
+                else if (add)
+                    s += c;
+            }
+            return s;
+        }
+    }
 }
index 25ce012..8785062 100644 (file)
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://www.springframework.org/schema/beans
         http://www.springframework.org/schema/beans/spring-beans.xsd">
-        
-       <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
-               <property name="locations">
+
+    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
+            <property name="locations">
             <list>
                 <value>file:${SDNC_CONFIG_DIR}/ueb.properties</value>
                 <value>file:${SDNC_CONFIG_DIR}/dme2.properties</value>
             </list>
-        </property> 
-               <property name="ignoreResourceNotFound" value="true" />
-               <property name="ignoreUnresolvablePlaceholders" value="true" />
-       </bean>
+        </property>
+        <property name="ignoreResourceNotFound" value="true" />
+        <property name="ignoreUnresolvablePlaceholders" value="true" />
+    </bean>
 
-       <!-- context:property-placeholder location="file:${SDNC_CONFIG_DIR}/ueb.properties" /-->
+    <!-- context:property-placeholder location="file:${SDNC_CONFIG_DIR}/ueb.properties" /-->
 
-       <bean id="restapiCallNode" class="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode">
-               <property name="uebServers" value="${servers}" />
-               <property name="retryPolicyStore" ref="retryPolicyStore"/>
-       </bean>
+    <bean id="restapiCallNode" class="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode">
+        <property name="uebServers" value="${servers}" />
+        <property name="retryPolicyStore" ref="retryPolicyStore"/>
+    </bean>
 
-       <bean id="retryPolicyStore" class="org.onap.ccsdk.sli.plugins.restapicall.RetryPolicyStore">
-               <property name="proxyServers" value="${proxyUrl}" />
-       </bean>
+    <bean id="retryPolicyStore" class="org.onap.ccsdk.sli.plugins.restapicall.RetryPolicyStore">
+        <property name="proxyServers" value="${proxyUrl}" />
+    </bean>
 </beans>
index 8f34005..2f1e4db 100644 (file)
   -->
 
 <beans:beans xmlns="http://www.springframework.org/schema/osgi"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans"
-       xsi:schemaLocation="http://www.springframework.org/schema/osgi  
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans"
+    xsi:schemaLocation="http://www.springframework.org/schema/osgi
        http://www.springframework.org/schema/osgi/spring-osgi.xsd
-       http://www.springframework.org/schema/beans   
+       http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd">
 
-       <service ref="restapiCallNode" interface="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" />
+    <service ref="restapiCallNode" interface="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" />
 
 </beans:beans>
index 4b1aa03..6ef6be7 100644 (file)
  */
 
 {
-       "event":{
-               "header":{
-                       "eventSource":"sdn-c"
-               },
-               "body":
+    "event":{
+        "header":{
+            "eventSource":"sdn-c"
+        },
+        "body":
 
 ${rootVarName}
 
-       }
+    }
 }
index d48c41c..73a61b6 100644 (file)
  * ============LICENSE_END=========================================================
  */
 
-{ 
-"input": 
-            { 
-                       "sdnc-request-header":{
-                               "svc-request-id":       ${service-topology-operation-input.sdnc-request-header.svc-request-id},
-                               "svc-notification-url": ${service-topology-operation-input.sdnc-request-header.svc-notification-url}
-                       },
-                       "request-information":{
-                               "request-id":   ${service-topology-operation-input.request-information.request-id},
-                               "request-action":       ${service-topology-operation-input.request-information.request-action},
-                               "request-sub-action":   ${service-topology-operation-input.request-information.request-sub-action},
-                               "source":       ${service-topology-operation-input.request-information.source},
-                               "notification-url":     ${service-topology-operation-input.request-information.notification-url}
-                       },
-                       "service-information":{
-                               "service-type": ${service-topology-operation-input.service-information.service-type},
-                               "service-instance-id":  ${service-topology-operation-input.service-information.service-instance-id},
-                               "subscriber-name":      ${service-topology-operation-input.service-information.subscriber-name},
-                               "subscriber-global-id": ${service-topology-operation-input.service-information.subscriber-global-id}
-                       }
+{
+"input":
+            {
+            "sdnc-request-header":{
+                "svc-request-id":      ${service-topology-operation-input.sdnc-request-header.svc-request-id},
+                "svc-notification-url":        ${service-topology-operation-input.sdnc-request-header.svc-notification-url}
+            },
+            "request-information":{
+                "request-id":  ${service-topology-operation-input.request-information.request-id},
+                "request-action":      ${service-topology-operation-input.request-information.request-action},
+                "request-sub-action":  ${service-topology-operation-input.request-information.request-sub-action},
+                "source":      ${service-topology-operation-input.request-information.source},
+                "notification-url":    ${service-topology-operation-input.request-information.notification-url}
+            },
+            "service-information":{
+                "service-type":        ${service-topology-operation-input.service-information.service-type},
+                "service-instance-id": ${service-topology-operation-input.service-information.service-instance-id},
+                "subscriber-name":     ${service-topology-operation-input.service-information.subscriber-name},
+                "subscriber-global-id": ${service-topology-operation-input.service-information.subscriber-global-id}
+            }
 }
-            
+
index 5c2b9ad..aea0625 100644 (file)
@@ -37,7 +37,7 @@
          <service-type>${service-topology-operation-input.service-information.service-type}</service-type>
          <subscriber-global-id>${service-topology-operation-input.service-information.subscriber-global-id}</subscriber-global-id>
          <subscriber-name>${service-topology-operation-input.service-information.subscriber-name}</subscriber-name>
-       </service-information>
+    </service-information>
         ${'northbound-anyData}
     </${northbound-Container}>
    </input>
index 107e8c8..dbca5ad 100644 (file)
@@ -35,31 +35,33 @@ import org.slf4j.LoggerFactory;
 
 public class TestJsonParser {
 
-       private static final Logger log = LoggerFactory.getLogger(TestJsonParser.class);
+    private static final Logger log = LoggerFactory.getLogger(TestJsonParser.class);
 
-       @Test
-       public void test() throws Exception {
-               BufferedReader in = new BufferedReader(new InputStreamReader(ClassLoader.getSystemResourceAsStream("test.json")));
-               String ss = "";
-               String line = null;
-               while ((line = in.readLine()) != null)
-                       ss += line + '\n';
+    @Test
+    public void test() throws Exception {
+        BufferedReader in = new BufferedReader(
+                new InputStreamReader(ClassLoader.getSystemResourceAsStream("test.json"))
+        );
+        String ss = "";
+        String line = null;
+        while ((line = in.readLine()) != null)
+            ss += line + '\n';
 
-               Map<String, String> mm = JsonParser.convertToProperties(ss);
+        Map<String, String> mm = JsonParser.convertToProperties(ss);
 
-               logProperties(mm);
+        logProperties(mm);
 
-               in.close();
-       }
+        in.close();
+    }
 
-       private void logProperties(Map<String, String> mm) {
-               List<String> ll = new ArrayList<>();
-               for (Object o : mm.keySet())
-                       ll.add((String) o);
-               Collections.sort(ll);
+    private void logProperties(Map<String, String> mm) {
+        List<String> ll = new ArrayList<>();
+        for (Object o : mm.keySet())
+            ll.add((String) o);
+        Collections.sort(ll);
 
-               log.info("Properties:");
-               for (String name : ll)
-                       log.info("--- " + name + ": " + mm.get(name));
-       }
+        log.info("Properties:");
+        for (String name : ll)
+            log.info("--- " + name + ": " + mm.get(name));
+    }
 }
index 5b03bff..ff97148 100644 (file)
@@ -32,61 +32,61 @@ import org.slf4j.LoggerFactory;
 
 public class TestRestapiCallNode {
 
-       private static final Logger log = LoggerFactory.getLogger(TestRestapiCallNode.class);
+    private static final Logger log = LoggerFactory.getLogger(TestRestapiCallNode.class);
 
 
-       @Test
-       public void testDelete() throws Exception {
-               SvcLogicContext ctx = new SvcLogicContext();
+    @Test
+    public void testDelete() throws Exception {
+        SvcLogicContext ctx = new SvcLogicContext();
 
-               Map<String, String> p = new HashMap<String, String>();
-               p.put("restapiUrl", "https://echo.getpostman.com/delete");
-               p.put("restapiUser", "user1");
-               p.put("restapiPassword", "pwd1");
-               p.put("httpMethod", "delete");
-               p.put("skipSending", "true");
+        Map<String, String> p = new HashMap<String, String>();
+        p.put("restapiUrl", "https://echo.getpostman.com/delete");
+        p.put("restapiUser", "user1");
+        p.put("restapiPassword", "pwd1");
+        p.put("httpMethod", "delete");
+        p.put("skipSending", "true");
 
-               RestapiCallNode rcn = new RestapiCallNode();
-               rcn.sendRequest(p, ctx);
-       }
+        RestapiCallNode rcn = new RestapiCallNode();
+        rcn.sendRequest(p, ctx);
+    }
 
-       @Test
-       public void testJsonTemplate() throws Exception {
-               SvcLogicContext ctx = new SvcLogicContext();
-               ctx.setAttribute("tmp.sdn-circuit-req-row_length", "3");
-               ctx.setAttribute("tmp.sdn-circuit-req-row[0].source-uid", "APIDOC-123");
-               ctx.setAttribute("tmp.sdn-circuit-req-row[0].action", "delete");
-               ctx.setAttribute("tmp.sdn-circuit-req-row[0].request-timestamp", "2016-09-09 16:30:35.0");
-               ctx.setAttribute("tmp.sdn-circuit-req-row[0].request-status", "New");
-               ctx.setAttribute("tmp.sdn-circuit-req-row[0].processing-status", "New");
-               ctx.setAttribute("tmp.sdn-circuit-req-row[0].service-clfi", "testClfi1");
-               ctx.setAttribute("tmp.sdn-circuit-req-row[0].clci", "clci");
-               ctx.setAttribute("tmp.sdn-circuit-req-row[1].source-uid", "APIDOC-123");
-               ctx.setAttribute("tmp.sdn-circuit-req-row[1].action", "delete");
-               ctx.setAttribute("tmp.sdn-circuit-req-row[1].request-timestamp", "2016-09-09 16:30:35.0");
-               ctx.setAttribute("tmp.sdn-circuit-req-row[1].request-status", "New");
-               ctx.setAttribute("tmp.sdn-circuit-req-row[1].processing-status", "New");
-               ctx.setAttribute("tmp.sdn-circuit-req-row[1].service-clfi", "testClfi1");
-               ctx.setAttribute("tmp.sdn-circuit-req-row[1].clci", "clci");
-               ctx.setAttribute("tmp.sdn-circuit-req-row[2].source-uid", "APIDOC-123");
-               ctx.setAttribute("tmp.sdn-circuit-req-row[2].action", "delete");
-               ctx.setAttribute("tmp.sdn-circuit-req-row[2].request-timestamp", "2016-09-09 16:30:35.0");
-               ctx.setAttribute("tmp.sdn-circuit-req-row[2].request-status", "New");
-               ctx.setAttribute("tmp.sdn-circuit-req-row[2].processing-status", "New");
-               ctx.setAttribute("tmp.sdn-circuit-req-row[2].service-clfi", "testClfi1");
-               ctx.setAttribute("tmp.sdn-circuit-req-row[2].clci", "clci");
+    @Test
+    public void testJsonTemplate() throws Exception {
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.sdn-circuit-req-row_length", "3");
+        ctx.setAttribute("tmp.sdn-circuit-req-row[0].source-uid", "APIDOC-123");
+        ctx.setAttribute("tmp.sdn-circuit-req-row[0].action", "delete");
+        ctx.setAttribute("tmp.sdn-circuit-req-row[0].request-timestamp", "2016-09-09 16:30:35.0");
+        ctx.setAttribute("tmp.sdn-circuit-req-row[0].request-status", "New");
+        ctx.setAttribute("tmp.sdn-circuit-req-row[0].processing-status", "New");
+        ctx.setAttribute("tmp.sdn-circuit-req-row[0].service-clfi", "testClfi1");
+        ctx.setAttribute("tmp.sdn-circuit-req-row[0].clci", "clci");
+        ctx.setAttribute("tmp.sdn-circuit-req-row[1].source-uid", "APIDOC-123");
+        ctx.setAttribute("tmp.sdn-circuit-req-row[1].action", "delete");
+        ctx.setAttribute("tmp.sdn-circuit-req-row[1].request-timestamp", "2016-09-09 16:30:35.0");
+        ctx.setAttribute("tmp.sdn-circuit-req-row[1].request-status", "New");
+        ctx.setAttribute("tmp.sdn-circuit-req-row[1].processing-status", "New");
+        ctx.setAttribute("tmp.sdn-circuit-req-row[1].service-clfi", "testClfi1");
+        ctx.setAttribute("tmp.sdn-circuit-req-row[1].clci", "clci");
+        ctx.setAttribute("tmp.sdn-circuit-req-row[2].source-uid", "APIDOC-123");
+        ctx.setAttribute("tmp.sdn-circuit-req-row[2].action", "delete");
+        ctx.setAttribute("tmp.sdn-circuit-req-row[2].request-timestamp", "2016-09-09 16:30:35.0");
+        ctx.setAttribute("tmp.sdn-circuit-req-row[2].request-status", "New");
+        ctx.setAttribute("tmp.sdn-circuit-req-row[2].processing-status", "New");
+        ctx.setAttribute("tmp.sdn-circuit-req-row[2].service-clfi", "testClfi1");
+        ctx.setAttribute("tmp.sdn-circuit-req-row[2].clci", "clci");
 
-               Map<String, String> p = new HashMap<String, String>();
-               p.put("templateFileName", "src/test/resources/test-template.json");
-               p.put("restapiUrl", "http://echo.getpostman.com");
-               p.put("restapiUser", "user1");
-               p.put("restapiPassword", "abc123");
-               p.put("format", "json");
-               p.put("httpMethod", "post");
-               p.put("responsePrefix", "response");
-               p.put("skipSending", "true");
+        Map<String, String> p = new HashMap<String, String>();
+        p.put("templateFileName", "src/test/resources/test-template.json");
+        p.put("restapiUrl", "http://echo.getpostman.com");
+        p.put("restapiUser", "user1");
+        p.put("restapiPassword", "abc123");
+        p.put("format", "json");
+        p.put("httpMethod", "post");
+        p.put("responsePrefix", "response");
+        p.put("skipSending", "true");
 
-               RestapiCallNode rcn = new RestapiCallNode();
-               rcn.sendRequest(p, ctx);
-       }
+        RestapiCallNode rcn = new RestapiCallNode();
+        rcn.sendRequest(p, ctx);
+    }
 }
index ad1c34e..579d194 100644 (file)
@@ -40,57 +40,98 @@ public class TestXmlJsonUtil {
         Map<String, String> mm = new HashMap<>();
         mm.put("service-data.vnf-config-parameters-list.vnf-config-parameters[0].vnf-type", "N-SBG");
         mm.put("service-data.service-information.service-instance-id", "someinstance001");
-        mm.put("service-data.vnf-config-parameters-list.vnf-config-parameters[0].dns-server-ip-address", "10.11.12.13");
-        mm.put("service-data.vnf-config-parameters-list.vnf-config-parameters[0].escf-domain-name", "hclab.atttest.com");
-        mm.put("service-data.vnf-config-parameters-list.vnf-config-parameters[0].snmp-target-v3_length", "2");
-        mm.put("service-data.vnf-config-parameters-list.vnf-config-parameters[0].snmp-target-v3[0].snmp-target-v3-id", "1");
-        mm.put("service-data.vnf-config-parameters-list.vnf-config-parameters[0].snmp-target-v3[0].snmp-target-ip-address", "127.0.0.1");
-        mm.put("service-data.vnf-config-parameters-list.vnf-config-parameters[0].snmp-target-v3[0].snmp-security-level", "NO_AUTH_NO_PRIV");
-        mm.put("service-data.vnf-config-parameters-list.vnf-config-parameters[0].snmp-target-v3[1].snmp-target-v3-id", "2");
-        mm.put("service-data.vnf-config-parameters-list.vnf-config-parameters[0].snmp-target-v3[1].snmp-target-ip-address", "192.168.1.8");
-        mm.put("service-data.vnf-config-parameters-list.vnf-config-parameters[0].snmp-target-v3[1].snmp-security-level", "NO_AUTH_NO_PRIV");
-        mm.put("service-data.vnf-config-parameters-list.vnf-config-parameters[0].dns-ip-address-1", "2001:1890:1001:2224::1");
-        mm.put("service-data.vnf-config-parameters-list.vnf-config-parameters[0].dns-ip-address-2", "2001:1890:1001:2424::1");
-        mm.put("service-data.vnf-config-parameters-list.vnf-config-parameters[0].diameter-rf-realm-name", "uvp.els-an.att.net");
-        mm.put("service-data.vnf-config-parameters-list.vnf-config-parameters[0].diameter-rf-peer-ip-address", "192.168.1.66");
-        mm.put("service-data.vnf-config-parameters-list.vnf-config-parameters[0].bgf-controller-ip-address", "192.168.1.186");
-        mm.put("service-data.vnf-config-parameters-list.vnf-config-parameters[0].bgf-control-link-name", "mg3/69@192.168.1.226");
-        mm.put("service-data.vnf-config-parameters-list.vnf-config-parameters[0].rf-interface-nexthop-ip-address", "10.111.108.150");
-        mm.put("service-data.vnf-config-parameters-list.vnf-config-parameters[0].rf-mated-pair-ip-address", "10.111.108.146");
+        mm.put("service-data.vnf-config-parameters-list." +
+                "vnf-config-parameters[0].dns-server-ip-address", "10.11.12.13");
+        mm.put("service-data.vnf-config-parameters-list." +
+                "vnf-config-parameters[0].escf-domain-name", "hclab.atttest.com");
+        mm.put("service-data.vnf-config-parameters-list." +
+                "vnf-config-parameters[0].snmp-target-v3_length", "2");
+        mm.put("service-data.vnf-config-parameters-list." +
+                "vnf-config-parameters[0].snmp-target-v3[0].snmp-target-v3-id", "1");
+        mm.put("service-data.vnf-config-parameters-list." +
+                "vnf-config-parameters[0].snmp-target-v3[0].snmp-target-ip-address", "127.0.0.1");
+        mm.put("service-data.vnf-config-parameters-list." +
+                "vnf-config-parameters[0].snmp-target-v3[0].snmp-security-level", "NO_AUTH_NO_PRIV");
+        mm.put("service-data.vnf-config-parameters-list." +
+                "vnf-config-parameters[0].snmp-target-v3[1].snmp-target-v3-id", "2");
+        mm.put("service-data.vnf-config-parameters-list." +
+                "vnf-config-parameters[0].snmp-target-v3[1].snmp-target-ip-address", "192.168.1.8");
+        mm.put("service-data.vnf-config-parameters-list." +
+                "vnf-config-parameters[0].snmp-target-v3[1].snmp-security-level", "NO_AUTH_NO_PRIV");
+        mm.put("service-data.vnf-config-parameters-list." +
+                "vnf-config-parameters[0].dns-ip-address-1", "2001:1890:1001:2224::1");
+        mm.put("service-data.vnf-config-parameters-list." +
+                "vnf-config-parameters[0].dns-ip-address-2", "2001:1890:1001:2424::1");
+        mm.put("service-data.vnf-config-parameters-list." +
+                "vnf-config-parameters[0].diameter-rf-realm-name", "uvp.els-an.att.net");
+        mm.put("service-data.vnf-config-parameters-list." +
+                "vnf-config-parameters[0].diameter-rf-peer-ip-address", "192.168.1.66");
+        mm.put("service-data.vnf-config-parameters-list." +
+                "vnf-config-parameters[0].bgf-controller-ip-address", "192.168.1.186");
+        mm.put("service-data.vnf-config-parameters-list." +
+                "vnf-config-parameters[0].bgf-control-link-name", "mg3/69@192.168.1.226");
+        mm.put("service-data.vnf-config-parameters-list." +
+                "vnf-config-parameters[0].rf-interface-nexthop-ip-address", "10.111.108.150");
+        mm.put("service-data.vnf-config-parameters-list." +
+                "vnf-config-parameters[0].rf-mated-pair-ip-address", "10.111.108.146");
 
         mm.put("service-data.vnf-config-parameters-list.vnf-config-parameters[0].access-net-pcscf_length", "4");
 
-        mm.put("service-data.vnf-config-parameters-list.vnf-config-parameters[0].access-net-pcscf[0].network-name", "UvpbUgnAccess1");
-        mm.put("service-data.vnf-config-parameters-list.vnf-config-parameters[0].access-net-pcscf[0].sip-pa-termination-ip-address", "10.111.108.146");
+        mm.put("service-data.vnf-config-parameters-list." +
+                "vnf-config-parameters[0].access-net-pcscf[0].network-name", "UvpbUgnAccess1");
+        mm.put("service-data.vnf-config-parameters-list." +
+                "vnf-config-parameters[0].access-net-pcscf[0].sip-pa-termination-ip-address", "10.111.108.146");
 
-        mm.put("service-data.vnf-config-parameters-list.vnf-config-parameters[0].access-net-pcscf[1].network-name", "MIS");
-        mm.put("service-data.vnf-config-parameters-list.vnf-config-parameters[0].access-net-pcscf[1].proactive-transcoding-profile", "trinity-transcodingProfile");
-        mm.put("service-data.vnf-config-parameters-list.vnf-config-parameters[0].access-net-pcscf[1].next-hop-ip-address", "10.111.108.158");
-        mm.put("service-data.vnf-config-parameters-list.vnf-config-parameters[0].access-net-pcscf[1].subnet-mask-length", "10.111.108.154");
+        mm.put("service-data.vnf-config-parameters-list." +
+                "vnf-config-parameters[0].access-net-pcscf[1].network-name", "MIS");
+        mm.put("service-data.vnf-config-parameters-list." +
+                "vnf-config-parameters[0].access-net-pcscf[1].proactive-transcoding-profile",
+                "trinity-transcodingProfile");
+        mm.put("service-data.vnf-config-parameters-list." +
+                "vnf-config-parameters[0].access-net-pcscf[1].next-hop-ip-address", "10.111.108.158");
+        mm.put("service-data.vnf-config-parameters-list." +
+                "vnf-config-parameters[0].access-net-pcscf[1].subnet-mask-length", "10.111.108.154");
 
-        mm.put("service-data.vnf-config-parameters-list.vnf-config-parameters[0].access-net-pcscf[2].network-name", "AVPN1");
-        mm.put("service-data.vnf-config-parameters-list.vnf-config-parameters[0].access-net-pcscf[2].proactive-transcoding-profile", "trinity-transcodingProfile");
-        mm.put("service-data.vnf-config-parameters-list.vnf-config-parameters[0].access-net-pcscf[2].next-hop-ip-address", "10.111.108.166");
-        mm.put("service-data.vnf-config-parameters-list.vnf-config-parameters[0].access-net-pcscf[2].subnet-mask-length", "10.111.108.162");
+        mm.put("service-data.vnf-config-parameters-list." +
+                "vnf-config-parameters[0].access-net-pcscf[2].network-name", "AVPN1");
+        mm.put("service-data.vnf-config-parameters-list." +
+                "vnf-config-parameters[0].access-net-pcscf[2].proactive-transcoding-profile",
+                "trinity-transcodingProfile");
+        mm.put("service-data.vnf-config-parameters-list." +
+                "vnf-config-parameters[0].access-net-pcscf[2].next-hop-ip-address", "10.111.108.166");
+        mm.put("service-data.vnf-config-parameters-list." +
+                "vnf-config-parameters[0].access-net-pcscf[2].subnet-mask-length", "10.111.108.162");
 
-        mm.put("service-data.vnf-config-parameters-list.vnf-config-parameters[0].access-net-pcscf[3].network-name", "AVPN1");
-        mm.put("service-data.vnf-config-parameters-list.vnf-config-parameters[0].access-net-pcscf[3].proactive-transcoding-profile", "trinity-transcodingProfile");
-        mm.put("service-data.vnf-config-parameters-list.vnf-config-parameters[0].access-net-pcscf[3].next-hop-ip-address", "10.129.108.166");
-        mm.put("service-data.vnf-config-parameters-list.vnf-config-parameters[0].access-net-pcscf[3].subnet-mask-length", "10.129.108.162");
+        mm.put("service-data.vnf-config-parameters-list." +
+                "vnf-config-parameters[0].access-net-pcscf[3].network-name", "AVPN1");
+        mm.put("service-data.vnf-config-parameters-list." +
+                "vnf-config-parameters[0].access-net-pcscf[3].proactive-transcoding-profile",
+                "trinity-transcodingProfile");
+        mm.put("service-data.vnf-config-parameters-list." +
+                "vnf-config-parameters[0].access-net-pcscf[3].next-hop-ip-address", "10.129.108.166");
+        mm.put("service-data.vnf-config-parameters-list." +
+                "vnf-config-parameters[0].access-net-pcscf[3].subnet-mask-length", "10.129.108.162");
 
-        mm.put("service-data.vnf-config-parameters-list.vnf-config-parameters[0].core-net-pcscf_length", "1");
+        mm.put("service-data.vnf-config-parameters-list." +
+                "vnf-config-parameters[0].core-net-pcscf_length", "1");
 
-        mm.put("service-data.vnf-config-parameters-list.vnf-config-parameters[0].core-net-pcscf[0].network-name", "Core");
-        mm.put("service-data.vnf-config-parameters-list.vnf-config-parameters[0].core-net-pcscf[0].next-hop-ip-address", "10.111.108.142");
-        mm.put("service-data.vnf-config-parameters-list.vnf-config-parameters[0].core-net-pcscf[0].sip-pa-termination-ip-address", "10.111.108.138");
+        mm.put("service-data.vnf-config-parameters-list." +
+                "vnf-config-parameters[0].core-net-pcscf[0].network-name", "Core");
+        mm.put("service-data.vnf-config-parameters-list." +
+                "vnf-config-parameters[0].core-net-pcscf[0].next-hop-ip-address", "10.111.108.142");
+        mm.put("service-data.vnf-config-parameters-list." +
+                "vnf-config-parameters[0].core-net-pcscf[0].sip-pa-termination-ip-address", "10.111.108.138");
 
-        mm.put("service-data.vnf-config-parameters-list.vnf-config-parameters[0].mated-pair-fully-qualified-domain-name", "mt1nj01sbg01pyl-mt1nj01sbg02pyl.ar1ga.uvp.els-an.att.net");
+        mm.put("service-data.vnf-config-parameters-list." +
+                "vnf-config-parameters[0].mated-pair-fully-qualified-domain-name",
+                "mt1nj01sbg01pyl-mt1nj01sbg02pyl.ar1ga.uvp.els-an.att.net");
 
         mm.put("service-data.appc-request-header.svc-request-id", "SOMESERVICEREQUEST123451000");
         mm.put("service-data.vnf-config-information.vnf-host-ip-address", "192.168.13.151");
         mm.put("service-data.vnf-config-information.vendor", "Netconf");
 
-        mm.put("service-data.vnf-config-information.escape-test", "blah blah \"xxx&nnn<>\\'\"there>blah<&''\"\"123\\\\\\'''blah blah &");
+        mm.put("service-data.vnf-config-information.escape-test",
+                "blah blah \"xxx&nnn<>\\'\"there>blah<&''\"\"123\\\\\\'''blah blah &");
 
         String ss = XmlJsonUtil.getXml(mm, "service-data.vnf-config-parameters-list");
         log.info(ss);
index 6d506cc..544d259 100644 (file)
@@ -37,39 +37,41 @@ import org.slf4j.LoggerFactory;
 
 public class TestXmlParser {
 
-       private static final Logger log = LoggerFactory.getLogger(TestXmlParser.class);
+    private static final Logger log = LoggerFactory.getLogger(TestXmlParser.class);
 
-       @Test
-       public void test() throws Exception {
-               BufferedReader in = new BufferedReader(new InputStreamReader(ClassLoader.getSystemResourceAsStream("test3.xml")));
-               String ss = "";
-               String line = null;
-               while ((line = in.readLine()) != null)
-                       ss += line + '\n';
+    @Test
+    public void test() throws Exception {
+        BufferedReader in = new BufferedReader(
+                new InputStreamReader(ClassLoader.getSystemResourceAsStream("test3.xml"))
+        );
+        String ss = "";
+        String line = null;
+        while ((line = in.readLine()) != null)
+            ss += line + '\n';
 
-               Set<String> listNameList = new HashSet<String>();
-               listNameList.add("project.dependencies.dependency");
-               listNameList.add("project.build.plugins.plugin");
-               listNameList.add("project.build.plugins.plugin.executions.execution");
-               listNameList.add("project.build.pluginManagement.plugins.plugin");
-               listNameList.add(
-                       "project.build.pluginManagement.plugins.plugin.configuration.lifecycleMappingMetadata.pluginExecutions.pluginExecution");
+        Set<String> listNameList = new HashSet<String>();
+        listNameList.add("project.dependencies.dependency");
+        listNameList.add("project.build.plugins.plugin");
+        listNameList.add("project.build.plugins.plugin.executions.execution");
+        listNameList.add("project.build.pluginManagement.plugins.plugin");
+        listNameList.add("project.build.pluginManagement." +
+                        "plugins.plugin.configuration.lifecycleMappingMetadata.pluginExecutions.pluginExecution");
 
-               Map<String, String> mm = XmlParser.convertToProperties(ss, listNameList);
+        Map<String, String> mm = XmlParser.convertToProperties(ss, listNameList);
 
-               logProperties(mm);
+        logProperties(mm);
 
-               in.close();
-       }
+        in.close();
+    }
 
-       private void logProperties(Map<String, String> mm) {
-               List<String> ll = new ArrayList<>();
-               for (Object o : mm.keySet())
-                       ll.add((String) o);
-               Collections.sort(ll);
+    private void logProperties(Map<String, String> mm) {
+        List<String> ll = new ArrayList<>();
+        for (Object o : mm.keySet())
+            ll.add((String) o);
+        Collections.sort(ll);
 
-               log.info("Properties:");
-               for (String name : ll)
-                       log.info("--- " + name + ": " + mm.get(name));
-       }
+        log.info("Properties:");
+        for (String name : ll)
+            log.info("--- " + name + ": " + mm.get(name));
+    }
 }
index 885e660..a34f7e2 100644 (file)
  */
 
 {
-       "equipment-data": [
-               {
-                       "server-count": "4",
-                       "max-server-speed": "1600000",
-                       "number-primary-servers": "2",
-                       "equipment-id": "Server1",
-                       "server-model": "Unknown",
-                       "server-id": "Server1"
-               }
-       ],
-       "resource-state": {
-               "threshold-value": "1600000",
-               "last-added": "1605000",
-               "used": "1605000",
-               "limit-value": "1920000"
-       },
-       "resource-rule": {
-               "endpoint-position": "VCE-Cust",
-               "soft-limit-expression": "0.6 * max-server-speed * number-primary-servers",
-               "resource-name": "Bandwidth",
-               "service-model": "DUMMY",
-               "hard-limit-expression": "max-server-speed * number-primary-servers",
-               "equipment-level": "Server"
-       },
-       "message": "The provisioned access bandwidth is at or exceeds 50% of the total server capacity."
+    "equipment-data": [
+        {
+            "server-count": "4",
+            "max-server-speed": "1600000",
+            "number-primary-servers": "2",
+            "equipment-id": "Server1",
+            "server-model": "Unknown",
+            "server-id": "Server1"
+        }
+    ],
+    "resource-state": {
+        "threshold-value": "1600000",
+        "last-added": "1605000",
+        "used": "1605000",
+        "limit-value": "1920000"
+    },
+    "resource-rule": {
+        "endpoint-position": "VCE-Cust",
+        "soft-limit-expression": "0.6 * max-server-speed * number-primary-servers",
+        "resource-name": "Bandwidth",
+        "service-model": "DUMMY",
+        "hard-limit-expression": "max-server-speed * number-primary-servers",
+        "equipment-level": "Server"
+    },
+    "message": "The provisioned access bandwidth is at or exceeds 50% of the total server capacity."
 }
index 391c9b3..b60b535 100644 (file)
   -->
 
 <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.onap.ccsdk.sli.plugins</groupId>
-               <artifactId>restapi-call-node</artifactId>
-               <version>6.0.0-SNAPSHOT</version>
-       </parent>
-       <artifactId>restapi-call-node-provider</artifactId>
-       <packaging>bundle</packaging>
-       <name>RESTAPI Call Node - Provider</name>
-       <url>http://maven.apache.org</url>
-       <properties>
-               <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-       </properties>
-       <dependencies>
-               <dependency>
-                       <groupId>junit</groupId>
-                       <artifactId>junit</artifactId>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework</groupId>
-                       <artifactId>spring-test</artifactId>
-                       <version>3.1.4.RELEASE</version>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.ccsdk.sli</groupId>
-                       <artifactId>sli-common</artifactId>
-                       <scope>compile</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.ccsdk.sli</groupId>
-                       <artifactId>sli-provider</artifactId>
-                       <scope>compile</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.slf4j</groupId>
-                       <artifactId>slf4j-api</artifactId>
-                       <version>${slf4j.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.slf4j</groupId>
-                       <artifactId>jcl-over-slf4j</artifactId>
-                       <version>${slf4j.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework</groupId>
-                       <artifactId>spring-beans</artifactId>
-                       <version>3.1.4.RELEASE</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework</groupId>
-                       <artifactId>spring-context</artifactId>
-                       <version>3.1.4.RELEASE</version>
-               </dependency>
-               <dependency>
-                       <groupId>xerces</groupId>
-                       <artifactId>xerces</artifactId>
-                       <version>2.4.0</version>
-                       <scope>provided</scope>
-               </dependency>
-               <dependency>
-                       <groupId>com.sun.jersey</groupId>
-                       <artifactId>jersey-client</artifactId>
-                       <version>1.17</version>
-               </dependency>
-               <dependency>
-                       <groupId>commons-codec</groupId>
-                       <artifactId>commons-codec</artifactId>
-               </dependency>
-       </dependencies>
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.onap.ccsdk.sli.plugins</groupId>
+        <artifactId>restapi-call-node</artifactId>
+        <version>6.0.0-SNAPSHOT</version>
+    </parent>
+    <artifactId>restapi-call-node-provider</artifactId>
+    <packaging>bundle</packaging>
+    <name>RESTAPI Call Node - Provider</name>
+    <url>http://maven.apache.org</url>
+    <properties>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+    <dependencies>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-test</artifactId>
+            <version>3.1.4.RELEASE</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.ccsdk.sli</groupId>
+            <artifactId>sli-common</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.ccsdk.sli</groupId>
+            <artifactId>sli-provider</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+            <version>${slf4j.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>jcl-over-slf4j</artifactId>
+            <version>${slf4j.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-beans</artifactId>
+            <version>3.1.4.RELEASE</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-context</artifactId>
+            <version>3.1.4.RELEASE</version>
+        </dependency>
+        <dependency>
+            <groupId>xerces</groupId>
+            <artifactId>xerces</artifactId>
+            <version>2.4.0</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>com.sun.jersey</groupId>
+            <artifactId>jersey-client</artifactId>
+            <version>1.17</version>
+        </dependency>
+        <dependency>
+            <groupId>commons-codec</groupId>
+            <artifactId>commons-codec</artifactId>
+        </dependency>
+    </dependencies>
 
-       <build>
-               <plugins>
-                       <plugin>
-                               <groupId>com.brocade.developer</groupId>
-                               <artifactId>providermodule-plugin</artifactId>
-                               <configuration>
-                                       <packageId>org.onap.ccsdk.sli.plugins</packageId>
-                                       <appName>restapi-call-node</appName>
-                               </configuration>
-                               <executions>
-                                       <execution>
-                                               <phase>process-sources</phase>
-                                               <goals>
-                                                       <goal>process</goal>
-                                               </goals>
-                                       </execution>
-                               </executions>
-                       </plugin>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>com.brocade.developer</groupId>
+                <artifactId>providermodule-plugin</artifactId>
+                <configuration>
+                    <packageId>org.onap.ccsdk.sli.plugins</packageId>
+                    <appName>restapi-call-node</appName>
+                </configuration>
+                <executions>
+                    <execution>
+                        <phase>process-sources</phase>
+                        <goals>
+                            <goal>process</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
 
 
-                       <plugin>
-                               <groupId>org.apache.felix</groupId>
-                               <artifactId>maven-bundle-plugin</artifactId>
-                               <extensions>true</extensions>
-                               <configuration>
-                                       <instructions>
-                                               <Bundle-SymbolicName>org.onap.ccsdk.sli.plugins.restapicall</Bundle-SymbolicName>
-                                               <Export-Package>org.onap.ccsdk.sli.plugins.restapicall</Export-Package>
-                                               <Import-Package>*</Import-Package>
-                                       </instructions>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+                <extensions>true</extensions>
+                <configuration>
+                    <instructions>
+                        <Bundle-SymbolicName>org.onap.ccsdk.sli.plugins.restapicall</Bundle-SymbolicName>
+                        <Export-Package>org.onap.ccsdk.sli.plugins.restapicall</Export-Package>
+                        <Import-Package>*</Import-Package>
+                    </instructions>
 
-                                       <manifestLocation>${project.basedir}/src/main/resources/META-INF</manifestLocation>
+                    <manifestLocation>${project.basedir}/src/main/resources/META-INF</manifestLocation>
 
-                               </configuration>
+                </configuration>
 
-                       </plugin>
+            </plugin>
 
 
-               </plugins>
-               <pluginManagement>
-                       <plugins>
-                               <!--This plugin's configuration is used to store Eclipse m2e settings 
-                                       only. It has no influence on the Maven build itself. -->
-                               <plugin>
-                                       <groupId>org.eclipse.m2e</groupId>
-                                       <artifactId>lifecycle-mapping</artifactId>
-                                       <version>1.0.0</version>
-                                       <configuration>
-                                               <lifecycleMappingMetadata>
-                                                       <pluginExecutions>
-                                                               <pluginExecution>
-                                                                       <pluginExecutionFilter>
-                                                                               <groupId>
-                                                                                       com.brocade.developer
-                                                                               </groupId>
-                                                                               <artifactId>
-                                                                                       providermodule-plugin
-                                                                               </artifactId>
-                                                                               <versionRange>
-                                                                                       [1.2.0.100-SNAPSHOT,)
-                                                                               </versionRange>
-                                                                               <goals>
-                                                                                       <goal>process</goal>
-                                                                               </goals>
-                                                                       </pluginExecutionFilter>
-                                                                       <action>
-                                                                               <ignore />
-                                                                       </action>
-                                                               </pluginExecution>
-                                                       </pluginExecutions>
-                                               </lifecycleMappingMetadata>
-                                       </configuration>
-                               </plugin>
-                       </plugins>
-               </pluginManagement>
-       </build>
+        </plugins>
+        <pluginManagement>
+            <plugins>
+                <!--This plugin's configuration is used to store Eclipse m2e settings
+                    only. It has no influence on the Maven build itself. -->
+                <plugin>
+                    <groupId>org.eclipse.m2e</groupId>
+                    <artifactId>lifecycle-mapping</artifactId>
+                    <version>1.0.0</version>
+                    <configuration>
+                        <lifecycleMappingMetadata>
+                            <pluginExecutions>
+                                <pluginExecution>
+                                    <pluginExecutionFilter>
+                                        <groupId>
+                                            com.brocade.developer
+                                        </groupId>
+                                        <artifactId>
+                                            providermodule-plugin
+                                        </artifactId>
+                                        <versionRange>
+                                            [1.2.0.100-SNAPSHOT,)
+                                        </versionRange>
+                                        <goals>
+                                            <goal>process</goal>
+                                        </goals>
+                                    </pluginExecutionFilter>
+                                    <action>
+                                        <ignore />
+                                    </action>
+                                </pluginExecution>
+                            </pluginExecutions>
+                        </lifecycleMappingMetadata>
+                    </configuration>
+                </plugin>
+            </plugins>
+        </pluginManagement>
+    </build>
 </project>
index 809a208..ade4126 100644 (file)
   -->
 
 <ApplyGroupResponse xmlns="http://onap.org/vpn/schema/v1"
-       xmlns:ns2="http://onap.org/prov/vpn/schema/v2">
-       <ApplyGroupResponseData>
-               <ServiceInstanceId>ICOREPVC-81114561</ServiceInstanceId>
-               <VrfDetails>
-                       <End2EndVpnKey>VPNL811182</End2EndVpnKey>
-                       <VpnId>811182</VpnId>
-                       <VrfName>21302:811182</VrfName>
-                       <VrfImport>SET_BVOIP_IN</VrfImport>
-                       <VrfImport>SET6_BVOIP_IN</VrfImport>
-                       <VrfExport>SET6_DSU</VrfExport>
-                       <VrfExport>SET_DSU</VrfExport>
-                       <VrfExport>SET6_MANAGED</VrfExport>
-                       <VrfExport>SET_MANAGED</VrfExport>
-                       <VrfExport>SET_LOVRF_COMMUNITY</VrfExport>
-                       <VrfExport>SET_RESET_LP</VrfExport>
-                       <ApplyGroup>
-                               <ns2:ApplyGroup>AG_MAX_MCASTROUTES</ns2:ApplyGroup>
-                       </ApplyGroup>
-               </VrfDetails>
-               <RoutingApplyGroups>
-                       <RoutingProtocol>BGP4_PROTOCOL</RoutingProtocol>
-                       <Family>v4</Family>
-                       <PeerGroupName>gp_21302:811182</PeerGroupName>
-                       <ApplyGroupPeer>
-                               <ns2:ApplyGroup>AG_L3VPN_EBGP</ns2:ApplyGroup>
-                       </ApplyGroupPeer>
-                       <ApplyGroupPeer>
-                               <ns2:ApplyGroup>AG_MAX_PREFIX</ns2:ApplyGroup>
-                       </ApplyGroupPeer>
-                       <ApplyGroupNeighbour>
-                               <ns2:ApplyGroup>AG_BGP_UNMANAGED</ns2:ApplyGroup>
-                       </ApplyGroupNeighbour>
-                       <ApplyGroupNeighbour>
-                               <ns2:ApplyGroup>AG_BFD_BGP_3000</ns2:ApplyGroup>
-                       </ApplyGroupNeighbour>
-               </RoutingApplyGroups>
-               <RoutingApplyGroups>
-                       <RoutingProtocol>BGP4_PROTOCOL</RoutingProtocol>
-                       <Family>v6</Family>
-                       <PeerGroupName>gp6_21302:811182</PeerGroupName>
-                       <ApplyGroupPeer>
-                               <ns2:ApplyGroup>AG6_L3VPN_EBGP</ns2:ApplyGroup>
-                       </ApplyGroupPeer>
-                       <ApplyGroupPeer>
-                               <ns2:ApplyGroup>AG6_MAX_PREFIX</ns2:ApplyGroup>
-                       </ApplyGroupPeer>
-                       <ApplyGroupNeighbour>
-                               <ns2:ApplyGroup>AG6_BGP_UNMANAGED</ns2:ApplyGroup>
-                       </ApplyGroupNeighbour>
-                       <ApplyGroupNeighbour>
-                               <ns2:ApplyGroup>AG6_BFD_BGP_3000</ns2:ApplyGroup>
-                       </ApplyGroupNeighbour>
-               </RoutingApplyGroups>
-       </ApplyGroupResponseData>
-       <response-code>200</response-code>
-       <response-message>Success</response-message>
-       <ack-final-indicator>Y</ack-final-indicator>
+    xmlns:ns2="http://onap.org/prov/vpn/schema/v2">
+    <ApplyGroupResponseData>
+        <ServiceInstanceId>ICOREPVC-81114561</ServiceInstanceId>
+        <VrfDetails>
+            <End2EndVpnKey>VPNL811182</End2EndVpnKey>
+            <VpnId>811182</VpnId>
+            <VrfName>21302:811182</VrfName>
+            <VrfImport>SET_BVOIP_IN</VrfImport>
+            <VrfImport>SET6_BVOIP_IN</VrfImport>
+            <VrfExport>SET6_DSU</VrfExport>
+            <VrfExport>SET_DSU</VrfExport>
+            <VrfExport>SET6_MANAGED</VrfExport>
+            <VrfExport>SET_MANAGED</VrfExport>
+            <VrfExport>SET_LOVRF_COMMUNITY</VrfExport>
+            <VrfExport>SET_RESET_LP</VrfExport>
+            <ApplyGroup>
+                <ns2:ApplyGroup>AG_MAX_MCASTROUTES</ns2:ApplyGroup>
+            </ApplyGroup>
+        </VrfDetails>
+        <RoutingApplyGroups>
+            <RoutingProtocol>BGP4_PROTOCOL</RoutingProtocol>
+            <Family>v4</Family>
+            <PeerGroupName>gp_21302:811182</PeerGroupName>
+            <ApplyGroupPeer>
+                <ns2:ApplyGroup>AG_L3VPN_EBGP</ns2:ApplyGroup>
+            </ApplyGroupPeer>
+            <ApplyGroupPeer>
+                <ns2:ApplyGroup>AG_MAX_PREFIX</ns2:ApplyGroup>
+            </ApplyGroupPeer>
+            <ApplyGroupNeighbour>
+                <ns2:ApplyGroup>AG_BGP_UNMANAGED</ns2:ApplyGroup>
+            </ApplyGroupNeighbour>
+            <ApplyGroupNeighbour>
+                <ns2:ApplyGroup>AG_BFD_BGP_3000</ns2:ApplyGroup>
+            </ApplyGroupNeighbour>
+        </RoutingApplyGroups>
+        <RoutingApplyGroups>
+            <RoutingProtocol>BGP4_PROTOCOL</RoutingProtocol>
+            <Family>v6</Family>
+            <PeerGroupName>gp6_21302:811182</PeerGroupName>
+            <ApplyGroupPeer>
+                <ns2:ApplyGroup>AG6_L3VPN_EBGP</ns2:ApplyGroup>
+            </ApplyGroupPeer>
+            <ApplyGroupPeer>
+                <ns2:ApplyGroup>AG6_MAX_PREFIX</ns2:ApplyGroup>
+            </ApplyGroupPeer>
+            <ApplyGroupNeighbour>
+                <ns2:ApplyGroup>AG6_BGP_UNMANAGED</ns2:ApplyGroup>
+            </ApplyGroupNeighbour>
+            <ApplyGroupNeighbour>
+                <ns2:ApplyGroup>AG6_BFD_BGP_3000</ns2:ApplyGroup>
+            </ApplyGroupNeighbour>
+        </RoutingApplyGroups>
+    </ApplyGroupResponseData>
+    <response-code>200</response-code>
+    <response-message>Success</response-message>
+    <ack-final-indicator>Y</ack-final-indicator>
 </ApplyGroupResponse>
+