Merge "[WIP] WorkflowAction refactoring"
authorLukasz Muszkieta <lukasz.muszkieta@nokia.com>
Mon, 22 Jun 2020 13:20:53 +0000 (13:20 +0000)
committerGerrit Code Review <gerrit@onap.org>
Mon, 22 Jun 2020 13:20:53 +0000 (13:20 +0000)
116 files changed:
.gitattributes
adapters/etsi-sol002-adapter/pom.xml
adapters/etsi-sol003-adapter/pom.xml
adapters/mso-adapter-utils/pom.xml
adapters/mso-adapters-rest-interface/pom.xml
adapters/mso-catalog-db-adapter/pom.xml
adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/tasks/TaskServices.java
adapters/mso-requests-db-adapter/.gitignore
adapters/mso-requests-db-adapter/pom.xml
adapters/mso-sdnc-adapter/.gitignore [new file with mode: 0644]
adapters/mso-sdnc-adapter/pom.xml
adapters/mso-sdnc-adapter/src/test/java/org/onap/so/adapters/sdnc/impl/UtilsTest.java [deleted file]
adapters/pom.xml
adapters/so-appc-orchestrator/pom.xml
asdc-controller/.gitignore [new file with mode: 0644]
asdc-controller/pom.xml
bpmn/MSOCommonBPMN/pom.xml
bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/GenericUtils.groovy
bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/OofUtils.groovy
bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/VidUtils.groovy
bpmn/MSOCoreBPMN/pom.xml
bpmn/mso-infrastructure-bpmn/.gitignore [new file with mode: 0644]
bpmn/mso-infrastructure-bpmn/pom.xml
bpmn/pom.xml
bpmn/so-bpmn-infrastructure-common/pom.xml
bpmn/so-bpmn-infrastructure-flows/pom.xml
bpmn/so-bpmn-infrastructure-flows/src/test/java/org/onap/so/bpmn/infrastructure/process/CreateVcpeResCustServiceSimplifiedTest.java
bpmn/so-bpmn-tasks/pom.xml
bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowAction.java
bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/listeners/SkipConfigVnfListener.java
bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/listeners/SkipConfigVnfListenerTest.java [new file with mode: 0644]
cloudify-client/pom.xml
common/pom.xml
common/src/main/java/org/onap/so/openpojo/rules/EqualsAndHashCodeTester.java
common/src/main/java/org/onap/so/utils/ExternalTaskServiceUtils.java
mso-api-handlers/mso-api-handler-common/.gitignore [new file with mode: 0644]
mso-api-handlers/mso-api-handler-common/pom.xml
mso-api-handlers/mso-api-handler-infra/.gitignore
mso-api-handlers/mso-api-handler-infra/pom.xml
mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/tenantisolation/process/ActivateVnfStatusOperationalEnvironmentTest.java
mso-api-handlers/mso-requests-db-repositories/src/main/java/org/onap/so/db/request/data/repository/OperationalEnvServiceModelStatusRepository.java
mso-api-handlers/mso-requests-db-repositories/src/main/java/org/onap/so/db/request/data/repository/OrchestrationTaskRepository.java
mso-api-handlers/mso-requests-db-repositories/src/main/java/org/onap/so/db/request/data/repository/RequestProcessingDataRepository.java
mso-api-handlers/mso-requests-db/pom.xml
mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/beans/InfraRequests.java
mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/beans/OperationalEnvServiceModelStatus.java
mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/beans/RequestProcessingData.java
mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/client/RequestsDbClient.java
mso-api-handlers/mso-requests-db/src/test/java/org/onap/so/db/request/client/RequestDbClientTest.java
mso-api-handlers/pom.xml
mso-catalog-db/pom.xml
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/ActivitySpec.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/ActivitySpecActivitySpecCategories.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/ActivitySpecActivitySpecParameters.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/ActivitySpecCategories.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/ActivitySpecParameters.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/ActivitySpecUserParameters.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/AllottedResource.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/AllottedResourceCustomization.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/ArRecipe.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/BBNameSelectionReference.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/BuildingBlockDetail.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/CloudIdentity.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/CloudSite.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/CloudifyManager.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/CollectionNetworkResourceCustomization.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/CollectionResource.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/CollectionResourceCustomization.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/CollectionResourceInstanceGroupCustomization.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/ConfigurationResource.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/ConfigurationResourceCustomization.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/ControllerSelectionReference.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/CvnfcConfigurationCustomization.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/CvnfcCustomization.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/ExternalServiceToInternalService.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/HeatEnvironment.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/HeatFiles.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/HeatTemplate.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/HeatTemplateParam.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/HomingInstance.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/InstanceGroup.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/Model.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/ModelRecipe.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/NetworkCollectionResourceCustomization.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/NetworkInstanceGroup.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/NetworkRecipe.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/NetworkResource.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/NetworkResourceCustomization.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/OrchestrationStatusStateTransitionDirective.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/PnfResource.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/PnfResourceCustomization.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/PnfResourceWorkflow.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/Service.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/ServiceProxyResourceCustomization.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/ServiceRecipe.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/TempNetworkHeatTemplateLookup.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/ToscaCsar.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/UserParameters.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/VFCInstanceGroup.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/VfModule.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/VfModuleCustomization.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/VnfComponentsRecipe.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/VnfRecipe.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/VnfResource.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/VnfResourceCustomization.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/VnfResourceWorkflow.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/VnfcCustomization.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/VnfcInstanceGroupCustomization.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/Workflow.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/WorkflowActivitySpecSequence.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/macro/NorthBoundRequest.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/macro/OrchestrationFlow.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/macro/RainyDayHandlerStatus.java
pom.xml
so-monitoring/so-monitoring-handler/pom.xml
so-simulator/pom.xml

index 4129217..5191c0f 100644 (file)
@@ -13,7 +13,7 @@
 *.xml text
 *.sql text
 *.bpmn text
-
+*.sh text eol=lf
 # Declare files that will always have CRLF line endings on checkout.
 
 
index b419d88..81e35d8 100644 (file)
 
   <name>ETSI SOL002 Application Jar</name>
 
-  <properties>
-    <java.version>1.8</java.version>
-    <maven.compiler.source>${java.version}</maven.compiler.source>
-    <maven.compiler.target>${java.version}</maven.compiler.target>
-  </properties>
-
   <dependencies>
     <dependency>
       <groupId>org.springframework.boot</groupId>
index 6c3a1f5..fe34ff4 100644 (file)
@@ -19,7 +19,7 @@
     <retrofit-version>2.3.0</retrofit-version>
     <threetenbp-version>1.3.5</threetenbp-version>
     <oltu-version>1.0.1</oltu-version>
-    <swagger-core-version>1.5.15</swagger-core-version>
+    <swagger-core-version>1.5.21</swagger-core-version>
     <okhttp3-version>3.14.0</okhttp3-version>
     <okhttp-version>2.7.5</okhttp-version>
     <okio-version>1.13.0</okio-version>
@@ -32,4 +32,4 @@
     <module>etsi-sol003-lcm</module>
     <module>etsi-sol003-adapter-application</module>
   </modules>
-</project>
\ No newline at end of file
+</project>
index a121d2d..0168d2b 100644 (file)
       <artifactId>javax.servlet-api</artifactId>
       <scope>provided</scope>
     </dependency>
-    <dependency>
-      <groupId>org.jmockit</groupId>
-      <artifactId>jmockit</artifactId>
-      <version>1.8</version>
-      <scope>test</scope>
-    </dependency>
     <dependency>
       <groupId>org.yaml</groupId>
       <artifactId>snakeyaml</artifactId>
index 584c47f..3b76241 100644 (file)
@@ -18,7 +18,8 @@
     <plugins>
       <plugin>
         <artifactId>maven-jar-plugin</artifactId>
-        <version>2.6</version>
+        <!--<version>2.6</version>-->
+        <version>3.0.2</version>
         <configuration>
           <classesDirectory>target/classes</classesDirectory>
         </configuration>
index 5b3038f..0201dd6 100644 (file)
@@ -13,7 +13,6 @@
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-    <java.version>1.8</java.version>
     <swagger.version>2.0.8</swagger.version>
   </properties>
   <build>
           </execution>
         </executions>
       </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <version>3.3</version>
-        <configuration>
-          <source>1.8</source>
-          <target>1.8</target>
-          <fork>true</fork>
-          <compilerArgs>
-            <arg>-parameters</arg>
-          </compilerArgs>
-        </configuration>
-      </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-surefire-plugin</artifactId>
     <dependency>
       <groupId>uk.co.blackpepper.bowman</groupId>
       <artifactId>bowman-client</artifactId>
