added custom validators for use with openpojo 45/37545/1
authorBenjamin, Max (mb388a) <mb388a@us.att.com>
Wed, 21 Mar 2018 18:16:56 +0000 (14:16 -0400)
committerBenjamin, Max (mb388a) <mb388a@us.att.com>
Wed, 21 Mar 2018 18:18:16 +0000 (14:18 -0400)
Change-Id: I7c9fdeb6bccddb1b7ec6bf845351731c3043aafa
Issue-ID: SO-510
Signed-off-by: Benjamin, Max (mb388a) <mb388a@us.att.com>
15 files changed:
adapters/mso-catalog-db-adapter/pom.xml
adapters/mso-tenant-adapter/pom.xml
adapters/mso-vnf-adapter/pom.xml
asdc-controller/pom.xml
bpmn/MSOInfrastructureBPMN/pom.xml
bpmn/MSORESTClient/pom.xml
common/pom.xml
common/src/main/java/org/openecomp/mso/openpojo/rules/CustomSetterMustExistRule.java [new file with mode: 0644]
common/src/main/java/org/openecomp/mso/openpojo/rules/EqualsAndHashCodeTester.java [new file with mode: 0644]
common/src/main/java/org/openecomp/mso/openpojo/rules/HasAnnotationMatcher.java [new file with mode: 0644]
common/src/main/java/org/openecomp/mso/openpojo/rules/HasAnnotationPropertyWithValueMatcher.java [new file with mode: 0644]
common/src/main/java/org/openecomp/mso/openpojo/rules/HasEqualsAndHashCodeRule.java [new file with mode: 0644]
common/src/main/java/org/openecomp/mso/openpojo/rules/HasToStringRule.java [new file with mode: 0644]
common/src/main/java/org/openecomp/mso/openpojo/rules/ToStringTester.java [new file with mode: 0644]
pom.xml

index 67b1f31..67d81db 100644 (file)
@@ -45,7 +45,7 @@
                                                                                        jaxws-maven-plugin
                                                                                </artifactId>
                                                                                <versionRange>
-                                                                                       [2.3,)
+                                                                                       [2.3.1,)
                                                                                </versionRange>
                                                                                <goals>
                                                                                        <goal>wsgen</goal>
     <version>1.0.4</version>
        <scope>test</scope>
 </dependency>
-<dependency>
-    <groupId>org.hamcrest</groupId>
-    <artifactId>hamcrest-all</artifactId>
-    <version>1.3</version>
-    <scope>test</scope>
-</dependency>
 <dependency>
     <groupId>javax.servlet</groupId>
     <artifactId>javax.servlet-api</artifactId>
index 6604e7e..0b15b0d 100644 (file)
                        <artifactId>status-control</artifactId>
                        <version>${project.version}</version>
                </dependency>
-                <dependency>
-                    <groupId>org.mockito</groupId>
-                    <artifactId>mockito-all</artifactId>
-                    <version>1.10.19</version>
-                    <scope>test</scope>
-                </dependency>
        </dependencies>
 </project>
