diff options
Diffstat (limited to 'aai-traversal')
-rw-r--r-- | aai-traversal/pom.xml | 2194 | ||||
-rw-r--r-- | aai-traversal/src/main/java/org/onap/aai/transforms/MapTraverser.java | 10 |
2 files changed, 1027 insertions, 1177 deletions
diff --git a/aai-traversal/pom.xml b/aai-traversal/pom.xml index 6ed9c8e..39e7f4d 100644 --- a/aai-traversal/pom.xml +++ b/aai-traversal/pom.xml @@ -4,7 +4,7 @@ ============LICENSE_START======================================================= org.onap.aai ================================================================================ - Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved. + Copyright © 2019 AT&T Intellectual Property. All rights reserved. ================================================================================ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -20,1187 +20,1037 @@ ============LICENSE_END========================================================= --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - <groupId>org.onap.aai.traversal</groupId> - <artifactId>aai-traversal</artifactId> - <version>1.6.0-SNAPSHOT</version> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <groupId>org.onap.aai.traversal</groupId> + <artifactId>aai-traversal</artifactId> + <version>1.6.0-SNAPSHOT</version> - <parent> - <groupId>org.onap.aai.traversal</groupId> - <artifactId>traversal</artifactId> - <version>1.6.0-SNAPSHOT</version> - </parent> + <parent> + <groupId>org.onap.aai.traversal</groupId> + <artifactId>traversal</artifactId> + <version>1.6.0-SNAPSHOT</version> + </parent> - <properties> - <java.version>1.8</java.version> - <start-class>org.onap.aai.TraversalApp</start-class> + <properties> + <java.version>1.8</java.version> + <start-class>org.onap.aai.TraversalApp</start-class> - <maven.skip.tests>true</maven.skip.tests> - <maven.compiler.source>1.8</maven.compiler.source> - <maven.compiler.target>1.8</maven.compiler.target> + <maven.skip.tests>true</maven.skip.tests> + <maven.compiler.source>1.8</maven.compiler.source> + <maven.compiler.target>1.8</maven.compiler.target> - <aai.schema.version>1.6.0</aai.schema.version> - <aai.core.version>1.5.3</aai.core.version> - <aai.rest.version>1.5.3</aai.rest.version> + <!-- Start of the jacoco plugin properties --> + <sonar.language>java</sonar.language> + <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin> + <sonar.surefire.reportsPath>${project.build.directory}/surefire-reports</sonar.surefire.reportsPath> + <sonar.jacoco.reportPath>${project.build.directory}/coverage-reports/jacoco.exec</sonar.jacoco.reportPath> + <sonar.jacoco.reportMissing.force.zero>false</sonar.jacoco.reportMissing.force.zero> + <sonar.projectVersion>${project.version}</sonar.projectVersion> + <!-- End of the jacoco plugin properties --> + + <!-- Default docker registry that maven fabric plugin will try to pull + from --> + <gremlin.version>3.2.3</gremlin.version> + <docker.registry>docker.io</docker.registry> + <!-- Specifying the docker push registry where the image should be pushed --> + <!-- This value should be overwritten at runtime to wherever need to be + pushed to --> + <docker.push.registry>localhost:5000</docker.push.registry> + <aai.docker.version>1.0.0</aai.docker.version> - <spring.boot.version>1.5.21.RELEASE</spring.boot.version> + <!-- Location where assembly of our scripts, resources and main jar will + be held Check the ${project.artifactId}/src/main/assembly/descriptor.xml + for more info --> + <aai.build.directory>${project.build.directory}/${project.artifactId}-${project.version}-build/</aai.build.directory> + <aai.docker.version>1.0.0</aai.docker.version> + <aai.docker.namespace>onap</aai.docker.namespace> + <aai.base.image>alpine</aai.base.image> + <aai.base.image.version>1.6.0</aai.base.image.version> - <!-- Start of the jacoco plugin properties --> - <sonar.language>java</sonar.language> - <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin> - <sonar.surefire.reportsPath>${project.build.directory}/surefire-reports</sonar.surefire.reportsPath> - <sonar.jacoco.reportPath>${project.build.directory}/coverage-reports/jacoco.exec</sonar.jacoco.reportPath> - <sonar.jacoco.reportMissing.force.zero>false</sonar.jacoco.reportMissing.force.zero> - <sonar.projectVersion>${project.version}</sonar.projectVersion> - <!-- End of the jacoco plugin properties --> + <!-- Nexus Proxy Properties and Snapshot Locations Ideally this can be + overwritten at runtime per internal environment specific values at runtime --> + <nexusproxy>https://nexus.onap.org</nexusproxy> + <site.path>/content/sites/site/org/onap/aai/traversal/${project.artifactId}/${project.version}</site.path> + <release.path>/content/repositories/releases/</release.path> + <snapshot.path>/content/repositories/snapshots/</snapshot.path> - <jolt.version>0.0.24</jolt.version> - <jopt.simple.version>4.9</jopt.simple.version> + <!-- This will be used for the docker images as the default format of maven + build has issues --> + <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format> - <io.swagger.version>1.5.8</io.swagger.version> - <apache.log4j.version>1.2.17</apache.log4j.version> + <antlr4.visitor>true</antlr4.visitor> + <antlr4.listener>true</antlr4.listener> - <commons.beanutils.version>1.9.2</commons.beanutils.version> - <commons.compress.version>1.10</commons.compress.version> - <commons.configuration.version>1.9</commons.configuration.version> + <snapshot.file>${project.basedir}/snapshots/data.graphson</snapshot.file> + <jacoco.line.coverage.limit>0.67</jacoco.line.coverage.limit> - <googlecode.diffutils.version>1.3.0</googlecode.diffutils.version> - <scamper.encryption.version>1.8.20</scamper.encryption.version> - <httpcomponents.httpmime.version>4.5.2</httpcomponents.httpmime.version> - <scamper.version>1.8.36</scamper.version> - <aaf.version>2.1.4</aaf.version> - <commons.lang.version>2.6</commons.lang.version> - <eelf.core.version>1.0.0</eelf.core.version> - <logback.version>1.2.3</logback.version> - <hamcrest.junit.version>2.0.0.0</hamcrest.junit.version> - <janino.version>2.7.8</janino.version> - <google.guava.version>19.0</google.guava.version> - <janusgraph.version>0.2.3</janusgraph.version> - <jnr.ffi.version>2.1.9</jnr.ffi.version> - <gremlin.version>3.2.2</gremlin.version> - <smack.version>3.0.4</smack.version> - <json.simple.version>1.1.1</json.simple.version> - <mockito.version>1.10.19</mockito.version> - <powermock.version>1.6.2</powermock.version> - <jcommander.version>1.48</jcommander.version> - <json.version>20090211</json.version> - <freemarker.version>2.3.21</freemarker.version> - <jaxb.version>2.2.11</jaxb.version> - <eclipse.persistence.version>2.6.2</eclipse.persistence.version> - <json.patch.version>1.9</json.patch.version> - <javatuples.version>1.2</javatuples.version> - <gson.version>2.7</gson.version> - <dmaap.client.version>0.2.12</dmaap.client.version> - <httpcore.version>4.4</httpcore.version> - <json.path.version>2.2.0</json.path.version> - <activemq.version>5.15.8</activemq.version> - <httpclient.version>4.5.3</httpclient.version> - <spring.jms.version>4.3.21.RELEASE</spring.jms.version> - <spotify.docker.version>0.4.11</spotify.docker.version> - <spring.security.version>1.0.8.RELEASE</spring.security.version> + <!-- Start of Default ONAP Schema Properties --> + <schema.source.name>onap</schema.source.name> + <schema.configuration.location>N/A</schema.configuration.location> + <schema.nodes.location>${project.basedir}/src/main/resources/schema/${schema.source.name}/oxm</schema.nodes.location> + <schema.edges.location>${project.basedir}/src/main/resources/schema/${schema.source.name}/dbedgerules</schema.edges.location> + <schema.version.depth.start>v10</schema.version.depth.start> + <schema.version.related.link.start>v10</schema.version.related.link.start> + <schema.version.app.root.start>v11</schema.version.app.root.start> + <schema.version.namespace.change.start>v12</schema.version.namespace.change.start> + <schema.version.edge.label.start>v12</schema.version.edge.label.start> + <schema.version.api.default>v16</schema.version.api.default> + <schema.version.list>v10,v11,v12,v13,v14,v15,v16,v17,v18,v19</schema.version.list> + <schema.uri.base.path>/aai</schema.uri.base.path> + <!-- End of Default ONAP Schema Properties --> + </properties> + <profiles> + <!-- Docker profile to be used for building docker image and pushing to + nexus --> + <profile> + <id>docker</id> + <build> + <plugins> + <plugin> + <groupId>org.codehaus.groovy.maven</groupId> + <artifactId>gmaven-plugin</artifactId> + <version>1.0</version> + <executions> + <execution> + <phase>pre-clean</phase> + </execution> + <execution> + <id>parse-base</id> + <phase>prepare-package</phase> + <goals> + <goal>execute</goal> + </goals> + <configuration> + <source> + def userAaiBaseImage = session.userProperties['aai.base.image']; + def userAaiCommonVersion = + session.userProperties['aai.base.image.version']; + if (userAaiCommonVersion != null) { + project.properties['aai.base.image.version'] = + userAaiCommonVersion; + } + if (userAaiBaseImage != null) { + project.properties['aai.base.image'] = userAaiBaseImage; + } + log.info 'Base image flavour: ' + + project.properties['aai.base.image']; + log.info 'Base image version: ' + + project.properties['aai.base.image.version']; + </source> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>io.fabric8</groupId> + <artifactId>docker-maven-plugin</artifactId> + <configuration> + <verbose>true</verbose> + <apiVersion>1.23</apiVersion> + <images> + <image> + <name>${docker.push.registry}/${aai.docker.namespace}/${project.artifactId}:%l</name> + <build> + <filter>@</filter> + <tags> + <tag>latest</tag> + <tag>${project.docker.latesttag.version}</tag> + <tag>${project.major.version}.${project.minor.version}-STAGING-${maven.build.timestamp}</tag> + </tags> + <cleanup>try</cleanup> + <dockerFileDir>${project.basedir}/src/main/docker</dockerFileDir> + <assembly> + <inline> + <fileSets> + <fileSet> + <directory>${aai.build.directory}</directory> + <outputDirectory>/${project.artifactId}</outputDirectory> + </fileSet> + </fileSets> + </inline> + </assembly> + </build> + </image> + </images> + </configuration> + <executions> + <execution> + <id>clean-images</id> + <phase>pre-clean</phase> + <goals> + <goal>remove</goal> + </goals> + <configuration> + <removeAll>true</removeAll> + </configuration> + </execution> + <execution> + <id>generate-images</id> + <phase>package</phase> + <goals> + <goal>build</goal> + </goals> + </execution> + <execution> + <id>push-images</id> + <phase>deploy</phase> + <goals> + <goal>push</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> + </profile> + <!-- Start of ONAP Profile --> + <profile> + <id>onap</id> + <properties> + <schema.source.name>onap</schema.source.name> + <schema.version.namespace.change.start>v12</schema.version.namespace.change.start> + <schema.version.list>v10,v11,v12,v13,v14,v15,v16</schema.version.list> + </properties> + </profile> + <!-- End of ONAP Profile --> + <profile> + <id>runAjsc</id> + <properties> + <skipTests>${maven.skip.tests}</skipTests> + </properties> + <build> + <defaultGoal>pre-integration-test</defaultGoal> + <plugins> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>exec-maven-plugin</artifactId> + <version>1.6.0</version> + <executions> + <execution> + <id>run-spring-boot</id> + <phase>package</phase> + <goals> + <goal>java</goal> + </goals> + </execution> + </executions> + <configuration> + <mainClass>${start-class}</mainClass> + <systemProperties> + <property> + <key>snapshot.location</key> + <value>${snapshot.file}</value> + </property> + <property> + <key>schema.source.name</key> + <value>${schema.source.name}</value> + </property> + <property> + <key>schema.configuration.location</key> + <value>${schema.configuration.location}</value> + </property> + <property> + <key>schema.nodes.location</key> + <value>${schema.nodes.location}</value> + </property> + <property> + <key>schema.edges.location</key> + <value>${schema.edges.location}</value> + </property> + <property> + <key>schema.version.depth.start</key> + <value>${schema.version.depth.start}</value> + </property> + <property> + <key>schema.version.related.link.start</key> + <value>${schema.version.related.link.start}</value> + </property> + <property> + <key>schema.version.app.root.start</key> + <value>${schema.version.app.root.start}</value> + </property> + <property> + <key>schema.version.namespace.change.start</key> + <value>${schema.version.namespace.change.start}</value> + </property> + <property> + <key>schema.version.edge.label.start</key> + <value>${schema.version.edge.label.start}</value> + </property> + <property> + <key>schema.version.api.default</key> + <value>${schema.version.api.default}</value> + </property> + <property> + <key>schema.version.list</key> + <value>${schema.version.list}</value> + </property> + <property> + <key>schema.uri.base.path</key> + <value>${schema.uri.base.path}</value> + </property> + </systemProperties> + <executable>java</executable> + </configuration> + </plugin> + </plugins> + </build> + </profile> + </profiles> - <dme2.version>2.8.5</dme2.version> - <async.retry.version>0.0.7</async.retry.version> - <jsonassert.version>1.4.0</jsonassert.version> + <!-- <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-parent</artifactId> <type>pom</type> <scope>import</scope> + </dependency> </dependencies> </dependencyManagement> --> + <dependencies> + <dependency> + <groupId>io.swagger</groupId> + <artifactId>swagger-core</artifactId> + <exclusions> + <exclusion> + <groupId>javax.ws.rs</groupId> + <artifactId>jsr311-api</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>io.swagger</groupId> + <artifactId>swagger-annotations</artifactId> + </dependency> + <dependency> + <groupId>io.swagger</groupId> + <artifactId>swagger-jersey-jaxrs</artifactId> + <exclusions> + <exclusion> + <groupId>org.glassfish.jersey.media</groupId> + <artifactId>jersey-media-multipart</artifactId> + </exclusion> + <exclusion> + <artifactId>jersey-core</artifactId> + <groupId>com.sun.jersey</groupId> + </exclusion> + <exclusion> + <artifactId>jersey-json</artifactId> + <groupId>com.sun.jersey</groupId> + </exclusion> + <exclusion> + <artifactId>jersey-server</artifactId> + <groupId>com.sun.jersey</groupId> + </exclusion> + <exclusion> + <artifactId>jersey-client</artifactId> + <groupId>com.sun.jersey</groupId> + </exclusion> + <exclusion> + <artifactId>jsr311-api</artifactId> + <groupId>javax.ws.rs</groupId> + </exclusion> + <exclusion> + <artifactId>jersey-multipart</artifactId> + <groupId>com.sun.jersey.contribs</groupId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>commons-configuration</groupId> + <artifactId>commons-configuration</artifactId> + <exclusions> + <exclusion> + <artifactId>commons-lang</artifactId> + <groupId>commons-lang</groupId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>commons-lang</groupId> + <artifactId>commons-lang</artifactId> + </dependency> + <!-- eelf dependency --> + <dependency> + <groupId>com.att.eelf</groupId> + <artifactId>eelf-core</artifactId> + </dependency> + <dependency> + <groupId>ch.qos.logback</groupId> + <artifactId>logback-core</artifactId> + </dependency> + <dependency> + <groupId>ch.qos.logback</groupId> + <artifactId>logback-classic</artifactId> + </dependency> + <dependency> + <groupId>ch.qos.logback</groupId> + <artifactId>logback-access</artifactId> + </dependency> + <dependency> + <groupId>org.hamcrest</groupId> + <artifactId>hamcrest-junit</artifactId> + </dependency> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>com.google.guava</groupId> + <artifactId>guava</artifactId> + </dependency> + <dependency> + <groupId>org.janusgraph</groupId> + <artifactId>janusgraph-core</artifactId> + <exclusions> + <exclusion> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-log4j12</artifactId> + </exclusion> + <exclusion> + <groupId>dom4j</groupId> + <artifactId>dom4j</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.janusgraph</groupId> + <artifactId>janusgraph-cassandra</artifactId> + <exclusions> + <exclusion> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-log4j12</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.janusgraph</groupId> + <artifactId>janusgraph-cql</artifactId> + <exclusions> + <exclusion> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-log4j12</artifactId> + </exclusion> + </exclusions> + </dependency> + <!-- <dependency> <groupId>org.janusgraph</groupId> <artifactId>janusgraph-hbase</artifactId> + <exclusions> <exclusion> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> + </exclusion> </exclusions> </dependency> --> + <!-- indirect janusgraph-cassandra dependency need to be newer than default + one in order to support multiple cpu archs --> + <dependency> + <groupId>com.github.jnr</groupId> + <artifactId>jnr-ffi</artifactId> + </dependency> + <dependency> + <groupId>org.apache.tinkerpop</groupId> + <artifactId>gremlin-driver</artifactId> + <exclusions> + <exclusion> + <groupId>org.codehaus.groovy</groupId> + <artifactId>groovy</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>com.fasterxml.jackson.jaxrs</groupId> + <artifactId>jackson-jaxrs-json-provider</artifactId> + </dependency> + <dependency> + <groupId>org.mockito</groupId> + <artifactId>mockito-all</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.powermock</groupId> + <artifactId>powermock-module-junit4</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.powermock</groupId> + <artifactId>powermock-api-mockito</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>com.beust</groupId> + <artifactId>jcommander</artifactId> + </dependency> + <dependency> + <groupId>org.json</groupId> + <artifactId>json</artifactId> + </dependency> + <dependency> + <groupId>org.freemarker</groupId> + <artifactId>freemarker</artifactId> + </dependency> + <dependency> + <groupId>javax.xml.bind</groupId> + <artifactId>jaxb-api</artifactId> + </dependency> + <dependency> + <groupId>org.eclipse.persistence</groupId> + <artifactId>eclipselink</artifactId> + </dependency> + <dependency> + <groupId>org.eclipse.persistence</groupId> + <artifactId>org.eclipse.persistence.moxy</artifactId> + <scope>compile</scope> + </dependency> + <dependency> + <groupId>org.powermock</groupId> + <artifactId>powermock-module-javaagent</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.powermock</groupId> + <artifactId>powermock-module-junit4-rule-agent</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>com.github.fge</groupId> + <artifactId>json-patch</artifactId> + </dependency> + <dependency> + <groupId>org.javatuples</groupId> + <artifactId>javatuples</artifactId> + <scope>compile</scope> + </dependency> + <dependency> + <groupId>com.google.code.gson</groupId> + <artifactId>gson</artifactId> + </dependency> + <dependency> + <groupId>com.bazaarvoice.jolt</groupId> + <artifactId>jolt-complete</artifactId> + </dependency> + <dependency> + <groupId>com.jayway.jsonpath</groupId> + <artifactId>json-path</artifactId> + </dependency> + <!-- Do not use activemq-all because they force you to use a specific logging + and they shade it so you can't simply exclude it and when you deploy the + jar, you will notice failure --> + <dependency> + <groupId>org.apache.activemq</groupId> + <artifactId>activemq-broker</artifactId> + </dependency> + <dependency> + <groupId>org.apache.activemq</groupId> + <artifactId>activemq-client</artifactId> + </dependency> + <dependency> + <groupId>org.onap.aai.aai-common</groupId> + <artifactId>aai-core</artifactId> + <exclusions> + <exclusion> + <groupId>com.sun.jersey</groupId> + <artifactId>jersey-core</artifactId> + </exclusion> + <exclusion> + <groupId>org.codehaus.jackson</groupId> + <artifactId>jackson-mapper-asl</artifactId> + </exclusion> + <exclusion> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-http</artifactId> + </exclusion> + <exclusion> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-server</artifactId> + </exclusion> + <exclusion> + <groupId>org.springframework</groupId> + <artifactId>spring-web</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.springframework</groupId> + <artifactId>spring-jms</artifactId> + <exclusions> + <exclusion> + <groupId>com.sun.jersey</groupId> + <artifactId>jersey-core</artifactId> + </exclusion> + </exclusions> + </dependency> + <!-- Do not use the jersey-client since jersey client 1.0 version clashes + with jersey 2 which we are using --> + <!-- Use this to make http requests instead of jersey 1.0 client --> + <dependency> + <groupId>org.apache.httpcomponents</groupId> + <artifactId>httpclient</artifactId> + </dependency> + <dependency> + <groupId>org.onap.aai.aai-common</groupId> + <artifactId>aai-rest</artifactId> + </dependency> + <dependency> + <groupId>org.skyscreamer</groupId> + <artifactId>jsonassert</artifactId> + <scope>test</scope> + </dependency> + <!-- Explicitly stating the security spring framework and exclude the bouncy + castle since that is somehow overwriting our p12 file decryption that's built + into java security This will cause the password is incorrect This needs to + be added back if org.bouncy castle dependency sneaks backs in and causing + issues with the two way ssl --> + <dependency> + <groupId>org.springframework.security</groupId> + <artifactId>spring-security-rsa</artifactId> + <exclusions> + <exclusion> + <groupId>org.bouncycastle</groupId> + <artifactId>bcpkix-jdk15on</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>io.netty</groupId> + <artifactId>netty-handler</artifactId> + </dependency> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-web</artifactId> + <exclusions> + <exclusion> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-tomcat</artifactId> + </exclusion> + <exclusion> + <groupId>org.slf4j</groupId> + <artifactId>log4j-over-slf4j</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-jetty</artifactId> + </dependency> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-jersey</artifactId> + <exclusions> + <exclusion> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-tomcat</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.onap.aaf.authz</groupId> + <artifactId>aaf-cadi-aaf</artifactId> + </dependency> + <dependency> + <groupId>io.netty</groupId> + <artifactId>netty-all</artifactId> + </dependency> + <dependency> + <groupId>org.springframework</groupId> + <artifactId>spring-test</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-test</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.antlr</groupId> + <artifactId>antlr4-runtime</artifactId> + </dependency> + <dependency> + <groupId>org.antlr</groupId> + <artifactId>antlr4-maven-plugin</artifactId> + <version>${antlr.version}</version> + <exclusions> + <exclusion> + <groupId>org.sonatype.sisu</groupId> + <artifactId>sisu-guava</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.apache.tinkerpop</groupId> + <artifactId>gremlin-core</artifactId> + <exclusions> + <exclusion> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-log4j12</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.apache.tinkerpop</groupId> + <artifactId>tinkergraph-gremlin</artifactId> + </dependency> + <dependency> + <groupId>org.apache.tinkerpop</groupId> + <artifactId>gremlin-groovy</artifactId> + </dependency> + <dependency> + <groupId>org.codehaus.plexus</groupId> + <artifactId>plexus-utils</artifactId> + </dependency> + </dependencies> + <build> + <resources> + <resource> + <directory>${project.basedir}/src/main/swm</directory> + <targetPath>${project.build.directory}/swm</targetPath> + <filtering>false</filtering> + </resource> + <resource> + <directory>${project.basedir}/src/main/resources</directory> + <includes> + <include>application.properties</include> + <include>dme2.properties</include> + <include>logback.xml</include> + <include>localhost-access-logback.xml</include> + </includes> + <targetPath>${project.build.directory}/swm/package/nix/dist_files/opt/app/${project.artifactId}/appconfig</targetPath> + <filtering>false</filtering> + </resource> + <resource> + <directory>${project.basedir}/src/main/resources</directory> + <includes> + <include>**/*</include> + </includes> + <filtering>true</filtering> + </resource> + <resource> + <directory>${project.basedir}/src/main/resources/etc/appprops/</directory> + <includes> + <include>janusgraph-realtime.properties</include> + <include>janusgraph-cached.properties</include> + <include>aaiconfig.properties</include> + </includes> + <targetPath>${project.build.directory}/swm/package/nix/dist_files/opt/app/${project.artifactId}/appconfig</targetPath> + <filtering>false</filtering> + </resource> + <resource> + <directory>${project.basedir}/src/main/resources/etc/auth/</directory> + <includes> + <include>aai-client-cert.p12</include> + <include>tomcat_keystore</include> + <include>aai_policy.json</include> + </includes> + <targetPath>${project.build.directory}/swm/package/nix/dist_files/opt/app/${project.artifactId}/appconfig</targetPath> + <filtering>true</filtering> + </resource> + <resource> + <directory>${project.basedir}/src/main/resources/</directory> + <includes> + <include>logback.xml</include> + <include>localhost-access-logback.xml</include> + </includes> + <targetPath>${project.build.directory}/swm/package/nix/dist_files/opt/app/${project.artifactId}/appconfig</targetPath> + <filtering>true</filtering> + </resource> + <resource> + <directory>${project.basedir}/src/main/resources/schema/</directory> + <includes> + <include>**/oxm/**/*.xml</include> + <include>**/dbedgerules/**/*.json</include> + <include>**/query/**</include> + </includes> + <targetPath>${project.build.directory}/swm/package/nix/dist_files/opt/app/${project.artifactId}/appconfig/schema</targetPath> + <filtering>false</filtering> + </resource> + <resource> + <directory>${project.basedir}/src/main/resources/query/</directory> + <includes> + <include>**/*.json</include> + </includes> + <targetPath>${project.build.directory}/swm/package/nix/dist_files/opt/app/${project.artifactId}/appconfig/query</targetPath> + <filtering>false</filtering> + </resource> + <resource> + <directory>${project.basedir}/src/main/docker</directory> + <includes> + <include>**/*</include> + </includes> + <targetPath>${aai.build.directory}</targetPath> + <filtering>true</filtering> + </resource> + </resources> + <pluginManagement> + <plugins> + <plugin> + <groupId>com.mycila</groupId> + <artifactId>license-maven-plugin</artifactId> + <version>3.0</version> + <configuration> + <header>LICENSE.TXT</header> + <includes> + <include>src/main/java/**</include> + <include>src/test/java/**</include> + <include>pom.xml</include> + </includes> + <skipExistingHeaders>true</skipExistingHeaders> + <skip>false</skip> + </configuration> + </plugin> + <plugin> + <groupId>org.codehaus.groovy.maven</groupId> + <artifactId>gmaven-plugin</artifactId> + <version>1.0</version> + <executions> + <execution> + <phase>validate</phase> + <goals> + <goal>execute</goal> + </goals> + <configuration> + <source> + println project.properties['aai.project.version']; + def versionArray; + if (project.properties['aai.project.version'] != null) { + versionArray = + project.properties['aai.project.version'].split('\\.'); + } - <eclipse.jetty.version>9.4.1.v20170120</eclipse.jetty.version> - - <docker.fabric.version>0.28.0</docker.fabric.version> - <!-- Default docker registry that maven fabric plugin will try to pull from --> - <docker.registry>docker.io</docker.registry> - <!-- Specifying the docker push registry where the image should be pushed --> - <!-- This value should be overwritten at runtime to wherever need to be pushed to --> - <docker.push.registry>localhost:5000</docker.push.registry> - <aai.docker.version>1.0.0</aai.docker.version> - - <!-- - Location where assembly of our scripts, resources and main jar will be held - Check the ${project.artifactId}/src/main/assembly/descriptor.xml for more info - --> - <aai.build.directory>${project.build.directory}/${project.artifactId}-${project.version}-build/</aai.build.directory> - <aai.docker.version>1.0.0</aai.docker.version> - <aai.docker.namespace>onap</aai.docker.namespace> - <aai.base.image>alpine</aai.base.image> - <aai.base.image.version>1.6.0</aai.base.image.version> - - <!-- - Nexus Proxy Properties and Snapshot Locations - Ideally this can be overwritten at runtime per internal environment specific values at runtime - --> - <nexusproxy>https://nexus.onap.org</nexusproxy> - <site.path>/content/sites/site/org/onap/aai/traversal/${project.artifactId}/${project.version}</site.path> - <release.path>/content/repositories/releases/</release.path> - <snapshot.path>/content/repositories/snapshots/</snapshot.path> - - <netty.handler.version>4.1.9.Final</netty.handler.version> - <netty.version>4.0.56.Final</netty.version> - <jackson.core.version>2.8.11.1</jackson.core.version> - - <spring.test.version>4.3.21.RELEASE</spring.test.version> - - <!-- This will be used for the docker images as the default format of maven build has issues --> - <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format> - - <antlr4.visitor>true</antlr4.visitor> - <antlr4.listener>true</antlr4.listener> - <antlr.version>4.7</antlr.version> - - <plexus.utils.version>3.1.0</plexus.utils.version> - - <snapshot.file>${project.basedir}/snapshots/data.graphson</snapshot.file> - <jacoco.line.coverage.limit>0.67</jacoco.line.coverage.limit> - - <!-- Start of Default ONAP Schema Properties --> - <schema.source.name>onap</schema.source.name> - <schema.configuration.location>N/A</schema.configuration.location> - <schema.nodes.location>${project.basedir}/src/main/resources/schema/${schema.source.name}/oxm</schema.nodes.location> - <schema.edges.location>${project.basedir}/src/main/resources/schema/${schema.source.name}/dbedgerules</schema.edges.location> - <schema.version.depth.start>v10</schema.version.depth.start> - <schema.version.related.link.start>v10</schema.version.related.link.start> - <schema.version.app.root.start>v11</schema.version.app.root.start> - <schema.version.namespace.change.start>v12</schema.version.namespace.change.start> - <schema.version.edge.label.start>v12</schema.version.edge.label.start> - <schema.version.api.default>v16</schema.version.api.default> - <schema.version.list>v10,v11,v12,v13,v14,v15,v16,v17,v18,v19</schema.version.list> - <schema.uri.base.path>/aai</schema.uri.base.path> - <!-- End of Default ONAP Schema Properties --> - </properties> - <profiles> - <!-- Docker profile to be used for building docker image and pushing to nexus --> - <profile> - <id>docker</id> - <build> - <plugins> - <plugin> - <groupId>org.codehaus.groovy.maven</groupId> - <artifactId>gmaven-plugin</artifactId> - <version>1.0</version> - <executions> - <execution> - <phase>pre-clean</phase> - </execution> - <execution> - <id>parse-base</id> - <phase>prepare-package</phase> - <goals> - <goal>execute</goal> - </goals> - <configuration> - <source> - def userAaiBaseImage = session.userProperties['aai.base.image']; - def userAaiCommonVersion = session.userProperties['aai.base.image.version']; - if (userAaiCommonVersion != null) { - project.properties['aai.base.image.version'] = userAaiCommonVersion; - } - if (userAaiBaseImage != null) { - project.properties['aai.base.image'] = userAaiBaseImage; - } - log.info 'Base image flavour: ' + project.properties['aai.base.image']; - log.info 'Base image version: ' + project.properties['aai.base.image.version']; - </source> - </configuration> - </execution> - </executions> - </plugin> - <plugin> - <groupId>io.fabric8</groupId> - <artifactId>docker-maven-plugin</artifactId> - <version>${docker.fabric.version}</version> - <configuration> - <verbose>true</verbose> - <apiVersion>1.23</apiVersion> - <images> - <image> - <name>${docker.push.registry}/${aai.docker.namespace}/${project.artifactId}:%l</name> - <build> - <filter>@</filter> - <tags> - <tag>latest</tag> - <tag>${project.docker.latesttag.version}</tag> - <tag>${project.major.version}.${project.minor.version}-STAGING-${maven.build.timestamp}</tag> - </tags> - <cleanup>try</cleanup> - <dockerFileDir>${project.basedir}/src/main/docker</dockerFileDir> - <assembly> - <inline> - <fileSets> - <fileSet> - <directory>${aai.build.directory}</directory> - <outputDirectory>/${project.artifactId}</outputDirectory> - </fileSet> - </fileSets> - </inline> - </assembly> - </build> - </image> - </images> - </configuration> - <executions> - <execution> - <id>clean-images</id> - <phase>pre-clean</phase> - <goals> - <goal>remove</goal> - </goals> - <configuration> - <removeAll>true</removeAll> - </configuration> - </execution> - <execution> - <id>generate-images</id> - <phase>package</phase> - <goals> - <goal>build</goal> - </goals> - </execution> - <execution> - <id>push-images</id> - <phase>deploy</phase> - <goals> - <goal>push</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> - </profile> - <!-- Start of ONAP Profile --> - <profile> - <id>onap</id> - <properties> - <schema.source.name>onap</schema.source.name> - <schema.version.namespace.change.start>v12</schema.version.namespace.change.start> - <schema.version.list>v10,v11,v12,v13,v14,v15,v16</schema.version.list> - </properties> - </profile> - <!-- End of ONAP Profile --> - <profile> - <id>runAjsc</id> - <properties> - <skipTests>${maven.skip.tests}</skipTests> - </properties> - <build> - <defaultGoal>pre-integration-test</defaultGoal> - <plugins> - <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>exec-maven-plugin</artifactId> - <version>1.6.0</version> - <executions> - <execution> - <id>run-spring-boot</id> - <phase>package</phase> - <goals> - <goal>java</goal> - </goals> - </execution> - </executions> - <configuration> - <mainClass>${start-class}</mainClass> - <systemProperties> - <property> - <key>snapshot.location</key> - <value>${snapshot.file}</value> - </property> - <property> - <key>schema.source.name</key> - <value>${schema.source.name}</value> - </property> - <property> - <key>schema.configuration.location</key> - <value>${schema.configuration.location}</value> - </property> - <property> - <key>schema.nodes.location</key> - <value>${schema.nodes.location}</value> - </property> - <property> - <key>schema.edges.location</key> - <value>${schema.edges.location}</value> - </property> - <property> - <key>schema.version.depth.start</key> - <value>${schema.version.depth.start}</value> - </property> - <property> - <key>schema.version.related.link.start</key> - <value>${schema.version.related.link.start}</value> - </property> - <property> - <key>schema.version.app.root.start</key> - <value>${schema.version.app.root.start}</value> - </property> - <property> - <key>schema.version.namespace.change.start</key> - <value>${schema.version.namespace.change.start}</value> - </property> - <property> - <key>schema.version.edge.label.start</key> - <value>${schema.version.edge.label.start}</value> - </property> - <property> - <key>schema.version.api.default</key> - <value>${schema.version.api.default}</value> - </property> - <property> - <key>schema.version.list</key> - <value>${schema.version.list}</value> - </property> - <property> - <key>schema.uri.base.path</key> - <value>${schema.uri.base.path}</value> - </property> - </systemProperties> - <executable>java</executable> - </configuration> - </plugin> - </plugins> - </build> - </profile> - </profiles> - <dependencyManagement> - <dependencies> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-parent</artifactId> - <version>${spring.boot.version}</version> - <type>pom</type> - <scope>import</scope> - </dependency> - </dependencies> - </dependencyManagement> - <dependencies> - <dependency> - <groupId>net.sf.jopt-simple</groupId> - <artifactId>jopt-simple</artifactId> - <version>${jopt.simple.version}</version> - </dependency> - <dependency> - <groupId>io.swagger</groupId> - <artifactId>swagger-core</artifactId> - <version>${io.swagger.version}</version> - <exclusions> - <exclusion> - <groupId>javax.ws.rs</groupId> - <artifactId>jsr311-api</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>io.swagger</groupId> - <artifactId>swagger-annotations</artifactId> - <version>${io.swagger.version}</version> - </dependency> - <dependency> - <groupId>io.swagger</groupId> - <artifactId>swagger-jersey-jaxrs</artifactId> - <version>${io.swagger.version}</version> - <exclusions> - <exclusion> - <groupId>org.glassfish.jersey.media</groupId> - <artifactId>jersey-media-multipart</artifactId> - </exclusion> - <exclusion> - <artifactId>jersey-core</artifactId> - <groupId>com.sun.jersey</groupId> - </exclusion> - <exclusion> - <artifactId>jersey-json</artifactId> - <groupId>com.sun.jersey</groupId> - </exclusion> - <exclusion> - <artifactId>jersey-server</artifactId> - <groupId>com.sun.jersey</groupId> - </exclusion> - <exclusion> - <artifactId>jersey-client</artifactId> - <groupId>com.sun.jersey</groupId> - </exclusion> - <exclusion> - <artifactId>jsr311-api</artifactId> - <groupId>javax.ws.rs</groupId> - </exclusion> - <exclusion> - <artifactId>jersey-multipart</artifactId> - <groupId>com.sun.jersey.contribs</groupId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>commons-configuration</groupId> - <artifactId>commons-configuration</artifactId> - <version>${commons.configuration.version}</version> - <exclusions> - <exclusion> - <artifactId>commons-lang</artifactId> - <groupId>commons-lang</groupId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>commons-lang</groupId> - <artifactId>commons-lang</artifactId> - <version>${commons.lang.version}</version> - </dependency> - <!-- eelf dependency --> - <dependency> - <groupId>com.att.eelf</groupId> - <artifactId>eelf-core</artifactId> - <version>${eelf.core.version}</version> - </dependency> - <dependency> - <groupId>ch.qos.logback</groupId> - <artifactId>logback-core</artifactId> - <version>${logback.version}</version> - </dependency> - <dependency> - <groupId>ch.qos.logback</groupId> - <artifactId>logback-classic</artifactId> - <version>${logback.version}</version> - </dependency> - <dependency> - <groupId>ch.qos.logback</groupId> - <artifactId>logback-access</artifactId> - <version>${logback.version}</version> - </dependency> - <dependency> - <groupId>org.hamcrest</groupId> - <artifactId>hamcrest-junit</artifactId> - <version>${hamcrest.junit.version}</version> - </dependency> - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <scope>test</scope> - </dependency> - <dependency> - <groupId>com.google.guava</groupId> - <artifactId>guava</artifactId> - <version>${google.guava.version}</version> - </dependency> - <dependency> - <groupId>org.janusgraph</groupId> - <artifactId>janusgraph-core</artifactId> - <version>${janusgraph.version}</version> - <exclusions> - <exclusion> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-log4j12</artifactId> - </exclusion> - <exclusion> - <groupId>dom4j</groupId> - <artifactId>dom4j</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>org.janusgraph</groupId> - <artifactId>janusgraph-cassandra</artifactId> - <version>${janusgraph.version}</version> - <exclusions> - <exclusion> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-log4j12</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>org.janusgraph</groupId> - <artifactId>janusgraph-cql</artifactId> - <version>${janusgraph.version}</version> - <exclusions> - <exclusion> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-log4j12</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>org.janusgraph</groupId> - <artifactId>janusgraph-hbase</artifactId> - <version>${janusgraph.version}</version> - <exclusions> - <exclusion> - <groupId>dom4j</groupId> - <artifactId>dom4j</artifactId> - </exclusion> - </exclusions> - </dependency> - <!-- - indirect janusgraph-cassandra dependency - need to be newer than default one - in order to support multiple cpu archs - --> - <dependency> - <groupId>com.github.jnr</groupId> - <artifactId>jnr-ffi</artifactId> - <version>${jnr.ffi.version}</version> - </dependency> - <dependency> - <groupId>org.apache.tinkerpop</groupId> - <artifactId>gremlin-driver</artifactId> - <version>${gremlin.version}</version> - <exclusions> - <exclusion> - <groupId>org.codehaus.groovy</groupId> - <artifactId>groovy</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>com.fasterxml.jackson.jaxrs</groupId> - <artifactId>jackson-jaxrs-json-provider</artifactId> - </dependency> - <dependency> - <groupId>org.mockito</groupId> - <artifactId>mockito-all</artifactId> - <version>${mockito.version}</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.powermock</groupId> - <artifactId>powermock-module-junit4</artifactId> - <version>${powermock.version}</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.powermock</groupId> - <artifactId>powermock-api-mockito</artifactId> - <version>${powermock.version}</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>com.beust</groupId> - <artifactId>jcommander</artifactId> - <version>${jcommander.version}</version> - </dependency> - <dependency> - <groupId>org.json</groupId> - <artifactId>json</artifactId> - <version>${json.version}</version> - </dependency> - <dependency> - <groupId>org.freemarker</groupId> - <artifactId>freemarker</artifactId> - <version>${freemarker.version}</version> - </dependency> - <dependency> - <groupId>javax.xml.bind</groupId> - <artifactId>jaxb-api</artifactId> - <version>${jaxb.version}</version> - </dependency> - <dependency> - <groupId>com.sun.xml.bind</groupId> - <artifactId>jaxb-impl</artifactId> - <version>${jaxb.version}</version> - </dependency> - <dependency> - <groupId>com.sun.xml.bind</groupId> - <artifactId>jaxb-core</artifactId> - <version>${jaxb.version}</version> - </dependency> - <dependency> - <groupId>com.sun.xml.bind</groupId> - <artifactId>jaxb-xjc</artifactId> - <version>${jaxb.version}</version> - </dependency> - <dependency> - <groupId>org.eclipse.persistence</groupId> - <artifactId>eclipselink</artifactId> - <version>${eclipse.persistence.version}</version> - </dependency> - <dependency> - <groupId>org.eclipse.persistence</groupId> - <artifactId>org.eclipse.persistence.moxy</artifactId> - <version>${eclipse.persistence.version}</version> - <scope>compile</scope> - </dependency> - <dependency> - <groupId>org.powermock</groupId> - <artifactId>powermock-module-javaagent</artifactId> - <version>${powermock.version}</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.powermock</groupId> - <artifactId>powermock-module-junit4-rule-agent</artifactId> - <version>${powermock.version}</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>com.github.fge</groupId> - <artifactId>json-patch</artifactId> - <version>${json.patch.version}</version> - </dependency> - <dependency> - <groupId>org.javatuples</groupId> - <artifactId>javatuples</artifactId> - <version>${javatuples.version}</version> - <scope>compile</scope> - </dependency> - <dependency> - <groupId>com.google.code.gson</groupId> - <artifactId>gson</artifactId> - <version>${gson.version}</version> - </dependency> - <dependency> - <groupId>com.bazaarvoice.jolt</groupId> - <artifactId>jolt-complete</artifactId> - <version>${jolt.version}</version> - </dependency> - <dependency> - <groupId>com.jayway.jsonpath</groupId> - <artifactId>json-path</artifactId> - <version>${json.path.version}</version> - </dependency> - <!-- Do not use activemq-all because they force you to use a specific logging - and they shade it so you can't simply exclude it and when you deploy the - jar, you will notice failure --> - <dependency> - <groupId>org.apache.activemq</groupId> - <artifactId>activemq-broker</artifactId> - <version>${activemq.version}</version> - </dependency> - <dependency> - <groupId>org.apache.activemq</groupId> - <artifactId>activemq-client</artifactId> - <version>${activemq.version}</version> - </dependency> - <dependency> - <groupId>org.onap.aai.aai-common</groupId> - <artifactId>aai-core</artifactId> - <version>${aai.core.version}</version> - <exclusions> - <exclusion> - <groupId>com.sun.jersey</groupId> - <artifactId>jersey-core</artifactId> - </exclusion> - <exclusion> - <groupId>org.codehaus.jackson</groupId> - <artifactId>jackson-mapper-asl</artifactId> - </exclusion> - <exclusion> - <groupId>org.eclipse.jetty</groupId> - <artifactId>jetty-http</artifactId> - </exclusion> - <exclusion> - <groupId>org.eclipse.jetty</groupId> - <artifactId>jetty-server</artifactId> - </exclusion> - <exclusion> - <groupId>org.springframework</groupId> - <artifactId>spring-web</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>org.springframework</groupId> - <artifactId>spring-jms</artifactId> - <version>${spring.jms.version}</version> - <exclusions> - <exclusion> - <groupId>com.sun.jersey</groupId> - <artifactId>jersey-core</artifactId> - </exclusion> - </exclusions> - </dependency> - <!-- Do not use the jersey-client since jersey client 1.0 version clashes - with jersey 2 which we are using --> - <!-- Use this to make http requests instead of jersey 1.0 client --> - <dependency> - <groupId>org.apache.httpcomponents</groupId> - <artifactId>httpclient</artifactId> - <version>${httpclient.version}</version> - </dependency> - <dependency> - <groupId>org.onap.aai.aai-common</groupId> - <artifactId>aai-rest</artifactId> - <version>${aai.rest.version}</version> - </dependency> - <dependency> - <groupId>org.skyscreamer</groupId> - <artifactId>jsonassert</artifactId> - <version>${jsonassert.version}</version> - <scope>test</scope> - </dependency> - <!-- - Explicitly stating the security spring framework and - exclude the bouncy castle since that is somehow overwriting - our p12 file decryption that's built into java security - This will cause the password is incorrect - This needs to be added back if org.bouncy castle dependency - sneaks backs in and causing issues with the two way ssl - --> - <dependency> - <groupId>org.springframework.security</groupId> - <artifactId>spring-security-rsa</artifactId> - <version>${spring.security.version}</version> - <exclusions> - <exclusion> - <groupId>org.bouncycastle</groupId> - <artifactId>bcpkix-jdk15on</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>io.netty</groupId> - <artifactId>netty-handler</artifactId> - <version>${netty.handler.version}</version> - </dependency> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-web</artifactId> - <exclusions> - <exclusion> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-tomcat</artifactId> - </exclusion> - <exclusion> - <groupId>org.slf4j</groupId> - <artifactId>log4j-over-slf4j</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-jetty</artifactId> - </dependency> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-jersey</artifactId> - <exclusions> - <exclusion> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-tomcat</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>org.onap.aaf.authz</groupId> - <artifactId>aaf-cadi-aaf</artifactId> - <version>${aaf.version}</version> - </dependency> - <dependency> - <groupId>io.netty</groupId> - <artifactId>netty-all</artifactId> - <version>${netty.version}</version> - </dependency> - <dependency> - <groupId>org.springframework</groupId> - <artifactId>spring-test</artifactId> - <version>${spring.test.version}</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-test</artifactId> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.antlr</groupId> - <artifactId>antlr4-runtime</artifactId> - <version>${antlr.version}</version> - </dependency> - <dependency> - <groupId>org.antlr</groupId> - <artifactId>antlr4-maven-plugin</artifactId> - <version>${antlr.version}</version> - <exclusions> - <exclusion> - <groupId>org.sonatype.sisu</groupId> - <artifactId>sisu-guava</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>org.apache.tinkerpop</groupId> - <artifactId>gremlin-core</artifactId> - <version>${gremlin.version}</version> - <exclusions> - <exclusion> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-log4j12</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>org.apache.tinkerpop</groupId> - <artifactId>tinkergraph-gremlin</artifactId> - <version>${gremlin.version}</version> - </dependency> - <dependency> - <groupId>org.apache.tinkerpop</groupId> - <artifactId>gremlin-groovy</artifactId> - <version>${gremlin.version}</version> - </dependency> - <dependency> - <groupId>org.codehaus.plexus</groupId> - <artifactId>plexus-utils</artifactId> - <version>${plexus.utils.version}</version> - </dependency> - </dependencies> - <build> - <resources> - <resource> - <directory>${project.basedir}/src/main/swm</directory> - <targetPath>${project.build.directory}/swm</targetPath> - <filtering>false</filtering> - </resource> - <resource> - <directory>${project.basedir}/src/main/resources</directory> - <includes> - <include>application.properties</include> - <include>dme2.properties</include> - <include>logback.xml</include> - <include>localhost-access-logback.xml</include> - </includes> - <targetPath>${project.build.directory}/swm/package/nix/dist_files/opt/app/${project.artifactId}/appconfig</targetPath> - <filtering>false</filtering> - </resource> - <resource> - <directory>${project.basedir}/src/main/resources</directory> - <includes> - <include>**/*</include> - </includes> - <filtering>true</filtering> - </resource> - <resource> - <directory>${project.basedir}/src/main/resources/etc/appprops/</directory> - <includes> - <include>janusgraph-realtime.properties</include> - <include>janusgraph-cached.properties</include> - <include>aaiconfig.properties</include> - </includes> - <targetPath>${project.build.directory}/swm/package/nix/dist_files/opt/app/${project.artifactId}/appconfig</targetPath> - <filtering>false</filtering> - </resource> - <resource> - <directory>${project.basedir}/src/main/resources/etc/auth/</directory> - <includes> - <include>aai-client-cert.p12</include> - <include>tomcat_keystore</include> - <include>aai_policy.json</include> - </includes> - <targetPath>${project.build.directory}/swm/package/nix/dist_files/opt/app/${project.artifactId}/appconfig</targetPath> - <filtering>true</filtering> - </resource> - <resource> - <directory>${project.basedir}/src/main/resources/</directory> - <includes> - <include>logback.xml</include> - <include>localhost-access-logback.xml</include> - </includes> - <targetPath>${project.build.directory}/swm/package/nix/dist_files/opt/app/${project.artifactId}/appconfig</targetPath> - <filtering>true</filtering> - </resource> - <resource> - <directory>${project.basedir}/src/main/resources/schema/</directory> - <includes> - <include>**/oxm/**/*.xml</include> - <include>**/dbedgerules/**/*.json</include> - <include>**/query/**</include> - </includes> - <targetPath>${project.build.directory}/swm/package/nix/dist_files/opt/app/${project.artifactId}/appconfig/schema</targetPath> - <filtering>false</filtering> - </resource> - <resource> - <directory>${project.basedir}/src/main/resources/query/</directory> - <includes> - <include>**/*.json</include> - </includes> - <targetPath>${project.build.directory}/swm/package/nix/dist_files/opt/app/${project.artifactId}/appconfig/query</targetPath> - <filtering>false</filtering> - </resource> - <resource> - <directory>${project.basedir}/src/main/docker</directory> - <includes> - <include>**/*</include> - </includes> - <targetPath>${aai.build.directory}</targetPath> - <filtering>true</filtering> - </resource> - </resources> - <pluginManagement> - <plugins> - <plugin> - <groupId>com.mycila</groupId> - <artifactId>license-maven-plugin</artifactId> - <version>3.0</version> - <configuration> - <header>LICENSE.TXT</header> - <includes> - <include>src/main/java/**</include> - <include>src/test/java/**</include> - <include>pom.xml</include> - </includes> - <skipExistingHeaders>true</skipExistingHeaders> - <skip>false</skip> - </configuration> - </plugin> - <plugin> - <groupId>org.codehaus.groovy.maven</groupId> - <artifactId>gmaven-plugin</artifactId> - <version>1.0</version> - <executions> - <execution> - <phase>validate</phase> - <goals> - <goal>execute</goal> - </goals> - <configuration> - <source> - println project.properties['aai.project.version']; - def versionArray; - if (project.properties['aai.project.version'] != null) { - versionArray = project.properties['aai.project.version'].split('\\.'); - } - - project.properties["project.major.version"] = versionArray[0]; - project.properties["project.minor.version"] = versionArray[1]; - project.properties['project.docker.latesttag.version'] = versionArray[0] + '.' + versionArray[1] + '-STAGING-latest'; - println 'New Tag for docker:' + project.properties['project.docker.latesttag.version']; - </source> - </configuration> - </execution> - </executions> - </plugin> - </plugins> - </pluginManagement> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-clean-plugin</artifactId> - <version>2.4.1</version> - <configuration> - <filesets> - <fileset> - <directory>${project.basedir}/src/main/resources/etc/oxm</directory> - <includes> - <include>**/*</include> - </includes> - <followSymlinks>false</followSymlinks> - </fileset> - <fileset> - <directory>${project.basedir}/src/main/resources/etc/dbedgerules</directory> - <includes> - <include>**/*</include> - </includes> - <followSymlinks>false</followSymlinks> - </fileset> - <fileset> - <directory>${project.basedir}/src/main/resources/schema</directory> - <includes> - <include>**/oxm/**</include> - <include>**/dbedgerules/**</include> - </includes> - <followSymlinks>false</followSymlinks> - </fileset> - </filesets> - </configuration> - </plugin> - <plugin> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-maven-plugin</artifactId> - </plugin> - <plugin> - <artifactId>exec-maven-plugin</artifactId> - <groupId>org.codehaus.mojo</groupId> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-javadoc-plugin</artifactId> - </plugin> - <plugin> - <groupId>com.mycila</groupId> - <artifactId>license-maven-plugin</artifactId> - </plugin> - <plugin> - <artifactId>maven-assembly-plugin</artifactId> - <configuration> - <descriptors> - <descriptor>src/main/assembly/descriptor.xml</descriptor> - </descriptors> - </configuration> - <executions> - <execution> - <id>make-assembly</id> <!-- this is used for inheritance merges --> - <phase>package</phase> <!-- bind to the packaging phase --> - <goals> - <goal>single</goal> - </goals> - </execution> - </executions> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-surefire-plugin</artifactId> - <version>2.12.4</version> - <configuration> - <argLine>-noverify ${argLine}</argLine> - <runOrder>alphabetical</runOrder> - </configuration> - </plugin> - <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>sonar-maven-plugin</artifactId> - <version>3.3</version> - </plugin> - <plugin> - <groupId>org.codehaus.groovy.maven</groupId> - <artifactId>gmaven-plugin</artifactId> - </plugin> - <plugin> - <groupId>org.jacoco</groupId> - <artifactId>jacoco-maven-plugin</artifactId> - <version>0.7.9</version> - <configuration> - <dumpOnExit>true</dumpOnExit> - <excludes> - <exclude>**/**/models/**/*.class</exclude> - </excludes> - </configuration> - <executions> - <execution> - <id>jacoco-initialize-unit-tests</id> - <goals> - <goal>prepare-agent</goal> - </goals> - <configuration> - <destFile>${project.build.directory}/coverage-reports/jacoco.exec</destFile> - <!-- <append>true</append> --> - </configuration> - </execution> - <execution> - <id>post-unit-test</id> - <phase>test</phase> - <goals> - <goal>report</goal> - </goals> - <configuration> - <!-- Sets the path to the file which contains the execution data. --> - <dataFile>${project.build.directory}/coverage-reports/jacoco.exec</dataFile> - <!-- Sets the output directory for the code coverage report. --> - <outputDirectory>${project.reporting.outputDirectory}/jacoco</outputDirectory> - </configuration> - </execution> - <execution> - <id>default-check</id> - <goals> - <goal>check</goal> - </goals> - <configuration> - <dataFile>${project.build.directory}/coverage-reports/jacoco.exec</dataFile> - <rules> - <!-- implementation is needed only for Maven 2 --> - <rule implementation="org.jacoco.maven.RuleConfiguration"> - <element>BUNDLE</element> - <limits> - <limit implementation="org.jacoco.report.check.Limit"> - <counter>LINE</counter> - <value>COVEREDRATIO</value> - <minimum>${jacoco.line.coverage.limit}</minimum> - </limit> - </limits> - </rule> - </rules> - </configuration> - </execution> - </executions> - </plugin> - <plugin> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-maven-plugin</artifactId> - <configuration> - <mainClass>${start-class}</mainClass> - <layout>ZIP</layout> - </configuration> - <executions> - <execution> - <goals> - <goal>repackage</goal> - </goals> - </execution> - </executions> - </plugin> - <plugin> - <groupId>org.antlr</groupId> - <artifactId>antlr4-maven-plugin</artifactId> - <version>4.7</version> - <executions> - <execution> - <goals> - <goal>antlr4</goal> - </goals> - <configuration> - <sourceDirectory>src/main/resources/antlr4</sourceDirectory> - <!-- <outputDirectory>src/main/java/antlr4</outputDirectory> --> - </configuration> - </execution> - </executions> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-dependency-plugin</artifactId> - <version>2.8</version> - <executions> - <execution> - <id>unpack-schema-dependency</id> - <phase>initialize</phase> - <goals> - <goal>unpack</goal> - </goals> - <configuration> - <artifactItems> - <artifactItem> - <groupId>org.onap.aai.schema-service</groupId> - <artifactId>aai-schema</artifactId> - <version>${aai.schema.version}</version> - <outputDirectory>${project.basedir}/src/main/resources/schema/</outputDirectory> - <includes>**/oxm/**/*.xml</includes> - </artifactItem> - </artifactItems> - <!-- other configurations here --> - </configuration> - </execution> - <execution> - <id>unpack-edgerules-dependency</id> - <phase>initialize</phase> - <goals> - <goal>unpack</goal> - </goals> - <configuration> - <artifactItems> - <artifactItem> - <groupId>org.onap.aai.schema-service</groupId> - <artifactId>aai-schema</artifactId> - <version>${aai.schema.version}</version> - <outputDirectory>${project.basedir}/src/main/resources/schema/</outputDirectory> - <includes>**/dbedgerules/**/*.json</includes> - </artifactItem> - </artifactItems> - <!-- other configurations here --> - </configuration> - </execution> - </executions> - </plugin> - <plugin> - <groupId>com.mycila</groupId> - <artifactId>license-maven-plugin</artifactId> - <version>3.0</version> - <configuration> - <header>LICENSE.TXT</header> - <includes> - <include>src/main/java/**</include> - <include>src/test/java/**</include> - <include>pom.xml</include> - </includes> - <skipExistingHeaders>false</skipExistingHeaders> - <skip>false</skip> - </configuration> - </plugin> - </plugins> - </build> + project.properties["project.major.version"] = versionArray[0]; + project.properties["project.minor.version"] = versionArray[1]; + project.properties['project.docker.latesttag.version'] = + versionArray[0] + '.' + versionArray[1] + '-STAGING-latest'; + println 'New Tag for docker:' + + project.properties['project.docker.latesttag.version']; + </source> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </pluginManagement> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-clean-plugin</artifactId> + <version>2.4.1</version> + <configuration> + <filesets> + <fileset> + <directory>${project.basedir}/src/main/resources/etc/oxm</directory> + <includes> + <include>**/*</include> + </includes> + <followSymlinks>false</followSymlinks> + </fileset> + <fileset> + <directory>${project.basedir}/src/main/resources/etc/dbedgerules</directory> + <includes> + <include>**/*</include> + </includes> + <followSymlinks>false</followSymlinks> + </fileset> + <fileset> + <directory>${project.basedir}/src/main/resources/schema</directory> + <includes> + <include>**/oxm/**</include> + <include>**/dbedgerules/**</include> + </includes> + <followSymlinks>false</followSymlinks> + </fileset> + </filesets> + </configuration> + </plugin> + <plugin> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-maven-plugin</artifactId> + </plugin> + <plugin> + <artifactId>exec-maven-plugin</artifactId> + <groupId>org.codehaus.mojo</groupId> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-javadoc-plugin</artifactId> + </plugin> + <plugin> + <groupId>com.mycila</groupId> + <artifactId>license-maven-plugin</artifactId> + </plugin> + <plugin> + <artifactId>maven-assembly-plugin</artifactId> + <configuration> + <descriptors> + <descriptor>src/main/assembly/descriptor.xml</descriptor> + </descriptors> + </configuration> + <executions> + <execution> + <id>make-assembly</id> <!-- this is used for inheritance merges --> + <phase>package</phase> <!-- bind to the packaging phase --> + <goals> + <goal>single</goal> + </goals> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-plugin</artifactId> + <version>2.12.4</version> + <configuration> + <argLine>-noverify ${argLine}</argLine> + <runOrder>alphabetical</runOrder> + </configuration> + </plugin> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>sonar-maven-plugin</artifactId> + <version>3.3</version> + </plugin> + <plugin> + <groupId>org.codehaus.groovy.maven</groupId> + <artifactId>gmaven-plugin</artifactId> + </plugin> + <plugin> + <groupId>org.jacoco</groupId> + <artifactId>jacoco-maven-plugin</artifactId> + <version>0.7.9</version> + <configuration> + <dumpOnExit>true</dumpOnExit> + <excludes> + <exclude>**/**/models/**/*.class</exclude> + </excludes> + </configuration> + <executions> + <execution> + <id>jacoco-initialize-unit-tests</id> + <goals> + <goal>prepare-agent</goal> + </goals> + <configuration> + <destFile>${project.build.directory}/coverage-reports/jacoco.exec</destFile> + <!-- <append>true</append> --> + </configuration> + </execution> + <execution> + <id>post-unit-test</id> + <phase>test</phase> + <goals> + <goal>report</goal> + </goals> + <configuration> + <!-- Sets the path to the file which contains the execution data. --> + <dataFile>${project.build.directory}/coverage-reports/jacoco.exec</dataFile> + <!-- Sets the output directory for the code coverage report. --> + <outputDirectory>${project.reporting.outputDirectory}/jacoco</outputDirectory> + </configuration> + </execution> + <execution> + <id>default-check</id> + <goals> + <goal>check</goal> + </goals> + <configuration> + <dataFile>${project.build.directory}/coverage-reports/jacoco.exec</dataFile> + <rules> + <!-- implementation is needed only for Maven 2 --> + <rule implementation="org.jacoco.maven.RuleConfiguration"> + <element>BUNDLE</element> + <limits> + <limit implementation="org.jacoco.report.check.Limit"> + <counter>LINE</counter> + <value>COVEREDRATIO</value> + <minimum>${jacoco.line.coverage.limit}</minimum> + </limit> + </limits> + </rule> + </rules> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-maven-plugin</artifactId> + <configuration> + <mainClass>${start-class}</mainClass> + <layout>ZIP</layout> + </configuration> + <executions> + <execution> + <goals> + <goal>repackage</goal> + </goals> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.antlr</groupId> + <artifactId>antlr4-maven-plugin</artifactId> + <version>4.7</version> + <executions> + <execution> + <goals> + <goal>antlr4</goal> + </goals> + <configuration> + <sourceDirectory>src/main/resources/antlr4</sourceDirectory> + <!-- <outputDirectory>src/main/java/antlr4</outputDirectory> --> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-dependency-plugin</artifactId> + <version>2.8</version> + <executions> + <execution> + <id>unpack-schema-dependency</id> + <phase>initialize</phase> + <goals> + <goal>unpack</goal> + </goals> + <configuration> + <artifactItems> + <artifactItem> + <groupId>org.onap.aai.schema-service</groupId> + <artifactId>aai-schema</artifactId> + <outputDirectory>${project.basedir}/src/main/resources/schema/</outputDirectory> + <includes>**/oxm/**/*.xml</includes> + </artifactItem> + </artifactItems> + <!-- other configurations here --> + </configuration> + </execution> + <execution> + <id>unpack-edgerules-dependency</id> + <phase>initialize</phase> + <goals> + <goal>unpack</goal> + </goals> + <configuration> + <artifactItems> + <artifactItem> + <groupId>org.onap.aai.schema-service</groupId> + <artifactId>aai-schema</artifactId> + <outputDirectory>${project.basedir}/src/main/resources/schema/</outputDirectory> + <includes>**/dbedgerules/**/*.json</includes> + </artifactItem> + </artifactItems> + <!-- other configurations here --> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>com.mycila</groupId> + <artifactId>license-maven-plugin</artifactId> + <version>3.0</version> + <configuration> + <header>LICENSE.TXT</header> + <includes> + <include>src/main/java/**</include> + <include>src/test/java/**</include> + <include>pom.xml</include> + </includes> + <skipExistingHeaders>false</skipExistingHeaders> + <skip>false</skip> + </configuration> + </plugin> + </plugins> + </build> </project> diff --git a/aai-traversal/src/main/java/org/onap/aai/transforms/MapTraverser.java b/aai-traversal/src/main/java/org/onap/aai/transforms/MapTraverser.java index 9091998..36c453a 100644 --- a/aai-traversal/src/main/java/org/onap/aai/transforms/MapTraverser.java +++ b/aai-traversal/src/main/java/org/onap/aai/transforms/MapTraverser.java @@ -19,14 +19,13 @@ */ package org.onap.aai.transforms; - -import joptsimple.internal.Objects; - import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import org.apache.commons.collections.MapUtils; + public class MapTraverser { private Converter converter; @@ -37,8 +36,9 @@ public class MapTraverser { public Map<String, Object> convertKeys(Map<String, Object> map){ - Objects.ensureNotNull(map); - + if (MapUtils.isEmpty(map)) { + throw new NullPointerException("map cannot be null"); + } Map<String, Object> modifiedMap = new HashMap<String, Object>(); convertKeys(map, modifiedMap); |