-      <version>0.3.0</version>
+      <version>${bowman.client.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.javassist</groupId>
+      <artifactId>javassist</artifactId>
+      <version>3.25.0-GA</version>
     </dependency>
     <dependency>
       <groupId>ch.vorburger.mariaDB4j</groupId>
index d282046..db9a7ce 100644 (file)
@@ -22,7 +22,6 @@ package org.onap.so.adapters.tasks;
 
 import javax.annotation.PostConstruct;
 import org.camunda.bpm.client.ExternalTaskClient;
-import org.onap.so.utils.ExternalTaskServiceUtils;
 import org.onap.so.adapters.tasks.audit.AuditCreateStackService;
 import org.onap.so.adapters.tasks.audit.AuditDeleteStackService;
 import org.onap.so.adapters.tasks.audit.AuditQueryStackService;
@@ -30,6 +29,7 @@ import org.onap.so.adapters.tasks.inventory.CreateInventoryTask;
 import org.onap.so.adapters.tasks.orchestration.PollService;
 import org.onap.so.adapters.tasks.orchestration.RollbackService;
 import org.onap.so.adapters.tasks.orchestration.StackService;
+import org.onap.so.utils.ExternalTaskServiceUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -94,10 +94,10 @@ public class TaskServices {
     }
 
     @PostConstruct
-    public void auditAAIInventory() throws Exception {
+    public void createtAAIInventory() throws Exception {
         for (int i = 0; i < externalTaskServiceUtils.getMaxClients(); i++) {
             ExternalTaskClient client = externalTaskServiceUtils.createExternalTaskClient();
-            client.subscribe("InventoryCreate").lockDuration(externalTaskServiceUtils.getLockDuration())
+            client.subscribe("InventoryCreate").lockDuration(externalTaskServiceUtils.getLongLockDuration())
                     .handler(createInventory::executeExternalTask).open();
         }
     }
index 3463642..ba179b6 100644 (file)
       <artifactId>cxf-logging</artifactId>
       <version>${project.version}</version>
     </dependency>
-  </dependencies>
 
+
+  </dependencies>
+  <pluginRepositories>
+    <pluginRepository>
+      <id>apache.snapshots</id>
+      <name>Maven Plugin Snapshots</name>
+      <url>http://repository.apache.org/snapshots/</url>
+      <snapshots>
+        <enabled>true</enabled>
+      </snapshots>
+    </pluginRepository>
+  </pluginRepositories>
   <build>
     <finalName>${project.artifactId}-${project.version}</finalName>
     <plugins>
       <plugin>
         <groupId>org.apache.cxf</groupId>
         <artifactId>cxf-java2ws-plugin</artifactId>
-        <version>${cxf.version}</version>
+        <version>3.3.3</version>
         <dependencies>
           <dependency>
             <groupId>org.apache.cxf</groupId>
             <artifactId>cxf-rt-frontend-jaxws</artifactId>
-            <version>${cxf.version}</version>
+            <version>3.3.3</version>
           </dependency>
           <dependency>
             <groupId>org.apache.cxf</groupId>
             <artifactId>cxf-rt-frontend-simple</artifactId>
-            <version>${cxf.version}</version>
+            <version>3.3.3</version>
+          </dependency>
+
+          <dependency>
+            <groupId>com.sun.xml.ws</groupId>
+            <artifactId>jaxws-ri</artifactId>
+            <version>2.3.0</version>
+            <type>pom</type>
+          </dependency>
+          <dependency>
+            <groupId>javax.annotation</groupId>
+            <artifactId>javax.annotation-api</artifactId>
+            <version>1.3.2</version>
+          </dependency>
+          <dependency>
+            <groupId>javax.xml.bind</groupId>
+            <artifactId>jaxb-api</artifactId>
+            <version>2.4.0-b180725.0427</version>
+          </dependency>
+          <dependency>
+            <groupId>org.glassfish.jaxb</groupId>
+            <artifactId>jaxb-runtime</artifactId>
+            <version>2.4.0-b180725.0644</version>
           </dependency>
         </dependencies>
         <executions>
               <className>org.onap.so.adapters.requestsdb.MsoRequestsDbAdapter</className>
               <genWsdl>true</genWsdl>
               <verbose>true</verbose>
+              <ignoredDependencies>
+                <ignoredDependency>com.sun.xml.bind:jaxb-impl</ignoredDependency>
+              </ignoredDependencies>
             </configuration>
             <goals>
               <goal>java2ws</goal>
diff --git a/adapters/mso-sdnc-adapter/.gitignore b/adapters/mso-sdnc-adapter/.gitignore
new file mode 100644 (file)
index 0000000..da7560e
--- /dev/null
@@ -0,0 +1 @@
+/.apt_generated_tests/
index 3b76c23..0c320fa 100644 (file)
   </dependencyManagement>
 
   <dependencies>
+    <dependency>
+      <groupId>com.sun.activation</groupId>
+      <artifactId>javax.activation</artifactId>
+      <version>1.2.0</version>
+    </dependency>
+    <dependency>
+      <groupId>javax.xml.bind</groupId>
+      <artifactId>jaxb-api</artifactId>
+      <version>2.3.0</version>
+    </dependency>
+    <dependency>
+      <groupId>com.sun.xml.bind</groupId>
+      <artifactId>jaxb-core</artifactId>
+      <version>2.3.0</version>
+    </dependency>
+    <dependency>
+      <groupId>com.sun.xml.bind</groupId>
+      <artifactId>jaxb-impl</artifactId>
+      <version>2.3.0</version>
+    </dependency>
     <dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-web</artifactId>
diff --git a/adapters/mso-sdnc-adapter/src/test/java/org/onap/so/adapters/sdnc/impl/UtilsTest.java b/adapters/mso-sdnc-adapter/src/test/java/org/onap/so/adapters/sdnc/impl/UtilsTest.java
deleted file mode 100644 (file)
index 4a3db26..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 - 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.onap.so.adapters.sdnc.impl;
-
-import static org.junit.Assert.assertEquals;
-import java.io.File;
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Unmarshaller;
-import org.junit.Test;
-import org.onap.so.adapters.sdnc.SDNCAdapterRequest;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-
-public class UtilsTest {
-
-    @Test
-    public final void testUnmarshal() {
-
-        String expectedXml =
-                "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?><feature-list xmlns=\"com:att:sdnctl:l3api\"><feature-type>FIREWALL-LITE</feature-type><feature-instance-id>mtjnj40evbc0eceb</feature-instance-id><feature-sub-type>SHARED</feature-sub-type><feature-instance-xpath>/restconf/config/Firewall-API:feature-model/feature-list/FIREWALL-LITE/mtjnj40evbc0eceb/</feature-instance-xpath>      </feature-list>";
-
-        try {
-
-            File file = new File("src/test/resources/sdncBpmnAdiodFirewallRequest.xml");
-            JAXBContext jaxbContext = JAXBContext.newInstance(SDNCAdapterRequest.class);
-
-            Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
-            SDNCAdapterRequest request = (SDNCAdapterRequest) jaxbUnmarshaller.unmarshal(file);
-
-            RequestTunables rt = new RequestTunables("0460ba40-60c8-4b07-8878-c8e8d87cde04-1527983610512", "",
-                    "/L3SDN-API:services/layer3-service-list/MIS%2F1806%2F25057%2FSW_INTERNET/service-data/feature-list/FIREWALL-LITE/",
-                    "put");
-
-            Node node = (Node) request.getRequestData();
-            Document reqDoc = node.getOwnerDocument();
-            String sdncReqBody = Utils.genSdncPutReq(reqDoc, rt);
-            assertEquals(sdncReqBody.replaceAll("[\\t\\n\\r]+", ""), expectedXml);
-
-        } catch (JAXBException e) {
-            e.printStackTrace();
-        }
-
-    }
-
-}
index 76b4a58..9e703b9 100644 (file)
       <artifactId>aai-client</artifactId>
       <version>${project.version}</version>
     </dependency>
+    <dependency>
+      <groupId>com.sun.xml.ws</groupId>
+      <artifactId>jaxws-ri</artifactId>
+      <version>2.3.0</version>
+      <type>pom</type>
+    </dependency>
   </dependencies>
 </project>
index f7fc0bc..4d1a471 100644 (file)
@@ -13,7 +13,6 @@
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-    <java.version>1.8</java.version>
   </properties>
   <name>so-appc-orchestrator</name>
   <description>MSO APPC-C Orchestrator</description>
           </execution>
         </executions>
       </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <version>3.3</version>
-        <configuration>
-          <source>1.8</source>
-          <target>1.8</target>
-          <fork>true</fork>
-          <compilerArgs>
-            <arg>-parameters</arg>
-          </compilerArgs>
-        </configuration>
-      </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-surefire-plugin</artifactId>
diff --git a/asdc-controller/.gitignore b/asdc-controller/.gitignore
new file mode 100644 (file)
index 0000000..da7560e
--- /dev/null
@@ -0,0 +1 @@
+/.apt_generated_tests/
index e4c50d3..2a08f83 100644 (file)
@@ -15,7 +15,6 @@
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
     <antlr.version>4.7.1</antlr.version>
-    <java.version>1.8</java.version>
     <sdc.tosca.version>1.6.5</sdc.tosca.version>
     <jtosca.version>1.5.1</jtosca.version>
   </properties>
@@ -54,7 +53,6 @@
       <plugin>
         <groupId>org.jacoco</groupId>
         <artifactId>jacoco-maven-plugin</artifactId>
-        <version>0.7.7.201606060606</version>
         <configuration>
           <excludes>
             <exclude>**/resource-examples/**</exclude>
       <artifactId>aai-client</artifactId>
       <version>${project.version}</version>
     </dependency>
+    <dependency>
+      <groupId>javax.xml.ws</groupId>
+      <artifactId>jaxws-api</artifactId>
+    </dependency>
   </dependencies>
 </project>
index ec8ad31..c395b01 100644 (file)
   <name>MSOCommonBPMN</name>
   <packaging>jar</packaging>
 
-  <properties>
-    <maven.compiler.target>1.8</maven.compiler.target>
-    <maven.compiler.source>1.8</maven.compiler.source>
-  </properties>
-
   <build>
     <plugins>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-compiler-plugin</artifactId>
-        <version>3.8.0</version>
         <configuration>
           <compilerId>groovy-eclipse-compiler</compilerId>
         </configuration>
@@ -35,7 +29,7 @@
           <dependency>
             <groupId>org.codehaus.groovy</groupId>
             <artifactId>groovy-eclipse-batch</artifactId>
-            <version>2.4.19-01</version>
+            <version>2.5.8-03</version>
           </dependency>
         </dependencies>
       </plugin>
                       [1.3,)
                     </versionRange>
                     <goals>
-                      <goal>run</goal>
+                      <goal>execute</goal>
                     </goals>
                   </pluginExecutionFilter>
                   <action>
-                    <ignore>
-                    </ignore>
+                    <execute>
+                      <runOnIncremental>true</runOnIncremental>
+                    </execute>
                   </action>
                 </pluginExecution>
               </pluginExecutions>
     </dependency>
     <dependency>
       <groupId>org.codehaus.groovy</groupId>
-      <artifactId>groovy-all</artifactId>
+      <artifactId>groovy</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.groovy</groupId>
+      <artifactId>groovy-xml</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.groovy</groupId>
+      <artifactId>groovy-json</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.groovy</groupId>
+      <artifactId>groovy-jsr223</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.groovy</groupId>
+      <artifactId>groovy-test</artifactId>
+      <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>org.onap.so</groupId>
     <dependency>
       <groupId>uk.co.blackpepper.bowman</groupId>
       <artifactId>bowman-client</artifactId>
-      <version>0.3.0</version>
+      <version>${bowman.client.version}</version>
     </dependency>
     <dependency>
       <groupId>pl.pragmatists</groupId>
index cc261a2..bd713af 100644 (file)
@@ -24,7 +24,6 @@ import org.apache.commons.lang3.StringUtils;
 
 class GenericUtils extends StringUtils{
 
-       @Override
        public static boolean isBlank(final CharSequence cs) {
                int strLen;
                if (cs == null || (strLen = cs.length()) == 0 || cs.equals("null"))  {
index d307a4e..69dfacd 100644 (file)
@@ -56,7 +56,6 @@ import org.slf4j.LoggerFactory
 import javax.ws.rs.core.MediaType
 import javax.ws.rs.core.Response
 import javax.ws.rs.core.UriBuilder
-import javax.xml.ws.http.HTTPException
 
 import static org.onap.so.bpmn.common.scripts.GenericUtils.*
 
index 1960caf..14aefe1 100644 (file)
@@ -31,7 +31,6 @@ import org.onap.so.bpmn.core.xml.XmlTool
 import org.slf4j.Logger
 import org.slf4j.LoggerFactory
 
-
 class VidUtils {
     private static final Logger logger = LoggerFactory.getLogger( VidUtils.class);
 
index 47254e7..6acdb5d 100644 (file)
       <artifactId>camunda-engine</artifactId>
       <version>${camunda.version}</version>
     </dependency>
-    <dependency>
-      <groupId>org.codehaus.groovy</groupId>
-      <artifactId>groovy-all</artifactId>
-      <scope>compile</scope>
-    </dependency>
     <dependency>
       <groupId>com.h2database</groupId>
       <artifactId>h2</artifactId>
diff --git a/bpmn/mso-infrastructure-bpmn/.gitignore b/bpmn/mso-infrastructure-bpmn/.gitignore
new file mode 100644 (file)
index 0000000..da7560e
--- /dev/null
@@ -0,0 +1 @@
+/.apt_generated_tests/
index 7d88271..0df49c1 100644 (file)
     <dependency>
       <groupId>org.onap.aaf.authz</groupId>
       <artifactId>aaf-cadi-aaf</artifactId>
-      <version>2.1.9</version>
+      <version>${aaf.cadi.version}</version>
       <exclusions>
         <exclusion>
           <groupId>javax.servlet</groupId>
index 36fb17c..35adeec 100644 (file)
@@ -19,7 +19,7 @@
     <camunda.bpm.assert.version>1.2</camunda.bpm.assert.version>
     <camunda.bpm.webapp.artifact>camunda-webapp-jboss-standalone</camunda.bpm.webapp.artifact>
     <h2.version>1.4.196</h2.version>
-    <groovy.version>2.4.8</groovy.version>
+    <groovy.version>2.5.3</groovy.version>
     <saxon.version>9.5.1-8</saxon.version>
     <xmlunit.version>2.4.0</xmlunit.version>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
   <!-- Define artifact versions for child modules -->
   <dependencyManagement>
     <dependencies>
-      <dependency>
-        <groupId>org.codehaus.groovy</groupId>
-        <artifactId>groovy-all</artifactId>
-        <version>${groovy.version}</version>
-      </dependency>
       <dependency>
         <groupId>net.sf.saxon</groupId>
         <artifactId>Saxon-HE</artifactId>
index f4e173d..92bf43f 100644 (file)
@@ -35,7 +35,6 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-compiler-plugin</artifactId>
-        <version>3.8.0</version>
         <configuration>
           <compilerId>groovy-eclipse-compiler</compilerId>
         </configuration>
@@ -49,7 +48,7 @@
           <dependency>
             <groupId>org.codehaus.groovy</groupId>
             <artifactId>groovy-eclipse-batch</artifactId>
-            <version>2.4.19-01</version>
+            <version>2.5.8-03</version>
           </dependency>
         </dependencies>
       </plugin>
       <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>
       <artifactId>assertj-core</artifactId>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>org.codehaus.groovy</groupId>
+      <artifactId>groovy-test</artifactId>
+      <scope>test</scope>
+    </dependency>
     <dependency>
       <groupId>org.camunda.bpm.extension.mockito</groupId>
       <artifactId>camunda-bpm-mockito</artifactId>
index 1d6fa9e..29f1c33 100644 (file)
       <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>
index 05839c1..a03da25 100644 (file)
@@ -23,6 +23,7 @@ package org.onap.so.bpmn.infrastructure.process;
 import com.google.protobuf.Struct;
 import org.camunda.bpm.engine.runtime.ProcessInstance;
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.onap.ccsdk.cds.controllerblueprints.common.api.ActionIdentifiers;
 import org.onap.ccsdk.cds.controllerblueprints.common.api.CommonHeader;
@@ -54,6 +55,7 @@ import static org.camunda.bpm.engine.test.assertions.bpmn.BpmnAwareAssertions.as
 /**
  * Basic Integration test for createVcpeResCustService_Simplified.bpmn workflow.
  */
+@Ignore
 public class CreateVcpeResCustServiceSimplifiedTest extends BaseBPMNTest {
 
     private Logger logger = LoggerFactory.getLogger(getClass());
index 2a9d7fa..e510a29 100644 (file)
@@ -11,8 +11,6 @@
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-    <maven.compiler.target>1.8</maven.compiler.target>
-    <maven.compiler.source>1.8</maven.compiler.source>
     <grpc.version>1.17.1</grpc.version>
   </properties>
   <build>
           <groupId>javax.ws.rs</groupId>
           <artifactId>jsr311-api</artifactId>
         </exclusion>
+       <exclusion>
+          <groupId>io.swagger</groupId>
+          <artifactId>swagger-annotations</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>io.swagger</groupId>
+          <artifactId>swagger-models</artifactId>
+        </exclusion>
       </exclusions>
     </dependency>
     <dependency>
index c75473b..71e1abd 100644 (file)
@@ -357,8 +357,7 @@ public class WorkflowAction {
                     }
                     flowsToExecute = buildExecuteBuildingBlockList(orchFlows, resourceList, requestId, apiVersion,
                             resourceId, requestAction, vnfType, workflowResourceIds, requestDetails, vnfReplace);
-                    if (!resourceList.stream().filter(x -> WorkflowType.NETWORKCOLLECTION == x.getResourceType())
-                            .collect(Collectors.toList()).isEmpty()) {
+                    if (isNetworkCollectionInTheResourceList(resourceList)) {
                         logger.info("Sorting for Vlan Tagging");
                         flowsToExecute = sortExecutionPathByObjectForVlanTagging(flowsToExecute, requestAction);
                     }
@@ -831,90 +830,108 @@ public class WorkflowAction {
 
     protected void traverseNetworkCollection(DelegateExecution execution, List<Resource> resourceList,
             org.onap.so.db.catalog.beans.Service service) {
-        if (service.getVnfCustomizations() == null || service.getVnfCustomizations().isEmpty()) {
+        if (isVnfCustomizationsEmpty(service)) {
             List<CollectionResourceCustomization> customizations = service.getCollectionResourceCustomizations();
             if (customizations.isEmpty()) {
                 logger.debug("No Collections found. CollectionResourceCustomization list is empty.");
             } else {
                 CollectionResourceCustomization collectionResourceCustomization =
                         findCatalogNetworkCollection(execution, service);
-                if (collectionResourceCustomization != null) {
-                    resourceList.add(new Resource(WorkflowType.NETWORKCOLLECTION,
-                            collectionResourceCustomization.getModelCustomizationUUID(), false));
-                    logger.debug("Found a network collection");
-                    if (collectionResourceCustomization.getCollectionResource() != null) {
-                        if (collectionResourceCustomization.getCollectionResource().getInstanceGroup() != null) {
-                            String toscaNodeType = collectionResourceCustomization.getCollectionResource()
-                                    .getInstanceGroup().getToscaNodeType();
-                            if (toscaNodeType != null && toscaNodeType.contains(NETWORKCOLLECTION)) {
-                                int minNetworks = 0;
-                                org.onap.so.db.catalog.beans.InstanceGroup instanceGroup =
-                                        collectionResourceCustomization.getCollectionResource().getInstanceGroup();
-                                CollectionResourceInstanceGroupCustomization collectionInstCust = null;
-                                if (!instanceGroup.getCollectionInstanceGroupCustomizations().isEmpty()) {
-                                    for (CollectionResourceInstanceGroupCustomization collectionInstanceGroupTemp : instanceGroup
-                                            .getCollectionInstanceGroupCustomizations()) {
-                                        if (collectionInstanceGroupTemp.getModelCustomizationUUID().equalsIgnoreCase(
-                                                collectionResourceCustomization.getModelCustomizationUUID())) {
-                                            collectionInstCust = collectionInstanceGroupTemp;
-                                            break;
-                                        }
-                                    }
-                                    if (collectionInstCust != null
-                                            && collectionInstCust.getSubInterfaceNetworkQuantity() != null) {
-                                        minNetworks = collectionInstCust.getSubInterfaceNetworkQuantity();
-                                    }
-                                }
-                                logger.debug("minNetworks: {}", minNetworks);
-                                CollectionNetworkResourceCustomization collectionNetworkResourceCust = null;
-                                for (CollectionNetworkResourceCustomization collectionNetworkTemp : instanceGroup
-                                        .getCollectionNetworkResourceCustomizations()) {
-                                    if (collectionNetworkTemp.getNetworkResourceCustomization()
-                                            .getModelCustomizationUUID().equalsIgnoreCase(
-                                                    collectionResourceCustomization.getModelCustomizationUUID())) {
-                                        collectionNetworkResourceCust = collectionNetworkTemp;
-                                        break;
-                                    }
-                                }
-                                for (int i = 0; i < minNetworks; i++) {
-                                    if (collectionNetworkResourceCust != null && collectionInstCust != null) {
-                                        Resource resource = new Resource(WorkflowType.VIRTUAL_LINK,
-                                                collectionNetworkResourceCust.getModelCustomizationUUID(), false);
-                                        resource.setVirtualLinkKey(Integer.toString(i));
-                                        resourceList.add(resource);
-                                    }
+                traverseNetworkCollectionResourceCustomization(resourceList, collectionResourceCustomization);
+            }
+            traverseNetworkCollectionCustomization(resourceList, service);
+        } else {
+            buildAndThrowException(execution,
+                    "Cannot orchestrate Service-Macro-Create without user params with a vnf. Please update ASDC model for new macro orchestration support or add service_recipe records to route to old macro flows");
+        }
+    }
+
+    private void traverseNetworkCollectionResourceCustomization(List<Resource> resourceList,
+            CollectionResourceCustomization collectionResourceCustomization) {
+        if (collectionResourceCustomization != null) {
+            resourceList.add(new Resource(WorkflowType.NETWORKCOLLECTION,
+                    collectionResourceCustomization.getModelCustomizationUUID(), false));
+            logger.debug("Found a network collection");
+            if (collectionResourceCustomization.getCollectionResource() != null) {
+                if (collectionResourceCustomization.getCollectionResource().getInstanceGroup() != null) {
+                    String toscaNodeType = collectionResourceCustomization.getCollectionResource().getInstanceGroup()
+                            .getToscaNodeType();
+                    if (toscaNodeType != null && toscaNodeType.contains(NETWORKCOLLECTION)) {
+                        int minNetworks = 0;
+                        org.onap.so.db.catalog.beans.InstanceGroup instanceGroup =
+                                collectionResourceCustomization.getCollectionResource().getInstanceGroup();
+                        CollectionResourceInstanceGroupCustomization collectionInstCust = null;
+                        if (!instanceGroup.getCollectionInstanceGroupCustomizations().isEmpty()) {
+                            for (CollectionResourceInstanceGroupCustomization collectionInstanceGroupTemp : instanceGroup
+                                    .getCollectionInstanceGroupCustomizations()) {
+                                if (collectionInstanceGroupTemp.getModelCustomizationUUID().equalsIgnoreCase(
+                                        collectionResourceCustomization.getModelCustomizationUUID())) {
+                                    collectionInstCust = collectionInstanceGroupTemp;
+                                    break;
                                 }
-                            } else {
-                                logger.debug("Instance Group tosca node type does not contain NetworkCollection:  {}",
-                                        toscaNodeType);
                             }
-                        } else {
-                            logger.debug("No Instance Group found for network collection.");
+                            if (collectionInstCust != null
+                                    && collectionInstCust.getSubInterfaceNetworkQuantity() != null) {
+                                minNetworks = collectionInstCust.getSubInterfaceNetworkQuantity();
+                            }
+                        }
+                        logger.debug("minNetworks: {}", minNetworks);
+                        CollectionNetworkResourceCustomization collectionNetworkResourceCust = null;
+                        for (CollectionNetworkResourceCustomization collectionNetworkTemp : instanceGroup
+                                .getCollectionNetworkResourceCustomizations()) {
+                            if (collectionNetworkTemp.getNetworkResourceCustomization().getModelCustomizationUUID()
+                                    .equalsIgnoreCase(collectionResourceCustomization.getModelCustomizationUUID())) {
+                                collectionNetworkResourceCust = collectionNetworkTemp;
+                                break;
+                            }
+                        }
+                        for (int i = 0; i < minNetworks; i++) {
+                            if (collectionNetworkResourceCust != null && collectionInstCust != null) {
+                                Resource resource = new Resource(WorkflowType.VIRTUAL_LINK,
+                                        collectionNetworkResourceCust.getModelCustomizationUUID(), false);
+                                resource.setVirtualLinkKey(Integer.toString(i));
+                                resourceList.add(resource);
+                            }
                         }
                     } else {
-                        logger.debug("No Network Collection found. collectionResource is null");
+                        logger.debug("Instance Group tosca node type does not contain NetworkCollection:  {}",
+                                toscaNodeType);
                     }
                 } else {
-                    logger.debug("No Network Collection Customization found");
-                }
-            }
-            if (resourceList.stream().filter(x -> WorkflowType.NETWORKCOLLECTION == x.getResourceType())
-                    .collect(Collectors.toList()).isEmpty()) {
-                if (service.getNetworkCustomizations() == null) {
-                    logger.debug("No networks were found on this service model");
-                } else {
-                    for (int i = 0; i < service.getNetworkCustomizations().size(); i++) {
-                        resourceList.add(new Resource(WorkflowType.NETWORK,
-                                service.getNetworkCustomizations().get(i).getModelCustomizationUUID(), false));
-                    }
+                    logger.debug("No Instance Group found for network collection.");
                 }
+            } else {
+                logger.debug("No Network Collection found. collectionResource is null");
             }
         } else {
-            buildAndThrowException(execution,
-                    "Cannot orchestrate Service-Macro-Create without user params with a vnf. Please update ASDC model for new macro orchestration support or add service_recipe records to route to old macro flows");
+            logger.debug("No Network Collection Customization found");
         }
     }
 
+    private void traverseNetworkCollectionCustomization(List<Resource> resourceList,
+            org.onap.so.db.catalog.beans.Service service) {
+        if (isNetworkCollectionInTheResourceList(resourceList)) {
+            return;
+        }
+        if (service.getNetworkCustomizations() == null) {
+            logger.debug("No networks were found on this service model");
+            return;
+        }
+        for (int i = 0; i < service.getNetworkCustomizations().size(); i++) {
+            resourceList.add(new Resource(WorkflowType.NETWORK,
+                    service.getNetworkCustomizations().get(i).getModelCustomizationUUID(), false));
+        }
+    }
+
+    private boolean isNetworkCollectionInTheResourceList(List<Resource> resourceList) {
+        return !(resourceList.stream().filter(x -> WorkflowType.NETWORKCOLLECTION == x.getResourceType())
+                .collect(Collectors.toList()).isEmpty());
+    }
+
+    private boolean isVnfCustomizationsEmpty(org.onap.so.db.catalog.beans.Service service) {
+        return service.getVnfCustomizations() == null || service.getVnfCustomizations().isEmpty();
+    }
+
     protected void traverseAAIService(DelegateExecution execution, List<Resource> resourceList, String resourceId,
             List<Pair<WorkflowType, String>> aaiResourceIds) {
         try {
index 772fca0..cf5226a 100644 (file)
@@ -13,8 +13,11 @@ import org.springframework.stereotype.Component;
 @Component
 public class SkipConfigVnfListener implements FlowManipulator {
 
-    @Autowired
-    private CatalogDbClient catalogDbClient;
+    private final CatalogDbClient catalogDbClient;
+
+    public SkipConfigVnfListener(CatalogDbClient catalogDbClient) {
+        this.catalogDbClient = catalogDbClient;
+    }
 
     @Override
     public boolean shouldRunFor(String currentBBName, boolean isFirst, BuildingBlockExecution execution) {
diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/listeners/SkipConfigVnfListenerTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/listeners/SkipConfigVnfListenerTest.java
new file mode 100644 (file)
index 0000000..c23fb03
--- /dev/null
@@ -0,0 +1,117 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2020 Nokia
+ * ================================================================================
+ * 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.onap.so.bpmn.infrastructure.workflow.tasks.listeners;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import org.camunda.bpm.engine.delegate.DelegateExecution;
+import org.camunda.bpm.extension.mockito.delegate.DelegateExecutionFake;
+import org.junit.Before;
+import org.junit.Test;
+import org.onap.so.bpmn.common.BuildingBlockExecution;
+import org.onap.so.bpmn.common.DelegateExecutionImpl;
+import org.onap.so.bpmn.servicedecomposition.entities.BuildingBlock;
+import org.onap.so.bpmn.servicedecomposition.entities.ExecuteBuildingBlock;
+import org.onap.so.db.catalog.beans.VnfResourceCustomization;
+import org.onap.so.db.catalog.client.CatalogDbClient;
+import org.onap.so.serviceinstancebeans.ModelInfo;
+import org.onap.so.serviceinstancebeans.RequestDetails;
+
+public class SkipConfigVnfListenerTest {
+
+    private static final String MODEL_UUID = "modelUuidTest";
+    private static final String VNF_CUSTOMIZATION_UUID = "vnfCustomizationUUIDTest";
+    private static final String G_CURRENT_SEQUENCE = "gCurrentSequence";
+
+    private DelegateExecution execution;
+    private CatalogDbClient catalogDbClientMock;
+    private SkipConfigVnfListener testedObject;
+    private BuildingBlockExecution buildingBlockExecution;
+
+    @Before
+    public void setup() {
+        execution = new DelegateExecutionFake();
+        buildingBlockExecution = new DelegateExecutionImpl(execution);
+        catalogDbClientMock = mock(CatalogDbClient.class);
+        testedObject = new SkipConfigVnfListener(catalogDbClientMock);
+    }
+
+    @Test
+    public void shouldRunFor_ConfigAssignVnfBB() {
+        assertThat(testedObject.shouldRunFor("ConfigAssignVnfBB", true, null)).isTrue();
+    }
+
+    @Test
+    public void shouldRunFor_ConfigDeployVnfBB() {
+        assertThat(testedObject.shouldRunFor("ConfigDeployVnfBB", true, null)).isTrue();
+    }
+
+    @Test
+    public void shouldNotRunFor_notConfigBB() {
+        assertThat(testedObject.shouldRunFor("BBtest", true, null)).isFalse();
+    }
+
+    @Test
+    public void skipVnfSuccessful_sequenceIncremented() {
+        // given
+        execution.setVariable(G_CURRENT_SEQUENCE, 0);
+        List<VnfResourceCustomization> vnfResourceCustomizations = createVnfResourceCustomizationList();
+        when(catalogDbClientMock.getVnfResourceCustomizationByModelUuid(MODEL_UUID))
+                .thenReturn(vnfResourceCustomizations);
+        when(catalogDbClientMock.findVnfResourceCustomizationInList(VNF_CUSTOMIZATION_UUID, vnfResourceCustomizations))
+                .thenReturn(createVnfResourceCustomization());
+        // when
+        testedObject.run(null, createExecuteBuildingBlock(), buildingBlockExecution);
+        // then
+        assertThat((int) execution.getVariable(G_CURRENT_SEQUENCE)).isEqualTo(1);
+    }
+
+    private ExecuteBuildingBlock createExecuteBuildingBlock() {
+        ModelInfo modelInfo = new ModelInfo();
+        modelInfo.setModelUuid(MODEL_UUID);
+        RequestDetails requestDetails = new RequestDetails();
+        requestDetails.setModelInfo(modelInfo);
+
+        ExecuteBuildingBlock executeBuildingBlock = new ExecuteBuildingBlock();
+        BuildingBlock buildingBlock = new BuildingBlock();
+        buildingBlock.setKey(VNF_CUSTOMIZATION_UUID);
+        executeBuildingBlock.setBuildingBlock(buildingBlock);
+        executeBuildingBlock.setRequestDetails(requestDetails);
+        return executeBuildingBlock;
+    }
+
+    private List<VnfResourceCustomization> createVnfResourceCustomizationList() {
+        VnfResourceCustomization vnfResourceCustomization2 = new VnfResourceCustomization();
+        vnfResourceCustomization2.setSkipPostInstConf(false);
+        return new ArrayList<>(Arrays.asList(createVnfResourceCustomization(), vnfResourceCustomization2));
+    }
+
+    private VnfResourceCustomization createVnfResourceCustomization() {
+        VnfResourceCustomization vnfResourceCustomization = new VnfResourceCustomization();
+        vnfResourceCustomization.setSkipPostInstConf(true);
+        return vnfResourceCustomization;
+    }
+
+}
index 6bb9357..6089d65 100644 (file)
@@ -18,7 +18,8 @@
     <plugins>
       <plugin>
         <artifactId>maven-jar-plugin</artifactId>
-        <version>2.6</version>
+        <!--<version>2.6</version>-->
+        <version>3.0.2</version>
         <configuration>
           <classesDirectory>target/classes</classesDirectory>
         </configuration>
index f47200f..08dfc4d 100644 (file)
@@ -58,7 +58,7 @@
     <dependency>
       <groupId>org.modelmapper</groupId>
       <artifactId>modelmapper</artifactId>
-      <version>1.1.0</version>
+      <version>2.3.2</version>
     </dependency>
     <dependency>
       <groupId>com.google.guava</groupId>
     <dependency>
       <groupId>org.onap.aaf.authz</groupId>
       <artifactId>aaf-cadi-aaf</artifactId>
-      <version>2.1.9</version>
+      <version>${aaf.cadi.version}</version>
       <exclusions>
         <exclusion>
           <groupId>javax.servlet</groupId>
         </exclusion>
       </exclusions>
     </dependency>
+    <dependency>
+      <groupId>javax.xml.bind</groupId>
+      <artifactId>jaxb-api</artifactId>
+      <version>2.3.0</version>
+    </dependency>
+    <dependency>
+      <groupId>com.sun.xml.bind</groupId>
+      <artifactId>jaxb-core</artifactId>
+      <version>2.3.0</version>
+    </dependency>
+    <dependency>
+      <groupId>com.sun.xml.bind</groupId>
+      <artifactId>jaxb-impl</artifactId>
+      <version>2.3.0</version>
+    </dependency>
   </dependencies>
   <dependencyManagement>
     <dependencies>
index 6e2bc97..84efa65 100644 (file)
@@ -31,6 +31,8 @@ import java.util.List;
 import java.util.Set;
 import javax.persistence.GeneratedValue;
 import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
 import org.hamcrest.Matcher;
 import com.openpojo.business.annotation.BusinessKey;
 import com.openpojo.random.RandomFactory;
@@ -42,7 +44,6 @@ import com.openpojo.validation.utils.ValidationHelper;
 
 public class EqualsAndHashCodeTester implements Tester {
 
-
     private final Matcher m;
     private boolean onlyDeclaredMethods = false;
 
@@ -118,7 +119,6 @@ public class EqualsAndHashCodeTester implements Tester {
         }
     }
 
-
     private Set<PojoField> hasIdOrBusinessKey(PojoClass pojoClass) {
         final Set<PojoField> fields = new HashSet<>();
 
index 840a978..7ae7de2 100644 (file)
@@ -59,6 +59,11 @@ public class ExternalTaskServiceUtils {
         return lockDuration;
     }
 
+    public Long getLongLockDuration() {
+        Long lockDuration = Long.parseLong(env.getProperty("mso.long.lock-time", "600000"));
+        return lockDuration;
+    }
+
     @ScheduledLogging
     @Scheduled(fixedDelay = 30000)
     public void checkAllClientsActive() {
diff --git a/mso-api-handlers/mso-api-handler-common/.gitignore b/mso-api-handlers/mso-api-handler-common/.gitignore
new file mode 100644 (file)
index 0000000..da7560e
--- /dev/null
@@ -0,0 +1 @@
+/.apt_generated_tests/
index 865de79..2fbdbbf 100644 (file)
@@ -23,7 +23,6 @@
     <reflections-version>0.9.9-RC1</reflections-version>
     <paranamer-version>2.5.2</paranamer-version>
     <scannotation-version>1.0.3</scannotation-version>
-    <java.version>1.8</java.version>
   </properties>
   <dependencyManagement>
     <dependencies>
index 7e891f1..2f25d40 100644 (file)
@@ -25,7 +25,6 @@
     <reflections-version>0.9.9-RC1</reflections-version>
     <paranamer-version>2.5.2</paranamer-version>
     <scannotation-version>1.0.3</scannotation-version>
-    <java.version>1.8</java.version>
   </properties>
   <dependencyManagement>
     <dependencies>
       <groupId>org.camunda.bpm</groupId>
       <artifactId>camunda-engine</artifactId>
     </dependency>
+    <dependency>
+      <groupId>org.javassist</groupId>
+      <artifactId>javassist</artifactId>
+      <version>3.25.0-GA</version>
+    </dependency>
     <dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-web</artifactId>
     </dependency>
-
     <dependency>
       <groupId>io.swagger.core.v3</groupId>
       <artifactId>swagger-annotations</artifactId>
       <artifactId>json4s-core_2.12</artifactId>
       <version>${json4s-core-version}</version>
     </dependency>
+    <dependency>
+      <groupId>javax.xml.ws</groupId>
+      <artifactId>jaxws-api</artifactId>
+    </dependency>
     <dependency>
       <groupId>javax.servlet</groupId>
       <artifactId>javax.servlet-api</artifactId>
       <artifactId>mso-catalog-db</artifactId>
       <version>${project.version}</version>
     </dependency>
-
     <!-- Test Dependencies -->
     <dependency>
       <groupId>pl.pragmatists</groupId>
     <dependency>
       <groupId>org.onap.aaf.authz</groupId>
       <artifactId>aaf-cadi-aaf</artifactId>
-      <version>2.1.9</version>
+      <version>${aaf.cadi.version}</version>
       <exclusions>
         <exclusion>
           <groupId>javax.servlet</groupId>
         </exclusion>
       </exclusions>
     </dependency>
+    <dependency>
+      <groupId>javax.xml.bind</groupId>
+      <artifactId>jaxb-api</artifactId>
+      <version>2.3.0</version>
+    </dependency>
+    <dependency>
+      <groupId>com.sun.xml.bind</groupId>
+      <artifactId>jaxb-core</artifactId>
+      <version>2.3.0</version>
+    </dependency>
+    <dependency>
+      <groupId>com.sun.xml.bind</groupId>
+      <artifactId>jaxb-impl</artifactId>
+      <version>2.3.0</version>
+    </dependency>
   </dependencies>
 
   <build>
index b21b468..0b96852 100644 (file)
@@ -39,6 +39,7 @@ import org.junit.Ignore;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.ExpectedException;
+import org.onap.aaiclient.client.aai.AAIVersion;
 import org.onap.so.apihandler.common.ErrorNumbers;
 import org.onap.so.apihandlerinfra.BaseTest;
 import org.onap.so.apihandlerinfra.exceptions.ApiException;
@@ -46,7 +47,6 @@ import org.onap.so.apihandlerinfra.tenantisolation.CloudOrchestrationRequest;
 import org.onap.so.apihandlerinfra.tenantisolationbeans.Distribution;
 import org.onap.so.apihandlerinfra.tenantisolationbeans.DistributionStatus;
 import org.onap.so.apihandlerinfra.tenantisolationbeans.Status;
-import org.onap.aaiclient.client.aai.AAIVersion;
 import org.onap.so.db.request.beans.InfraActiveRequests;
 import org.onap.so.db.request.beans.OperationalEnvDistributionStatus;
 import org.onap.so.db.request.beans.OperationalEnvServiceModelStatus;
index f0d717d..ea1aeb9 100644 (file)
@@ -20,7 +20,6 @@
 
 package org.onap.so.db.request.data.repository;
 
-import java.util.List;
 import org.onap.so.db.request.beans.OperationalEnvServiceModelStatus;
 import org.onap.so.db.request.beans.OperationalEnvServiceModelStatusId;
 import org.springframework.data.jpa.repository.JpaRepository;
@@ -35,7 +34,7 @@ public interface OperationalEnvServiceModelStatusRepository
     public OperationalEnvServiceModelStatus findOneByOperationalEnvIdAndRequestId(String operationalEnvId,
             String requestId);
 
-    public List<OperationalEnvServiceModelStatus> findAllByOperationalEnvIdAndRequestId(
+    public OperationalEnvServiceModelStatus[] findAllByOperationalEnvIdAndRequestId(
             @Param("OPERATIONAL_ENV_ID") String operationalEnvId, @Param("REQUEST_ID") String requestId);
 
     public OperationalEnvServiceModelStatus findOneByOperationalEnvIdAndServiceModelVersionIdAndRequestId(
index 1093c79..953361f 100644 (file)
@@ -24,10 +24,9 @@ import org.onap.so.db.request.beans.OrchestrationTask;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.repository.query.Param;
 import org.springframework.data.rest.core.annotation.RepositoryRestResource;
-import java.util.List;
 
 @RepositoryRestResource(collectionResourceRel = "orchestrationTask", path = "orchestrationTask")
 public interface OrchestrationTaskRepository extends JpaRepository<OrchestrationTask, String> {
 
-    public List<OrchestrationTask> findByStatus(@Param("status") String status);
+    public OrchestrationTask[] findByStatus(@Param("status") String status);
 }
index cb02b7c..21bc2a6 100644 (file)
@@ -37,11 +37,11 @@ public interface RequestProcessingDataRepository extends JpaRepository<RequestPr
     RequestProcessingData findOneBySoRequestIdAndName(@Param("SO_REQUEST_ID") String soRequestId,
             @Param("NAME") String name);
 
-    List<RequestProcessingData> findBySoRequestIdOrderByGroupingIdDesc(@Param("SO_REQUEST_ID") String soRequestId);
+    RequestProcessingData[] findBySoRequestIdOrderByGroupingIdDesc(@Param("SO_REQUEST_ID") String soRequestId);
 
     RequestProcessingData[] findBySoRequestIdAndIsDataInternalOrderByGroupingIdDesc(
             @Param("SO_REQUEST_ID") String soRequestId, @Param("IS_INTERNAL_DATA") Boolean isDataInternal);
 
-    List<RequestProcessingData> findByGroupingIdAndNameAndTag(@Param("GROUPING_ID") String groupingId,
+    RequestProcessingData[] findByGroupingIdAndNameAndTag(@Param("GROUPING_ID") String groupingId,
             @Param("NAME") String name, @Param("TAG") String tag);
 }
index 37bb417..9a9d12a 100644 (file)
     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
   </properties>
   <dependencies>
-    <dependency>
-      <groupId>uk.co.blackpepper.bowman</groupId>
-      <artifactId>bowman-client</artifactId>
-      <version>0.3.0</version>
-    </dependency>
     <dependency>
       <groupId>org.onap.so</groupId>
       <artifactId>common</artifactId>
index cf6cf68..cc721d3 100644 (file)
@@ -40,8 +40,6 @@ import javax.persistence.TemporalType;
 import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.onap.so.requestsdb.TimestampXMLAdapter;
-import uk.co.blackpepper.bowman.annotation.LinkedResource;
-import uk.co.blackpepper.bowman.annotation.ResourceId;
 
 @MappedSuperclass
 public abstract class InfraRequests implements java.io.Serializable {
@@ -164,7 +162,6 @@ public abstract class InfraRequests implements java.io.Serializable {
     @JoinColumn(name = "SO_REQUEST_ID", referencedColumnName = "REQUEST_ID", updatable = false)
     private List<CloudApiRequests> cloudApiRequests = new ArrayList<>();
 
-    @ResourceId
     public URI getRequestURI() {
         return URI.create(this.requestId);
     }
@@ -443,7 +440,6 @@ public abstract class InfraRequests implements java.io.Serializable {
         return requestAction;
     }
 
-    @LinkedResource
     public List<CloudApiRequests> getCloudApiRequests() {
         return cloudApiRequests;
     }
index 2278c8c..a7444a4 100644 (file)
@@ -22,6 +22,7 @@ package org.onap.so.db.request.beans;
 
 import java.io.Serializable;
 import java.util.Date;
+import java.util.Objects;
 import javax.persistence.Column;
 import javax.persistence.Entity;
 import javax.persistence.Id;
@@ -31,7 +32,6 @@ import javax.persistence.PreUpdate;
 import javax.persistence.Table;
 import javax.persistence.Temporal;
 import javax.persistence.TemporalType;
-import java.util.Objects;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
 /**
index 6aa00ca..17b22ec 100644 (file)
@@ -22,32 +22,26 @@ package org.onap.so.db.request.client;
 
 import java.net.URI;
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.HashMap;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
-import java.util.stream.Collectors;
-import java.util.stream.StreamSupport;
 import javax.annotation.PostConstruct;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.UriBuilder;
 import org.apache.http.HttpStatus;
-import org.onap.logging.filter.spring.SpringClientPayloadFilter;
 import org.onap.so.db.request.beans.ArchivedInfraRequests;
 import org.onap.so.db.request.beans.InfraActiveRequests;
 import org.onap.so.db.request.beans.OperationStatus;
 import org.onap.so.db.request.beans.OperationalEnvDistributionStatus;
 import org.onap.so.db.request.beans.OperationalEnvServiceModelStatus;
+import org.onap.so.db.request.beans.OrchestrationTask;
 import org.onap.so.db.request.beans.RequestProcessingData;
 import org.onap.so.db.request.beans.ResourceOperationStatus;
 import org.onap.so.db.request.beans.SiteStatus;
 import org.onap.so.db.request.beans.WatchdogComponentDistributionStatus;
 import org.onap.so.db.request.beans.WatchdogDistributionStatus;
 import org.onap.so.db.request.beans.WatchdogServiceModVerIdLookup;
-import org.onap.so.db.request.beans.OrchestrationTask;
 import org.onap.so.db.request.data.controller.InstanceNameDuplicateCheckRequest;
-import org.onap.so.logging.jaxrs.filter.SOSpringClientFilter;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Primary;
@@ -56,14 +50,9 @@ import org.springframework.http.HttpEntity;
 import org.springframework.http.HttpHeaders;
 import org.springframework.http.HttpMethod;
 import org.springframework.http.ResponseEntity;
-import org.springframework.http.client.BufferingClientHttpRequestFactory;
-import org.springframework.http.client.ClientHttpRequestFactory;
-import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
 import org.springframework.stereotype.Component;
 import org.springframework.web.client.HttpClientErrorException;
 import org.springframework.web.client.RestTemplate;
-import uk.co.blackpepper.bowman.ClientFactory;
-import uk.co.blackpepper.bowman.Configuration;
 
 @Component("RequestsDbClient")
 @Primary
@@ -166,25 +155,6 @@ public class RequestsDbClient {
         return endpoint;
     }
 
-    protected ClientFactory getClientFactory() {
-        URI baseUri = UriBuilder.fromUri(getEndpoint()).build();
-        ClientHttpRequestFactory factory =
-                new BufferingClientHttpRequestFactory(new HttpComponentsClientHttpRequestFactory());
-
-        return Configuration.builder().setBaseUri(baseUri).setClientHttpRequestFactory(factory)
-                .setRestTemplateConfigurer(restTemplate -> {
-                    restTemplate.getInterceptors().add((new SOSpringClientFilter()));
-                    restTemplate.getInterceptors().add((new SpringClientPayloadFilter()));
-
-                    restTemplate.getInterceptors().add((request, body, execution) -> {
-
-                        request.getHeaders().add(HttpHeaders.AUTHORIZATION, msoAdaptersAuth);
-                        return execution.execute(request, body);
-                    });
-                }).build().buildClientFactory();
-    }
-
-
     public List<InfraActiveRequests> getCloudOrchestrationFiltersFromInfraActive(Map<String, String> orchestrationMap) {
         URI uri = getUri(cloudOrchestrationFiltersFromInfraActive);
         HttpHeaders headers = getHttpHeaders();
@@ -201,30 +171,21 @@ public class RequestsDbClient {
     }
 
     public List<InfraActiveRequests> getInProgressVolumeGroupsAndVfModules() {
-        HttpHeaders headers = getHttpHeaders();
         URI uri = getUri(endpoint + getInProgressVolumeGroupsAndVfModules);
-        HttpEntity<Map<String, List<String>>> entity = new HttpEntity<>(headers);
-        return restTemplate
-                .exchange(uri, HttpMethod.GET, entity, new ParameterizedTypeReference<List<InfraActiveRequests>>() {})
-                .getBody();
+
+        return getMultipleResponse(uri, new ParameterizedTypeReference<List<InfraActiveRequests>>() {});
+
     }
 
     public InfraActiveRequests getInfraActiveRequestbyRequestId(String requestId) {
-        try {
-            HttpEntity<?> entity = getHttpEntity();
-            InfraActiveRequests infraActiveRequests =
-                    restTemplate.exchange(getUri(endpoint + "/infraActiveRequests/" + requestId), HttpMethod.GET,
-                            entity, InfraActiveRequests.class).getBody();
-            if (infraActiveRequests != null) {
-                infraActiveRequests.setRequestId(requestId);
-            }
-            return infraActiveRequests;
-        } catch (HttpClientErrorException e) {
-            if (HttpStatus.SC_NOT_FOUND == e.getStatusCode().value()) {
-                return null;
-            }
-            throw e;
+
+
+        InfraActiveRequests infraActiveRequests =
+                getSingleResponse(getUri(endpoint + "/infraActiveRequests/" + requestId), InfraActiveRequests.class);
+        if (infraActiveRequests != null) {
+            infraActiveRequests.setRequestId(requestId);
         }
+        return infraActiveRequests;
     }
 
     public List<InfraActiveRequests> getOrchestrationFiltersFromInfraActive(
@@ -238,9 +199,8 @@ public class RequestsDbClient {
     }
 
     public InfraActiveRequests checkVnfIdStatus(String operationalEnvironmentId) {
-        HttpEntity<?> entity = getHttpEntity();
         URI uri = getUri(checkVnfIdStatus + operationalEnvironmentId);
-        return restTemplate.exchange(uri, HttpMethod.GET, entity, InfraActiveRequests.class).getBody();
+        return getSingleResponse(uri, InfraActiveRequests.class);
     }
 
     public InfraActiveRequests checkInstanceNameDuplicate(Map<String, String> instanceIdMap, String instanceName,
@@ -249,66 +209,40 @@ public class RequestsDbClient {
         URI uri = getUri(checkInstanceNameDuplicate);
         HttpEntity<InstanceNameDuplicateCheckRequest> entity = new HttpEntity<>(
                 new InstanceNameDuplicateCheckRequest(instanceIdMap, instanceName, requestScope), headers);
-        try {
-            ResponseEntity<InfraActiveRequests> response =
-                    restTemplate.exchange(uri, HttpMethod.POST, entity, InfraActiveRequests.class);
-            if (response != null && response.hasBody()) {
-                return restTemplate.exchange(uri, HttpMethod.POST, entity, InfraActiveRequests.class).getBody();
-            } else {
-                return null;
-            }
-        } catch (HttpClientErrorException e) {
-            if (HttpStatus.SC_NOT_FOUND == e.getStatusCode().value()) {
-                return null;
-            }
-            throw e;
-        }
+
+        return postSingleResponse(uri, entity, InfraActiveRequests.class);
 
     }
 
     public OperationStatus getOneByServiceIdAndOperationId(String serviceId, String operationId) {
-        try {
-            HttpEntity<?> entity = getHttpEntity();
-            OperationStatus operationStatus = restTemplate.exchange(getUri(
-                    UriBuilder.fromUri(getUri(findOneByServiceIdAndOperationIdURI)).queryParam(SERVICE_ID, serviceId)
-                            .queryParam(OPERATION_ID, operationId).build().toString()),
-                    HttpMethod.GET, entity, OperationStatus.class).getBody();
-            if (operationStatus != null) {
-                operationStatus.setServiceId(serviceId);
-                operationStatus.setOperationId(operationId);
-            }
-
-            return operationStatus;
-        } catch (HttpClientErrorException e) {
-            if (HttpStatus.SC_NOT_FOUND == e.getStatusCode().value()) {
-                return null;
-            }
-            throw e;
+        OperationStatus operationStatus = getSingleResponse(
+                getUri(UriBuilder.fromUri(getUri(findOneByServiceIdAndOperationIdURI)).queryParam(SERVICE_ID, serviceId)
+                        .queryParam(OPERATION_ID, operationId).build().toString()),
+                OperationStatus.class);
+        if (operationStatus != null) {
+            operationStatus.setServiceId(serviceId);
+            operationStatus.setOperationId(operationId);
         }
+        return operationStatus;
     }
 
     public OperationalEnvServiceModelStatus findOneByOperationalEnvIdAndServiceModelVersionIdAndRequestId(
             String operationalEnvironmentId, String serviceModelVersionId, String requestId) {
-        try {
-            HttpEntity<?> entity = getHttpEntity();
-            OperationalEnvServiceModelStatus modelStatus = restTemplate.exchange(
-                    getUri(UriBuilder.fromUri(findOneByOperationalEnvIdAndServiceModelVersionIdAndRequestIdURI)
-                            .queryParam(OPERATIONAL_ENVIRONMENT_ID, operationalEnvironmentId)
-                            .queryParam(SERVICE_MODEL_VERSION_ID, serviceModelVersionId)
-                            .queryParam(REQUEST_ID, requestId).build().toString()),
-                    HttpMethod.GET, entity, OperationalEnvServiceModelStatus.class).getBody();
-            if (null != modelStatus) {
-                modelStatus.setOperationalEnvId(operationalEnvironmentId);
-                modelStatus.setServiceModelVersionId(serviceModelVersionId);
-                modelStatus.setRequestId(requestId);
-            }
-            return modelStatus;
-        } catch (HttpClientErrorException e) {
-            if (HttpStatus.SC_NOT_FOUND == e.getStatusCode().value()) {
-                return null;
-            }
-            throw e;
+
+        OperationalEnvServiceModelStatus modelStatus =
+                getSingleResponse(
+                        getUri(UriBuilder.fromUri(findOneByOperationalEnvIdAndServiceModelVersionIdAndRequestIdURI)
+                                .queryParam(OPERATIONAL_ENVIRONMENT_ID, operationalEnvironmentId)
+                                .queryParam(SERVICE_MODEL_VERSION_ID, serviceModelVersionId)
+                                .queryParam(REQUEST_ID, requestId).build().toString()),
+                        OperationalEnvServiceModelStatus.class);
+        if (null != modelStatus) {
+            modelStatus.setOperationalEnvId(operationalEnvironmentId);
+            modelStatus.setServiceModelVersionId(serviceModelVersionId);
+            modelStatus.setRequestId(requestId);
         }
+        return modelStatus;
+
     }
 
     public List<OperationalEnvServiceModelStatus> getAllByOperationalEnvIdAndRequestId(String operationalEnvironmentId,
@@ -320,30 +254,18 @@ public class RequestsDbClient {
     }
 
     public OperationalEnvDistributionStatus getDistributionStatusById(String distributionId) {
-        try {
-            HttpEntity<?> entity = getHttpEntity();
-            OperationalEnvDistributionStatus distributionStatus =
-                    restTemplate.exchange(getUri(operationalEnvDistributionStatusURI + distributionId), HttpMethod.GET,
-                            entity, OperationalEnvDistributionStatus.class).getBody();
-            if (null != distributionStatus) {
-                distributionStatus.setDistributionId(distributionId);
-            }
-            return distributionStatus;
-        } catch (HttpClientErrorException e) {
-            if (HttpStatus.SC_NOT_FOUND == e.getStatusCode().value()) {
-                return null;
-            }
-            throw e;
+
+        OperationalEnvDistributionStatus distributionStatus = getSingleResponse(
+                getUri(operationalEnvDistributionStatusURI + distributionId), OperationalEnvDistributionStatus.class);
+        if (null != distributionStatus) {
+            distributionStatus.setDistributionId(distributionId);
         }
+        return distributionStatus;
+
     }
 
     private List<OperationalEnvServiceModelStatus> getMultipleOperationalEnvServiceModelStatus(URI uri) {
-        Iterable<OperationalEnvServiceModelStatus> iterable =
-                getClientFactory().create(OperationalEnvServiceModelStatus.class).getAll(uri);
-        List<OperationalEnvServiceModelStatus> serviceModelStatuses = new ArrayList<>();
-        Iterator<OperationalEnvServiceModelStatus> statusIterator = iterable.iterator();
-        statusIterator.forEachRemaining(serviceModelStatuses::add);
-        return serviceModelStatuses;
+        return getMultipleResponse(uri, new ParameterizedTypeReference<List<OperationalEnvServiceModelStatus>>() {});
     }
 
     public void save(InfraActiveRequests infraActiveRequests) {
@@ -376,38 +298,16 @@ public class RequestsDbClient {
     }
 
     public InfraActiveRequests getInfraActiveRequests(String requestId, String basicAuth, String host) {
-        RestTemplate template = new RestTemplate();
-        HttpHeaders headers = new HttpHeaders();
-        headers.set(HttpHeaders.AUTHORIZATION, basicAuth);
-        headers.set(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON);
-        headers.set(HttpHeaders.ACCEPT, MediaType.APPLICATION_JSON);
+
         URI uri = getUri(host + "/infraActiveRequests/" + requestId);
-        try {
-            InfraActiveRequests infraActiveRequests = template
-                    .exchange(uri, HttpMethod.GET, new HttpEntity<>(headers), InfraActiveRequests.class).getBody();
-            if (infraActiveRequests != null) {
-                infraActiveRequests.setRequestId(requestId);
-            }
-            return infraActiveRequests;
-        } catch (HttpClientErrorException e) {
-            if (HttpStatus.SC_NOT_FOUND == e.getStatusCode().value()) {
-                return null;
-            }
-            throw e;
-        }
+
+        return getSingleResponse(uri, InfraActiveRequests.class);
     }
 
     public void updateInfraActiveRequests(InfraActiveRequests request, String basicAuth, String host) {
-        RestTemplate template = new RestTemplate();
-        template.getInterceptors().add(new SOSpringClientFilter());
-        template.getInterceptors().add(new SpringClientPayloadFilter());
-        HttpHeaders headers = new HttpHeaders();
-        headers.set(HttpHeaders.AUTHORIZATION, basicAuth);
-        headers.set(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON);
-        headers.set(HttpHeaders.ACCEPT, MediaType.APPLICATION_JSON);
         URI uri = getUri(host + "/infraActiveRequests/" + request.getRequestId());
-        HttpEntity<InfraActiveRequests> entity = new HttpEntity<>(request, headers);
-        template.put(uri, entity);
+        HttpEntity<InfraActiveRequests> entity = new HttpEntity<>(request, getHttpHeaders());
+        restTemplate.put(uri, entity);
     }
 
     protected URI getUri(String uri) {
@@ -437,41 +337,30 @@ public class RequestsDbClient {
     public List<RequestProcessingData> getExternalRequestProcessingDataBySoRequestId(String soRequestId) {
         URI uri = getUri(UriBuilder.fromUri(getEndpoint() + findBySoRequestIdAndIsDataInternalOrderByGroupingIdDesc)
                 .queryParam(SO_REQUEST_ID, soRequestId).queryParam(IS_INTERNAL_DATA, false).build().toString());
-        ResponseEntity<RequestProcessingData[]> array =
-                restTemplate.exchange(uri, HttpMethod.GET, getHttpEntity(), RequestProcessingData[].class);
-        if (array != null) {
-            return Arrays.asList(array.getBody());
-        } else {
-            return null;
-        }
+        return getMultipleResponse(uri, new ParameterizedTypeReference<List<RequestProcessingData>>() {});
     }
 
     public RequestProcessingData getRequestProcessingDataBySoRequestIdAndNameAndGrouping(String soRequestId,
             String name, String groupingId) {
-        return getClientFactory().create(RequestProcessingData.class)
-                .get(getUri(UriBuilder.fromUri(endpoint + findBySoRequestIdAndGroupIdAndName)
-                        .queryParam(SO_REQUEST_ID, soRequestId).queryParam(NAME, name)
-                        .queryParam(GROUPING_ID, groupingId).build().toString()));
+        return getSingleResponse(getUri(
+                UriBuilder.fromUri(endpoint + findBySoRequestIdAndGroupIdAndName).queryParam(SO_REQUEST_ID, soRequestId)
+                        .queryParam(NAME, name).queryParam(GROUPING_ID, groupingId).build().toString()),
+                RequestProcessingData.class);
     }
 
     public List<RequestProcessingData> getRequestProcessingDataByGroupingIdAndNameAndTag(String groupingId, String name,
             String tag) {
-        Iterable<RequestProcessingData> requestProcessingDataListIt =
-                getClientFactory().create(RequestProcessingData.class)
-                        .getAll(getUri(UriBuilder.fromUri(endpoint + findByGroupingIdAndNameAndTag)
-                                .queryParam(GROUPING_ID, groupingId).queryParam(NAME, name).queryParam(TAG, tag).build()
-                                .toString()));
-
-        List<RequestProcessingData> requestProcessingDataList =
-                StreamSupport.stream(requestProcessingDataListIt.spliterator(), false).collect(Collectors.toList());
 
-        return requestProcessingDataList;
+        return getMultipleResponse(
+                getUri(UriBuilder.fromUri(endpoint + findByGroupingIdAndNameAndTag).queryParam(GROUPING_ID, groupingId)
+                        .queryParam(NAME, name).queryParam(TAG, tag).build().toString()),
+                new ParameterizedTypeReference<List<RequestProcessingData>>() {});
     }
 
     public RequestProcessingData getRequestProcessingDataBySoRequestIdAndName(String soRequestId, String name) {
-        return getClientFactory().create(RequestProcessingData.class)
-                .get(getUri(UriBuilder.fromUri(endpoint + findBySoRequestIdAndName)
-                        .queryParam(SO_REQUEST_ID, soRequestId).queryParam(NAME, name).build().toString()));
+        return getSingleResponse(getUri(UriBuilder.fromUri(endpoint + findBySoRequestIdAndName)
+                .queryParam(SO_REQUEST_ID, soRequestId).queryParam(NAME, name).build().toString()),
+                RequestProcessingData.class);
     }
 
 
@@ -491,26 +380,14 @@ public class RequestsDbClient {
     }
 
     private List<RequestProcessingData> getRequestProcessingData(URI uri) {
-        Iterable<RequestProcessingData> requestProcessingDataIterator =
-                getClientFactory().create(RequestProcessingData.class).getAll(uri);
-        List<RequestProcessingData> requestProcessingDataList = new ArrayList<>();
-        Iterator<RequestProcessingData> it = requestProcessingDataIterator.iterator();
-        it.forEachRemaining(requestProcessingDataList::add);
-        return requestProcessingDataList;
+        return getMultipleResponse(uri, new ParameterizedTypeReference<List<RequestProcessingData>>() {});
     }
 
     public InfraActiveRequests findOneByRequestId(String requestId) {
-        try {
-            HttpEntity<?> entity = getHttpEntity();
-            return restTemplate.exchange(
-                    getUri(UriBuilder.fromUri(findOneByRequestId).queryParam(REQUEST_ID, requestId).build().toString()),
-                    HttpMethod.GET, entity, InfraActiveRequests.class).getBody();
-        } catch (HttpClientErrorException e) {
-            if (HttpStatus.SC_NOT_FOUND == e.getStatusCode().value()) {
-                return null;
-            }
-            throw e;
-        }
+        return getSingleResponse(
+                getUri(UriBuilder.fromUri(findOneByRequestId).queryParam(REQUEST_ID, requestId).build().toString()),
+                InfraActiveRequests.class);
+
     }
 
     // From and To are defaulted to ignore start/endtime on query to database
@@ -525,11 +402,8 @@ public class RequestsDbClient {
     }
 
     public List<OrchestrationTask> getAllOrchestrationTasks() {
-        String url = UriBuilder.fromUri(getUri(orchestrationTasksURI)).build().toString();
-        HttpEntity<?> entity = getHttpEntity();
-        return restTemplate
-                .exchange(url, HttpMethod.GET, entity, new ParameterizedTypeReference<List<OrchestrationTask>>() {})
-                .getBody();
+        return getMultipleResponse(getUri(orchestrationTasksURI),
+                new ParameterizedTypeReference<List<OrchestrationTask>>() {});
     }
 
     public OrchestrationTask getOrchestrationTask(String taskId) {
@@ -605,4 +479,54 @@ public class RequestsDbClient {
         return new HttpEntity<>(headers);
     }
 
+    private <T> T getSingleResponse(URI uri, Class<T> clazz) {
+        try {
+            HttpEntity<?> entity = getHttpEntity();
+            return restTemplate.exchange(uri, HttpMethod.GET, entity, clazz).getBody();
+        } catch (HttpClientErrorException e) {
+            if (HttpStatus.SC_NOT_FOUND == e.getStatusCode().value()) {
+                return null;
+            }
+            throw e;
+        }
+    }
+
+    private <T> List<T> getMultipleResponse(URI uri, ParameterizedTypeReference<List<T>> type) {
+        try {
+            HttpEntity<?> entity = getHttpEntity();
+            return restTemplate.exchange(uri, HttpMethod.GET, entity, type).getBody();
+        } catch (HttpClientErrorException e) {
+            if (HttpStatus.SC_NOT_FOUND == e.getStatusCode().value()) {
+                return new ArrayList<T>();
+            }
+            throw e;
+        }
+    }
+
+    private <T> T postSingleResponse(URI uri, HttpEntity<?> payload, Class<T> clazz) {
+        try {
+            HttpEntity<?> entity = new HttpEntity<>(payload.getBody(), getHttpHeaders());
+            return restTemplate.exchange(uri, HttpMethod.POST, entity, clazz).getBody();
+        } catch (HttpClientErrorException e) {
+            if (HttpStatus.SC_NOT_FOUND == e.getStatusCode().value()) {
+                return null;
+            }
+            throw e;
+        }
+    }
+
+    private <T> List<T> postMultipleResponse(URI uri, HttpEntity<?> payload, ParameterizedTypeReference<List<T>> type) {
+        try {
+            HttpEntity<?> entity = new HttpEntity<>(payload.getBody(), getHttpHeaders());
+            ResponseEntity<List<T>> result = restTemplate.exchange(uri, HttpMethod.POST, entity, type);
+
+            return result.getBody();
+        } catch (HttpClientErrorException e) {
+            if (HttpStatus.SC_NOT_FOUND == e.getStatusCode().value()) {
+                return new ArrayList<T>();
+            }
+            throw e;
+        }
+    }
+
 }
index 0ad8d14..32886bf 100644 (file)
@@ -1,11 +1,14 @@
 package org.onap.so.db.request.client;
 
+import static org.junit.Assert.assertTrue;
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.ArgumentMatchers.isA;
 import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.when;
 import java.net.URI;
+import java.util.ArrayList;
+import java.util.List;
 import javax.ws.rs.core.UriBuilder;
-import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.InjectMocks;
@@ -13,21 +16,14 @@ import org.mockito.Mock;
 import org.mockito.Mockito;
 import org.mockito.Spy;
 import org.mockito.junit.MockitoJUnitRunner;
-import org.onap.logging.filter.spring.SpringClientPayloadFilter;
 import org.onap.so.db.request.beans.InfraActiveRequests;
 import org.onap.so.db.request.beans.RequestProcessingData;
-import org.onap.so.logging.jaxrs.filter.SOSpringClientFilter;
-import org.springframework.beans.factory.annotation.Value;
+import org.springframework.core.ParameterizedTypeReference;
 import org.springframework.http.HttpEntity;
-import org.springframework.http.HttpHeaders;
 import org.springframework.http.HttpMethod;
+import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
-import org.springframework.http.client.BufferingClientHttpRequestFactory;
-import org.springframework.http.client.ClientHttpRequestFactory;
-import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
 import org.springframework.web.client.RestTemplate;
-import uk.co.blackpepper.bowman.ClientFactory;
-import uk.co.blackpepper.bowman.Configuration;
 
 
 @RunWith(MockitoJUnitRunner.class)
@@ -61,12 +57,16 @@ public class RequestDbClientTest {
     @Test
     public void testGetRequestProcessingDataBySoRequestIdAndIsInternalData() {
         Mockito.doReturn("host").when(requestsDbClient).getEndpoint();
-        requestsDbClient.getExternalRequestProcessingDataBySoRequestId("12345");
         URI uri = URI.create(UriBuilder
                 .fromUri("host/requestProcessingData/search/findBySoRequestIdAndIsDataInternalOrderByGroupingIdDesc")
                 .queryParam("SO_REQUEST_ID", "12345").queryParam("IS_INTERNAL_DATA", false).build().toString());
-        Mockito.verify(restTemplate, times(1)).exchange(eq(uri), eq(HttpMethod.GET), isA(HttpEntity.class),
-                eq(RequestProcessingData[].class));
+        when(restTemplate.exchange(eq(uri), eq(HttpMethod.GET), isA(HttpEntity.class),
+                isA(ParameterizedTypeReference.class))).thenReturn(
+                        new ResponseEntity<List<RequestProcessingData>>(new ArrayList<RequestProcessingData>(),
+                                HttpStatus.NOT_FOUND));
+        assertTrue(requestsDbClient.getExternalRequestProcessingDataBySoRequestId("12345").isEmpty());
+
+
     }
 
 }
index db939a6..86e1c57 100644 (file)
@@ -19,7 +19,6 @@
     <module>mso-api-handler-common</module>
     <module>mso-api-handler-infra</module>
   </modules>
-
   <dependencies>
     <dependency>
       <groupId>org.apache.httpcomponents</groupId>
index 7444866..0a435aa 100644 (file)
         </executions>
       </plugin>
     </plugins>
-    <pluginManagement>
-      <plugins>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-compiler-plugin</artifactId>
-          <version>3.3</version>
-          <configuration>
-            <source>1.8</source>
-            <target>1.8</target>
-            <fork>true</fork>
-            <compilerArgs>
-              <arg>-parameters</arg>
-            </compilerArgs>
-          </configuration>
-        </plugin>
-      </plugins>
-    </pluginManagement>
   </build>
   <dependencies>
     <dependency>
       <groupId>uk.co.blackpepper.bowman</groupId>
       <artifactId>bowman-client</artifactId>
-      <version>0.3.0</version>
+      <version>${bowman.client.version}</version>
     </dependency>
     <dependency>
       <groupId>org.onap.so</groupId>
       <groupId>org.mariadb.jdbc</groupId>
       <artifactId>mariadb-java-client</artifactId>
     </dependency>
-    <dependency>
-      <groupId>com.openpojo</groupId>
-      <artifactId>openpojo</artifactId>
-      <version>0.8.6</version>
-    </dependency>
     <dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-test</artifactId>
index 20c1074..0d14916 100644 (file)
@@ -19,8 +19,10 @@ import org.apache.commons.lang3.builder.HashCodeBuilder;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.openpojo.business.annotation.BusinessKey;
 import uk.co.blackpepper.bowman.annotation.LinkedResource;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/activitySpec")
 @Table(name = "activity_spec")
 public class ActivitySpec implements Serializable {
 
index 062bdd6..d57996b 100644 (file)
@@ -36,8 +36,10 @@ import org.apache.commons.lang3.builder.HashCodeBuilder;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.openpojo.business.annotation.BusinessKey;
 import uk.co.blackpepper.bowman.annotation.LinkedResource;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/activitySpecActivitySpecCategories")
 @Table(name = "activity_spec_to_activity_spec_categories")
 public class ActivitySpecActivitySpecCategories implements Serializable {
 
index f3e6a09..ea407ae 100644 (file)
@@ -36,8 +36,10 @@ import org.apache.commons.lang3.builder.HashCodeBuilder;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.openpojo.business.annotation.BusinessKey;
 import uk.co.blackpepper.bowman.annotation.LinkedResource;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/activitySpecActivitySpecParameters")
 @Table(name = "activity_spec_to_activity_spec_parameters")
 public class ActivitySpecActivitySpecParameters implements Serializable {
 
index 2474d5c..32c17f7 100644 (file)
@@ -11,8 +11,10 @@ import org.apache.commons.lang3.builder.EqualsBuilder;
 import org.apache.commons.lang3.builder.HashCodeBuilder;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.openpojo.business.annotation.BusinessKey;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/activitySpecCategories")
 @Table(name = "activity_spec_categories")
 public class ActivitySpecCategories implements Serializable {
 
index ed05640..cd5ed3d 100644 (file)
@@ -15,8 +15,10 @@ import org.apache.commons.lang3.builder.EqualsBuilder;
 import org.apache.commons.lang3.builder.HashCodeBuilder;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.openpojo.business.annotation.BusinessKey;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/activitySpecParameters")
 @Table(name = "activity_spec_parameters")
 public class ActivitySpecParameters implements Serializable {
 
index d23c782..7e825b3 100644 (file)
@@ -36,8 +36,10 @@ import org.apache.commons.lang3.builder.HashCodeBuilder;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.openpojo.business.annotation.BusinessKey;
 import uk.co.blackpepper.bowman.annotation.LinkedResource;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/activitySpecUserParameters")
 @Table(name = "activity_spec_to_user_parameters")
 public class ActivitySpecUserParameters implements Serializable {
 
index c3a662d..19e875f 100644 (file)
@@ -39,8 +39,10 @@ import org.apache.commons.lang3.builder.HashCodeBuilder;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.openpojo.business.annotation.BusinessKey;
 import uk.co.blackpepper.bowman.annotation.LinkedResource;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/allottedResource")
 @Table(name = "allotted_resource")
 public class AllottedResource implements Serializable {
 
index b3734ca..2afb39f 100644 (file)
@@ -39,8 +39,10 @@ import org.apache.commons.lang3.builder.HashCodeBuilder;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.openpojo.business.annotation.BusinessKey;
 import uk.co.blackpepper.bowman.annotation.LinkedResource;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/allottedResourceCustomization")
 @Table(name = "allotted_resource_customization")
 public class AllottedResourceCustomization implements Serializable {
 
index 176c02c..c28a78a 100644 (file)
@@ -32,8 +32,10 @@ import org.apache.commons.lang3.builder.EqualsBuilder;
 import org.apache.commons.lang3.builder.HashCodeBuilder;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.openpojo.business.annotation.BusinessKey;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/arRecipe")
 @Table(name = "ar_recipe")
 public class ArRecipe implements Recipe, Serializable {
     private static final long serialVersionUID = 768026109321305392L;
index 9b71c97..63dfa61 100644 (file)
@@ -31,8 +31,10 @@ import org.apache.commons.lang3.builder.EqualsBuilder;
 import org.apache.commons.lang3.builder.HashCodeBuilder;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.openpojo.business.annotation.BusinessKey;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/bbNameSelectionReference")
 @Table(name = "bbname_selection_reference")
 public class BBNameSelectionReference implements Serializable {
 
index f94b815..14ec4b1 100644 (file)
@@ -33,8 +33,10 @@ import org.apache.commons.lang3.builder.EqualsBuilder;
 import org.apache.commons.lang3.builder.HashCodeBuilder;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.openpojo.business.annotation.BusinessKey;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/buildingBlockDetail")
 @Table(name = "building_block_detail")
 public class BuildingBlockDetail implements Serializable {
     private static final long serialVersionUID = -2375223199178059155L;
index 7dd163b..61b0b11 100644 (file)
@@ -36,6 +36,7 @@ import javax.persistence.PrePersist;
 import javax.persistence.Table;
 import javax.persistence.Temporal;
 import javax.persistence.TemporalType;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 /**
  * EntityBean class for a CloudIdentity. This bean represents a cloud identity service instance (i.e. a DCP node) in the
@@ -43,6 +44,7 @@ import javax.persistence.TemporalType;
  *
  */
 @Entity
+@RemoteResource("/cloudIdentity")
 @Table(name = "identity_services")
 public class CloudIdentity {
 
index 0d7fe7d..8e3f475 100644 (file)
@@ -51,8 +51,8 @@ import uk.co.blackpepper.bowman.annotation.ResourceId;
  * will be loaded via CloudConfig object, of which it is a component
  *
  */
-@RemoteResource("/cloudSite")
 @Entity
+@RemoteResource("/cloudSite")
 @Table(name = "cloud_sites")
 @JsonAutoDetect(fieldVisibility = Visibility.ANY)
 public class CloudSite {
index a3df245..33185b2 100644 (file)
@@ -34,6 +34,7 @@ import javax.persistence.PrePersist;
 import javax.persistence.Table;
 import javax.persistence.Temporal;
 import javax.persistence.TemporalType;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 /**
  * EntityBean class for a Cloudify Manager. This bean represents a Cloudify node through which TOSCA-based VNFs may be
@@ -45,6 +46,7 @@ import javax.persistence.TemporalType;
  * @author JC1348
  */
 @Entity
+@RemoteResource("/cloudifyManager")
 @Table(name = "cloudify_managers")
 public class CloudifyManager {
 
index 566268b..f8d05b9 100644 (file)
@@ -38,8 +38,10 @@ import org.apache.commons.lang3.builder.HashCodeBuilder;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.openpojo.business.annotation.BusinessKey;
 import uk.co.blackpepper.bowman.annotation.LinkedResource;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/collectionNetworkResourceCustomization")
 @Table(name = "collection_network_resource_customization")
 public class CollectionNetworkResourceCustomization implements Serializable {
 
index 9a92d0a..b8ec638 100644 (file)
@@ -38,8 +38,10 @@ import org.apache.commons.lang3.builder.HashCodeBuilder;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.openpojo.business.annotation.BusinessKey;
 import uk.co.blackpepper.bowman.annotation.LinkedResource;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/collectionResource")
 @Table(name = "collection_resource")
 public class CollectionResource implements Serializable {
 
index 8214c0a..4a547b1 100644 (file)
@@ -43,8 +43,10 @@ import org.apache.commons.lang3.builder.HashCodeBuilder;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.openpojo.business.annotation.BusinessKey;
 import uk.co.blackpepper.bowman.annotation.LinkedResource;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/collectionResourceCustomization")
 @DiscriminatorColumn(name = "OBJECT_TYPE")
 @Inheritance(strategy = InheritanceType.SINGLE_TABLE)
 @Table(name = "collection_resource_customization")
index 4a72f9a..f59ed73 100644 (file)
@@ -39,8 +39,10 @@ import org.apache.commons.lang3.builder.HashCodeBuilder;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.openpojo.business.annotation.BusinessKey;
 import uk.co.blackpepper.bowman.annotation.LinkedResource;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/collectionResourceInstanceGroupCustomization")
 @IdClass(CollectionResourceInstanceGroupCustomizationId.class)
 @Table(name = "collection_resource_instance_group_customization")
 public class CollectionResourceInstanceGroupCustomization implements Serializable {
@@ -60,10 +62,12 @@ public class CollectionResourceInstanceGroupCustomization implements Serializabl
     @Column(name = "INSTANCE_GROUP_MODEL_UUID")
     private String modelUUID;
 
+    @BusinessKey
     @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
     @JoinColumn(name = "COLLECTION_RESOURCE_CUSTOMIZATION_MODEL_UUID", updatable = false, insertable = false)
     private CollectionResourceCustomization collectionResourceCust;
 
+    @BusinessKey
     @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
     @JoinColumn(name = "INSTANCE_GROUP_MODEL_UUID", updatable = false, insertable = false)
     private InstanceGroup instanceGroup;
index 9c2e1de..731b237 100644 (file)
@@ -38,9 +38,11 @@ import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 import com.openpojo.business.annotation.BusinessKey;
 import uk.co.blackpepper.bowman.annotation.LinkedResource;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @JsonIgnoreProperties({"hibernateLazyInitializer", "handler"})
 @Entity
+@RemoteResource("/configurationResource")
 @Table(name = "configuration")
 public class ConfigurationResource implements Serializable {
 
index 3be9e1f..7f5d0f5 100644 (file)
@@ -41,8 +41,10 @@ import org.apache.commons.lang3.builder.HashCodeBuilder;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.openpojo.business.annotation.BusinessKey;
 import uk.co.blackpepper.bowman.annotation.LinkedResource;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/configurationResourceCustomization")
 @Table(name = "configuration_customization")
 public class ConfigurationResourceCustomization implements Serializable {
 
index ac0d09b..9b73997 100644 (file)
@@ -29,9 +29,11 @@ import com.openpojo.business.annotation.BusinessKey;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.HashCodeBuilder;
 import org.apache.commons.lang3.builder.EqualsBuilder;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @IdClass(ControllerSelectionReferenceId.class)
 @Entity
+@RemoteResource("/controllerSelectionReference")
 @Table(name = "controller_selection_reference")
 public class ControllerSelectionReference implements Serializable {
 
index 97518ec..c5575b2 100644 (file)
@@ -41,8 +41,10 @@ import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.openpojo.business.annotation.BusinessKey;
 import uk.co.blackpepper.bowman.annotation.LinkedResource;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/cvnfcConfigurationCustomization")
 @Table(name = "cvnfc_configuration_customization")
 public class CvnfcConfigurationCustomization implements Serializable {
 
index f5b5d73..822aa50 100644 (file)
@@ -43,8 +43,10 @@ import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.openpojo.business.annotation.BusinessKey;
 import uk.co.blackpepper.bowman.annotation.LinkedResource;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/cvnfcCustomization")
 @Table(name = "cvnfc_customization")
 public class CvnfcCustomization implements Serializable {
 
index f664e79..f05934d 100644 (file)
@@ -31,8 +31,10 @@ import org.apache.commons.lang3.builder.EqualsBuilder;
 import org.apache.commons.lang3.builder.HashCodeBuilder;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.openpojo.business.annotation.BusinessKey;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/externalServiceToInternalService")
 @Table(name = "external_service_to_internal_model_mapping")
 public class ExternalServiceToInternalService implements Serializable {
 
index 511f7cf..8ec6c88 100644 (file)
@@ -34,8 +34,10 @@ import javax.persistence.TemporalType;
 import org.apache.commons.lang3.builder.EqualsBuilder;
 import org.apache.commons.lang3.builder.HashCodeBuilder;
 import com.openpojo.business.annotation.BusinessKey;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/heatEnvironment")
 @Table(name = "heat_environment")
 public class HeatEnvironment implements Serializable {
 
index 3badf2a..b1873ee 100644 (file)
@@ -34,8 +34,10 @@ import org.apache.commons.lang3.builder.EqualsBuilder;
 import org.apache.commons.lang3.builder.HashCodeBuilder;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.openpojo.business.annotation.BusinessKey;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/heatFiles")
 @Table(name = "heat_files")
 public class HeatFiles implements Serializable {
 
index 82725f0..ac9af18 100644 (file)
@@ -43,8 +43,10 @@ import org.apache.commons.lang3.builder.HashCodeBuilder;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.openpojo.business.annotation.BusinessKey;
 import uk.co.blackpepper.bowman.annotation.LinkedResource;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/heatTemplate")
 @Table(name = "heat_template")
 public class HeatTemplate implements Serializable {
 
index 6abf695..e7e8ee1 100644 (file)
@@ -30,9 +30,11 @@ import org.apache.commons.lang3.builder.EqualsBuilder;
 import org.apache.commons.lang3.builder.HashCodeBuilder;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.openpojo.business.annotation.BusinessKey;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @IdClass(HeatTemplateParamId.class)
 @Entity
+@RemoteResource("/heatTemplateParam")
 @Table(name = "heat_template_params")
 public class HeatTemplateParam implements Serializable {
 
index 75871af..567ecae 100644 (file)
@@ -38,8 +38,8 @@ import java.net.URI;
  * homing
  *
  */
-@RemoteResource("/homingInstance")
 @Entity
+@RemoteResource("/homingInstance")
 @Table(name = "homing_instances")
 public class HomingInstance {
     @JsonProperty
index d226ffe..9de53ab 100644 (file)
@@ -46,8 +46,10 @@ import org.apache.commons.lang3.builder.HashCodeBuilder;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.openpojo.business.annotation.BusinessKey;
 import uk.co.blackpepper.bowman.annotation.LinkedResource;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/instanceGroup")
 @DiscriminatorColumn(name = "OBJECT_TYPE")
 @Inheritance(strategy = InheritanceType.SINGLE_TABLE)
 @Table(name = "instance_group")
index 0592e8f..e014870 100644 (file)
@@ -39,8 +39,10 @@ import org.apache.commons.lang3.builder.EqualsBuilder;
 import org.apache.commons.lang3.builder.HashCodeBuilder;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.openpojo.business.annotation.BusinessKey;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/model")
 @Table(name = "model")
 public class Model implements Serializable {
 
index 3f89e9d..6ddda4c 100644 (file)
@@ -34,8 +34,10 @@ import org.apache.commons.lang3.builder.EqualsBuilder;
 import org.apache.commons.lang3.builder.HashCodeBuilder;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.openpojo.business.annotation.BusinessKey;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/modelRecipe")
 @Table(name = "model_recipe")
 public class ModelRecipe implements Serializable {
 
index bb9079b..4be79aa 100644 (file)
@@ -26,8 +26,10 @@ import javax.persistence.DiscriminatorValue;
 import javax.persistence.Entity;
 import javax.persistence.OneToMany;
 import uk.co.blackpepper.bowman.annotation.LinkedResource;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/networkCollectionResourceCustomization")
 @DiscriminatorValue(value = "NetworkCollection")
 public class NetworkCollectionResourceCustomization extends CollectionResourceCustomization {
 
index 24782ef..b3eb4e3 100644 (file)
@@ -22,8 +22,10 @@ package org.onap.so.db.catalog.beans;
 
 import javax.persistence.DiscriminatorValue;
 import javax.persistence.Entity;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/networkInstanceGroup")
 @DiscriminatorValue(value = "L3_NETWORK")
 public class NetworkInstanceGroup extends InstanceGroup {
 
index 7bdbe9c..dce9404 100644 (file)
@@ -32,8 +32,10 @@ import javax.persistence.TemporalType;
 import org.apache.commons.lang3.builder.EqualsBuilder;
 import org.apache.commons.lang3.builder.HashCodeBuilder;
 import com.openpojo.business.annotation.BusinessKey;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/networkRecipe")
 @Table(name = "network_recipe")
 public class NetworkRecipe implements Serializable, Recipe {
     private static final long serialVersionUID = 768026109321305392L;
index 6876200..65444d0 100644 (file)
@@ -41,8 +41,10 @@ import org.apache.commons.lang3.builder.EqualsBuilder;
 import org.apache.commons.lang3.builder.HashCodeBuilder;
 import com.openpojo.business.annotation.BusinessKey;
 import uk.co.blackpepper.bowman.annotation.LinkedResource;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/networkResource")
 @Table(name = "network_resource")
 public class NetworkResource implements Serializable {
 
index 21b1550..b4ca14b 100644 (file)
@@ -38,8 +38,10 @@ import org.apache.commons.lang3.builder.HashCodeBuilder;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.openpojo.business.annotation.BusinessKey;
 import uk.co.blackpepper.bowman.annotation.LinkedResource;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/networkResourceCustomization")
 @Table(name = "network_resource_customization")
 public class NetworkResourceCustomization implements Serializable {
     public static final long serialVersionUID = -1322322139926390329L;
index fd3f387..e8795dc 100644 (file)
@@ -33,8 +33,10 @@ import org.apache.commons.lang3.builder.EqualsBuilder;
 import org.apache.commons.lang3.builder.HashCodeBuilder;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.openpojo.business.annotation.BusinessKey;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/orchestrationStatusStateTransitionDirective")
 @Table(name = "orchestration_status_state_transition_directive")
 public class OrchestrationStatusStateTransitionDirective implements Serializable {
     private static final long serialVersionUID = -4626396955833442376L;
index cb3195b..0e15c00 100644 (file)
@@ -32,8 +32,10 @@ import org.apache.commons.lang3.builder.EqualsBuilder;
 import org.apache.commons.lang3.builder.HashCodeBuilder;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import uk.co.blackpepper.bowman.annotation.LinkedResource;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/pnfResource")
 @Table(name = "pnf_resource")
 public class PnfResource implements Serializable {
 
index db0e0ab..d26ce84 100644 (file)
@@ -32,8 +32,10 @@ import org.apache.commons.lang3.builder.EqualsBuilder;
 import org.apache.commons.lang3.builder.HashCodeBuilder;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import uk.co.blackpepper.bowman.annotation.LinkedResource;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/pnfResourceCustomization")
 @Table(name = "pnf_resource_customization")
 public class PnfResourceCustomization implements Serializable {
 
index 6e48938..b5d537c 100644 (file)
@@ -16,8 +16,10 @@ import org.apache.commons.lang3.builder.HashCodeBuilder;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.openpojo.business.annotation.BusinessKey;
 import uk.co.blackpepper.bowman.annotation.LinkedResource;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/pnfResourceWorkflow")
 @Table(name = "pnf_resource_to_workflow")
 public class PnfResourceWorkflow implements Serializable {
 
index 8222b72..487b3c6 100644 (file)
@@ -44,8 +44,10 @@ import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.openpojo.business.annotation.BusinessKey;
 import uk.co.blackpepper.bowman.annotation.LinkedResource;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/service")
 @Table(name = "service")
 public class Service implements Serializable {
 
index 60f6642..7620a07 100644 (file)
@@ -38,8 +38,10 @@ import org.apache.commons.lang3.builder.HashCodeBuilder;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.openpojo.business.annotation.BusinessKey;
 import uk.co.blackpepper.bowman.annotation.LinkedResource;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/serviceProxyResourceCustomization")
 @Table(name = "service_proxy_customization")
 public class ServiceProxyResourceCustomization implements Serializable {
 
index 9e98041..45ac333 100644 (file)
@@ -38,8 +38,10 @@ import org.apache.commons.lang3.builder.EqualsBuilder;
 import org.apache.commons.lang3.builder.HashCodeBuilder;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.openpojo.business.annotation.BusinessKey;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/serviceRecipe")
 @Table(name = "service_recipe")
 public class ServiceRecipe implements Serializable, Recipe {
 
index b037b92..85b8939 100644 (file)
@@ -29,8 +29,10 @@ import javax.persistence.Table;
 import org.apache.commons.lang3.builder.EqualsBuilder;
 import org.apache.commons.lang3.builder.HashCodeBuilder;
 import com.openpojo.business.annotation.BusinessKey;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/tempNetworkHeatTemplateLookup")
 @Table(name = "temp_network_heat_template_lookup")
 @IdClass(TempNetworkHeatTemplateLookupId.class)
 public class TempNetworkHeatTemplateLookup implements Serializable {
index 2f9b19a..426a396 100644 (file)
@@ -38,8 +38,10 @@ import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.openpojo.business.annotation.BusinessKey;
 import uk.co.blackpepper.bowman.annotation.LinkedResource;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/toscaCsar")
 @Table(name = "tosca_csar")
 public class ToscaCsar implements Serializable {
 
index 9ec61ff..c466fb1 100644 (file)
@@ -15,8 +15,10 @@ import org.apache.commons.lang3.builder.EqualsBuilder;
 import org.apache.commons.lang3.builder.HashCodeBuilder;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.openpojo.business.annotation.BusinessKey;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/userParameters")
 @Table(name = "user_parameters")
 public class UserParameters implements Serializable {
 
index ea7d1ad..fa5a9a9 100644 (file)
@@ -22,8 +22,10 @@ package org.onap.so.db.catalog.beans;
 
 import javax.persistence.DiscriminatorValue;
 import javax.persistence.Entity;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/vfcInstanceGroup")
 @DiscriminatorValue(value = "VNFC")
 public class VFCInstanceGroup extends InstanceGroup {
 
index 0c7820f..a972dbc 100644 (file)
@@ -44,8 +44,10 @@ import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.openpojo.business.annotation.BusinessKey;
 import uk.co.blackpepper.bowman.annotation.LinkedResource;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/vfModule")
 @Table(name = "vf_module")
 public class VfModule implements Serializable {
 
index 83de958..5cacec7 100644 (file)
@@ -43,8 +43,10 @@ import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.openpojo.business.annotation.BusinessKey;
 import uk.co.blackpepper.bowman.annotation.LinkedResource;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/vfModuleCustomization")
 @Table(name = "vf_module_customization")
 public class VfModuleCustomization implements Serializable {
 
index 89121bc..7ccffa4 100644 (file)
@@ -31,8 +31,10 @@ import org.apache.commons.lang3.builder.EqualsBuilder;
 import org.apache.commons.lang3.builder.HashCodeBuilder;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.openpojo.business.annotation.BusinessKey;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/vnfComponentsRecipe")
 @Table(name = "vnf_components_recipe")
 public class VnfComponentsRecipe implements Serializable, Recipe {
 
index ef3d876..187fbea 100644 (file)
@@ -35,8 +35,10 @@ import org.apache.commons.lang3.builder.EqualsBuilder;
 import org.apache.commons.lang3.builder.HashCodeBuilder;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.openpojo.business.annotation.BusinessKey;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/vnfRecipe")
 @Table(name = "vnf_recipe")
 public class VnfRecipe implements Serializable, Recipe {
 
index fb54449..c553c48 100644 (file)
@@ -42,8 +42,10 @@ import org.hibernate.annotations.NotFound;
 import org.hibernate.annotations.NotFoundAction;
 import com.openpojo.business.annotation.BusinessKey;
 import uk.co.blackpepper.bowman.annotation.LinkedResource;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/vnfResource")
 @Table(name = "vnf_resource")
 public class VnfResource implements Serializable {
 
index 8e1814f..54d757a 100644 (file)
@@ -44,8 +44,10 @@ import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.openpojo.business.annotation.BusinessKey;
 import uk.co.blackpepper.bowman.annotation.LinkedResource;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/vnfResourceCustomization")
 @Table(name = "vnf_resource_customization")
 public class VnfResourceCustomization implements Serializable {
 
index 21549e2..5aee674 100644 (file)
@@ -36,8 +36,10 @@ import org.apache.commons.lang3.builder.HashCodeBuilder;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.openpojo.business.annotation.BusinessKey;
 import uk.co.blackpepper.bowman.annotation.LinkedResource;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/vnfResourceWorkflow")
 @Table(name = "vnf_resource_to_workflow")
 public class VnfResourceWorkflow implements Serializable {
 
index 413efaf..5b6bded 100644 (file)
@@ -40,8 +40,10 @@ import javax.persistence.TemporalType;
 import java.io.Serializable;
 import java.util.Date;
 import java.util.List;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/vnfcCustomization")
 @Table(name = "vnfc_customization")
 public class VnfcCustomization implements Serializable {
 
index 0f760ac..a95b354 100644 (file)
@@ -43,8 +43,10 @@ import org.apache.commons.lang3.builder.HashCodeBuilder;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.openpojo.business.annotation.BusinessKey;
 import uk.co.blackpepper.bowman.annotation.LinkedResource;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/vnfcInstanceGroupCustomization")
 
 @Table(name = "vnfc_instance_group_customization")
 public class VnfcInstanceGroupCustomization implements Serializable {
index fc1c753..05e8ddc 100644 (file)
@@ -20,8 +20,10 @@ import org.apache.commons.lang3.builder.EqualsBuilder;
 import org.apache.commons.lang3.builder.HashCodeBuilder;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import uk.co.blackpepper.bowman.annotation.LinkedResource;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/workflow")
 @Table(name = "workflow")
 public class Workflow implements Serializable {
 
index e953ff2..b3ffab6 100644 (file)
@@ -36,9 +36,11 @@ import org.apache.commons.lang3.builder.HashCodeBuilder;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.openpojo.business.annotation.BusinessKey;
 import uk.co.blackpepper.bowman.annotation.LinkedResource;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 
 @Entity
+@RemoteResource("/workflowActivitySpecSequence")
 @Table(name = "workflow_activity_spec_sequence")
 public class WorkflowActivitySpecSequence implements Serializable {
 
index 6319ae0..fa949d0 100644 (file)
@@ -36,8 +36,10 @@ import org.apache.commons.lang3.builder.HashCodeBuilder;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.openpojo.business.annotation.BusinessKey;
 import uk.co.blackpepper.bowman.annotation.LinkedResource;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/northbound_request_ref_lookup")
 @Table(name = "northbound_request_ref_lookup")
 public class NorthBoundRequest implements Serializable {
 
index 91b74d4..3a517c3 100644 (file)
@@ -36,8 +36,10 @@ import org.apache.commons.lang3.builder.HashCodeBuilder;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.openpojo.business.annotation.BusinessKey;
 import uk.co.blackpepper.bowman.annotation.LinkedResource;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/orchestrationFlow")
 @Table(name = "orchestration_flow_reference")
 public class OrchestrationFlow implements Serializable {
 
index 39217c7..76d0368 100644 (file)
@@ -31,8 +31,10 @@ import org.apache.commons.lang3.builder.EqualsBuilder;
 import org.apache.commons.lang3.builder.HashCodeBuilder;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.openpojo.business.annotation.BusinessKey;
+import uk.co.blackpepper.bowman.annotation.RemoteResource;
 
 @Entity
+@RemoteResource("/rainy_day_handler_macro")
 @Table(name = "rainy_day_handler_macro")
 public class RainyDayHandlerStatus implements Serializable {
 
diff --git a/pom.xml b/pom.xml
index f19e3f2..b2fd0d5 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -65,7 +65,7 @@
     <snapshotNexusPath>content/repositories/snapshots/</snapshotNexusPath>
     <publicNexusPath>content/repositories/public/</publicNexusPath>
     <siteNexusPath>content/sites/site/org/onap/so/${project.version}/</siteNexusPath>
-    <cxf.version>3.2.6</cxf.version>
+    <cxf.version>3.3.3</cxf.version>
     <jax.ws.rs>2.1</jax.ws.rs>
     <springboot.version>2.1.5.RELEASE</springboot.version>
     <camunda.springboot.version>3.2.0</camunda.springboot.version>
@@ -73,6 +73,8 @@
     <format.skipExecute>true</format.skipExecute>
     <io.fabric8.version>0.33.0</io.fabric8.version>
     <appc.client.version>1.7.1</appc.client.version>
+    <bowman.client.version>0.8.0</bowman.client.version>
+    <aaf.cadi.version>2.1.15</aaf.cadi.version>
   </properties>
   <distributionManagement>
     <repository>
       </resource>
     </resources>
     <plugins>
-      <!-- <plugin> <groupId>org.sonatype.plugins</groupId> <artifactId>nexus-staging-maven-plugin</artifactId> <version>1.6.7</version> 
-        <extensions>true</extensions> <configuration> <nexusUrl>${nexusproxy}</nexusUrl> <stagingProfileId>176c31dfe190a</stagingProfileId> 
-        <serverId>ecomp-staging</serverId> </configuration> </plugin> -->
+      <!-- <plugin> <groupId>org.sonatype.plugins</groupId> <artifactId>nexus-staging-maven-plugin</artifactId> 
+        <version>1.6.7</version> <extensions>true</extensions> <configuration> <nexusUrl>${nexusproxy}</nexusUrl> 
+        <stagingProfileId>176c31dfe190a</stagingProfileId> <serverId>ecomp-staging</serverId> 
+        </configuration> </plugin> -->
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-deploy-plugin</artifactId>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-compiler-plugin</artifactId>
-        <version>3.6.1</version>
+        <version>3.8.0</version>
         <configuration>
           <debug>true</debug>
           <compilerArgument>-Xlint</compilerArgument>
           <verbose>true</verbose>
           <showDeprecation>true</showDeprecation>
           <showWarnings>true</showWarnings>
-          <source>1.8</source>
-          <target>1.8</target>
           <compilerArgs>
             <arg>-parameters</arg>
           </compilerArgs>
             <skipBuild>${docker.skip.build}</skipBuild>
             <skipPush>${docker.skip.push}</skipPush>
             <dockerHost>${docker.newHost}</dockerHost>
-            <!-- 1. Update address to your local docker VM. 2. Add IP to your NO_PROXY environment variable -->
+            <!-- 1. Update address to your local docker VM. 2. Add IP to 
+              your NO_PROXY environment variable -->
             <certPath>${docker.host.cert.path}</certPath>
-            <!-- Add -Ddocker.host.cert.pat="path to your local certs directory" to maven build command -->
+            <!-- Add -Ddocker.host.cert.pat="path to your local certs directory" 
+              to maven build command -->
             <pushRegistry>${dockerPushRepo}</pushRegistry>
-            <!-- Update .m2/settings.xml Add server id settings.dockerRepository, username, and password -->
+            <!-- Update .m2/settings.xml Add server id settings.dockerRepository, 
+              username, and password -->
             <pullRegistry>${dockerPullRepo}</pullRegistry>
-            <!-- If docker repo is not public. Update .m2/settings.xml Add server id settings.dockerRepository, username, 
-              and password -->
+            <!-- If docker repo is not public. Update .m2/settings.xml Add 
+              server id settings.dockerRepository, username, and password -->
             <images>
               <image>
                 <alias>service</alias>
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-surefire-plugin</artifactId>
-          <version>2.20</version>
+          <version>2.22.2</version>
           <configuration>
             <systemPropertyVariables>
               <so.log.level>DEBUG</so.log.level>
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-failsafe-plugin</artifactId>
-          <version>2.20</version>
+          <version>2.22.2</version>
           <configuration>
             <skip>true</skip>
             <systemPropertyVariables>
     <dependency>
       <groupId>com.openpojo</groupId>
       <artifactId>openpojo</artifactId>
-      <version>0.8.10</version>
+      <version>0.8.13</version>
     </dependency>
     <dependency>
       <groupId>com.shazam</groupId>
       <version>3.11.1</version>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>org.ow2.asm</groupId>
+      <artifactId>asm</artifactId>
+      <version>7.0</version>
+      <scope>test</scope>
+    </dependency>
     <dependency>
       <groupId>com.googlecode.junit-toolbox</groupId>
       <artifactId>junit-toolbox</artifactId>
   </dependencies>
   <dependencyManagement>
     <dependencies>
-      <!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient -->
-      <!-- force use of version 4.5 everywhere in transient deps, aligned on WildFly 10 version -->
       <dependency>
         <groupId>org.onap.logging-analytics</groupId>
         <artifactId>logging-slf4j</artifactId>
         <originalClassifier />
       </properties>
     </profile>
+    <profile>
+      <id>java8</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-compiler-plugin</artifactId>
+            <version>3.8.0</version>
+            <configuration>
+              <forceJavacCompilerUse>true</forceJavacCompilerUse>
+              <source>1.8</source>
+              <target>1.8</target>
+            </configuration>
+          </plugin>
+        </plugins>
+      </build>
+      <activation>
+        <property>
+          <name>m2e.version</name>
+        </property>
+        <activeByDefault>true</activeByDefault>
+      </activation>
+    </profile>
+    <profile>
+      <id>java11</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-compiler-plugin</artifactId>
+            <version>3.8.0</version>
+            <configuration>
+              <forceJavacCompilerUse>true</forceJavacCompilerUse>
+              <source>11</source>
+              <target>11</target>
+              <release>11</release>
+            </configuration>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
   </profiles>
 </project>
index 176328a..68f8c89 100644 (file)
@@ -32,8 +32,6 @@
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-    <java.version>1.8</java.version>
-    <openpojo.version>0.8.6</openpojo.version>
   </properties>
 
 
index 006a6fa..888602c 100644 (file)
     <plugins>
       <plugin>
         <artifactId>maven-compiler-plugin</artifactId>
-        <version>3.7.0</version>
         <configuration>
           <encoding>${project.build.sourceEncoding}</encoding>
-          <source>1.8</source>
-          <target>1.8</target>
         </configuration>
       </plugin>
       <plugin>