index 643f42f..c4eb83c 100644 (file)
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
-       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">\r
-       <modelVersion>4.0.0</modelVersion>\r
-       <parent>\r
-               <groupId>org.onap.so</groupId>\r
-               <artifactId>adapters</artifactId>\r
-               <version>1.2.0-SNAPSHOT</version>\r
-       </parent>\r
-       <groupId>org.onap.so.adapters</groupId>\r
-       <artifactId>mso-vnf-adapter</artifactId>\r
-       <packaging>war</packaging>\r
-       <name>mso-vnf-adapter</name>\r
-       <description>Web Service and REST endpoint for VNF operations</description>\r
-\r
-       <build>\r
-               <finalName>${project.artifactId}-${project.version}</finalName>\r
-               <plugins>\r
-                       <plugin>\r
-                               <artifactId>maven-war-plugin</artifactId>\r
-                               <version>2.4</version>\r
-                               <configuration>\r
-                                       <warSourceDirectory>WebContent</warSourceDirectory>\r
-                                       <failOnMissingWebXml>false</failOnMissingWebXml>\r
-                                       <attachClasses>true</attachClasses>\r
-                               </configuration>\r
-                       </plugin>\r
-                       <plugin>\r
-                               <groupId>org.jvnet.jax-ws-commons</groupId>\r
-                               <artifactId>jaxws-maven-plugin</artifactId>\r
-                               <version>2.3</version>\r
-                               <executions>\r
-                                       <execution>\r
-                                               <id>Synch</id>\r
-                                               <goals>\r
-                                                       <goal>wsgen</goal>\r
-                                               </goals>\r
-                                               <configuration>\r
-                                                       <verbose>true</verbose>\r
-                                                       <sei>org.openecomp.mso.adapters.vnf.MsoVnfAdapterImpl</sei>\r
-                                                       <genWsdl>true</genWsdl>\r
-                                                       <inlineSchemas>true</inlineSchemas>\r
-                                               </configuration>\r
-                                       </execution>\r
-                                       <execution>\r
-                                               <id>Asynch</id>\r
-                                               <goals>\r
-                                                       <goal>wsgen</goal>\r
-                                               </goals>\r
-                                               <configuration>\r
-                                                       <verbose>true</verbose>\r
-                                                       <sei>org.openecomp.mso.adapters.vnf.MsoVnfAdapterAsyncImpl</sei>\r
-                                                       <genWsdl>true</genWsdl>\r
-                                                       <inlineSchemas>true</inlineSchemas>\r
-                                               </configuration>\r
-                                       </execution>\r
-                               </executions>\r
-                               <dependencies>\r
-                                       <dependency>\r
-                                               <groupId>org.onap.so.adapters</groupId>\r
-                                               <artifactId>mso-adapter-utils</artifactId>\r
-                                               <version>${project.version}</version>\r
-                                       </dependency>\r
-                                       <dependency>\r
-                                               <groupId>com.sun.xml.ws</groupId>\r
-                                               <artifactId>jaxws-tools</artifactId>\r
-                                               <version>2.2.7</version>\r
-                                       </dependency>\r
-                               </dependencies>\r
-                       </plugin>\r
-               </plugins>\r
-               <pluginManagement>\r
-                       <plugins>\r
-                               <!--This plugin's configuration is used to store Eclipse m2e settings \r
-                                       only. It has no influence on the Maven build itself. -->\r
-                               <plugin>\r
-                                       <groupId>org.eclipse.m2e</groupId>\r
-                                       <artifactId>lifecycle-mapping</artifactId>\r
-                                       <version>1.0.0</version>\r
-                                       <configuration>\r
-                                               <lifecycleMappingMetadata>\r
-                                                       <pluginExecutions>\r
-                                                               <pluginExecution>\r
-                                                                       <pluginExecutionFilter>\r
-                                                                               <groupId>\r
-                                                                                       org.jvnet.jax-ws-commons\r
-                                                                               </groupId>\r
-                                                                               <artifactId>\r
-                                                                                       jaxws-maven-plugin\r
-                                                                               </artifactId>\r
-                                                                               <versionRange>\r
-                                                                                       [2.3,)\r
-                                                                               </versionRange>\r
-                                                                               <goals>\r
-                                                                                       <goal>wsgen</goal>\r
-                                                                               </goals>\r
-                                                                       </pluginExecutionFilter>\r
-                                                                       <action>\r
-                                                                               <ignore></ignore>\r
-                                                                       </action>\r
-                                                               </pluginExecution>\r
-                                                       </pluginExecutions>\r
-                                               </lifecycleMappingMetadata>\r
-                                       </configuration>\r
-                               </plugin>\r
-                       </plugins>\r
-               </pluginManagement>\r
-       </build>\r
-       <dependencies>\r
-               <dependency>\r
-                       <groupId>org.onap.so.adapters</groupId>\r
-                       <artifactId>mso-adapter-utils</artifactId>\r
-                       <version>${project.version}</version>\r
-               </dependency>\r
-               <dependency>\r
-                       <groupId>org.onap.so.adapters</groupId>\r
-                       <artifactId>mso-adapters-rest-interface</artifactId>\r
-                       <version>${project.version}</version>\r
-               </dependency>\r
-               <dependency>\r
-                       <groupId>org.onap.so.adapters</groupId>\r
-                       <artifactId>mso-vnf-adapter-async-client</artifactId>\r
-                       <version>${project.version}</version>\r
-               </dependency>\r
-               <dependency>\r
-                       <groupId>javax</groupId>\r
-                       <artifactId>javaee-web-api</artifactId>\r
-                       <version>6.0</version>\r
-                       <scope>provided</scope>\r
-               </dependency>\r
-               <dependency>\r
-                       <groupId>org.jboss.spec.javax.ejb</groupId>\r
-                       <artifactId>jboss-ejb-api_3.2_spec</artifactId>\r
-                       <version>1.0.0.Final</version>\r
-                       <scope>provided</scope>\r
-               </dependency>\r
-               <dependency>\r
-                       <groupId>org.jboss.ejb3</groupId>\r
-                       <artifactId>jboss-ejb3-ext-api</artifactId>\r
-                       <version>2.2.0.Final</version>\r
-                       <scope>provided</scope>\r
-               </dependency>\r
-               <dependency>\r
-                       <groupId>org.onap.so</groupId>\r
-                       <artifactId>status-control</artifactId>\r
-                       <version>${project.version}</version>\r
-               </dependency>\r
-               <dependency>\r
-                       <groupId>org.onap.so</groupId>\r
-                       <artifactId>aria-client</artifactId>\r
-                       <version>1.2.0</version>\r
-               </dependency>\r
-               <dependency>\r
-                       <groupId>org.jmockit</groupId>\r
-                       <artifactId>jmockit</artifactId>\r
-                       <version>1.8</version>\r
-                       <scope>test</scope>\r
-               </dependency>\r
-               <dependency>\r
-                       <groupId>junit</groupId>\r
-                       <artifactId>junit</artifactId>\r
-                       <version>4.12</version>\r
-                       <scope>test</scope>\r
-               </dependency>\r
-               <!-- <dependency> -->\r
-               <!-- <groupId>org.onap.so</groupId> -->\r
-               <!-- <artifactId>mso-catalog-db</artifactId> -->\r
-               <!-- <version>${project.version}</version> -->\r
-               <!-- </dependency> -->\r
-               <!-- <dependency> -->\r
-               <!-- <groupId>log4j</groupId> -->\r
-               <!-- <artifactId>log4j</artifactId> -->\r
-               <!-- <version>1.2.17</version> -->\r
-               <!-- </dependency> -->\r
-       </dependencies>\r
-</project>\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">
+       <modelVersion>4.0.0</modelVersion>
+       <parent>
+               <groupId>org.onap.so</groupId>
+               <artifactId>adapters</artifactId>
+               <version>1.2.0-SNAPSHOT</version>
+       </parent>
+       <groupId>org.onap.so.adapters</groupId>
+       <artifactId>mso-vnf-adapter</artifactId>
+       <packaging>war</packaging>
+       <name>mso-vnf-adapter</name>
+       <description>Web Service and REST endpoint for VNF operations</description>
+
+       <build>
+               <finalName>${project.artifactId}-${project.version}</finalName>
+               <plugins>
+                       <plugin>
+                               <artifactId>maven-war-plugin</artifactId>
+                               <version>2.4</version>
+                               <configuration>
+                                       <warSourceDirectory>WebContent</warSourceDirectory>
+                                       <failOnMissingWebXml>false</failOnMissingWebXml>
+                                       <attachClasses>true</attachClasses>
+                               </configuration>
+                       </plugin>
+                       <plugin>
+                               <groupId>org.codehaus.mojo</groupId>
+                               <artifactId>jaxws-maven-plugin</artifactId>
+                               <version>2.4.1</version>
+                               <executions>
+                                       <execution>
+                                               <id>Synch</id>
+                                               <goals>
+                                                       <goal>wsgen</goal>
+                                               </goals>
+                                               <configuration>
+                                                       <verbose>true</verbose>
+                                                       <sei>org.openecomp.mso.adapters.vnf.MsoVnfAdapterImpl</sei>
+                                                       <genWsdl>true</genWsdl>
+                                                       <inlineSchemas>true</inlineSchemas>
+                                               </configuration>
+                                       </execution>
+                                       <execution>
+                                               <id>Asynch</id>
+                                               <goals>
+                                                       <goal>wsgen</goal>
+                                               </goals>
+                                               <configuration>
+                                                       <verbose>true</verbose>
+                                                       <sei>org.openecomp.mso.adapters.vnf.MsoVnfAdapterAsyncImpl</sei>
+                                                       <genWsdl>true</genWsdl>
+                                                       <inlineSchemas>true</inlineSchemas>
+                                               </configuration>
+                                       </execution>
+                               </executions>
+                               <dependencies>
+                                       <dependency>
+                                               <groupId>org.onap.so.adapters</groupId>
+                                               <artifactId>mso-adapter-utils</artifactId>
+                                               <version>${project.version}</version>
+                                       </dependency>
+                                       <dependency>
+                                               <groupId>com.sun.xml.ws</groupId>
+                                               <artifactId>jaxws-tools</artifactId>
+                                               <version>2.2.7</version>
+                                       </dependency>
+                               </dependencies>
+                       </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>
+                                                                                       org.codehaus.mojo
+                                                                               </groupId>
+                                                                               <artifactId>
+                                                                                       jaxws-maven-plugin
+                                                                               </artifactId>
+                                                                               <versionRange>
+                                                                                       [2.4.1,)
+                                                                               </versionRange>
+                                                                               <goals>
+                                                                                       <goal>wsgen</goal>
+                                                                               </goals>
+                                                                       </pluginExecutionFilter>
+                                                                       <action>
+                                                                               <ignore></ignore>
+                                                                       </action>
+                                                               </pluginExecution>
+                                                       </pluginExecutions>
+                                               </lifecycleMappingMetadata>
+                                       </configuration>
+                               </plugin>
+                       </plugins>
+               </pluginManagement>
+       </build>
+       <dependencies>
+               <dependency>
+                       <groupId>org.onap.so.adapters</groupId>
+                       <artifactId>mso-adapter-utils</artifactId>
+                       <version>${project.version}</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.onap.so.adapters</groupId>
+                       <artifactId>mso-adapters-rest-interface</artifactId>
+                       <version>${project.version}</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.onap.so.adapters</groupId>
+                       <artifactId>mso-vnf-adapter-async-client</artifactId>
+                       <version>${project.version}</version>
+               </dependency>
+               <dependency>
+                       <groupId>javax</groupId>
+                       <artifactId>javaee-web-api</artifactId>
+                       <version>6.0</version>
+                       <scope>provided</scope>
+               </dependency>
+               <dependency>
+                       <groupId>org.jboss.spec.javax.ejb</groupId>
+                       <artifactId>jboss-ejb-api_3.2_spec</artifactId>
+                       <version>1.0.0.Final</version>
+                       <scope>provided</scope>
+               </dependency>
+               <dependency>
+                       <groupId>org.jboss.ejb3</groupId>
+                       <artifactId>jboss-ejb3-ext-api</artifactId>
+                       <version>2.2.0.Final</version>
+                       <scope>provided</scope>
+               </dependency>
+               <dependency>
+                       <groupId>org.onap.so</groupId>
+                       <artifactId>status-control</artifactId>
+                       <version>${project.version}</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.onap.so</groupId>
+                       <artifactId>aria-client</artifactId>
+                       <version>1.2.0</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.jmockit</groupId>
+                       <artifactId>jmockit</artifactId>
+                       <version>1.8</version>
+                       <scope>test</scope>
+               </dependency>
+               <!-- <dependency> -->
+               <!-- <groupId>org.onap.so</groupId> -->
+               <!-- <artifactId>mso-catalog-db</artifactId> -->
+               <!-- <version>${project.version}</version> -->
+               <!-- </dependency> -->
+               <!-- <dependency> -->
+               <!-- <groupId>log4j</groupId> -->
+               <!-- <artifactId>log4j</artifactId> -->
+               <!-- <version>1.2.17</version> -->
+               <!-- </dependency> -->
+       </dependencies>
+</project>
index a06a16d..ff21372 100644 (file)
        </build>
 
        <dependencies>
-               <dependency>
-                       <groupId>org.mockito</groupId>
-                       <artifactId>mockito-all</artifactId>
-                       <version>1.10.19</version>
-                       <scope>test</scope>
-               </dependency>
                <dependency>
                        <groupId>org.jmockit</groupId>
                        <artifactId>jmockit</artifactId>
index f7cb61a..0329f28 100644 (file)
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
-       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">\r
-       <parent>\r
-               <groupId>org.onap.so</groupId>\r
-               <artifactId>bpmn</artifactId>\r
-               <version>1.2.0-SNAPSHOT</version>\r
-       </parent>\r
-       <modelVersion>4.0.0</modelVersion>\r
-       <artifactId>MSOInfrastructureBPMN</artifactId>\r
-       <packaging>war</packaging>\r
-\r
-       <build>\r
-               <plugins>\r
-                       <plugin>\r
-                               <groupId>org.apache.maven.plugins</groupId>\r
-                               <artifactId>maven-war-plugin</artifactId>\r
-                               <version>2.3</version>\r
-                               <configuration>\r
-                                       <failOnMissingWebXml>false</failOnMissingWebXml>\r
-                               </configuration>\r
-                       </plugin>\r
-                       <plugin>\r
-                               <groupId>org.apache.maven.plugins</groupId>\r
-                               <artifactId>maven-jar-plugin</artifactId>\r
-                               <version>2.6</version>\r
-                               <executions>\r
-                                       <execution>\r
-                                               <id>default-jar</id>\r
-                                               <phase>package</phase>\r
-                                               <goals>\r
-                                                       <goal>jar</goal>\r
-                                               </goals>\r
-                                               <configuration>\r
-                               <excludes>\r
-                                                               <exclude>org/openecomp/mso/bpmn/infrastructure/MSOInfrastructureApplication.class</exclude>\r
-<!--                                                           <exclude>META-INF/</exclude> -->\r
-                                                       </excludes>\r
-                                               </configuration>\r
-                                       </execution>\r
-               </executions>\r
-            </plugin>\r
-             <plugin>\r
-                <groupId>org.codehaus.mojo</groupId>\r
-                <artifactId>build-helper-maven-plugin</artifactId>\r
-                <version>3.0.0</version>\r
-                <executions>\r
-                    <execution>\r
-                    <goals>\r
-                        <goal>attach-artifact</goal>\r
-                    </goals>\r
-                    <phase>package</phase>\r
-                        <configuration>\r
-                            <artifacts>\r
-                                <artifact>\r
-                                    <file>${project.build.directory}/${project.artifactId}-${project.version}.jar</file>\r
-                                    <type>jar</type>\r
-                                </artifact>\r
-                            </artifacts>\r
-                        </configuration>\r
-                    </execution>\r
-                </executions>\r
-            </plugin>\r
-                       <plugin>\r
-                               <groupId>org.apache.cxf</groupId>\r
-                               <artifactId>cxf-codegen-plugin</artifactId>\r
-                               <version>2.5.2</version>\r
-                       </plugin>\r
-                       <plugin>\r
-               <groupId>org.apache.maven.plugins</groupId>\r
-               <artifactId>maven-eclipse-plugin</artifactId>\r
-               <version>2.8</version>\r
-               <configuration>\r
-                       <additionalProjectnatures>\r
-                       <projectnature>org.eclipse.jdt.groovy.core.groovyNature</projectnature>\r
-                       </additionalProjectnatures>\r
-                       <sourceIncludes>\r
-                       <sourceInclude>**/*.groovy</sourceInclude>\r
-                       </sourceIncludes>\r
-               </configuration>\r
-               </plugin>\r
-                       <plugin>\r
-                               <artifactId>maven-antrun-plugin</artifactId>\r
-                               <executions>\r
-                                       <execution>\r
-                                               <id>compile</id>\r
-                                               <phase>compile</phase>\r
-                                               <configuration>\r
-                                                       <tasks>\r
-                                                               <mkdir dir="${basedir}/src/main/groovy" />\r
-                                                               <taskdef name="groovyc" classname="org.codehaus.groovy.ant.Groovyc">\r
-                                                                       <classpath refid="maven.compile.classpath" />\r
-                                                               </taskdef>\r
-                                                               <mkdir dir="${project.build.outputDirectory}" />\r
-                                                               <groovyc destdir="${project.build.outputDirectory}"\r
-                                                                       srcdir="${basedir}/src/main/groovy/" listfiles="true">\r
-                                                                       <classpath refid="maven.compile.classpath" />\r
-                                                               </groovyc>\r
-                                                       </tasks>\r
-                                               </configuration>\r
-                                               <goals>\r
-                                                       <goal>run</goal>\r
-                                               </goals>\r
-                                       </execution>\r
-                                       <execution>\r
-                                               <id>test-compile</id>\r
-                                               <phase>test-compile</phase>\r
-                                               <configuration>\r
-                                                       <tasks>\r
-                                                               <mkdir dir="${basedir}/src/test/groovy" />\r
-                                                               <taskdef name="groovyc" classname="org.codehaus.groovy.ant.Groovyc">\r
-                                                                       <classpath refid="maven.test.classpath" />\r
-                                                               </taskdef>\r
-                                                               <mkdir dir="${project.build.testOutputDirectory}" />\r
-                                                               <groovyc destdir="${project.build.testOutputDirectory}"\r
-                                                                       srcdir="${basedir}/src/test/groovy/" listfiles="true">\r
-                                                                       <classpath refid="maven.test.classpath" />\r
-                                                               </groovyc>\r
-                                                       </tasks>\r
-                                               </configuration>\r
-                                               <goals>\r
-                                                       <goal>run</goal>\r
-                                               </goals>\r
-                                       </execution>\r
-                               </executions>\r
-                       </plugin>\r
-               \r
-                       <plugin>\r
-                       <groupId>org.apache.maven.plugins</groupId>\r
-                       <artifactId>maven-dependency-plugin</artifactId>\r
-                       </plugin>\r
-            <plugin>\r
-                <artifactId>maven-failsafe-plugin</artifactId>\r
-                <version>2.6</version>\r
-                <executions>\r
-                    <execution>\r
-                        <goals>\r
-                            <goal>integration-test</goal>\r
-                            <goal>verify</goal>\r
-                        </goals>\r
-                    </execution>\r
-                </executions>\r
-            </plugin>\r
-        </plugins>\r
-               <pluginManagement>\r
-                       <plugins>\r
-                               <!--This plugin's configuration is used to store Eclipse m2e settings\r
-                                       only. It has no influence on the Maven build itself. -->\r
-                               <plugin>\r
-                                       <groupId>org.eclipse.m2e</groupId>\r
-                                       <artifactId>lifecycle-mapping</artifactId>\r
-                                       <version>1.0.0</version>\r
-                                       <configuration>\r
-                                               <lifecycleMappingMetadata>\r
-                                                       <pluginExecutions>\r
-                                                               <pluginExecution>\r
-                                                                       <pluginExecutionFilter>\r
-                                                                               <groupId>\r
-                                                                                       org.apache.maven.plugins\r
-                                                                               </groupId>\r
-                                                                               <artifactId>\r
-                                                                                       maven-antrun-plugin\r
-                                                                               </artifactId>\r
-                                                                               <versionRange>\r
-                                                                                       [1.3,)\r
-                                                                               </versionRange>\r
-                                                                               <goals>\r
-                                                                                       <goal>run</goal>\r
-                                                                               </goals>\r
-                                                                       </pluginExecutionFilter>\r
-                                                                       <action>\r
-                                                                               <ignore></ignore>\r
-                                                                       </action>\r
-                                                               </pluginExecution>\r
-                                                       </pluginExecutions>\r
-                                               </lifecycleMappingMetadata>\r
-                                       </configuration>\r
-                               </plugin>\r
-                       </plugins>\r
-               </pluginManagement>\r
-       </build>\r
-\r
-       <dependencies>\r
-               <dependency>\r
-                       <!-- process engine, in compile scope to include it in the war file -->\r
-                       <groupId>org.camunda.bpm</groupId>\r
-                       <artifactId>camunda-engine</artifactId>\r
-                       <scope>compile</scope>\r
-                       <exclusions>\r
-                               <exclusion>\r
-                                       <groupId>org.slf4j</groupId>\r
-                                       <artifactId>slf4j-api</artifactId>\r
-                               </exclusion>\r
-                       </exclusions>\r
-               </dependency>\r
-               <!-- Using the `DefaultEjbProcessApplication` result in: `java.sql.SQLException:\r
-                       You cannot commit during a managed transaction!` -->\r
-               <dependency>\r
-                       <!-- CDI integration, needs to be included in WAR, otherwise CDI can not\r
-                               work correctly -->\r
-                       <groupId>org.camunda.bpm</groupId>\r
-                       <artifactId>camunda-engine-cdi</artifactId>\r
-               </dependency>\r
-               <dependency>\r
-                   <groupId>com.google.guava</groupId>\r
-                   <artifactId>guava</artifactId>\r
-                   <version>22.0</version> <!-- or 22.0-android for the Android flavor -->\r
-               </dependency>\r
-               <dependency>\r
-                       <!-- AssertJ Testing Library -->\r
-                       <groupId>org.camunda.bpm.extension</groupId>\r
-                       <artifactId>camunda-bpm-assert</artifactId>\r
-                       <version>1.2</version>\r
-                       <scope>test</scope>\r
-               </dependency>\r
-               \r
-               <!-- Spin dataformat support, in compile scope to include it in the war\r
-                       file -->\r
-               <dependency>\r
-                       <groupId>org.camunda.spin</groupId>\r
-                       <artifactId>camunda-spin-dataformat-all</artifactId>\r
-                       <scope>compile</scope>\r
-               </dependency>\r
-               <dependency>\r
-                       <artifactId>camunda-spin-dataformat-all</artifactId>\r
-                       <groupId>org.camunda.spin</groupId>\r
-                       <scope>compile</scope>\r
-               </dependency>\r
-               <dependency>\r
-                       <groupId>org.camunda.bpm</groupId>\r
-                       <artifactId>camunda-engine-plugin-spin</artifactId>\r
-                       <scope>compile</scope>\r
-               </dependency>\r
-\r
-               <dependency>\r
-                       <groupId>org.camunda.bpm</groupId>\r
-                       <artifactId>camunda-engine-plugin-connect</artifactId>\r
-                       <scope>compile</scope>\r
-               </dependency>\r
-\r
-               <dependency>\r
-                       <!-- Bootstrap for styling via Webjars project -->\r
-                       <groupId>org.webjars</groupId>\r
-                       <artifactId>bootstrap</artifactId>\r
-                       <version>2.3.2</version>\r
-               </dependency>\r
-               <dependency>\r
-                       <!-- Needed for InMemoryH2Test -->\r
-                       <groupId>com.h2database</groupId>\r
-                       <artifactId>h2</artifactId>\r
-                       <scope>test</scope>\r
-               </dependency>\r
-\r
-               <dependency>\r
-                       <groupId>com.fasterxml.uuid</groupId>\r
-                       <artifactId>java-uuid-generator</artifactId>\r
-               </dependency>\r
-               <dependency>\r
-                       <groupId>org.codehaus.groovy</groupId>\r
-                       <artifactId>groovy-all</artifactId>\r
-               </dependency>\r
-               <dependency>\r
-                       <groupId>org.apache.commons</groupId>\r
-                       <artifactId>commons-lang3</artifactId>\r
-                       <version>3.4</version>\r
-               </dependency>\r
-               <dependency>\r
-                       <groupId>org.onap.so</groupId>\r
-                       <artifactId>MSOCoreBPMN</artifactId>\r
-                       <version>${project.version}</version>\r
-               </dependency>\r
-               <dependency>\r
-                       <groupId>org.onap.so</groupId>\r
-                       <artifactId>MSOCommonBPMN</artifactId>\r
-                       <version>${project.version}</version>\r
-           </dependency>\r
-               <dependency>\r
-                       <groupId>org.onap.so</groupId>\r
-                       <artifactId>MSOCommonBPMN</artifactId>\r
-                       <version>${project.version}</version>\r
-                       <classifier>tests</classifier>\r
-                       <scope>test</scope>\r
-               </dependency>\r
-               <dependency>\r
-                       <!-- unit test utilities -->\r
-                       <groupId>org.onap.so</groupId>\r
-                       <artifactId>MSOCoreBPMN</artifactId>\r
-                       <version>${project.version}</version>\r
-                       <classifier>tests</classifier>\r
-                       <scope>test</scope>\r
-               </dependency>\r
-               <dependency>\r
-                       <groupId>javax.ws.rs</groupId>\r
-                       <artifactId>javax.ws.rs-api</artifactId>\r
-                       <version>2.0</version>\r
-               </dependency>\r
-               <!--            for encoding the url the same way A&AI does -->\r
-       <dependency>\r
-          <groupId>org.springframework</groupId>\r
-       <artifactId>spring-web</artifactId>\r
-       <version>4.3.2.RELEASE</version>\r
-       </dependency>\r
-       <dependency>\r
-         <groupId>org.onap.so</groupId>\r
-         <artifactId>MSORESTClient</artifactId>\r
-         <version>${project.version}</version>\r
-       </dependency>\r
-\r
-    <dependency>\r
-        <groupId>javax.servlet</groupId>\r
-        <artifactId>javax.servlet-api</artifactId>\r
-        <version>3.0.1</version>\r
-        <scope>provided</scope>\r
-    </dependency>\r
-\r
-\r
-               <dependency>\r
-               <groupId>org.camunda.bpm</groupId>\r
-               <artifactId>camunda-engine-spring</artifactId>\r
-               </dependency>\r
-               <dependency>\r
-    <groupId>org.springframework</groupId>\r
-    <artifactId>spring-beans</artifactId>\r
-    <version>4.3.2.RELEASE</version>\r
-</dependency>\r
-<dependency>\r
-                       <!-- Optional Plugin for Camunda BPM Workbench -->\r
-                       <groupId>org.camunda.bpm.workbench</groupId>\r
-                       <artifactId>camunda-workbench-dist-embeddable</artifactId>\r
-                       <version>1.0.0-alpha8</version>\r
-                       <scope>test</scope>\r
-               </dependency>\r
-\r
-               <dependency>\r
-                       <groupId>org.onap.msb.java-sdk</groupId>\r
-                       <artifactId>msb-java-sdk</artifactId>\r
-                       <version>1.0.0</version>\r
-                       <exclusions>\r
-                               <exclusion>\r
-                                       <groupId>com.eclipsesource.jaxrs</groupId>\r
-                                       <artifactId>jersey-all</artifactId>\r
-                               </exclusion>\r
-                       </exclusions>\r
-               </dependency>\r
-\r
-               <!-- bwj add; Jetty-util -->\r
-               <dependency>\r
-                       <groupId>org.eclipse.jetty</groupId>\r
-                       <artifactId>jetty-util</artifactId>\r
-                       <version>9.4.8.v20171121</version>\r
-               </dependency>\r
-               <!-- bwj add; hibernate-validator -->\r
-               <dependency>\r
-                       <groupId>org.hibernate</groupId>\r
-                       <artifactId>hibernate-validator</artifactId>\r
-                       <version>5.4.2.Final</version>\r
-               </dependency>\r
-               <!-- bwj add; spring-test -->\r
-               <dependency>\r
-                       <groupId>org.springframework</groupId>\r
-                       <artifactId>spring-test</artifactId>\r
-                       <version>4.3.14.RELEASE</version>\r
-               </dependency>\r
-               <!-- bwj add; libphonenumber  -->\r
-               <dependency>\r
-                       <groupId>com.googlecode.libphonenumber</groupId>\r
-                       <artifactId>libphonenumber</artifactId>\r
-                       <version>8.9.1</version>\r
-               </dependency>\r
-\r
-               <dependency>\r
-                       <groupId>junit</groupId>\r
-                       <artifactId>junit</artifactId>\r
-                       <version>4.12</version>\r
-                       <scope>test</scope>\r
-               </dependency>\r
-\r
-               <!--for yang tools-->\r
-<!--           <dependency>\r
-                       <groupId>org.onap.so</groupId>\r
-                       <artifactId>common</artifactId>\r
-                       <version>1.1.0-SNAPSHOT</version>\r
-               </dependency>\r
-\r
-               <dependency>\r
-                       <groupId>org.onap.sdnc.northbound</groupId>\r
-                       <artifactId>generic-resource-api.model</artifactId>\r
-                       <version>1.2.0</version>\r
-               </dependency>-->\r
-       </dependencies>\r
-</project>\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">
+       <parent>
+               <groupId>org.onap.so</groupId>
+               <artifactId>bpmn</artifactId>
+               <version>1.2.0-SNAPSHOT</version>
+       </parent>
+       <modelVersion>4.0.0</modelVersion>
+       <artifactId>MSOInfrastructureBPMN</artifactId>
+       <packaging>war</packaging>
+
+       <build>
+               <plugins>
+                       <plugin>
+                               <groupId>org.apache.maven.plugins</groupId>
+                               <artifactId>maven-war-plugin</artifactId>
+                               <version>2.3</version>
+                               <configuration>
+                                       <failOnMissingWebXml>false</failOnMissingWebXml>
+                               </configuration>
+                       </plugin>
+                       <plugin>
+                               <groupId>org.apache.maven.plugins</groupId>
+                               <artifactId>maven-jar-plugin</artifactId>
+                               <version>2.6</version>
+                               <executions>
+                                       <execution>
+                                               <id>default-jar</id>
+                                               <phase>package</phase>
+                                               <goals>
+                                                       <goal>jar</goal>
+                                               </goals>
+                                               <configuration>
+                               <excludes>
+                                                               <exclude>org/openecomp/mso/bpmn/infrastructure/MSOInfrastructureApplication.class</exclude>
+<!--                                                           <exclude>META-INF/</exclude> -->
+                                                       </excludes>
+                                               </configuration>
+                                       </execution>
+               </executions>
+            </plugin>
+             <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>build-helper-maven-plugin</artifactId>
+                <version>3.0.0</version>
+                <executions>
+                    <execution>
+                    <goals>
+                        <goal>attach-artifact</goal>
+                    </goals>
+                    <phase>package</phase>
+                        <configuration>
+                            <artifacts>
+                                <artifact>
+                                    <file>${project.build.directory}/${project.artifactId}-${project.version}.jar</file>
+                                    <type>jar</type>
+                                </artifact>
+                            </artifacts>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+                       <plugin>
+                               <groupId>org.apache.cxf</groupId>
+                               <artifactId>cxf-codegen-plugin</artifactId>
+                               <version>2.5.2</version>
+                       </plugin>
+                       <plugin>
+               <groupId>org.apache.maven.plugins</groupId>
+               <artifactId>maven-eclipse-plugin</artifactId>
+               <version>2.8</version>
+               <configuration>
+                       <additionalProjectnatures>
+                       <projectnature>org.eclipse.jdt.groovy.core.groovyNature</projectnature>
+                       </additionalProjectnatures>
+                       <sourceIncludes>
+                       <sourceInclude>**/*.groovy</sourceInclude>
+                       </sourceIncludes>
+               </configuration>
+               </plugin>
+                       <plugin>
+                               <artifactId>maven-antrun-plugin</artifactId>
+                               <executions>
+                                       <execution>
+                                               <id>compile</id>
+                                               <phase>compile</phase>
+                                               <configuration>
+                                                       <tasks>
+                                                               <mkdir dir="${basedir}/src/main/groovy" />
+                                                               <taskdef name="groovyc" classname="org.codehaus.groovy.ant.Groovyc">
+                                                                       <classpath refid="maven.compile.classpath" />
+                                                               </taskdef>
+                                                               <mkdir dir="${project.build.outputDirectory}" />
+                                                               <groovyc destdir="${project.build.outputDirectory}"
+                                                                       srcdir="${basedir}/src/main/groovy/" listfiles="true">
+                                                                       <classpath refid="maven.compile.classpath" />
+                                                               </groovyc>
+                                                       </tasks>
+                                               </configuration>
+                                               <goals>
+                                                       <goal>run</goal>
+                                               </goals>
+                                       </execution>
+                                       <execution>
+                                               <id>test-compile</id>
+                                               <phase>test-compile</phase>
+                                               <configuration>
+                                                       <tasks>
+                                                               <mkdir dir="${basedir}/src/test/groovy" />
+                                                               <taskdef name="groovyc" classname="org.codehaus.groovy.ant.Groovyc">
+                                                                       <classpath refid="maven.test.classpath" />
+                                                               </taskdef>
+                                                               <mkdir dir="${project.build.testOutputDirectory}" />
+                                                               <groovyc destdir="${project.build.testOutputDirectory}"
+                                                                       srcdir="${basedir}/src/test/groovy/" listfiles="true">
+                                                                       <classpath refid="maven.test.classpath" />
+                                                               </groovyc>
+                                                       </tasks>
+                                               </configuration>
+                                               <goals>
+                                                       <goal>run</goal>
+                                               </goals>
+                                       </execution>
+                               </executions>
+                       </plugin>
+               
+                       <plugin>
+                       <groupId>org.apache.maven.plugins</groupId>
+                       <artifactId>maven-dependency-plugin</artifactId>
+                       </plugin>
+            <plugin>
+                <artifactId>maven-failsafe-plugin</artifactId>
+                <version>2.6</version>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>integration-test</goal>
+                            <goal>verify</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </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>
+                                                                                       org.apache.maven.plugins
+                                                                               </groupId>
+                                                                               <artifactId>
+                                                                                       maven-antrun-plugin
+                                                                               </artifactId>
+                                                                               <versionRange>
+                                                                                       [1.3,)
+                                                                               </versionRange>
+                                                                               <goals>
+                                                                                       <goal>run</goal>
+                                                                               </goals>
+                                                                       </pluginExecutionFilter>
+                                                                       <action>
+                                                                               <ignore></ignore>
+                                                                       </action>
+                                                               </pluginExecution>
+                                                       </pluginExecutions>
+                                               </lifecycleMappingMetadata>
+                                       </configuration>
+                               </plugin>
+                       </plugins>
+               </pluginManagement>
+       </build>
+
+       <dependencies>
+               <dependency>
+                       <!-- process engine, in compile scope to include it in the war file -->
+                       <groupId>org.camunda.bpm</groupId>
+                       <artifactId>camunda-engine</artifactId>
+                       <scope>compile</scope>
+                       <exclusions>
+                               <exclusion>
+                                       <groupId>org.slf4j</groupId>
+                                       <artifactId>slf4j-api</artifactId>
+                               </exclusion>
+                       </exclusions>
+               </dependency>
+               <!-- Using the `DefaultEjbProcessApplication` result in: `java.sql.SQLException:
+                       You cannot commit during a managed transaction!` -->
+               <dependency>
+                       <!-- CDI integration, needs to be included in WAR, otherwise CDI can not
+                               work correctly -->
+                       <groupId>org.camunda.bpm</groupId>
+                       <artifactId>camunda-engine-cdi</artifactId>
+               </dependency>
+               <dependency>
+                   <groupId>com.google.guava</groupId>
+                   <artifactId>guava</artifactId>
+                   <version>22.0</version> <!-- or 22.0-android for the Android flavor -->
+               </dependency>
+               <dependency>
+                       <!-- AssertJ Testing Library -->
+                       <groupId>org.camunda.bpm.extension</groupId>
+                       <artifactId>camunda-bpm-assert</artifactId>
+                       <version>1.2</version>
+                       <scope>test</scope>
+               </dependency>
+               
+               <!-- Spin dataformat support, in compile scope to include it in the war
+                       file -->
+               <dependency>
+                       <groupId>org.camunda.spin</groupId>
+                       <artifactId>camunda-spin-dataformat-all</artifactId>
+                       <scope>compile</scope>
+               </dependency>
+               <dependency>
+                       <artifactId>camunda-spin-dataformat-all</artifactId>
+                       <groupId>org.camunda.spin</groupId>
+                       <scope>compile</scope>
+               </dependency>
+               <dependency>
+                       <groupId>org.camunda.bpm</groupId>
+                       <artifactId>camunda-engine-plugin-spin</artifactId>
+                       <scope>compile</scope>
+               </dependency>
+
+               <dependency>
+                       <groupId>org.camunda.bpm</groupId>
+                       <artifactId>camunda-engine-plugin-connect</artifactId>
+                       <scope>compile</scope>
+               </dependency>
+
+               <dependency>
+                       <!-- Bootstrap for styling via Webjars project -->
+                       <groupId>org.webjars</groupId>
+                       <artifactId>bootstrap</artifactId>
+                       <version>2.3.2</version>
+               </dependency>
+               <dependency>
+                       <!-- Needed for InMemoryH2Test -->
+                       <groupId>com.h2database</groupId>
+                       <artifactId>h2</artifactId>
+                       <scope>test</scope>
+               </dependency>
+
+               <dependency>
+                       <groupId>com.fasterxml.uuid</groupId>
+                       <artifactId>java-uuid-generator</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.codehaus.groovy</groupId>
+                       <artifactId>groovy-all</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.commons</groupId>
+                       <artifactId>commons-lang3</artifactId>
+                       <version>3.4</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.onap.so</groupId>
+                       <artifactId>MSOCoreBPMN</artifactId>
+                       <version>${project.version}</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.onap.so</groupId>
+                       <artifactId>MSOCommonBPMN</artifactId>
+                       <version>${project.version}</version>
+           </dependency>
+               <dependency>
+                       <groupId>org.onap.so</groupId>
+                       <artifactId>MSOCommonBPMN</artifactId>
+                       <version>${project.version}</version>
+                       <classifier>tests</classifier>
+                       <scope>test</scope>
+               </dependency>
+               <dependency>
+                       <!-- unit test utilities -->
+                       <groupId>org.onap.so</groupId>
+                       <artifactId>MSOCoreBPMN</artifactId>
+                       <version>${project.version}</version>
+                       <classifier>tests</classifier>
+                       <scope>test</scope>
+               </dependency>
+               <dependency>
+                       <groupId>javax.ws.rs</groupId>
+                       <artifactId>javax.ws.rs-api</artifactId>
+                       <version>2.0</version>
+               </dependency>
+               <!--            for encoding the url the same way A&AI does -->
+       <dependency>
+          <groupId>org.springframework</groupId>
+       <artifactId>spring-web</artifactId>
+       <version>4.3.2.RELEASE</version>
+       </dependency>
+       <dependency>
+         <groupId>org.onap.so</groupId>
+         <artifactId>MSORESTClient</artifactId>
+         <version>${project.version}</version>
+       </dependency>
+
+    <dependency>
+        <groupId>javax.servlet</groupId>
+        <artifactId>javax.servlet-api</artifactId>
+        <version>3.0.1</version>
+        <scope>provided</scope>
+    </dependency>
+
+
+               <dependency>
+               <groupId>org.camunda.bpm</groupId>
+               <artifactId>camunda-engine-spring</artifactId>
+               </dependency>
+               <dependency>
+    <groupId>org.springframework</groupId>
+    <artifactId>spring-beans</artifactId>
+    <version>4.3.2.RELEASE</version>
+</dependency>
+<dependency>
+                       <!-- Optional Plugin for Camunda BPM Workbench -->
+                       <groupId>org.camunda.bpm.workbench</groupId>
+                       <artifactId>camunda-workbench-dist-embeddable</artifactId>
+                       <version>1.0.0-alpha8</version>
+                       <scope>test</scope>
+               </dependency>
+
+               <dependency>
+                       <groupId>org.onap.msb.java-sdk</groupId>
+                       <artifactId>msb-java-sdk</artifactId>
+                       <version>1.0.0</version>
+                       <exclusions>
+                               <exclusion>
+                                       <groupId>com.eclipsesource.jaxrs</groupId>
+                                       <artifactId>jersey-all</artifactId>
+                               </exclusion>
+                       </exclusions>
+               </dependency>
+
+               <!-- bwj add; Jetty-util -->
+               <dependency>
+                       <groupId>org.eclipse.jetty</groupId>
+                       <artifactId>jetty-util</artifactId>
+                       <version>9.4.8.v20171121</version>
+               </dependency>
+               <!-- bwj add; hibernate-validator -->
+               <dependency>
+                       <groupId>org.hibernate</groupId>
+                       <artifactId>hibernate-validator</artifactId>
+                       <version>5.4.2.Final</version>
+               </dependency>
+               <!-- bwj add; spring-test -->
+               <dependency>
+                       <groupId>org.springframework</groupId>
+                       <artifactId>spring-test</artifactId>
+                       <version>4.3.14.RELEASE</version>
+               </dependency>
+               <!-- bwj add; libphonenumber  -->
+               <dependency>
+                       <groupId>com.googlecode.libphonenumber</groupId>
+                       <artifactId>libphonenumber</artifactId>
+                       <version>8.9.1</version>
+               </dependency>
+
+               <!--for yang tools-->
+<!--           <dependency>
+                       <groupId>org.onap.so</groupId>
+                       <artifactId>common</artifactId>
+                       <version>1.1.0-SNAPSHOT</version>
+               </dependency>
+
+               <dependency>
+                       <groupId>org.onap.sdnc.northbound</groupId>
+                       <artifactId>generic-resource-api.model</artifactId>
+                       <version>1.2.0</version>
+               </dependency>-->
+       </dependencies>
+</project>
index 9c5ce14..6f2f007 100644 (file)
@@ -1,45 +1,37 @@
-<?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"\r
-       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">\r
-       <modelVersion>4.0.0</modelVersion>\r
-       \r
-       <parent>\r
-               <groupId>org.onap.so</groupId>\r
-        <artifactId>bpmn</artifactId>\r
-               <version>1.2.0-SNAPSHOT</version>\r
-       </parent>\r
-       \r
-       <artifactId>MSORESTClient</artifactId>\r
-       \r
-       <packaging>jar</packaging>\r
-       \r
-       <name>MSO REST Client API</name>\r
-       \r
-       <dependencies>\r
-               <dependency>\r
-                       <groupId>org.apache.httpcomponents</groupId>\r
-                       <artifactId>httpmime</artifactId>\r
-                       <version>4.5</version>\r
-               </dependency>\r
-\r
-               <dependency>\r
-                       <groupId>org.mockito</groupId>\r
-                       <artifactId>mockito-all</artifactId>\r
-                       <version>1.10.19</version>\r
-                       <scope>test</scope>\r
-               </dependency>\r
-\r
-               <dependency>\r
-            <groupId>org.onap.so</groupId>\r
-            <artifactId>common</artifactId>\r
-            <version>${project.version}</version>\r
-        </dependency>\r
-               </dependencies>\r
-               <build>\r
-               <finalName>MSORESTClient</finalName>\r
-               <plugins>\r
-                       \r
-               </plugins>\r
-               \r
-       </build>\r
-</project>\r
+<?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">
+       <modelVersion>4.0.0</modelVersion>
+       
+       <parent>
+               <groupId>org.onap.so</groupId>
+        <artifactId>bpmn</artifactId>
+               <version>1.2.0-SNAPSHOT</version>
+       </parent>
+       
+       <artifactId>MSORESTClient</artifactId>
+       
+       <packaging>jar</packaging>
+       
+       <name>MSO REST Client API</name>
+       
+       <dependencies>
+               <dependency>
+                       <groupId>org.apache.httpcomponents</groupId>
+                       <artifactId>httpmime</artifactId>
+                       <version>4.5</version>
+               </dependency>
+               <dependency>
+            <groupId>org.onap.so</groupId>
+            <artifactId>common</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+               </dependencies>
+               <build>
+               <finalName>MSORESTClient</finalName>
+               <plugins>
+                       
+               </plugins>
+               
+       </build>
+</project>
index aeef257..adc102e 100644 (file)
             <version>3.1.0</version>
             <scope>provided</scope>
         </dependency>
-        <dependency>
-                       <groupId>org.hamcrest</groupId>
-                       <artifactId>hamcrest-library</artifactId>
-                       <version>1.3</version>
-                       <scope>test</scope>
-               </dependency>
         <dependency>
             <groupId>org.jboss.spec.javax.ejb</groupId>
             <artifactId>jboss-ejb-api_3.2_spec</artifactId>
diff --git a/common/src/main/java/org/openecomp/mso/openpojo/rules/CustomSetterMustExistRule.java b/common/src/main/java/org/openecomp/mso/openpojo/rules/CustomSetterMustExistRule.java
new file mode 100644 (file)
index 0000000..fa24662
--- /dev/null
@@ -0,0 +1,58 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2018 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.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.mso.openpojo.rules;
+
+import static org.hamcrest.CoreMatchers.anyOf;
+import static org.hamcrest.CoreMatchers.anything;
+import static org.hamcrest.CoreMatchers.not;
+
+import org.hamcrest.Matcher;
+
+import com.openpojo.reflection.PojoClass;
+import com.openpojo.reflection.PojoField;
+import com.openpojo.validation.affirm.Affirm;
+import com.openpojo.validation.rule.Rule;
+
+public class CustomSetterMustExistRule implements Rule {
+
+       private Matcher<PojoField>[] excludeMatchers = new Matcher[]{not(anything())};
+       private Matcher<PojoField>[] includeMatchers = new Matcher[]{anything()};
+       public CustomSetterMustExistRule() {
+       }
+       @Override
+       public void evaluate(final PojoClass pojoClass) {
+               for (PojoField fieldEntry : pojoClass.getPojoFields()) {
+                       if (!anyOf(excludeMatchers).matches(fieldEntry) && anyOf(includeMatchers).matches(fieldEntry) && !fieldEntry.isFinal() && !fieldEntry.hasSetter()) {
+                               Affirm.fail(String.format("[%s] is missing a setter", fieldEntry));
+                       }
+               }
+       }
+       public CustomSetterMustExistRule exclude(Matcher<PojoField>... excludeMatchers) {
+               this.excludeMatchers = excludeMatchers;
+               return this;
+       }
+
+       public CustomSetterMustExistRule include(Matcher<PojoField>... includeMatchers) {
+               this.includeMatchers = includeMatchers;
+               return this;
+       }
+
+}
diff --git a/common/src/main/java/org/openecomp/mso/openpojo/rules/EqualsAndHashCodeTester.java b/common/src/main/java/org/openecomp/mso/openpojo/rules/EqualsAndHashCodeTester.java
new file mode 100644 (file)
index 0000000..f4192e6
--- /dev/null
@@ -0,0 +1,103 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2018 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.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.mso.openpojo.rules;
+
+import static org.hamcrest.CoreMatchers.anyOf;
+import static org.hamcrest.CoreMatchers.anything;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import javax.persistence.Id;
+
+import org.hamcrest.Matcher;
+
+import com.openpojo.business.annotation.BusinessKey;
+import com.openpojo.random.RandomFactory;
+import com.openpojo.reflection.PojoClass;
+import com.openpojo.reflection.PojoField;
+import com.openpojo.validation.affirm.Affirm;
+import com.openpojo.validation.test.Tester;
+import com.openpojo.validation.utils.ValidationHelper;
+
+public class EqualsAndHashCodeTester implements Tester {
+
+       
+       private final Matcher m;
+       public EqualsAndHashCodeTester() {
+               m = anything();
+       }
+       
+       public EqualsAndHashCodeTester(Matcher m) {
+               this.m = m;
+       }
+       @Override
+       public void run(PojoClass pojoClass) {
+               Class<?> clazz = pojoClass.getClazz();
+               if (anyOf(m).matches(clazz)) {
+                       final Object classInstanceOne = ValidationHelper.getBasicInstance(pojoClass);
+                       final Object classInstanceTwo = ValidationHelper.getBasicInstance(pojoClass);
+                       Set<PojoField> identityFields = hasIdOrBusinessKey(pojoClass);
+                       List<PojoField> otherFields = new ArrayList<>(pojoClass.getPojoFields());
+                       otherFields.removeAll(identityFields);
+                       
+                       for (PojoField field : identityFields) {
+                               final Object value  = RandomFactory.getRandomValue(field);
+       
+                               field.invokeSetter(classInstanceOne, value);
+                               field.invokeSetter(classInstanceTwo, value);
+                       }
+                       
+                       for (PojoField field : otherFields) {
+                               if (field.hasSetter()) {
+                                       final Object valueOne  = RandomFactory.getRandomValue(field);
+                                       final Object valueTwo  = RandomFactory.getRandomValue(field);
+                                       
+                                       field.invokeSetter(classInstanceOne, valueOne);
+                                       field.invokeSetter(classInstanceTwo, valueTwo);
+                               }
+                       }
+                       
+                       Affirm.affirmTrue("Equals test failed for [" + classInstanceOne.getClass().getName() + "]", classInstanceOne.equals(classInstanceTwo));
+                       
+                       Affirm.affirmTrue("Equals test failed for [" + classInstanceOne.getClass().getName() + "]", classInstanceOne.equals(
+                                       classInstanceOne));
+                       
+                       Affirm.affirmTrue("HashCode test failed for [" + classInstanceOne.getClass().getName() + "]", classInstanceOne.hashCode() == classInstanceTwo.hashCode());
+                       
+                       Affirm.affirmFalse("Expected false for comparison of two unlike objects", classInstanceOne.equals("test"));
+               }
+       }
+       
+       
+       private Set<PojoField> hasIdOrBusinessKey(PojoClass pojoClass) {
+               final Set<PojoField> fields = new HashSet<>();
+               
+               fields.addAll(pojoClass.getPojoFieldsAnnotatedWith(BusinessKey.class));
+               fields.addAll(pojoClass.getPojoFieldsAnnotatedWith(Id.class));
+               
+               return fields;
+               
+       }
+
+}
diff --git a/common/src/main/java/org/openecomp/mso/openpojo/rules/HasAnnotationMatcher.java b/common/src/main/java/org/openecomp/mso/openpojo/rules/HasAnnotationMatcher.java
new file mode 100644 (file)
index 0000000..fdfb969
--- /dev/null
@@ -0,0 +1,69 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2018 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.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.mso.openpojo.rules;
+
+import static org.hamcrest.CoreMatchers.anything;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.AnnotatedElement;
+
+import org.hamcrest.Description;
+import org.hamcrest.Matcher;
+import org.hamcrest.TypeSafeDiagnosingMatcher;
+
+public class HasAnnotationMatcher<T extends Annotation> extends TypeSafeDiagnosingMatcher<AnnotatedElement> {
+       private final Class<T> annotationType;
+       private final Matcher<? super T> annotationMatcher;
+
+       public HasAnnotationMatcher(final Class<T> annotationType, final Matcher<? super T> annotationMatcher) {
+               this.annotationType = annotationType;
+               this.annotationMatcher = annotationMatcher;
+       }
+
+       @Override
+       protected boolean matchesSafely(final AnnotatedElement item, final Description mismatchDescription) {
+               final T annotation = item.getAnnotation(this.annotationType);
+               if (annotation == null) {
+                       mismatchDescription.appendText("does not have annotation ").appendText(this.annotationType.getName());
+                       return false;
+               }
+
+               if (!this.annotationMatcher.matches(annotation)) {
+                       this.annotationMatcher.describeMismatch(annotation, mismatchDescription);
+                       return false;
+               }
+
+               return true;
+       }
+
+       @Override
+       public void describeTo(final Description description) {
+               // Intentionally left blank.
+       }
+
+       public static Matcher<AnnotatedElement> hasAnnotation(final Class<? extends Annotation> annotationType) {
+               return hasAnnotation(annotationType, anything(""));
+       }
+
+       public static <T extends Annotation> Matcher<AnnotatedElement> hasAnnotation(final Class<T> annotationType, final Matcher<? super T> annotationMatcher) {
+               return new HasAnnotationMatcher<T>(annotationType, annotationMatcher);
+       }
+}
diff --git a/common/src/main/java/org/openecomp/mso/openpojo/rules/HasAnnotationPropertyWithValueMatcher.java b/common/src/main/java/org/openecomp/mso/openpojo/rules/HasAnnotationPropertyWithValueMatcher.java
new file mode 100644 (file)
index 0000000..f0c1b18
--- /dev/null
@@ -0,0 +1,75 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2018 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.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.mso.openpojo.rules;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Field;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
+import org.hamcrest.Description;
+import org.hamcrest.Matcher;
+import org.hamcrest.TypeSafeDiagnosingMatcher;
+
+import com.openpojo.reflection.PojoField;
+
+public class HasAnnotationPropertyWithValueMatcher<T extends PojoField> extends TypeSafeDiagnosingMatcher<T> {
+       private final String attribute;
+       private final Matcher<?> annotationMatcher;
+       private final Class<? extends Annotation> annotationClass;
+       public HasAnnotationPropertyWithValueMatcher(Class<? extends Annotation> clazz, String attribute, final Matcher<?> annotationMatcher) {
+               this.attribute = attribute;
+               this.annotationMatcher = annotationMatcher;
+               this.annotationClass = clazz;
+       }
+
+       @Override
+       protected boolean matchesSafely(T obj, final Description mismatchDescription) {
+               final PojoField temp = (PojoField)obj;
+               final Method method;
+               try {
+                       Annotation a = temp.getAnnotation(this.annotationClass);
+                       if (a == null) {
+                               mismatchDescription.appendText("does not have annotation ").appendText(this.annotationClass.getSimpleName());
+                               return false;
+                       }
+                       method = a.getClass().getMethod(attribute);
+                       final Object result = method.invoke(a);
+                       if (!this.annotationMatcher.matches(result)) {
+                               this.annotationMatcher.describeMismatch(result, mismatchDescription);
+                               return false;
+                       }
+               } catch (NoSuchMethodException | IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
+                       mismatchDescription.appendText("does not have property ").appendText(attribute);
+                       return false;
+               }
+               return true;
+       }
+
+       @Override
+       public void describeTo(final Description description) {
+               // Intentionally left blank.
+       }
+
+       public static <T extends PojoField> Matcher<T> hasAnnotationPropertyWithValue(Class<? extends Annotation> clazz, String attribute, final Matcher<?> annotationMatcher) {
+               return new HasAnnotationPropertyWithValueMatcher<T>(clazz, attribute, annotationMatcher);
+       }
+}
diff --git a/common/src/main/java/org/openecomp/mso/openpojo/rules/HasEqualsAndHashCodeRule.java b/common/src/main/java/org/openecomp/mso/openpojo/rules/HasEqualsAndHashCodeRule.java
new file mode 100644 (file)
index 0000000..4ef5607
--- /dev/null
@@ -0,0 +1,81 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2018 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.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.mso.openpojo.rules;
+
+import static org.hamcrest.CoreMatchers.anyOf;
+import static org.hamcrest.CoreMatchers.anything;
+
+import java.lang.reflect.Method;
+import java.lang.reflect.Parameter;
+
+import org.hamcrest.Matcher;
+
+import com.openpojo.reflection.PojoClass;
+import com.openpojo.validation.affirm.Affirm;
+import com.openpojo.validation.rule.Rule;
+
+/**
+ * This rule ensures that classes have overriden the default equals and hashCode methods from Object
+ */
+public class HasEqualsAndHashCodeRule implements Rule {
+
+       private final Matcher m;
+       public HasEqualsAndHashCodeRule() {
+               m = anything();
+       }
+       
+       public HasEqualsAndHashCodeRule(Matcher m) {
+               this.m = m;
+       }
+       @Override
+       public void evaluate(PojoClass pojoClass) {
+               Class<?> clazz = pojoClass.getClazz();
+               if (anyOf(m).matches(clazz)) { 
+                       boolean hasEquals = false;
+                       boolean hasHashCode = false;
+                       final String name = clazz.getSimpleName();
+                       final Method[] methods;
+                       if (clazz.getSuperclass().equals(Object.class)) {
+                               methods = clazz.getDeclaredMethods();
+                       } else {
+                               methods = clazz.getMethods();
+                       }
+                       for (Method method : methods) {
+                               Parameter[] parameters = method.getParameters();
+                               if ("equals".equals(method.getName()) && boolean.class.equals(method.getReturnType()) && parameters.length == 1 && Object.class.equals(parameters[0].getType())) {
+                                       hasEquals = true;
+                               } else if ("hashCode".equals(method.getName()) && int.class.equals(method.getReturnType())) {
+                                       hasHashCode = true;
+                               }
+                       }
+                       
+                       if (!hasEquals) {
+                               Affirm.fail(String.format(
+                                               "[%s] does not override equals", name));
+                       }
+                       if (!hasHashCode) {
+                               Affirm.fail(String.format(
+                                               "[%s] does not override hashCode", name));
+                       }
+               }
+       }
+
+}
diff --git a/common/src/main/java/org/openecomp/mso/openpojo/rules/HasToStringRule.java b/common/src/main/java/org/openecomp/mso/openpojo/rules/HasToStringRule.java
new file mode 100644 (file)
index 0000000..f866650
--- /dev/null
@@ -0,0 +1,72 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2018 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.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.mso.openpojo.rules;
+
+import static org.hamcrest.CoreMatchers.anyOf;
+import static org.hamcrest.CoreMatchers.anything;
+
+import java.lang.reflect.Method;
+import java.lang.reflect.Parameter;
+
+import org.hamcrest.Matcher;
+
+import com.openpojo.reflection.PojoClass;
+import com.openpojo.validation.affirm.Affirm;
+import com.openpojo.validation.rule.Rule;
+
+public class HasToStringRule implements Rule {
+       
+       private final Matcher m;
+       public HasToStringRule() {
+               m = anything();
+       }
+       
+       public HasToStringRule(Matcher m) {
+               this.m = m;
+       }
+       @Override
+       public void evaluate(PojoClass pojoClass) {
+               Class<?> clazz = pojoClass.getClazz();
+               if (anyOf(m).matches(clazz)) { 
+                       boolean hasToString = false;
+                       final String name = clazz.getSimpleName();
+                       final Method[] methods;
+                       if (clazz.getSuperclass().equals(Object.class)) {
+                               methods = clazz.getDeclaredMethods();
+                       } else {
+                               methods = clazz.getMethods();
+                       }
+                       for (Method method : methods) {
+                               Parameter[] parameters = method.getParameters();
+                               if ("toString".equals(method.getName()) && String.class.equals(method.getReturnType()) && parameters.length == 0) {
+                                       hasToString = true;
+                                       break;
+                               }
+                       }
+                       
+                       if (!hasToString) {
+                               Affirm.fail(String.format(
+                                               "[%s] does not override toString", name));
+                       }
+               }
+       }
+
+}
diff --git a/common/src/main/java/org/openecomp/mso/openpojo/rules/ToStringTester.java b/common/src/main/java/org/openecomp/mso/openpojo/rules/ToStringTester.java
new file mode 100644 (file)
index 0000000..bd582d4
--- /dev/null
@@ -0,0 +1,55 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2018 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.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.mso.openpojo.rules;
+
+import static org.hamcrest.CoreMatchers.anyOf;
+import static org.hamcrest.CoreMatchers.anything;
+
+import org.hamcrest.Matcher;
+
+import com.openpojo.reflection.PojoClass;
+import com.openpojo.validation.affirm.Affirm;
+import com.openpojo.validation.test.Tester;
+import com.openpojo.validation.utils.ValidationHelper;
+
+public class ToStringTester implements Tester {
+
+       private final Matcher m;
+       public ToStringTester() {
+               m = anything();
+       }
+       
+       public ToStringTester(Matcher m) {
+               this.m = m;
+       }
+       
+       @Override
+       public void run(PojoClass pojoClass) {
+               Class<?> clazz = pojoClass.getClazz();
+               if (anyOf(m).matches(clazz)) {
+                       final Object classInstance = ValidationHelper.getBasicInstance(pojoClass);
+                       
+                       Affirm.affirmFalse("Found default toString output", classInstance.toString().matches(Object.class.getName() + "@" + "\\w+"));
+               }
+               
+       }
+
+}
diff --git a/pom.xml b/pom.xml
index 0ca4836..8242e58 100644 (file)
--- a/pom.xml
+++ b/pom.xml
       <artifactId>resteasy-jackson2-provider</artifactId>
       <version>${resteasy.version}</version>
     </dependency>
-    <dependency>
+       <dependency>
+               <groupId>org.hamcrest</groupId>
+               <artifactId>hamcrest-core</artifactId>
+               <version>1.3</version>
+       </dependency>
+       <dependency>
+               <groupId>org.hamcrest</groupId>
+               <artifactId>hamcrest-all</artifactId>
+               <version>1.3</version>
+       </dependency>
+       <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
       <version>4.12</version>
       <scope>test</scope>
     </dependency>
-
     <dependency>
       <groupId>org.mockito</groupId>
       <artifactId>mockito-all</artifactId>
       <version>1.6.2</version>
       <scope>test</scope>
     </dependency>
-    <dependency>
-      <groupId>org.hamcrest</groupId>
-      <artifactId>hamcrest-all</artifactId>
-      <version>1.3</version>
-      <scope>test</scope>
-    </dependency>
     <dependency>
       <groupId>com.github.tomakehurst</groupId>
       <artifactId>wiremock</artifactId>
         <version>2.5</version>
         <scope>compile</scope>
       </dependency>
-      <dependency>
-        <groupId>org.hamcrest</groupId>
-        <artifactId>hamcrest-core</artifactId>
-        <version>1.3</version>
-        <scope>test</scope>
-      </dependency>
       <dependency>
         <groupId>log4j</groupId>
         <artifactId>log4j</artifactId>