Merge "Add missing lines for CCVPN"
authorSeshu Kumar M <seshu.kumar.m@huawei.com>
Fri, 19 Apr 2019 09:13:20 +0000 (09:13 +0000)
committerGerrit Code Review <gerrit@onap.org>
Fri, 19 Apr 2019 09:13:20 +0000 (09:13 +0000)
182 files changed:
adapters/mso-adapter-utils/pom.xml
adapters/mso-adapter-utils/src/main/java/org/onap/so/openstack/utils/MsoMulticloudUtils.java
adapters/mso-adapter-utils/src/main/java/org/onap/so/openstack/utils/MulticloudQueryResponse.java
adapters/mso-adapter-utils/src/test/java/org/onap/so/openstack/utils/MsoMulticloudUtilsTest.java
adapters/mso-adapter-utils/src/test/resources/__files/MulticloudGetByNameResponse.json [new file with mode: 0644]
adapters/mso-adapter-utils/src/test/resources/__files/MulticloudGetCreateResponse.json [new file with mode: 0644]
adapters/mso-adapter-utils/src/test/resources/__files/MulticloudGetDeleteResponse.json [new file with mode: 0644]
adapters/mso-adapter-utils/src/test/resources/__files/MulticloudGetUpdateResponse.json [new file with mode: 0644]
adapters/mso-adapters-rest-interface/pom.xml
adapters/mso-catalog-db-adapter/pom.xml
adapters/mso-catalog-db-adapter/src/main/resources/db/migration/R__MacroData.sql
adapters/mso-catalog-db-adapter/src/main/resources/db/migration/R__WorkflowDesignerData.sql
adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V5.10.1__AlterTblActivitySpecToUserParameters.sql [new file with mode: 0644]
adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V5.7.1__WorkFlowDesignerTables.sql [moved from adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V5.7__WorkFlowDesignerTables.sql with 100% similarity]
adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V5.7__Use_ID_Configuration_Customization.sql [new file with mode: 0644]
adapters/mso-openstack-adapters/pom.xml
adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/audit/AAIObjectAudit.java
adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/audit/AuditCreateStackService.java
adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/audit/AuditDeleteStackService.java
adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/audit/AuditVServer.java
adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/audit/HeatStackAudit.java
adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/inventory/create/CreateAAIInventory.java
adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/inventory/create/CreateInventoryTask.java
adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/network/ContrailSubnet.java
adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/network/ContrailSubnetHostRoutes.java
adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/network/MsoNetworkAdapterAsyncImpl.java
adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/network/MsoNetworkAdapterImpl.java
adapters/mso-openstack-adapters/src/main/java/org/onap/so/heatbridge/utils/HeatBridgeUtils.java
adapters/mso-openstack-adapters/src/test/java/org/onap/so/adapters/network/ContrailSubnetHostRoutesTest.java
adapters/mso-openstack-adapters/src/test/java/org/onap/so/adapters/vnf/MsoVnfMulticloudAdapterImplTest.java
adapters/mso-openstack-adapters/src/test/java/org/onap/so/heatbridge/factory/MsoCloudClientFactoryImplTest.java [new file with mode: 0644]
adapters/mso-openstack-adapters/src/test/java/org/onap/so/heatbridge/utils/HeatBridgeUtilsTest.java [new file with mode: 0644]
adapters/mso-openstack-adapters/src/test/resources/__files/MulticloudGetStackExists.json [new file with mode: 0644]
adapters/mso-openstack-adapters/src/test/resources/schema.sql
adapters/mso-requests-db-adapter/pom.xml
adapters/mso-sdnc-adapter/pom.xml
adapters/mso-vfc-adapter/pom.xml
adapters/mso-vnfm-adapter/mso-vnfm-adapter-api/pom.xml
adapters/mso-vnfm-adapter/mso-vnfm-adapter-ext-clients/pom.xml
adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/pom.xml
adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/extclients/SdcPackageProvider.java
adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/extclients/aai/AaiHelper.java
adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/extclients/aai/AaiServiceProvider.java
adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/extclients/aai/AaiServiceProviderImpl.java
adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/extclients/vnfm/VnfmHelper.java
adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/extclients/vnfm/VnfmServiceProvider.java
adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/extclients/vnfm/VnfmServiceProviderImpl.java
adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/rest/Sol003GrantController.java
adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/rest/VnfmAdapterController.java
adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/test/java/org/onap/so/adapters/vnfmadapter/rest/Sol003GrantControllerTest.java
adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/test/java/org/onap/so/adapters/vnfmadapter/rest/Sol003LcnControllerTest.java
adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/test/java/org/onap/so/adapters/vnfmadapter/rest/VnfmAdapterControllerTest.java
adapters/mso-vnfm-adapter/pom.xml
adapters/pom.xml
asdc-controller/pom.xml
asdc-controller/src/main/java/org/onap/so/asdc/Application.java
asdc-controller/src/main/java/org/onap/so/asdc/activity/DeployActivitySpecs.java
asdc-controller/src/main/java/org/onap/so/asdc/client/ASDCConfiguration.java
asdc-controller/src/main/java/org/onap/so/asdc/client/ASDCController.java
asdc-controller/src/main/java/org/onap/so/asdc/client/test/emulators/ArtifactInfoImpl.java
asdc-controller/src/main/java/org/onap/so/asdc/client/test/emulators/NotificationDataImpl.java
asdc-controller/src/main/java/org/onap/so/asdc/client/test/emulators/ResourceInfoImpl.java
asdc-controller/src/main/java/org/onap/so/asdc/installer/PnfResourceStructure.java
asdc-controller/src/main/java/org/onap/so/asdc/installer/ResourceStructure.java
asdc-controller/src/main/java/org/onap/so/asdc/installer/VfResourceStructure.java
asdc-controller/src/main/java/org/onap/so/asdc/installer/WorkflowArtifact.java [new file with mode: 0644]
asdc-controller/src/main/java/org/onap/so/asdc/installer/bpmn/BpmnInstaller.java
asdc-controller/src/main/java/org/onap/so/asdc/installer/bpmn/WorkflowResource.java [new file with mode: 0644]
asdc-controller/src/main/java/org/onap/so/asdc/installer/heat/ToscaResourceInstaller.java
asdc-controller/src/test/java/org/onap/asdc/activity/DeployActivitySpecsTest.java
asdc-controller/src/test/java/org/onap/so/asdc/client/test/rest/ASDCRestInterfaceTest.java
asdc-controller/src/test/java/org/onap/so/asdc/installer/bpmn/BpmnInstallerTest.java
asdc-controller/src/test/java/org/onap/so/asdc/installer/bpmn/WorkflowResourceTest.java [new file with mode: 0644]
asdc-controller/src/test/java/org/onap/so/asdc/installer/heat/ToscaResourceInstallerTest.java
asdc-controller/src/test/resources/ActivitySpec.json [new file with mode: 0644]
asdc-controller/src/test/resources/ActivitySpecFromCatalog.json [new file with mode: 0644]
asdc-controller/src/test/resources/ActivitySpecList.json [new file with mode: 0644]
asdc-controller/src/test/resources/application-test.yaml
asdc-controller/src/test/resources/data.sql
asdc-controller/src/test/resources/resource-examples/WorkflowBpmn/TestBpmnFromSDC.bpmn [new file with mode: 0644]
asdc-controller/src/test/resources/resource-examples/WorkflowBpmn/TestWF2-1_0.bpmn [new file with mode: 0644]
asdc-controller/src/test/resources/resource-examples/WorkflowBpmn/sdc/v1/catalog/services/Testparentservice/1.0/resourceInstances/testvf0/artifacts/TestWF-1_0.bpmn [new file with mode: 0644]
asdc-controller/src/test/resources/resource-examples/WorkflowBpmn/sdc/v1/catalog/services/Testparentservice/1.0/resourceInstances/testvf0/artifacts/TestWF-2_0.bpmn [new file with mode: 0644]
asdc-controller/src/test/resources/resource-examples/WorkflowBpmn/sdc/v1/catalog/services/Testparentservice/1.0/resourceInstances/testvf0/artifacts/TestWF2-1_0.bpmn [new file with mode: 0644]
asdc-controller/src/test/resources/resource-examples/WorkflowBpmn/service-Testparentservice-csar.csar [new file with mode: 0644]
asdc-controller/src/test/resources/resource-examples/WorkflowBpmn/workflow-distribution.json [new file with mode: 0644]
asdc-controller/src/test/resources/resource-examples/vFW/base_vfw.env [new file with mode: 0644]
asdc-controller/src/test/resources/resource-examples/vFW/base_vfw.yaml [new file with mode: 0644]
asdc-controller/src/test/resources/resource-examples/vFW/notification.json [new file with mode: 0644]
asdc-controller/src/test/resources/resource-examples/vFW/service-Vfw.csar [new file with mode: 0644]
asdc-controller/src/test/resources/resource-examples/vFW/vfw1f52feb055020_modules.json [new file with mode: 0644]
asdc-controller/src/test/resources/schema.sql
bpmn/MSOCommonBPMN/pom.xml
bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetup.java
bpmn/MSOCommonBPMN/src/main/java/org/onap/so/client/cds/beans/AbstractCDSPropertiesBean.java
bpmn/MSOCommonBPMN/src/main/java/org/onap/so/client/cds/beans/ConfigAssignPropertiesForPnf.java
bpmn/MSOCommonBPMN/src/main/java/org/onap/so/client/cds/beans/ConfigAssignPropertiesForVnf.java
bpmn/MSOCommonBPMN/src/main/java/org/onap/so/client/cds/beans/ConfigAssignRequestPnf.java
bpmn/MSOCommonBPMN/src/main/java/org/onap/so/client/cds/beans/ConfigAssignRequestVnf.java
bpmn/MSOCommonBPMN/src/main/java/org/onap/so/client/cds/beans/ConfigDeployPropertiesForPnf.java
bpmn/MSOCommonBPMN/src/main/java/org/onap/so/client/cds/beans/ConfigDeployPropertiesForVnf.java
bpmn/MSOCommonBPMN/src/main/java/org/onap/so/client/cds/beans/ConfigDeployRequestPnf.java
bpmn/MSOCommonBPMN/src/main/java/org/onap/so/client/cds/beans/ConfigDeployRequestVnf.java
bpmn/MSOCommonBPMN/src/test/java/org/onap/so/client/cds/beans/ConfigAssignPropertiesForPnfTest.java
bpmn/MSOCommonBPMN/src/test/java/org/onap/so/client/cds/beans/ConfigAssignPropertiesForVnfTest.java
bpmn/MSOCommonBPMN/src/test/java/org/onap/so/client/cds/beans/ConfigAssignRequestPnfTest.java
bpmn/MSOCommonBPMN/src/test/java/org/onap/so/client/cds/beans/ConfigAssignRequestVnfTest.java
bpmn/MSOCommonBPMN/src/test/java/org/onap/so/client/cds/beans/ConfigDeployPropertiesForPnfTest.java
bpmn/MSOCommonBPMN/src/test/java/org/onap/so/client/cds/beans/ConfigDeployPropertiesForVnfTest.java
bpmn/MSOCommonBPMN/src/test/java/org/onap/so/client/cds/beans/ConfigDeployRequestPnfTest.java
bpmn/MSOCommonBPMN/src/test/java/org/onap/so/client/cds/beans/ConfigDeployRequestVnfTest.java
bpmn/MSOCoreBPMN/pom.xml
bpmn/mso-infrastructure-bpmn/pom.xml
bpmn/pom.xml
bpmn/so-bpmn-building-blocks/pom.xml
bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/AssignVnfBB.bpmn
bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/HomingBB.bpmn
bpmn/so-bpmn-building-blocks/src/test/java/org/onap/so/bpmn/BaseBPMNTest.java
bpmn/so-bpmn-building-blocks/src/test/java/org/onap/so/bpmn/infrastructure/bpmn/subprocess/AssignVnfBBTest.java
bpmn/so-bpmn-building-blocks/src/test/java/org/onap/so/bpmn/infrastructure/bpmn/subprocess/HomingBBTest.java
bpmn/so-bpmn-infrastructure-common/pom.xml
bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/HandlePNF.groovy [new file with mode: 0644]
bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/pnf/delegate/InformDmaapClient.java
bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/pnf/dmaap/PnfEventReadyDmaapClient.java
bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/CancelDmaapSubscriptionTest.java
bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/InformDmaapClientTest.java
bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/dmaap/PnfEventReadyDmaapClientTest.java
bpmn/so-bpmn-infrastructure-flows/pom.xml
bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/HandlePNF.bpmn [new file with mode: 0644]
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/buildingblock/SniroHomingV2.java
bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/adapter/vnfm/tasks/Constants.java
bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasks.java
bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasksTest.java
cloudify-client/pom.xml
common/pom.xml
common/src/main/java/org/onap/so/client/RestClient.java
common/src/main/java/org/onap/so/client/RestClientSSL.java
common/src/main/java/org/onap/so/client/cds/CDSProperties.java
common/src/test/java/org/onap/so/client/cds/TestCDSPropertiesImpl.java
cxf-logging/pom.xml
deployment-configs/pom.xml
docs/Developer_Info.rst
docs/architecture/SO Internal Arc.pptx [new file with mode: 0644]
docs/architecture/architecture.rst
docs/developer_info/BBUnderstanding.rst [new file with mode: 0644]
docs/developer_info/FAQs.rst [new file with mode: 0644]
docs/developer_info/SOMCIntegrate.rst [new file with mode: 0644]
docs/images/SO_Architecture_1.png
docs/images/SO_Architecture_Internal.png
docs/images/SO_VNFM_Adapter_Architecture_Dublin.png [new file with mode: 0644]
docs/images/SO_VNFM_Adapter_Runtime_Components.png [new file with mode: 0644]
mso-api-handlers/mso-api-handler-common/pom.xml
mso-api-handlers/mso-api-handler-infra/pom.xml
mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/BaseTest.java
mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/ServiceInstancesTest.java
mso-api-handlers/mso-api-handler-infra/src/test/resources/schema.sql
mso-api-handlers/mso-requests-db-repositories/pom.xml
mso-api-handlers/mso-requests-db/pom.xml
mso-api-handlers/pom.xml
mso-catalog-db/pom.xml
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/Service.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/client/CatalogDbClient.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/data/repository/ActivitySpecRepository.java [moved from bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/pnf/PnfNotificationEvent.java with 54% similarity]
mso-catalog-db/src/main/java/org/onap/so/db/catalog/data/repository/ConfigurationResourceCustomizationRepository.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/data/repository/VnfCustomizationRepository.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/data/repository/VnfcInstanceGroupCustomizationRepository.java
mso-catalog-db/src/test/java/org/onap/so/db/catalog/data/repository/ActivitySpecRepositoryTest.java [new file with mode: 0644]
mso-catalog-db/src/test/java/org/onap/so/db/catalog/data/repository/VnfcInstanceGroupCustomizationRepositoryTest.java [new file with mode: 0644]
mso-catalog-db/src/test/resources/data.sql
mso-catalog-db/src/test/resources/schema.sql
packages/pom.xml
pom.xml
so-monitoring/pom.xml
so-monitoring/so-monitoring-handler/pom.xml
so-monitoring/so-monitoring-service/pom.xml
so-monitoring/so-monitoring-ui/pom.xml
vnfm-simulator/pom.xml
vnfm-simulator/vnfm-api/pom.xml
vnfm-simulator/vnfm-service/pom.xml

index ed76354..7918072 100644 (file)
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-       <modelVersion>4.0.0</modelVersion>
-       <parent>
-               <groupId>org.onap.so</groupId>
-               <artifactId>adapters</artifactId>
-               <version>1.4.0-SNAPSHOT</version>
-       </parent>
-       <groupId>org.onap.so.adapters</groupId>
-       <artifactId>mso-adapter-utils</artifactId>
-       <name>mso-adapter-utils</name>
-       <description>Common MSO utilities, including Openstack client wrappers.</description>
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.onap.so</groupId>
+    <artifactId>adapters</artifactId>
+    <version>1.4.0-SNAPSHOT</version>
+  </parent>
+  <groupId>org.onap.so.adapters</groupId>
+  <artifactId>mso-adapter-utils</artifactId>
+  <name>mso-adapter-utils</name>
+  <description>Common MSO utilities, including Openstack client wrappers.</description>
 
-       <dependencyManagement>
-               <dependencies>
-                       <dependency>
-                               <!-- Import dependency management from Spring Boot -->
-                               <groupId>org.springframework.boot</groupId>
-                               <artifactId>spring-boot-dependencies</artifactId>
-                               <version>${springboot.version}</version>
-                               <type>pom</type>
-                               <scope>import</scope>
-                       </dependency>
-               </dependencies>
-       </dependencyManagement>
-       <build>
-               <finalName>${project.artifactId}</finalName>
-               <sourceDirectory>src/main/java</sourceDirectory>
-               <plugins>
+  <dependencyManagement>
+    <dependencies>
+      <dependency>
+        <!-- Import dependency management from Spring Boot -->
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-dependencies</artifactId>
+        <version>${springboot.version}</version>
+        <type>pom</type>
+        <scope>import</scope>
+      </dependency>
+    </dependencies>
+  </dependencyManagement>
+  <build>
+    <finalName>${project.artifactId}</finalName>
+    <sourceDirectory>src/main/java</sourceDirectory>
+    <plugins>
 
-                       <plugin>
-                               <groupId>org.apache.maven.plugins</groupId>
-                               <artifactId>maven-resources-plugin</artifactId>
-                               <version>2.6</version>
-                               <executions>
-                                       <execution>
-                                               <id>copy-resources</id>
-                                               <phase>validate</phase>
-                                               <goals>
-                                                       <goal>copy-resources</goal>
-                                               </goals>
-                                               <configuration>
-                                                       <resources>
-                                                               <resource>
-                                                                       <directory>./src/main/resources/META-INF</directory>
-                                                                       <filtering>false</filtering>
-                                                               </resource>
-                                                       </resources>
-                                                       <outputDirectory>${project.build.directory}/${project.build.finalName}/META-INF/</outputDirectory>
-                                               </configuration>
-                                       </execution>
-                               </executions>
-                       </plugin>
-                       <plugin>
-                               <groupId>org.jacoco</groupId>
-                               <artifactId>jacoco-maven-plugin</artifactId>
-                         </plugin>
-                         <plugin>
-                               <groupId>org.apache.maven.plugins</groupId>
-                               <artifactId>maven-surefire-plugin</artifactId>
-                               <executions>
-                                       <execution>
-                                               <id>default-test</id>
-                                               <goals>
-                                                       <goal>test</goal>
-                                               </goals>
-                                               <configuration>
-                                                       <includes>
-                                                               <include>**/AllTestsTestSuite.java</include>
-                                                       </includes>
-                                                       <parallel>suites</parallel>
-                                               </configuration>
-                                       </execution>
-                               </executions>
-                       </plugin>
-               </plugins>
-       </build>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-resources-plugin</artifactId>
+        <version>2.6</version>
+        <executions>
+          <execution>
+            <id>copy-resources</id>
+            <phase>validate</phase>
+            <goals>
+              <goal>copy-resources</goal>
+            </goals>
+            <configuration>
+              <resources>
+                <resource>
+                  <directory>./src/main/resources/META-INF</directory>
+                  <filtering>false</filtering>
+                </resource>
+              </resources>
+              <outputDirectory>${project.build.directory}/${project.build.finalName}/META-INF/</outputDirectory>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.jacoco</groupId>
+        <artifactId>jacoco-maven-plugin</artifactId>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>default-test</id>
+            <goals>
+              <goal>test</goal>
+            </goals>
+            <configuration>
+              <includes>
+                <include>**/AllTestsTestSuite.java</include>
+              </includes>
+              <parallel>suites</parallel>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
 
-       <dependencies>
-               <dependency>
-                       <groupId>org.glassfish.jersey.core</groupId>
-                       <artifactId>jersey-client</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>ch.vorburger.mariaDB4j</groupId>
-                       <artifactId>mariaDB4j</artifactId>
-                       <version>2.2.3</version>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.so.adapters</groupId>
-                       <artifactId>mso-adapters-rest-interface</artifactId>
-                       <version>${project.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-data-jpa</artifactId>
-                       <optional>true</optional>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.so</groupId>
-                       <artifactId>mso-catalog-db</artifactId> 
-                       <version>${project.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.so</groupId>
-                       <artifactId>cloudify-client</artifactId>
-                       <version>${project.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>javax.servlet</groupId>
-                       <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>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-test</artifactId>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>com.h2database</groupId>
-                       <artifactId>h2</artifactId>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.cxf</groupId>
-                       <artifactId>cxf-rt-rs-client</artifactId>
-                       <version>${cxf.version}</version>
-               </dependency>
-               <dependency>
-               <groupId>org.apache.cxf</groupId>
-               <artifactId>cxf-rt-bindings-soap</artifactId>
-                       <version>${cxf.version}</version>
-               </dependency>
-               <dependency>
-               <groupId>org.apache.cxf</groupId>
-               <artifactId>cxf-rt-transports-http</artifactId>
-               <version>${cxf.version}</version>
-               </dependency>
-       </dependencies>
+  <dependencies>
+    <dependency>
+      <groupId>org.glassfish.jersey.core</groupId>
+      <artifactId>jersey-client</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>ch.vorburger.mariaDB4j</groupId>
+      <artifactId>mariaDB4j</artifactId>
+      <version>2.2.3</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so.adapters</groupId>
+      <artifactId>mso-adapters-rest-interface</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-data-jpa</artifactId>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so</groupId>
+      <artifactId>mso-catalog-db</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so</groupId>
+      <artifactId>cloudify-client</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>javax.servlet</groupId>
+      <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>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-test</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.h2database</groupId>
+      <artifactId>h2</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-rt-rs-client</artifactId>
+      <version>${cxf.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-rt-bindings-soap</artifactId>
+      <version>${cxf.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-rt-transports-http</artifactId>
+      <version>${cxf.version}</version>
+    </dependency>
+  </dependencies>
 </project>
index 2788387..e16bf90 100644 (file)
@@ -25,11 +25,10 @@ package org.onap.so.openstack.utils;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.woorea.openstack.heat.model.CreateStackParam;
+import com.woorea.openstack.heat.model.Stack;
 import java.net.MalformedURLException;
 import java.net.URL;
-import java.util.Arrays;
 import java.util.HashMap;
-import java.util.List;
 import java.util.Map;
 import java.util.Scanner;
 import javax.ws.rs.core.Response;
@@ -56,12 +55,14 @@ import org.onap.so.openstack.exceptions.MsoAdapterException;
 import org.onap.so.openstack.exceptions.MsoCloudSiteNotFound;
 import org.onap.so.openstack.exceptions.MsoException;
 import org.onap.so.openstack.exceptions.MsoOpenstackException;
+import org.onap.so.openstack.mappers.StackInfoMapper;
 import org.onap.so.utils.TargetEntity;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.core.env.Environment;
 import org.springframework.stereotype.Component;
+import com.google.common.collect.ImmutableSet;
 
 @Component
 public class MsoMulticloudUtils extends MsoHeatUtils implements VduPlugin {
@@ -73,8 +74,8 @@ public class MsoMulticloudUtils extends MsoHeatUtils implements VduPlugin {
     public static final String VF_MODULE_ID = "vf_module_id";
     public static final String TEMPLATE_TYPE = "template_type";
     public static final String MULTICLOUD_QUERY_BODY_NULL = "multicloudQueryBody is null";
-    public static final List<String> MULTICLOUD_INPUTS =
-            Arrays.asList(OOF_DIRECTIVES, SDNC_DIRECTIVES, USER_DIRECTIVES, TEMPLATE_TYPE);
+    public static final ImmutableSet<String> MULTICLOUD_INPUTS =
+            ImmutableSet.of(OOF_DIRECTIVES, SDNC_DIRECTIVES, USER_DIRECTIVES, TEMPLATE_TYPE);
 
     private static final Logger logger = LoggerFactory.getLogger(MsoMulticloudUtils.class);
 
@@ -195,7 +196,7 @@ public class MsoMulticloudUtils extends MsoHeatUtils implements VduPlugin {
             logger.debug(String.format("Multicloud Request is: %s", multicloudRequest.toString()));
         }
 
-        String multicloudEndpoint = getMulticloudEndpoint(cloudSiteId, cloudOwner, null);
+        String multicloudEndpoint = getMulticloudEndpoint(cloudSiteId, cloudOwner, null, false);
         RestClient multicloudClient = getMulticloudClient(multicloudEndpoint, tenantId);
 
         if (multicloudClient == null) {
@@ -222,8 +223,7 @@ public class MsoMulticloudUtils extends MsoHeatUtils implements VduPlugin {
                     timeoutMinutes, backout);
 
             if (HeatStatus.CREATED.equals(stackStatus.getStatus())) {
-                String workloadId = multicloudResponseBody == null ? null : multicloudResponseBody.getWorkloadId();
-                multicloudAaiUpdate(cloudSiteId, cloudOwner, tenantId, genericVnfId, vfModuleId, workloadId,
+                multicloudAaiUpdate(cloudSiteId, cloudOwner, tenantId, genericVnfId, vfModuleId, canonicalName,
                         pollForCompletion, timeoutMinutes);
             }
 
@@ -268,6 +268,7 @@ public class MsoMulticloudUtils extends MsoHeatUtils implements VduPlugin {
         }
         String stackName = null;
         String stackId = null;
+        boolean byName = false;
         int offset = instanceId.indexOf('/');
         if (offset > 0 && offset < (instanceId.length() - 1)) {
             stackName = instanceId.substring(0, offset);
@@ -275,12 +276,13 @@ public class MsoMulticloudUtils extends MsoHeatUtils implements VduPlugin {
         } else {
             stackName = instanceId;
             stackId = instanceId;
+            byName = true;
         }
 
         StackInfo returnInfo = new StackInfo();
         returnInfo.setName(stackName);
 
-        String multicloudEndpoint = getMulticloudEndpoint(cloudSiteId, cloudOwner, stackId);
+        String multicloudEndpoint = getMulticloudEndpoint(cloudSiteId, cloudOwner, stackId, byName);
         RestClient multicloudClient = getMulticloudClient(multicloudEndpoint, tenantId);
 
         if (multicloudClient != null) {
@@ -289,24 +291,36 @@ public class MsoMulticloudUtils extends MsoHeatUtils implements VduPlugin {
                 logger.debug(String.format("Multicloud GET Response: %s", response.toString()));
             }
 
-            MulticloudQueryResponse multicloudQueryBody = null;
+            MulticloudQueryResponse responseBody = null;
             if (response.getStatus() == Response.Status.NOT_FOUND.getStatusCode()) {
                 returnInfo.setStatus(HeatStatus.NOTFOUND);
                 returnInfo.setStatusMessage(response.getStatusInfo().getReasonPhrase());
             } else if (response.getStatus() == Response.Status.OK.getStatusCode() && response.hasEntity()) {
-                multicloudQueryBody = getQueryBody((java.io.InputStream) response.getEntity());
-                if (multicloudQueryBody != null) {
-                    returnInfo.setCanonicalName(stackName + "/" + multicloudQueryBody.getWorkloadId());
-                    returnInfo.setStatus(getHeatStatus(multicloudQueryBody.getWorkloadStatus()));
-                    returnInfo.setStatusMessage(multicloudQueryBody.getWorkloadStatus());
+                responseBody = getQueryBody((java.io.InputStream) response.getEntity());
+                if (responseBody != null) {
                     if (logger.isDebugEnabled()) {
-                        logger.debug("Multicloud Create Response Body: " + multicloudQueryBody.toString());
+                        logger.debug("Multicloud Create Response Body: " + responseBody.toString());
+                    }
+                    Stack workloadStack = getWorkloadStack(responseBody.getWorkloadStatusReason());
+                    if (workloadStack != null && !responseBody.getWorkloadStatus().equals("GET_FAILED")
+                            && !responseBody.getWorkloadStatus().contains("UPDATE")) {
+                        returnInfo = new StackInfoMapper(workloadStack).map();
+                    } else {
+                        returnInfo.setCanonicalName(stackName + "/" + responseBody.getWorkloadId());
+                        returnInfo.setStatus(getHeatStatus(responseBody.getWorkloadStatus()));
+                        returnInfo.setStatusMessage(responseBody.getWorkloadStatus());
                     }
                 } else {
+                    returnInfo.setName(stackName);
+                    if (!byName)
+                        returnInfo.setCanonicalName(instanceId);
                     returnInfo.setStatus(HeatStatus.FAILED);
                     returnInfo.setStatusMessage(MULTICLOUD_QUERY_BODY_NULL);
                 }
             } else {
+                returnInfo.setName(stackName);
+                if (!byName)
+                    returnInfo.setCanonicalName(instanceId);
                 returnInfo.setStatus(HeatStatus.FAILED);
                 returnInfo.setStatusMessage(response.getStatusInfo().getReasonPhrase());
             }
@@ -315,6 +329,35 @@ public class MsoMulticloudUtils extends MsoHeatUtils implements VduPlugin {
         return returnInfo;
     }
 
+    private Stack getWorkloadStack(JsonNode node) {
+        if (node == null)
+            return null;
+        Stack workloadStack = null;
+        if (node.has("stacks")) {
+            try {
+                if (!node.at("/stacks/0").isNull() && node.at("/stacks/0").has("stack_status")) {
+                    workloadStack = JSON_MAPPER.treeToValue(node.at("/stacks/0"), Stack.class);
+                } else {
+                    workloadStack = new Stack();
+                    workloadStack.setStackStatus(HeatStatus.NOTFOUND.toString());
+                }
+            } catch (Exception e) {
+                logger.debug("Multicloud Get Exception mapping /stack/0: {} ", node.toString(), e);
+            }
+        } else if (node.has("stack")) {
+            try {
+                if (node.at("/stack").has("stack_status")) {
+                    workloadStack = JSON_MAPPER.treeToValue(node.at("/stack"), Stack.class);
+                }
+            } catch (Exception e) {
+                logger.debug("Multicloud Get Exception mapping /stack: {} ", node.toString(), e);
+            }
+        }
+        if (workloadStack != null)
+            logger.debug("Multicloud getWorkloadStack() returning Stack Object: {} ", workloadStack.toString());
+        return workloadStack;
+    }
+
     public StackInfo deleteStack(String cloudSiteId, String cloudOwner, String tenantId, String instanceId)
             throws MsoException {
         if (logger.isDebugEnabled()) {
@@ -335,7 +378,7 @@ public class MsoMulticloudUtils extends MsoHeatUtils implements VduPlugin {
         returnInfo.setName(stackName);
         Response response = null;
 
-        String multicloudEndpoint = getMulticloudEndpoint(cloudSiteId, cloudOwner, stackId);
+        String multicloudEndpoint = getMulticloudEndpoint(cloudSiteId, cloudOwner, stackId, false);
         RestClient multicloudClient = getMulticloudClient(multicloudEndpoint, tenantId);
 
         if (multicloudClient != null) {
@@ -389,12 +432,20 @@ public class MsoMulticloudUtils extends MsoHeatUtils implements VduPlugin {
     private void multicloudAaiUpdate(String cloudSiteId, String cloudOwner, String tenantId, String genericVnfId,
             String vfModuleId, String workloadId, boolean pollForCompletion, int timeoutMinutes) {
 
+        String stackId = null;
+        int offset = workloadId.indexOf('/');
+        if (offset > 0 && offset < (workloadId.length() - 1)) {
+            stackId = workloadId.substring(offset + 1);
+        } else {
+            stackId = workloadId;
+        }
+
         MulticloudRequest multicloudRequest = new MulticloudRequest();
 
         multicloudRequest.setGenericVnfId(genericVnfId);
         multicloudRequest.setVfModuleId(vfModuleId);
 
-        String multicloudEndpoint = getMulticloudEndpoint(cloudSiteId, cloudOwner, workloadId);
+        String multicloudEndpoint = getMulticloudEndpoint(cloudSiteId, cloudOwner, stackId, false);
         RestClient multicloudClient = getMulticloudClient(multicloudEndpoint, tenantId);
 
         if (multicloudClient == null) {
@@ -740,7 +791,7 @@ public class MsoMulticloudUtils extends MsoHeatUtils implements VduPlugin {
         return null;
     }
 
-    private String getMulticloudEndpoint(String cloudSiteId, String cloudOwner, String workloadId) {
+    private String getMulticloudEndpoint(String cloudSiteId, String cloudOwner, String workloadId, boolean isName) {
         String msbIp = System.getenv().get(ONAP_IP);
         if (null == msbIp || msbIp.isEmpty()) {
             msbIp = environment.getProperty("mso.msb-ip", DEFAULT_MSB_IP);
@@ -751,10 +802,16 @@ public class MsoMulticloudUtils extends MsoHeatUtils implements VduPlugin {
 
         String endpoint = UriBuilder.fromPath(path).host(msbIp).port(msbPort).scheme("http").build().toString();
         if (workloadId != null) {
+            String middlepart = null;
+            if (isName) {
+                middlepart = "?name=";
+            } else {
+                middlepart = "/";
+            }
             if (logger.isDebugEnabled()) {
-                logger.debug(String.format("Multicloud Endpoint is: %s/%s", endpoint, workloadId));
+                logger.debug(String.format("Multicloud Endpoint is: %s%s%s", endpoint, middlepart, workloadId));
             }
-            return String.format("%s/%s", endpoint, workloadId);
+            return String.format("%s%s%s", endpoint, middlepart, workloadId);
         } else {
             if (logger.isDebugEnabled()) {
                 logger.debug(String.format("Multicloud Endpoint is: %s", endpoint));
index ca8f041..a22937a 100644 (file)
@@ -25,10 +25,11 @@ import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fasterxml.jackson.databind.JsonNode;
 import org.apache.commons.lang.builder.ToStringBuilder;
 
 @JsonInclude(JsonInclude.Include.NON_NULL)
-@JsonPropertyOrder({"template_type", "workload_id", "workload_status"})
+@JsonPropertyOrder({"template_type", "workload_id", "workload_status", "workload_status_reason"})
 public class MulticloudQueryResponse implements Serializable {
     private final static long serialVersionUID = -5215028275577848311L;
 
@@ -38,13 +39,17 @@ public class MulticloudQueryResponse implements Serializable {
     private String workloadId;
     @JsonProperty("workload_status")
     private String workloadStatus;
+    @JsonProperty("workload_status_reason")
+    private JsonNode workloadStatusReason;
 
     @JsonCreator
     public MulticloudQueryResponse(@JsonProperty("template_type") String templateType,
-            @JsonProperty("workload_id") String workloadId, @JsonProperty("workload_status") String workloadStatus) {
+            @JsonProperty("workload_id") String workloadId, @JsonProperty("workload_status") String workloadStatus,
+            @JsonProperty("workload_status_reason") JsonNode workloadStatusReason) {
         this.templateType = templateType;
         this.workloadId = workloadId;
         this.workloadStatus = workloadStatus;
+        this.workloadStatusReason = workloadStatusReason;
     }
 
     @JsonProperty("template_type")
@@ -77,9 +82,20 @@ public class MulticloudQueryResponse implements Serializable {
         this.workloadStatus = workloadStatus;
     }
 
+    @JsonProperty("workload_status_reason")
+    public JsonNode getWorkloadStatusReason() {
+        return workloadStatusReason;
+    }
+
+    @JsonProperty("workload_status_reason")
+    public void setWorkloadStatus(JsonNode workloadStatusReason) {
+        this.workloadStatusReason = workloadStatusReason;
+    }
+
     @Override
     public String toString() {
         return new ToStringBuilder(this).append("templateType", templateType).append("workloadId", workloadId)
-                .append("workloadStatus", workloadStatus).toString();
+                .append("workloadStatus", workloadStatus).append("workloadStatusReason", workloadStatusReason)
+                .toString();
     }
 }
index 0d8f451..995db52 100644 (file)
 package org.onap.so.openstack.utils;
 
 import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
+import static com.github.tomakehurst.wiremock.client.WireMock.delete;
 import static com.github.tomakehurst.wiremock.client.WireMock.get;
 import static com.github.tomakehurst.wiremock.client.WireMock.post;
 import static com.github.tomakehurst.wiremock.client.WireMock.urlPathEqualTo;
+import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
@@ -34,7 +36,6 @@ import java.io.IOException;
 import java.util.HashMap;
 import java.util.Optional;
 import org.apache.http.HttpStatus;
-import org.junit.Before;
 import org.junit.Ignore;
 import org.junit.Test;
 import org.mockito.InjectMocks;
@@ -64,38 +65,36 @@ public class MsoMulticloudUtilsTest extends BaseTest {
     @Mock
     private CloudConfig cloudConfigMock;
 
-    private static final String CREATE_STACK_RESPONSE = "{\"template_type\": \"TEST-template\", \"workload_id\": "
+    private static final String CREATE_STACK_RESPONSE = "{\"template_type\": \"heat\", \"workload_id\": "
             + "\"TEST-workload\", \"template_response\": {\"stack\": {\"id\": \"TEST-stack\", \"links\": []}}}";
     private static final String UPDATE_STACK_RESPONSE =
-            "{\"template_type\": \"TEST-template\", \"workload_id\": " + "\"TEST-workload\"}";
-    private static final String GET_CREATE_STACK_RESPONSE = "{\"template_type\": \"TEST-template\", \"workload_id\": "
-            + "\"TEST-workload\", \"workload_status\": \"CREATE_COMPLETE\"}";
-    private static final String GET_UPDATE_STACK_RESPONSE = "{\"template_type\": \"TEST-template\", \"workload_id\": "
-            + "\"TEST-workload\", \"workload_status\": \"UPDATE_COMPLETE\"}";
+            "{\"template_type\": \"heat\", \"workload_id\": " + "\"TEST-workload\"}";
 
     private static final String MULTICLOUD_CREATE_PATH = "/api/multicloud/v1/CloudOwner/MTN14/infra_workload";
     private static final String MULTICLOUD_UPDATE_PATH =
             "/api/multicloud/v1/CloudOwner/MTN14/infra_workload/TEST-workload";
     private static final String MULTICLOUD_GET_PATH =
             "/api/multicloud/v1/CloudOwner/MTN14/infra_workload/TEST-workload";
+    private static final String MULTICLOUD_DELETE_PATH =
+            "/api/multicloud/v1/CloudOwner/MTN14/infra_workload/TEST-workload";
 
     @Test
     public void createStackSuccess() throws MsoException, IOException {
         wireMockServer
-                .stubFor(post(urlPathEqualTo(MULTICLOUD_CREATE_PATH)).inScenario("CREATE")
+                .stubFor(post(urlEqualTo(MULTICLOUD_CREATE_PATH)).inScenario("CREATE")
                         .willReturn(aResponse().withHeader("Content-Type", "application/json")
                                 .withBody(CREATE_STACK_RESPONSE).withStatus(HttpStatus.SC_CREATED))
                         .willSetStateTo("CREATING"));
         wireMockServer.stubFor(get(urlPathEqualTo(MULTICLOUD_GET_PATH)).inScenario("CREATE")
                 .whenScenarioStateIs("CREATING").willReturn(aResponse().withHeader("Content-Type", "application/json")
-                        .withBody(GET_CREATE_STACK_RESPONSE).withStatus(HttpStatus.SC_OK)));
+                        .withBodyFile("MulticloudGetCreateResponse.json").withStatus(HttpStatus.SC_OK)));
         wireMockServer.stubFor(post(urlPathEqualTo(MULTICLOUD_UPDATE_PATH))
                 .inScenario("CREATE").willReturn(aResponse().withHeader("Content-Type", "application/json")
                         .withBody(UPDATE_STACK_RESPONSE).withStatus(HttpStatus.SC_ACCEPTED))
                 .willSetStateTo("UPDATING"));
-        wireMockServer.stubFor(get(urlPathEqualTo(MULTICLOUD_GET_PATH)).inScenario("CREATE")
-                .whenScenarioStateIs("UPDATING").willReturn(aResponse().withHeader("Content-Type", "application/json")
-                        .withBody(GET_UPDATE_STACK_RESPONSE).withStatus(HttpStatus.SC_OK)));
+        wireMockServer.stubFor(get(urlEqualTo(MULTICLOUD_GET_PATH)).inScenario("CREATE").whenScenarioStateIs("UPDATING")
+                .willReturn(aResponse().withHeader("Content-Type", "application/json")
+                        .withBodyFile("MulticloudGetUpdateResponse.json").withStatus(HttpStatus.SC_OK)));
         StackInfo result =
                 multicloudUtils.createStack("MTN14", "CloudOwner", "TEST-tenant", "TEST-stack", new VduModelInfo(),
                         "TEST-heat", new HashMap<>(), true, 200, "TEST-env", new HashMap<>(), new HashMap<>(), false);
@@ -106,7 +105,13 @@ public class MsoMulticloudUtilsTest extends BaseTest {
 
     @Test
     public void deleteStack() throws MsoException {
-        StackInfo result = multicloudUtils.deleteStack("MTN13", "CloudOwner", "TEST-tenant", "instanceId");
+        wireMockServer.stubFor(delete(urlEqualTo(MULTICLOUD_DELETE_PATH)).willReturn(
+                aResponse().withHeader("Content-Type", "application/json").withStatus(HttpStatus.SC_NO_CONTENT)));
+        wireMockServer.stubFor(get(urlEqualTo(MULTICLOUD_GET_PATH))
+                .willReturn(aResponse().withHeader("Content-Type", "application/json")
+                        .withBodyFile("MulticloudGetDeleteResponse.json").withStatus(HttpStatus.SC_OK)));
+        StackInfo result =
+                multicloudUtils.deleteStack("MTN14", "CloudOwner", "TEST-tenant", "TEST-stack/TEST-workload");
         assertNotNull(result);
         assertTrue(HeatStatus.NOTFOUND == result.getStatus());
     }
@@ -123,7 +128,7 @@ public class MsoMulticloudUtilsTest extends BaseTest {
                 .willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(CREATE_STACK_RESPONSE)
                         .withStatus(HttpStatus.SC_OK)));
 
-        StackInfo result = multicloudUtils.queryStack("MTN13", "CloudOwner", "TEST-tenant", "instanceId");
+        StackInfo result = multicloudUtils.queryStack("MTN13", "CloudOwner", "TEST-tenant", "instanceName/instanceId");
         assertTrue(HeatStatus.FAILED == result.getStatus());
         assertEquals(MULTICLOUD_QUERY_BODY_NULL, result.getStatusMessage());
     }
diff --git a/adapters/mso-adapter-utils/src/test/resources/__files/MulticloudGetByNameResponse.json b/adapters/mso-adapter-utils/src/test/resources/__files/MulticloudGetByNameResponse.json
new file mode 100644 (file)
index 0000000..7e671d0
--- /dev/null
@@ -0,0 +1,34 @@
+{
+    "template_type": "heat",
+    "workload_id": "TEST-workload",
+    "workload_status": "GET_COMPLETE",
+    "workload_status_reason": {
+        "stacks": [
+            {
+                "id": "TEST-workload",
+                "links" : [
+                    {
+                        "href" : "port",
+                        "rel" : "self"
+                    }
+                ],
+                "stack_name": "TEST-stack",
+                "stack_status": "CREATE_COMPLETE",
+                "creation_time": "2019-03-21T03:17:32Z",
+                "description": "Sample stack response",
+                "stack_owner": "stack_Owner",
+                "capabilities": [],
+                "parameters": {
+                    "OS::project_id": "0e148b76ee8c42f78d37013bf6b7b1ae",
+                    "apt_proxy": "10.12.5.2:8000",
+                    "etcd_vm_flavor": "m1.medium",
+                    "docker_version": "17.03.2",
+                    "portal_hostname": "portal.api.simpledemo.onap.org",
+                    "docker_proxy": "10.12.5.2:5000",
+                    "kubectl_version": "1.11.5",
+                    "use_ramdisk": "false"
+                }
+            }
+        ]
+    }
+}
diff --git a/adapters/mso-adapter-utils/src/test/resources/__files/MulticloudGetCreateResponse.json b/adapters/mso-adapter-utils/src/test/resources/__files/MulticloudGetCreateResponse.json
new file mode 100644 (file)
index 0000000..8feb3e0
--- /dev/null
@@ -0,0 +1,44 @@
+{
+    "template_type": "heat",
+    "workload_id": "TEST-workload",
+    "workload_status": "CREATE_COMPLETE",
+    "workload_status_reason": {
+        "stack": {
+            "id": "TEST-workload",
+            "links" : [
+                {
+                    "href" : "port",
+                    "rel" : "self"
+                }
+            ],
+            "stack_name": "TEST-stack",
+            "stack_status": "CREATE_COMPLETE",
+            "creation_time": "2019-03-21T03:17:32Z",
+            "description": "Sample stack response",
+            "stack_owner": "stack_Owner",
+            "capabilities": [],
+            "parameters": {
+                "OS::project_id": "0e148b76ee8c42f78d37013bf6b7b1ae",
+                "apt_proxy": "10.12.5.2:8000",
+                "etcd_vm_flavor": "m1.medium",
+                "docker_version": "17.03.2",
+                "portal_hostname": "portal.api.simpledemo.onap.org",
+                "docker_proxy": "10.12.5.2:5000",
+                "kubectl_version": "1.11.5",
+                "use_ramdisk": "false"
+            },
+            "outputs": [
+                {
+                    "output_value": "10.12.6.20",
+                    "output_key": "k8s_12_vm_ip",
+                    "description": "The IP address of the k8s_12 instance"
+                },
+                {
+                    "output_value": "10.12.5.241",
+                    "output_key": "k8s_01_vm_ip",
+                    "description": "The IP address of the k8s_01 instance"
+                }
+            ]
+        }
+    }
+}
diff --git a/adapters/mso-adapter-utils/src/test/resources/__files/MulticloudGetDeleteResponse.json b/adapters/mso-adapter-utils/src/test/resources/__files/MulticloudGetDeleteResponse.json
new file mode 100644 (file)
index 0000000..9efaf7b
--- /dev/null
@@ -0,0 +1,8 @@
+{
+    "template_type": "heat",
+    "workload_id": "TEST-workload",
+    "workload_status": "DELETE_COMPLETE",
+    "workload_status_reason": {
+        "stack": {}
+    }
+}
diff --git a/adapters/mso-adapter-utils/src/test/resources/__files/MulticloudGetUpdateResponse.json b/adapters/mso-adapter-utils/src/test/resources/__files/MulticloudGetUpdateResponse.json
new file mode 100644 (file)
index 0000000..84d7db8
--- /dev/null
@@ -0,0 +1,8 @@
+{
+    "template_type": "heat",
+    "workload_id": "TEST-workload",
+    "workload_status": "UPDATE_COMPLETE",
+    "workload_status_reason": {
+        "stack": {}
+    }
+}
index a23cb62..17d4bc1 100644 (file)
@@ -1,64 +1,64 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-       <modelVersion>4.0.0</modelVersion>
-       <parent>
-               <groupId>org.onap.so</groupId>
-               <artifactId>adapters</artifactId>
-               <version>1.4.0-SNAPSHOT</version>
-       </parent>
-       <groupId>org.onap.so.adapters</groupId>
-       <artifactId>mso-adapters-rest-interface</artifactId>
-       <packaging>jar</packaging>
-       <name>mso-adapters-rest-interface</name>
-       <description>
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.onap.so</groupId>
+    <artifactId>adapters</artifactId>
+    <version>1.4.0-SNAPSHOT</version>
+  </parent>
+  <groupId>org.onap.so.adapters</groupId>
+  <artifactId>mso-adapters-rest-interface</artifactId>
+  <packaging>jar</packaging>
+  <name>mso-adapters-rest-interface</name>
+  <description>
                Java Beans (Requests and Responses) for Network/Tenant/VNF/SDNC REST Operations
        </description>
-       <build>
-               <finalName>${project.artifactId}-${project.version}</finalName>
-               <plugins>
-                       <plugin>
-                               <artifactId>maven-jar-plugin</artifactId>
-                               <version>2.6</version>
-                               <configuration>
-                                       <classesDirectory>target/classes</classesDirectory>
-                               </configuration>
-                       </plugin>
-                       <plugin>
-                               <groupId>org.jacoco</groupId>
-                               <artifactId>jacoco-maven-plugin</artifactId>
-                         </plugin>
-               </plugins>
-       </build>
-       <dependencies>
-       <dependency>
-               <groupId>org.javatuples</groupId>
-               <artifactId>javatuples</artifactId>
-               <version>1.2</version>
-       </dependency>
-               <dependency>
-                       <groupId>org.onap.so.libs.openstack-java-sdk</groupId>
-                       <artifactId>keystone-client</artifactId>
-                       <version>${openstack.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.so.libs.openstack-java-sdk</groupId>
-                       <artifactId>heat-client</artifactId>
-                       <version>${openstack.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.so.libs.openstack-java-sdk</groupId>
-                       <artifactId>quantum-client</artifactId>
-                       <version>${openstack.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.so.libs.openstack-java-sdk.client-connectors</groupId>
-                       <artifactId>http-connector</artifactId>
-                       <version>${openstack.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.so</groupId>
-                       <artifactId>common</artifactId>
-                       <version>${project.version}</version>
-               </dependency>
-       </dependencies>
+  <build>
+    <finalName>${project.artifactId}-${project.version}</finalName>
+    <plugins>
+      <plugin>
+        <artifactId>maven-jar-plugin</artifactId>
+        <version>2.6</version>
+        <configuration>
+          <classesDirectory>target/classes</classesDirectory>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.jacoco</groupId>
+        <artifactId>jacoco-maven-plugin</artifactId>
+      </plugin>
+    </plugins>
+  </build>
+  <dependencies>
+    <dependency>
+      <groupId>org.javatuples</groupId>
+      <artifactId>javatuples</artifactId>
+      <version>1.2</version>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so.libs.openstack-java-sdk</groupId>
+      <artifactId>keystone-client</artifactId>
+      <version>${openstack.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so.libs.openstack-java-sdk</groupId>
+      <artifactId>heat-client</artifactId>
+      <version>${openstack.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so.libs.openstack-java-sdk</groupId>
+      <artifactId>quantum-client</artifactId>
+      <version>${openstack.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so.libs.openstack-java-sdk.client-connectors</groupId>
+      <artifactId>http-connector</artifactId>
+      <version>${openstack.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so</groupId>
+      <artifactId>common</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+  </dependencies>
 </project>
index 1f6ea41..9ec98cf 100644 (file)
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-       <modelVersion>4.0.0</modelVersion>
-       <parent>
-               <groupId>org.onap.so</groupId>
-               <artifactId>adapters</artifactId>
-               <version>1.4.0-SNAPSHOT</version>
-       </parent>
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.onap.so</groupId>
+    <artifactId>adapters</artifactId>
+    <version>1.4.0-SNAPSHOT</version>
+  </parent>
 
-       <groupId>org.onap.so.adapters</groupId>
-       <artifactId>mso-catalog-db-adapter</artifactId>
-       <packaging>jar</packaging>
-       <properties>
-               <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-               <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-               <java.version>1.8</java.version>
-       </properties>
-       <build>
-               <plugins>
-                       <plugin>
-                               <groupId>org.springframework.boot</groupId>
-                               <artifactId>spring-boot-maven-plugin</artifactId>
-                               <version>${springboot.version}</version>
-                               <configuration>
-                                       <mainClass>org.onap.so.adapters.catalogdb.CatalogDBApplication</mainClass>
-                               </configuration>
-                               <executions>
-                                       <execution>
-                                               <goals>
-                                                       <goal>repackage</goal>
-                                               </goals>
-                                       </execution>
-                               </executions>
-                       </plugin>
-                       <plugin>
-                               <groupId>org.apache.maven.plugins</groupId>
-                               <artifactId>maven-dependency-plugin</artifactId>
-                               <executions>
-                                       <execution>
-                                               <id>extract-docker-file</id>
-                                       </execution>
-                               </executions>
-                       </plugin>
-                       <plugin>
-                               <groupId>io.fabric8</groupId>
-                               <artifactId>fabric8-maven-plugin</artifactId>
-                               <executions>
-                                       <execution>
-                                               <id>start</id>
-                                       </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>
-                               <executions>
-                                       <execution>
-                                               <id>default-test</id>
-                                               <goals>
-                                                       <goal>test</goal>
-                                               </goals>
-                                               <configuration>
-                                                       <includes>
-                                                               <include>**/AllTestsTestSuite.java</include>
-                                                       </includes>
-                                                       <parallel>suites</parallel>
-                                               </configuration>
-                                       </execution>
-                               </executions>
-                       </plugin>
-               </plugins>
-               <pluginManagement>
-                       <plugins>
-                               <!--This plugin's configuration is used to store Eclipse m2e settings 
+  <groupId>org.onap.so.adapters</groupId>
+  <artifactId>mso-catalog-db-adapter</artifactId>
+  <packaging>jar</packaging>
+  <properties>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+    <java.version>1.8</java.version>
+  </properties>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-maven-plugin</artifactId>
+        <version>${springboot.version}</version>
+        <configuration>
+          <mainClass>org.onap.so.adapters.catalogdb.CatalogDBApplication</mainClass>
+        </configuration>
+        <executions>
+          <execution>
+            <goals>
+              <goal>repackage</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-dependency-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>extract-docker-file</id>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>io.fabric8</groupId>
+        <artifactId>fabric8-maven-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>start</id>
+          </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>
+        <executions>
+          <execution>
+            <id>default-test</id>
+            <goals>
+              <goal>test</goal>
+            </goals>
+            <configuration>
+              <includes>
+                <include>**/AllTestsTestSuite.java</include>
+              </includes>
+              <parallel>suites</parallel>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+    <pluginManagement>
+      <plugins>
+        <!--This plugin's configuration is used to store Eclipse m2e settings 
                                        only. It has no influence on the Maven build itself. -->
-                               <plugin>
-                                       <groupId>org.eclipse.m2e</groupId>
-                                       <artifactId>lifecycle-mapping</artifactId>
-                                       <version>1.0.0</version>
-                                       <configuration>
-                                               <lifecycleMappingMetadata>
-                                                       <pluginExecutions>
-                                                               <pluginExecution>
-                                                                       <pluginExecutionFilter>
-                                                                               <groupId>
+        <plugin>
+          <groupId>org.eclipse.m2e</groupId>
+          <artifactId>lifecycle-mapping</artifactId>
+          <version>1.0.0</version>
+          <configuration>
+            <lifecycleMappingMetadata>
+              <pluginExecutions>
+                <pluginExecution>
+                  <pluginExecutionFilter>
+                    <groupId>
                                                                                        org.jvnet.jax-ws-commons
                                                                                </groupId>
-                                                                               <artifactId>
+                    <artifactId>
                                                                                        jaxws-maven-plugin
                                                                                </artifactId>
-                                                                               <versionRange>
+                    <versionRange>
                                                                                        [2.3,)
                                                                                </versionRange>
-                                                                               <goals>
-                                                                                       <goal>wsgen</goal>
-                                                                               </goals>
-                                                                       </pluginExecutionFilter>
-                                                                       <action>
-                                                                               <ignore></ignore>
-                                                                       </action>
-                                                               </pluginExecution>
-                                                       </pluginExecutions>
-                                               </lifecycleMappingMetadata>
-                                       </configuration>
-                               </plugin>
+                    <goals>
+                      <goal>wsgen</goal>
+                    </goals>
+                  </pluginExecutionFilter>
+                  <action>
+                    <ignore>
+                    </ignore>
+                  </action>
+                </pluginExecution>
+              </pluginExecutions>
+            </lifecycleMappingMetadata>
+          </configuration>
+        </plugin>
 
-                               <plugin>
-                                       <groupId>org.jacoco</groupId>
-                                       <artifactId>jacoco-maven-plugin</artifactId>
-                               </plugin>
-                       </plugins>
-               </pluginManagement>
-               <finalName>${project.artifactId}-${project.version}</finalName>
-       </build>
-       <dependencyManagement>
-               <dependencies>
-                       <dependency>
-                               <!-- Import dependency management from Spring Boot -->
-                               <groupId>org.springframework.boot</groupId>
-                               <artifactId>spring-boot-dependencies</artifactId>
-                               <version>${springboot.version}</version>
-                               <type>pom</type>
-                               <scope>import</scope>
-                       </dependency>
-               </dependencies>
-       </dependencyManagement>
-       <dependencies>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-web</artifactId>
-               </dependency>           
-               <dependency>
-                       <groupId>io.swagger</groupId>
-                       <artifactId>swagger-jersey2-jaxrs</artifactId>
-                       <version>1.5.16</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.mariadb.jdbc</groupId>
-                       <artifactId>mariadb-java-client</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-actuator</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-jersey</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-data-jpa</artifactId>
-                       <exclusions>
-                       <exclusion>
-                           <groupId>org.apache.tomcat</groupId>
-                           <artifactId>tomcat-jdbc</artifactId>
-                        </exclusion>
-               </exclusions>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-test</artifactId>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.so</groupId>
-                       <artifactId>mso-catalog-db</artifactId>
-                       <version>${project.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>uk.co.blackpepper.bowman</groupId>
-                       <artifactId>bowman-client</artifactId>
-                       <version>0.3.0</version>
-               </dependency>
-               <dependency>
-                       <groupId>ch.vorburger.mariaDB4j</groupId>
-                       <artifactId>mariaDB4j</artifactId>
-                       <version>2.2.3</version>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.flywaydb</groupId>
-                       <artifactId>flyway-core</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>io.micrometer</groupId>
-                       <artifactId>micrometer-core</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>io.micrometer</groupId>
-                       <artifactId>micrometer-registry-prometheus</artifactId>
-               </dependency>
-       </dependencies>
+        <plugin>
+          <groupId>org.jacoco</groupId>
+          <artifactId>jacoco-maven-plugin</artifactId>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+    <finalName>${project.artifactId}-${project.version}</finalName>
+  </build>
+  <dependencyManagement>
+    <dependencies>
+      <dependency>
+        <!-- Import dependency management from Spring Boot -->
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-dependencies</artifactId>
+        <version>${springboot.version}</version>
+        <type>pom</type>
+        <scope>import</scope>
+      </dependency>
+    </dependencies>
+  </dependencyManagement>
+  <dependencies>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-web</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>io.swagger</groupId>
+      <artifactId>swagger-jersey2-jaxrs</artifactId>
+      <version>1.5.16</version>
+    </dependency>
+    <dependency>
+      <groupId>org.mariadb.jdbc</groupId>
+      <artifactId>mariadb-java-client</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-actuator</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-jersey</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-data-jpa</artifactId>
+      <exclusions>
+        <exclusion>
+          <groupId>org.apache.tomcat</groupId>
+          <artifactId>tomcat-jdbc</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-test</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so</groupId>
+      <artifactId>mso-catalog-db</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>uk.co.blackpepper.bowman</groupId>
+      <artifactId>bowman-client</artifactId>
+      <version>0.3.0</version>
+    </dependency>
+    <dependency>
+      <groupId>ch.vorburger.mariaDB4j</groupId>
+      <artifactId>mariaDB4j</artifactId>
+      <version>2.2.3</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.flywaydb</groupId>
+      <artifactId>flyway-core</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>io.micrometer</groupId>
+      <artifactId>micrometer-core</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>io.micrometer</groupId>
+      <artifactId>micrometer-registry-prometheus</artifactId>
+    </dependency>
+  </dependencies>
 </project>
index 3fdc3c3..238c4cf 100644 (file)
@@ -40,14 +40,16 @@ INSERT INTO orchestration_flow_reference(COMPOSITE_ACTION, SEQ_NO, FLOW_NAME, FL
 ('Service-Macro-Assign', '3', 'AssignVnfBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Assign' and CLOUD_OWNER = 'cloudOwner')),
 ('Service-Macro-Assign', '4', 'AssignVolumeGroupBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Assign' and CLOUD_OWNER = 'cloudOwner')),
 ('Service-Macro-Assign', '5', 'AssignVfModuleBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Assign' and CLOUD_OWNER = 'cloudOwner')),
+('Service-Macro-Assign', '6', 'ConfigAssignVnfBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Assign' and CLOUD_OWNER = 'cloudOwner')),
 ('Service-Macro-Activate', '1', 'CreateNetworkBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Activate' and CLOUD_OWNER = 'cloudOwner')),
 ('Service-Macro-Activate', '2', 'ActivateNetworkBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Activate' and CLOUD_OWNER = 'cloudOwner')),
 ('Service-Macro-Activate', '3', 'CreateVolumeGroupBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Activate' and CLOUD_OWNER = 'cloudOwner')),
 ('Service-Macro-Activate', '4', 'ActivateVolumeGroupBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Activate' and CLOUD_OWNER = 'cloudOwner')),
 ('Service-Macro-Activate', '5', 'CreateVfModuleBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Activate' and CLOUD_OWNER = 'cloudOwner')),
 ('Service-Macro-Activate', '6', 'ActivateVfModuleBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Activate' and CLOUD_OWNER = 'cloudOwner')),
-('Service-Macro-Activate', '7', 'ActivateVnfBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Activate' and CLOUD_OWNER = 'cloudOwner')),
-('Service-Macro-Activate', '8', 'ActivateServiceInstance', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Activate' and CLOUD_OWNER = 'cloudOwner')),
+('Service-Macro-Activate', '7', 'ConfigDeployVnfBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Activate' and CLOUD_OWNER = 'cloudOwner')),
+('Service-Macro-Activate', '8', 'ActivateVnfBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Activate' and CLOUD_OWNER = 'cloudOwner')),
+('Service-Macro-Activate', '9', 'ActivateServiceInstance', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Activate' and CLOUD_OWNER = 'cloudOwner')),
 ('Service-Macro-Unassign', '1', 'UnassignVfModuleBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Unassign' and CLOUD_OWNER = 'cloudOwner')),
 ('Service-Macro-Unassign', '2', 'UnassignVolumeGroupBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Unassign' and CLOUD_OWNER = 'cloudOwner')),
 ('Service-Macro-Unassign', '3', 'UnassignVnfBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Unassign' and CLOUD_OWNER = 'cloudOwner')),
@@ -59,15 +61,17 @@ INSERT INTO orchestration_flow_reference(COMPOSITE_ACTION, SEQ_NO, FLOW_NAME, FL
 ('Service-Macro-Create', '4', 'AssignVnfBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create' and CLOUD_OWNER = 'cloudOwner')),
 ('Service-Macro-Create', '5', 'AssignVolumeGroupBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create' and CLOUD_OWNER = 'cloudOwner')),
 ('Service-Macro-Create', '6', 'AssignVfModuleBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create' and CLOUD_OWNER = 'cloudOwner')),
-('Service-Macro-Create', '7', 'CreateNetworkBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create' and CLOUD_OWNER = 'cloudOwner')),
-('Service-Macro-Create', '8', 'ActivateNetworkBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create' and CLOUD_OWNER = 'cloudOwner')),
-('Service-Macro-Create', '9', 'CreateVolumeGroupBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create' and CLOUD_OWNER = 'cloudOwner')),
-('Service-Macro-Create', '10', 'ActivateVolumeGroupBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create' and CLOUD_OWNER = 'cloudOwner')),
-('Service-Macro-Create', '11', 'CreateVfModuleBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create' and CLOUD_OWNER = 'cloudOwner')),
-('Service-Macro-Create', '12', 'ActivateVfModuleBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create' and CLOUD_OWNER = 'cloudOwner')),
-('Service-Macro-Create', '13', 'ActivateVnfBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create' and CLOUD_OWNER = 'cloudOwner')),
-('Service-Macro-Create', '14', 'ActivateNetworkCollectionBB',1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create' and CLOUD_OWNER = 'cloudOwner')),
-('Service-Macro-Create', '15', 'ActivateServiceInstanceBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create' and CLOUD_OWNER = 'cloudOwner')),
+('Service-Macro-Create', '7', 'ConfigAssignVnfBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create' and CLOUD_OWNER = 'cloudOwner')),
+('Service-Macro-Create', '8', 'CreateNetworkBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create' and CLOUD_OWNER = 'cloudOwner')),
+('Service-Macro-Create', '9', 'ActivateNetworkBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create' and CLOUD_OWNER = 'cloudOwner')),
+('Service-Macro-Create', '10', 'CreateVolumeGroupBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create' and CLOUD_OWNER = 'cloudOwner')),
+('Service-Macro-Create', '11', 'ActivateVolumeGroupBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create' and CLOUD_OWNER = 'cloudOwner')),
+('Service-Macro-Create', '12', 'CreateVfModuleBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create' and CLOUD_OWNER = 'cloudOwner')),
+('Service-Macro-Create', '13', 'ActivateVfModuleBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create' and CLOUD_OWNER = 'cloudOwner')),
+('Service-Macro-Create', '14', 'ConfigDeployVnfBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create' and CLOUD_OWNER = 'cloudOwner')),
+('Service-Macro-Create', '15', 'ActivateVnfBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create' and CLOUD_OWNER = 'cloudOwner')),
+('Service-Macro-Create', '16', 'ActivateNetworkCollectionBB',1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create' and CLOUD_OWNER = 'cloudOwner')),
+('Service-Macro-Create', '17', 'ActivateServiceInstanceBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create' and CLOUD_OWNER = 'cloudOwner')),
 ('Service-Macro-Delete', '1', 'DeactivateVfModuleBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Delete' and CLOUD_OWNER = 'cloudOwner')),
 ('Service-Macro-Delete', '2', 'DeleteVfModuleBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Delete' and CLOUD_OWNER = 'cloudOwner')),
 ('Service-Macro-Delete', '3', 'DeactivateVolumeGroupBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Delete' and CLOUD_OWNER = 'cloudOwner')),
index c74ce69..054fb1a 100644 (file)
@@ -2,26 +2,183 @@ use catalogdb;
 
 DELETE FROM activity_spec_to_activity_spec_parameters;
 DELETE FROM activity_spec_to_activity_spec_categories;
+DELETE FROM activity_spec_to_user_parameters;
 DELETE FROM activity_spec;
 DELETE FROM activity_spec_categories;
 DELETE FROM activity_spec_parameters;
+DELETE FROM user_parameters;
 
 INSERT INTO activity_spec (NAME, DESCRIPTION, VERSION) 
-VALUES ('VNFSetInMaintFlagActivity','Activity to Set InMaint Flag in A&AI',1.0);
+VALUES 
+('VNFSetInMaintFlagActivity','Activity to Set InMaint Flag in A&AI',1.0),
+('VNFCheckPserversLockedFlagActivity','Activity Check Pservers Locked Flag VNF',1.0),
+('VNFCheckInMaintFlagActivity','Activity CheckIn Maint Flag on VNF',1.0),
+('VNFCheckClosedLoopDisabledFlagActivity','Activity Check Closed Loop Disabled Flag on VNF',1.0),
+('VNFSetClosedLoopDisabledFlagActivity','Activity Set Closed Loop Disabled Flag on VNF',1.0),
+('VNFUnsetClosedLoopDisabledFlagActivity','Activity Unset Closed Loop Disabled Flag on VNF',1.0),
+('VNFLockActivity','Activity Lock on VNF',1.0),
+('VNFUnlockActivity','Activity UnLock on VNF',1.0),
+('VNFStopActivity','Activity Stop on VNF',1.0),
+('VNFStartActivity','Activity Start on VNF',1.0),
+('VNFSnapShotActivity','Activity Snap Shot on VNF',1.0),
+('FlowCompleteActivity','Activity Complete on VNF',1.0),
+('PauseForManualTaskActivity','Activity Pause For Manual Task on VNF',1.0),
+('DistributeTrafficActivity','Activity Distribute Traffic on VNF',1.0),
+('DistributeTrafficCheckActivity','Activity Distribute Traffic Check on VNF',1.0),
+('VNFHealthCheckActivity','Activity Health Check on VNF',1.0),
+('VNFQuiesceTrafficActivity','Activity Quiesce Traffic on VNF',1.0),
+('VNFResumeTrafficActivity','Activity Resume Traffic on VNF',1.0),
+('VNFUnsetInMaintFlagActivity','Activity Unset InMaint Flag on VNF',1.0),
+('VNFUpgradeBackupActivity','Activity Upgrade Backup on VNF',1.0),
+('VNFUpgradePostCheckActivity','Activity Upgrade Post Check on VNF',1.0),
+('VNFUpgradePreCheckActivity','Activity Upgrade PreCheck on VNF',1.0),
+('VNFUpgradeSoftwareActivity','Activity UpgradeS oftware on VNF',1.0),
+('VnfInPlaceSoftwareUpdate','Activity InPlace Software Update on VNF',1.0);
 
 INSERT INTO activity_spec_categories (NAME)
 VALUES ('VNF');
 
-INSERT INTO activity_spec_parameters (NAME, TYPE, DIRECTION, DESCRIPTION) 
-VALUES('WorkflowException','WorkflowException','outputParameters','Description');
-
 INSERT INTO activity_spec_to_activity_spec_categories(ACTIVITY_SPEC_ID, ACTIVITY_SPEC_CATEGORIES_ID) 
 VALUES
-(
-(select ID from ACTIVITY_SPEC where NAME='VNFSetInMaintFlagActivity' and VERSION=1.0),
+((select ID from activity_spec where NAME='VNFSetInMaintFlagActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFCheckPserversLockedFlagActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFCheckInMaintFlagActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFCheckClosedLoopDisabledFlagActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFSetClosedLoopDisabledFlagActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFUnsetClosedLoopDisabledFlagActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFLockActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFUnlockActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFStopActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFStartActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFSnapShotActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='FlowCompleteActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='PauseForManualTaskActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='DistributeTrafficActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='DistributeTrafficCheckActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFHealthCheckActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFQuiesceTrafficActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFResumeTrafficActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFUnsetInMaintFlagActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFUpgradeBackupActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFUpgradePostCheckActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFUpgradePreCheckActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFUpgradeSoftwareActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VnfInPlaceSoftwareUpdate' and VERSION=1.0),
 (select ID from activity_spec_categories where NAME='VNF'));
 
+INSERT INTO activity_spec_parameters (NAME, TYPE, DIRECTION, DESCRIPTION) 
+VALUES('WorkflowException','WorkflowException','output','Description');
+
 INSERT INTO activity_spec_to_activity_spec_parameters( ACTIVITY_SPEC_ID, ACTIVITY_SPEC_PARAMETERS_ID) 
-VALUES(
-(select ID from ACTIVITY_SPEC where NAME='VNFSetInMaintFlagActivity' and VERSION=1.0),
-(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='outputParameters'));
\ No newline at end of file
+VALUES
+((select ID from activity_spec where NAME='VNFSetInMaintFlagActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFCheckPserversLockedFlagActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFCheckInMaintFlagActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFCheckClosedLoopDisabledFlagActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFSetClosedLoopDisabledFlagActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFUnsetClosedLoopDisabledFlagActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFLockActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFUnlockActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFStopActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFStartActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFSnapShotActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='FlowCompleteActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='PauseForManualTaskActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='DistributeTrafficActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='DistributeTrafficCheckActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFHealthCheckActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFQuiesceTrafficActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFResumeTrafficActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFUnsetInMaintFlagActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFUpgradeBackupActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFUpgradePostCheckActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFUpgradePreCheckActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFUpgradeSoftwareActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output'));
+
+INSERT INTO `user_parameters`(`NAME`,`PAYLOAD_LOCATION`,`LABEL`,`TYPE`,`DESCRIPTION`,`IS_REQUIRED`,`MAX_LENGTH`,`ALLOWABLE_CHARS`)
+VALUES 
+('cloudOwner','cloudConfiguration','Cloud Owner','text','',1,7,''), 
+('operations_timeout','userParams','Operations Timeout','text','',1,50,''),
+('existing_software_version','userParams','Existing Software Version','text','',1,50,''),
+('tenantId','cloudConfiguration','Tenant/Project ID','text','',1,36,''),
+('new_software_version','userParams','New Software Version','text','',1,50,''),
+('lcpCloudRegionId','cloudConfiguration','Cloud Region ID','text','',1,7,'');
+
+INSERT INTO `activity_spec_to_user_parameters`(`ACTIVITY_SPEC_ID`,`USER_PARAMETERS_ID`)
+VALUES
+((select ID from activity_spec where NAME='VNFStopActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='lcpCloudRegionId')),
+((select ID from activity_spec where NAME='VNFStopActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='tenantId')),
+((select ID from activity_spec where NAME='VNFStartActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='lcpCloudRegionId')),
+((select ID from activity_spec where NAME='VNFStartActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='tenantId')),
+((select ID from activity_spec where NAME='VNFSnapShotActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='lcpCloudRegionId')),
+((select ID from activity_spec where NAME='VNFSnapShotActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='tenantId')),
+((select ID from activity_spec where NAME='VNFQuiesceTrafficActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='operations_timeout')),
+((select ID from activity_spec where NAME='VNFUpgradeBackupActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='existing_software_version')),
+((select ID from activity_spec where NAME='VNFUpgradeBackupActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='new_software_version')),
+((select ID from activity_spec where NAME='VNFUpgradePostCheckActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='existing_software_version')),
+((select ID from activity_spec where NAME='VNFUpgradePostCheckActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='new_software_version')),
+((select ID from activity_spec where NAME='VNFUpgradePreCheckActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='existing_software_version')),
+((select ID from activity_spec where NAME='VNFUpgradePreCheckActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='new_software_version')),
+((select ID from activity_spec where NAME='VNFUpgradeSoftwareActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='existing_software_version')),
+((select ID from activity_spec where NAME='VNFUpgradeSoftwareActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='new_software_version'));
\ No newline at end of file
diff --git a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V5.10.1__AlterTblActivitySpecToUserParameters.sql b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V5.10.1__AlterTblActivitySpecToUserParameters.sql
new file mode 100644 (file)
index 0000000..d8bfa64
--- /dev/null
@@ -0,0 +1,3 @@
+use catalogdb;
+
+ALTER TABLE activity_spec_to_user_parameters modify id INT(11) not null auto_increment; 
\ No newline at end of file
diff --git a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V5.7__Use_ID_Configuration_Customization.sql b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V5.7__Use_ID_Configuration_Customization.sql
new file mode 100644 (file)
index 0000000..b393312
--- /dev/null
@@ -0,0 +1,75 @@
+USE catalogdb;
+
+/* Drop existing foreign key */
+ALTER TABLE `catalogdb`.`configuration_customization` 
+DROP FOREIGN KEY IF EXISTS `fk_configuration_customization__configuration_customization1`;
+
+ALTER TABLE `catalogdb`.`configuration_customization` 
+DROP FOREIGN KEY IF EXISTS `fk_configuration_resource_customization__configuration_resour1`;
+/* Drop existing index */
+ALTER TABLE `catalogdb`.`configuration_customization` 
+DROP INDEX IF EXISTS `fk_configuration_customization__configuration_customization_idx` ;
+
+/* Create a new table */
+CREATE TABLE `tmp_configuration_customization` (
+    `ID` INT(11) NOT NULL AUTO_INCREMENT,
+    `MODEL_CUSTOMIZATION_UUID` VARCHAR(200) NOT NULL,
+    `MODEL_INSTANCE_NAME` VARCHAR(200) NOT NULL,
+    `CONFIGURATION_TYPE` VARCHAR(200) DEFAULT NULL,
+    `CONFIGURATION_ROLE` VARCHAR(200) DEFAULT NULL,
+    `CONFIGURATION_FUNCTION` VARCHAR(200) DEFAULT NULL,
+    `CREATION_TIMESTAMP` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
+    `CONFIGURATION_MODEL_UUID` VARCHAR(200) NOT NULL,
+    `SERVICE_PROXY_CUSTOMIZATION_MODEL_CUSTOMIZATION_UUID` VARCHAR(200) DEFAULT NULL,
+       `CONFIGURATION_CUSTOMIZATION_MODEL_CUSTOMIZATION_ID` int(11) DEFAULT NULL,
+    `SERVICE_MODEL_UUID` VARCHAR(200) NOT NULL,
+    PRIMARY KEY (`ID`) ,
+    KEY `fk_configuration_customization__configuration_idx` (`CONFIGURATION_MODEL_UUID`),
+    KEY `fk_configuration_customization__service_idx` (`SERVICE_MODEL_UUID`),
+       UNIQUE KEY `uk_configuration_customization`  (`MODEL_CUSTOMIZATION_UUID` ASC, `SERVICE_MODEL_UUID` ASC),
+       CONSTRAINT `fk_configuration_customization__configuration1` FOREIGN KEY (`CONFIGURATION_MODEL_UUID`)
+        REFERENCES `configuration` (`MODEL_UUID`)
+        ON DELETE CASCADE ON UPDATE CASCADE,
+    CONSTRAINT `fk_configuration_customization__service1` FOREIGN KEY (`SERVICE_MODEL_UUID`)
+        REFERENCES `service` (`MODEL_UUID`)
+        ON DELETE CASCADE ON UPDATE CASCADE
+       
+)  ENGINE=INNODB DEFAULT CHARSET=LATIN1;
+
+/* Migrate the existing data */
+INSERT INTO tmp_configuration_customization 
+(`model_customization_uuid` ,
+                 `model_instance_name`,
+                 `configuration_type` ,
+                 `configuration_role` ,
+                 `configuration_function` ,
+                 `creation_timestamp` ,
+                 `configuration_model_uuid` ,
+                 `service_proxy_customization_model_customization_uuid` ,
+                 `service_model_uuid`)
+SELECT `config`.`model_customization_uuid`,
+    `config`.`model_instance_name`,
+    `config`.`configuration_type`,
+    `config`.`configuration_role`,
+    `config`.`configuration_function`,
+    `config`.`creation_timestamp`,
+    `config`.`configuration_model_uuid`,
+    `config`.`service_proxy_customization_model_customization_uuid`,
+    `svc`.`model_uuid` service_model_uuid FROM
+    configuration_customization config,
+    service svc,
+    configuration_customization_to_service config_svc
+WHERE
+    config_svc.service_model_uuid = svc.model_uuid
+        AND config_svc.resource_model_customization_uuid = config.model_customization_uuid;
+      
+/* Drop the old tables */
+
+DROP TABLE `catalogdb`.`configuration_customization`;
+
+DROP TABLE `catalogdb`.`configuration_customization_to_service`;
+
+/* Rename the table */
+RENAME TABLE tmp_configuration_customization TO configuration_customization;       
+        
+       
\ No newline at end of file
index 9c3ef25..088f949 100644 (file)
@@ -1,62 +1,62 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-       <modelVersion>4.0.0</modelVersion>
-       <parent>
-               <groupId>org.onap.so</groupId>
-               <artifactId>adapters</artifactId>
-               <version>1.4.0-SNAPSHOT</version>
-       </parent>
-       <artifactId>mso-openstack-adapters</artifactId>
-       <packaging>jar</packaging>
-       <name>mso-openstack-adapters</name>
-       <description>Consolidate openstack adapters into one Spring Boot project</description>
-       <properties>
-               <openfeign.version>10.1.0</openfeign.version>
-       </properties>
-       <build>
-               <finalName>${project.artifactId}-${project.version}</finalName>
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.onap.so</groupId>
+    <artifactId>adapters</artifactId>
+    <version>1.4.0-SNAPSHOT</version>
+  </parent>
+  <artifactId>mso-openstack-adapters</artifactId>
+  <packaging>jar</packaging>
+  <name>mso-openstack-adapters</name>
+  <description>Consolidate openstack adapters into one Spring Boot project</description>
+  <properties>
+    <openfeign.version>10.1.0</openfeign.version>
+  </properties>
+  <build>
+    <finalName>${project.artifactId}-${project.version}</finalName>
 
-               <plugins>
-                       <plugin>
-                               <groupId>org.apache.maven.plugins</groupId>
-                               <artifactId>maven-dependency-plugin</artifactId>
-                       </plugin>
-                       <plugin>
-                               <groupId>org.springframework.boot</groupId>
-                               <artifactId>spring-boot-maven-plugin</artifactId>
-                               <configuration>
-                                       <mainClass>org.onap.so.adapters.openstack.MsoOpenstackAdaptersApplication</mainClass>
-                               </configuration>
-                               <executions>
-                                       <execution>
-                                               <goals>
-                                                       <goal>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-dependency-plugin</artifactId>
+      </plugin>
+      <plugin>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-maven-plugin</artifactId>
+        <configuration>
+          <mainClass>org.onap.so.adapters.openstack.MsoOpenstackAdaptersApplication</mainClass>
+        </configuration>
+        <executions>
+          <execution>
+            <goals>
+              <goal>
                                                                repackage
                                                        </goal>
-                                               </goals>
-                                       </execution>
-                               </executions>
-                       </plugin>
-                        <plugin>
-                               <groupId>org.apache.maven.plugins</groupId>
-                               <artifactId>maven-surefire-plugin</artifactId>
-                               <executions>
-                                       <execution>
-                                               <id>default-test</id>
-                                               <goals>
-                                                       <goal>test</goal>
-                                               </goals>
-                                               <configuration>
-                                                       <includes>
-                                                               <include>**/AllTestsTestSuite.java</include>
-                                                       </includes>
-                                                       <parallel>suites</parallel>
-                                               </configuration>
-                                       </execution>
-                               </executions>
-                       </plugin>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>default-test</id>
+            <goals>
+              <goal>test</goal>
+            </goals>
+            <configuration>
+              <includes>
+                <include>**/AllTestsTestSuite.java</include>
+              </includes>
+              <parallel>suites</parallel>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
 
-<!--  run the following plugin only when there's a wsdl change and you need to recompile the java classes
+      <!--  run the following plugin only when there's a wsdl change and you need to recompile the java classes
                        <plugin>
                                <groupId>org.codehaus.mojo</groupId>
                                <artifactId>jaxws-maven-plugin</artifactId>
                                </execution>
                            </executions>
                         </plugin>                      
- -->           <plugin>
-                               <groupId>org.jacoco</groupId>
-                               <artifactId>jacoco-maven-plugin</artifactId>
-                       </plugin>
-                       <plugin>
-                               <groupId>org.apache.maven.plugins</groupId>
-                               <artifactId>maven-dependency-plugin</artifactId>
-                               <executions>
-                                       <execution>
-                                               <id>extract-docker-file</id>
-                                       </execution>
-                               </executions>
-                       </plugin>
-                       <plugin>
-                               <groupId>io.fabric8</groupId>
-                               <artifactId>fabric8-maven-plugin</artifactId>
-                               <executions>
-                                       <execution>
-                                               <id>start</id>
-                                       </execution>
-                               </executions>
-                       </plugin>
-               </plugins>              
-               
-               
-               <pluginManagement>
-                       <plugins>
-                               <!--This plugin's configuration is used to store Eclipse m2e settings
+ -->
+      <plugin>
+        <groupId>org.jacoco</groupId>
+        <artifactId>jacoco-maven-plugin</artifactId>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-dependency-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>extract-docker-file</id>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>io.fabric8</groupId>
+        <artifactId>fabric8-maven-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>start</id>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+
+
+    <pluginManagement>
+      <plugins>
+        <!--This plugin's configuration is used to store Eclipse m2e settings
                                        only. It has no influence on the Maven build itself. -->
-                               <plugin>
-                                       <groupId>org.eclipse.m2e</groupId>
-                                       <artifactId>lifecycle-mapping</artifactId>
-                                       <version>1.0.0</version>
-                                       <configuration>
-                                               <lifecycleMappingMetadata>
-                                                       <pluginExecutions>
-                                                               <pluginExecution>
-                                                                       <pluginExecutionFilter>
-                                                                               <groupId>
+        <plugin>
+          <groupId>org.eclipse.m2e</groupId>
+          <artifactId>lifecycle-mapping</artifactId>
+          <version>1.0.0</version>
+          <configuration>
+            <lifecycleMappingMetadata>
+              <pluginExecutions>
+                <pluginExecution>
+                  <pluginExecutionFilter>
+                    <groupId>
                                                                                        org.jvnet.jax-ws-commons
                                                                                </groupId>
-                                                                               <artifactId>
+                    <artifactId>
                                                                                        jaxws-maven-plugin
                                                                                </artifactId>
-                                                                               <versionRange>
+                    <versionRange>
                                                                                        [2.3,)
                                                                                </versionRange>
-                                                                               <goals>
-                                                                                       <goal>wsgen</goal>
-                                                                               </goals>
-                                                                       </pluginExecutionFilter>
-                                                                       <action>
-                                                                               <ignore></ignore>
-                                                                       </action>
-                                                               </pluginExecution>
-                                                       </pluginExecutions>
-                                               </lifecycleMappingMetadata>
-                                       </configuration>
-                               </plugin>
-                       </plugins>
-               </pluginManagement>
-       </build>
+                    <goals>
+                      <goal>wsgen</goal>
+                    </goals>
+                  </pluginExecutionFilter>
+                  <action>
+                    <ignore>
+                    </ignore>
+                  </action>
+                </pluginExecution>
+              </pluginExecutions>
+            </lifecycleMappingMetadata>
+          </configuration>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+  </build>
+
+  <dependencies>
+    <!-- added for spring boot support -->
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-actuator</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-web</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-data-jpa</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-spring-boot-starter-jaxws</artifactId>
+      <version>${cxf.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-spring-boot-starter-jaxrs</artifactId>
+      <version>${cxf.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-rt-rs-service-description-swagger</artifactId>
+      <version>${cxf.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.webjars</groupId>
+      <artifactId>swagger-ui</artifactId>
+      <version>3.5.0</version>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-test</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>janino</groupId>
+      <artifactId>janino</artifactId>
+      <version>2.5.15</version>
+    </dependency>
 
-       <dependencies>
-       <!-- added for spring boot support -->  
-               <dependency>
-               <groupId>org.springframework.boot</groupId>
-               <artifactId>spring-boot-starter-actuator</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-web</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-data-jpa</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.cxf</groupId>
-                       <artifactId>cxf-spring-boot-starter-jaxws</artifactId>
-                       <version>${cxf.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.cxf</groupId>
-                       <artifactId>cxf-spring-boot-starter-jaxrs</artifactId>
-                       <version>${cxf.version}</version>
-               </dependency>
-               <dependency>
-               <groupId>org.apache.cxf</groupId>
-               <artifactId>cxf-rt-rs-service-description-swagger</artifactId>
-               <version>${cxf.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.webjars</groupId>
-                       <artifactId>swagger-ui</artifactId>
-                       <version>3.5.0</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-test</artifactId>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-               <groupId>janino</groupId>
-               <artifactId>janino</artifactId>
-               <version>2.5.15</version>
-               </dependency>
+    <!-- end added for spring boot support -->
 
-       <!-- end added for spring boot support -->
+    <dependency>
+      <groupId>org.pacesys</groupId>
+      <artifactId>openstack4j-core</artifactId>
+      <version>3.1.0</version>
+    </dependency>
+    <dependency>
+      <groupId>org.pacesys.openstack4j.connectors</groupId>
+      <artifactId>openstack4j-httpclient</artifactId>
+      <version>3.1.0</version>
+    </dependency>
 
-               <dependency>
-                       <groupId>org.pacesys</groupId>
-                       <artifactId>openstack4j-core</artifactId>
-                       <version>3.1.0</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.pacesys.openstack4j.connectors</groupId>
-                       <artifactId>openstack4j-httpclient</artifactId>
-                       <version>3.1.0</version>
-               </dependency>
+    <dependency>
+      <groupId>commons-collections</groupId>
+      <artifactId>commons-collections</artifactId>
+      <version>3.2.1</version>
+    </dependency>
 
-               <dependency>
-                       <groupId>commons-collections</groupId>
-                       <artifactId>commons-collections</artifactId>
-                       <version>3.2.1</version>
-               </dependency>
+    <dependency>
+      <groupId>com.typesafe</groupId>
+      <artifactId>config</artifactId>
+      <version>1.3.2</version>
+    </dependency>
+    <dependency>
+      <groupId>com.google.code.findbugs</groupId>
+      <artifactId>jsr305</artifactId>
+      <version>1.3.9</version>
+    </dependency>
 
-               <dependency>
-                       <groupId>com.typesafe</groupId>
-                       <artifactId>config</artifactId>
-                       <version>1.3.2</version>
-               </dependency>
-               <dependency>
-                       <groupId>com.google.code.findbugs</groupId>
-                       <artifactId>jsr305</artifactId>
-                       <version>1.3.9</version>
-               </dependency>
-               
-               <dependency>
-                       <groupId>commons-validator</groupId>
-                       <artifactId>commons-validator</artifactId>
-                       <version>1.4.0</version>
-               </dependency>
+    <dependency>
+      <groupId>commons-validator</groupId>
+      <artifactId>commons-validator</artifactId>
+      <version>1.4.0</version>
+    </dependency>
 
-       <!-- added for unit testing -->
-               <dependency>
-                       <groupId>org.onap.so.adapters</groupId>
-                       <artifactId>mso-adapter-utils</artifactId>
-                       <version>${project.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.so.adapters</groupId>
-                       <artifactId>mso-adapters-rest-interface</artifactId>
-                       <version>${project.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>javax.servlet</groupId>
-                       <artifactId>javax.servlet-api</artifactId>
-                       <scope>test</scope>
-               </dependency>           
-               <dependency>
-                       <groupId>org.mariadb.jdbc</groupId>
-                       <artifactId>mariadb-java-client</artifactId>
-               </dependency>           
-               <dependency>
-                       <groupId>org.onap.so</groupId>
-                       <artifactId>common</artifactId>
-                       <version>${project.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>ch.vorburger.mariaDB4j</groupId>
-                       <artifactId>mariaDB4j</artifactId>
-                       <version>2.2.3</version>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.cloud</groupId>
-                       <artifactId>spring-cloud-contract-wiremock</artifactId>
-                       <version>1.2.4.RELEASE</version>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.so</groupId>
-                       <artifactId>cxf-logging</artifactId>
-                       <version>${project.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.so.libs.openstack-java-sdk</groupId>
-                       <artifactId>nova-model</artifactId>
-                       <version>${openstack.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.camunda.bpm</groupId>
-                       <artifactId>camunda-external-task-client</artifactId>
-                       <version>1.1.1</version>
-               </dependency>   
-       </dependencies>
+    <!-- added for unit testing -->
+    <dependency>
+      <groupId>org.onap.so.adapters</groupId>
+      <artifactId>mso-adapter-utils</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so.adapters</groupId>
+      <artifactId>mso-adapters-rest-interface</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>javax.servlet</groupId>
+      <artifactId>javax.servlet-api</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.mariadb.jdbc</groupId>
+      <artifactId>mariadb-java-client</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so</groupId>
+      <artifactId>common</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>ch.vorburger.mariaDB4j</groupId>
+      <artifactId>mariaDB4j</artifactId>
+      <version>2.2.3</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.cloud</groupId>
+      <artifactId>spring-cloud-contract-wiremock</artifactId>
+      <version>1.2.4.RELEASE</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so</groupId>
+      <artifactId>cxf-logging</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so.libs.openstack-java-sdk</groupId>
+      <artifactId>nova-model</artifactId>
+      <version>${openstack.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.camunda.bpm</groupId>
+      <artifactId>camunda-external-task-client</artifactId>
+      <version>1.1.1</version>
+    </dependency>
+  </dependencies>
 </project>
index 149de0b..0a186cc 100644 (file)
@@ -2,7 +2,6 @@ package org.onap.so.adapters.audit;
 
 import java.io.Serializable;
 import java.net.URI;
-import org.onap.so.client.aai.AAIObjectType;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
 public class AAIObjectAudit implements Serializable {
index d46229a..947c6dd 100644 (file)
@@ -27,14 +27,11 @@ import java.util.Map;
 import java.util.Optional;
 import org.camunda.bpm.client.task.ExternalTask;
 import org.camunda.bpm.client.task.ExternalTaskService;
-import org.onap.logging.ref.slf4j.ONAPLogConstants;
 import org.onap.so.audit.beans.AuditInventory;
 import org.onap.so.client.graphinventory.GraphInventoryCommonObjectMapperProvider;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.slf4j.MDC;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
 import org.springframework.core.env.Environment;
 import org.springframework.stereotype.Component;
 
@@ -47,7 +44,7 @@ public class AuditCreateStackService extends AbstractAuditService {
     public HeatStackAudit heatStackAudit;
 
     @Autowired
-    public Environment env;
+    public Environment environment;
 
     protected void executeExternalTask(ExternalTask externalTask, ExternalTaskService externalTaskService) {
         AuditInventory auditInventory = externalTask.getVariable("auditInventory");
index aca6e9e..048e6db 100644 (file)
@@ -25,12 +25,10 @@ import java.util.Map;
 import java.util.Optional;
 import org.camunda.bpm.client.task.ExternalTask;
 import org.camunda.bpm.client.task.ExternalTaskService;
-import org.onap.logging.ref.slf4j.ONAPLogConstants;
 import org.onap.so.audit.beans.AuditInventory;
 import org.onap.so.client.graphinventory.GraphInventoryCommonObjectMapperProvider;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.slf4j.MDC;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.core.env.Environment;
 import org.springframework.stereotype.Component;
@@ -44,7 +42,7 @@ public class AuditDeleteStackService extends AbstractAuditService {
     public HeatStackAudit heatStackAudit;
 
     @Autowired
-    public Environment env;
+    public Environment environment;
 
     protected void executeExternalTask(ExternalTask externalTask, ExternalTaskService externalTaskService) {
         AuditInventory auditInventory = externalTask.getVariable("auditInventory");
index 8559fe5..5ca045d 100644 (file)
@@ -91,8 +91,6 @@ public class AuditVServer extends AbstractAudit {
             lInterfaceAudit.setDoesObjectExist(true);
             lInterface.setInterfaceName(lInterface.getInterfaceName());
         }
-        LInterface lInterfaceShallow = new LInterface();
-        BeanUtils.copyProperties(lInterface, lInterfaceShallow, "LInterfaces");
         lInterfaceAudit.setAaiObject(lInterface);
         lInterfaceAudit.setResourceURI(linterfaceURI.build());
         lInterfaceAudit.setAaiObjectType(AAIObjectType.L_INTERFACE.typeName());
index 5c0d2d3..889f6fe 100644 (file)
@@ -54,6 +54,8 @@ public class HeatStackAudit {
 
     protected static final Logger logger = LoggerFactory.getLogger(HeatStackAudit.class);
 
+    private static final String EXCEPTION_MSG = "Error finding Path from Self Link";
+
     @Autowired
     protected MsoHeatUtils heat;
 
@@ -110,10 +112,10 @@ public class HeatStackAudit {
                     processNestedResourceGroup(cloudRegion, tenantId, vServersWithLInterface,
                             nestedResourceGroupResources);
                 } else
-                    throw new Exception("Error finding Path from Self Link");
+                    throw new Exception(EXCEPTION_MSG);
             } catch (Exception e) {
                 logger.error("Error Parsing Link to obtain Path", e);
-                throw new Exception("Error finding Path from Self Link");
+                throw new Exception(EXCEPTION_MSG);
             }
         }
     }
@@ -143,7 +145,7 @@ public class HeatStackAudit {
                 addSubInterfaceToVserver(vServersWithLInterface, subinterfaceStack, subinterfaceResources);
             }
         } else
-            throw new Exception("Error finding Path from Self Link");
+            throw new Exception(EXCEPTION_MSG);
 
     }
 
index 4453071..608832f 100644 (file)
@@ -22,7 +22,6 @@ package org.onap.so.adapters.inventory.create;
 
 import java.util.Optional;
 import java.util.stream.Stream;
-import org.onap.aai.domain.yang.LInterface;
 import org.onap.so.adapters.audit.AAIObjectAudit;
 import org.onap.so.adapters.audit.AAIObjectAuditList;
 import org.onap.so.client.aai.AAIObjectType;
index add3aac..8d0c2bd 100644 (file)
@@ -30,7 +30,6 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.slf4j.MDC;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
 import org.springframework.core.env.Environment;
 import org.springframework.stereotype.Component;
 
index 0c55bd6..25667ef 100644 (file)
@@ -66,7 +66,7 @@ public class ContrailSubnet {
     private List<ContrailSubnetPool> allocationPools = new ArrayList<>();
 
     @JsonProperty("network_ipam_refs_data_ipam_subnets_host_routes")
-    private final ContrailSubnetHostRoutes host_routes = new ContrailSubnetHostRoutes();
+    private final ContrailSubnetHostRoutes hostRoutes = new ContrailSubnetHostRoutes();
 
     public ContrailSubnet() {
         super();
@@ -173,7 +173,7 @@ public class ContrailSubnet {
                 }
             }
             if (inputSubnet.getHostRoutes() != null) {
-                List<ContrailSubnetHostRoute> hrList = host_routes.getHost_routes();
+                List<ContrailSubnetHostRoute> hrList = hostRoutes.getHostRoutes();
                 for (HostRoute hr : inputSubnet.getHostRoutes()) {
                     if (!msoCommonUtils.isNullOrEmpty(hr.getPrefix())
                             || !msoCommonUtils.isNullOrEmpty(hr.getNextHop())) {
index 76881bd..0802194 100644 (file)
@@ -29,23 +29,23 @@ import com.fasterxml.jackson.annotation.JsonProperty;
 public class ContrailSubnetHostRoutes {
 
     @JsonProperty("network_ipam_refs_data_ipam_subnets_host_routes_route")
-    private List<ContrailSubnetHostRoute> host_routes = new ArrayList<ContrailSubnetHostRoute>();
+    private List<ContrailSubnetHostRoute> hostRoutes = new ArrayList<>();
 
     public ContrailSubnetHostRoutes() {}
 
-    public List<ContrailSubnetHostRoute> getHost_routes() {
-        return host_routes;
+    public List<ContrailSubnetHostRoute> getHostRoutes() {
+        return hostRoutes;
     }
 
-    public void setHost_routes(List<ContrailSubnetHostRoute> host_routes) {
-        this.host_routes = host_routes;
+    public void setHostRoutes(List<ContrailSubnetHostRoute> hostRoutes) {
+        this.hostRoutes = hostRoutes;
     }
 
     @Override
     public String toString() {
         StringBuilder buf = new StringBuilder();
-        if (host_routes != null) {
-            for (ContrailSubnetHostRoute hr : host_routes) {
+        if (hostRoutes != null) {
+            for (ContrailSubnetHostRoute hr : hostRoutes) {
                 buf.append(hr.toString());
             }
         }
index 4753b1c..d042c9e 100644 (file)
@@ -71,6 +71,7 @@ public class MsoNetworkAdapterAsyncImpl implements MsoNetworkAdapterAsync {
     private static final String NETWORK_EXCEPTION_MSG = "Got a NetworkException on createNetwork: ";
     private static final String CREATE_NETWORK_ERROR_LOGMSG = "{} {} Error sending createNetwork notification {} ";
     private static final String FAULT_INFO_ERROR_LOGMSG = "{} {} Exception - fault info ";
+    private static final String SHARED = "shared";
 
     @Autowired
     private Environment environment;
@@ -127,11 +128,11 @@ public class MsoNetworkAdapterAsyncImpl implements MsoNetworkAdapterAsync {
 
         HashMap<String, String> params = (HashMap<String, String>) networkParams;
         if (params == null)
-            params = new HashMap<String, String>();
+            params = new HashMap<>();
         String shared = null;
         String external = null;
-        if (params.containsKey("shared"))
-            shared = params.get("shared");
+        if (params.containsKey(SHARED))
+            shared = params.get(SHARED);
         if (params.containsKey("external"))
             external = params.get("external");
 
@@ -211,11 +212,11 @@ public class MsoNetworkAdapterAsyncImpl implements MsoNetworkAdapterAsync {
 
         HashMap<String, String> params = (HashMap<String, String>) networkParams;
         if (params == null)
-            params = new HashMap<String, String>();
+            params = new HashMap<>();
         String shared = null;
         String external = null;
-        if (params.containsKey("shared"))
-            shared = params.get("shared");
+        if (params.containsKey(SHARED))
+            shared = params.get(SHARED);
         if (params.containsKey("external"))
             external = params.get("external");
 
index a79a619..029da43 100644 (file)
@@ -88,7 +88,6 @@ public class MsoNetworkAdapterImpl implements MsoNetworkAdapter {
     private static final String NETWORK_ID = "network_id";
     private static final String NETWORK_FQDN = "network_fqdn";
     private static final String CREATE_NETWORK_CONTEXT = "CreateNetwork";
-    private static final String MSO_CONFIGURATION_ERROR = "MsoConfigurationError";
     private static final String NEUTRON_MODE = "NEUTRON";
 
     private static final Logger logger = LoggerFactory.getLogger(MsoNetworkAdapterImpl.class);
@@ -115,6 +114,8 @@ public class MsoNetworkAdapterImpl implements MsoNetworkAdapter {
     @Autowired
     private NetworkResourceRepository networkResourceRepo;
 
+    public MsoNetworkAdapterImpl() {}
+
     /**
      * Health Check web method. Does nothing but return to show the adapter is deployed.
      */
@@ -128,7 +129,6 @@ public class MsoNetworkAdapterImpl implements MsoNetworkAdapter {
      *
      * @see MsoNetworkAdapterImpl#MsoNetworkAdapterImpl(MsoPropertiesFactory)
      */
-    public MsoNetworkAdapterImpl() {}
 
     @Override
     public void createNetwork(String cloudSiteId, String tenantId, String networkType, String modelCustomizationUuid,
index d3faf1d..9726197 100644 (file)
@@ -44,15 +44,4 @@ public class HeatBridgeUtils {
         }
         return Optional.empty();
     }
-
-    public static Optional<String> getMatchingPhysicalNetworkName(final String pserverPinterfaceName) {
-        if (pserverPinterfaceName.contains(COMPUTE_SIDE_DEDICATED_SRIOV_PREFIX)) {
-            return Optional.of(
-                    pserverPinterfaceName.replace(COMPUTE_SIDE_DEDICATED_SRIOV_PREFIX, OS_SIDE_DEDICATED_SRIOV_PREFIX));
-        } else if (pserverPinterfaceName.contains(COMPUTE_SIDE_SHARED_SRIOV_PREFIX)) {
-            return Optional
-                    .of(pserverPinterfaceName.replace(COMPUTE_SIDE_SHARED_SRIOV_PREFIX, OS_SIDE_SHARED_SRIOV_PREFIX));
-        }
-        return Optional.empty();
-    }
 }
index eb8912f..830d94c 100644 (file)
@@ -27,8 +27,8 @@ public class ContrailSubnetHostRoutesTest {
 
     @Test
     public void testContrailSubnetHostRoutes() {
-        cshr.setHost_routes(host_routes);
-        assertEquals(cshr.getHost_routes(), host_routes);
+        cshr.setHostRoutes(host_routes);
+        assertEquals(cshr.getHostRoutes(), host_routes);
         assert (cshr.toString() != null);
     }
 }
index 9d13cc1..5f20575 100644 (file)
@@ -24,6 +24,7 @@ import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
 import static com.github.tomakehurst.wiremock.client.WireMock.delete;
 import static com.github.tomakehurst.wiremock.client.WireMock.get;
 import static com.github.tomakehurst.wiremock.client.WireMock.post;
+import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo;
 import static com.github.tomakehurst.wiremock.client.WireMock.urlPathEqualTo;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
@@ -138,9 +139,9 @@ public class MsoVnfMulticloudAdapterImplTest extends BaseRestTestUtils {
         msoRequest.setServiceInstanceId("12345");
 
         wireMockServer.stubFor(
-                get(urlPathEqualTo("/api/multicloud/v1/CloudOwner/MTN13/infra_workload/vfname")).willReturn(aResponse()
+                get(urlEqualTo("/api/multicloud/v1/CloudOwner/MTN13/infra_workload?name=vfname")).willReturn(aResponse()
                         // .withHeader()
-                        .withBodyFile("MulticloudResponse_Stack.json").withStatus(HttpStatus.SC_OK)));
+                        .withBodyFile("MulticloudGetStackExists.json").withStatus(HttpStatus.SC_OK)));
 
         try {
             instance.createVfModule("MTN13", "CloudOwner", "123", "vf", "v1", "genericVnfId", "vfname", "vfModuleId",
diff --git a/adapters/mso-openstack-adapters/src/test/java/org/onap/so/heatbridge/factory/MsoCloudClientFactoryImplTest.java b/adapters/mso-openstack-adapters/src/test/java/org/onap/so/heatbridge/factory/MsoCloudClientFactoryImplTest.java
new file mode 100644 (file)
index 0000000..701ed65
--- /dev/null
@@ -0,0 +1,71 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2019 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.heatbridge.factory;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import org.junit.Before;
+import org.junit.Test;
+import org.onap.so.heatbridge.HeatBridgeException;
+import org.onap.so.heatbridge.openstack.api.OpenstackAccess;
+import org.onap.so.heatbridge.openstack.factory.OpenstackClientFactory;
+import org.onap.so.utils.CryptoUtils;
+
+public class MsoCloudClientFactoryImplTest {
+
+    private static final String URL_V2 = "http://localhost:8080/v2.0";
+    private static final String URL_V3 = "http://localhost:8080/v3";
+    private static final String URL_WITH_UNSUPPORTED_VERSION = "http://localhost:8080/v4";
+
+    private static final String MSO_ID = "testMsoId";
+    private static final String ENCRYPTED_PASSWORD = CryptoUtils.encryptCloudConfigPassword("testPassword");
+    private static final String CLOUD_REGION_ID = "testCloudRegionId";
+    private static final String TENANT_ID = "testTenantId";
+
+    private MsoCloudClientFactoryImpl testedObject;
+    private OpenstackClientFactory openstackClientFactoryMock;
+
+    @Before
+    public void setup() {
+        openstackClientFactoryMock = mock(OpenstackClientFactory.class);
+        testedObject = new MsoCloudClientFactoryImpl(openstackClientFactoryMock);
+    }
+
+    @Test
+    public void getOpenstackClientWithVersion2() throws Exception {
+        testedObject.getOpenstackClient(URL_V2, MSO_ID, ENCRYPTED_PASSWORD, CLOUD_REGION_ID, TENANT_ID);
+        verify(openstackClientFactoryMock).createOpenstackV2Client(any(OpenstackAccess.class));
+    }
+
+    @Test
+    public void getOpenstackClientWithVersion3() throws Exception {
+        testedObject.getOpenstackClient(URL_V3, MSO_ID, ENCRYPTED_PASSWORD, CLOUD_REGION_ID, TENANT_ID);
+        verify(openstackClientFactoryMock).createOpenstackV3Client(any(OpenstackAccess.class));
+    }
+
+    @Test(expected = HeatBridgeException.class)
+    public void getOpenstackClient_unsupportedVersion() throws Exception {
+        testedObject.getOpenstackClient(URL_WITH_UNSUPPORTED_VERSION, MSO_ID, ENCRYPTED_PASSWORD, CLOUD_REGION_ID,
+                TENANT_ID);
+    }
+
+}
diff --git a/adapters/mso-openstack-adapters/src/test/java/org/onap/so/heatbridge/utils/HeatBridgeUtilsTest.java b/adapters/mso-openstack-adapters/src/test/java/org/onap/so/heatbridge/utils/HeatBridgeUtilsTest.java
new file mode 100644 (file)
index 0000000..bbc99bd
--- /dev/null
@@ -0,0 +1,31 @@
+package org.onap.so.heatbridge.utils;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import java.util.Optional;
+import org.junit.Test;
+
+public class HeatBridgeUtilsTest {
+
+    @Test(expected = IllegalStateException.class)
+    public void matchServerName_canNotBeNull() {
+        HeatBridgeUtils.getMatchingPserverPifName(null);
+    }
+
+    @Test
+    public void matchServerName_isDedicated() {
+        Optional<String> serverName = HeatBridgeUtils.getMatchingPserverPifName("dedicated-testServer");
+        assertThat(serverName).isNotEmpty().hasValue("sriov-d-testServer");
+    }
+
+    @Test
+    public void matchServerName_isShared() {
+        Optional<String> serverName = HeatBridgeUtils.getMatchingPserverPifName("shared-testServer");
+        assertThat(serverName).isNotEmpty().hasValue("sriov-s-testServer");
+    }
+
+    @Test
+    public void matchServerName_unknown() {
+        Optional<String> serverName = HeatBridgeUtils.getMatchingPserverPifName("differentServerName");
+        assertThat(serverName).isEmpty();
+    }
+}
diff --git a/adapters/mso-openstack-adapters/src/test/resources/__files/MulticloudGetStackExists.json b/adapters/mso-openstack-adapters/src/test/resources/__files/MulticloudGetStackExists.json
new file mode 100644 (file)
index 0000000..41a9959
--- /dev/null
@@ -0,0 +1,34 @@
+{
+    "template_type": "heat",
+    "workload_id": "vfname",
+    "workload_status": "GET_COMPLETE",
+    "workload_status_reason": {
+        "stacks": [
+            {
+                "id": "vfname",
+                "links" : [
+                    {
+                        "href" : "port",
+                        "rel" : "self"
+                    }
+                ],
+                "stack_name": "vfname",
+                "stack_status": "CREATE_COMPLETE",
+                "creation_time": "2019-03-21T03:17:32Z",
+                "description": "Sample stack response",
+                "stack_owner": "stack_Owner",
+                "capabilities": [],
+                "parameters": {
+                    "OS::project_id": "0e148b76ee8c42f78d37013bf6b7b1ae",
+                    "apt_proxy": "10.12.5.2:8000",
+                    "etcd_vm_flavor": "m1.medium",
+                    "docker_version": "17.03.2",
+                    "portal_hostname": "portal.api.simpledemo.onap.org",
+                    "docker_proxy": "10.12.5.2:5000",
+                    "kubectl_version": "1.11.5",
+                    "use_ramdisk": "false"
+                }
+            }
+        ]
+    }
+}
index 29a81e8..dbb3469 100644 (file)
@@ -280,6 +280,7 @@ DROP TABLE IF EXISTS `configuration_customization`;
 /*!40101 SET @saved_cs_client     = @@character_set_client */;
 /*!40101 SET character_set_client = utf8 */;
 CREATE TABLE `configuration_customization` (
+  `ID` int(11) NOT NULL AUTO_INCREMENT,
   `MODEL_CUSTOMIZATION_UUID` varchar(200) NOT NULL,
   `MODEL_INSTANCE_NAME` varchar(200) NOT NULL,
   `CONFIGURATION_TYPE` varchar(200) DEFAULT NULL,
@@ -288,27 +289,18 @@ CREATE TABLE `configuration_customization` (
   `CREATION_TIMESTAMP` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
   `CONFIGURATION_MODEL_UUID` varchar(200) NOT NULL,
   `SERVICE_PROXY_CUSTOMIZATION_MODEL_CUSTOMIZATION_UUID` varchar(200) DEFAULT NULL,
-  `CONFIGURATION_CUSTOMIZATION_MODEL_CUSTOMIZATION_UUID` varchar(200) DEFAULT NULL,
-  PRIMARY KEY (`MODEL_CUSTOMIZATION_UUID`),
-  KEY `fk_configuration_customization__configuration_idx` (`CONFIGURATION_MODEL_UUID`),
-  KEY `fk_configuration_customization__service_proxy_customization_idx` (`SERVICE_PROXY_CUSTOMIZATION_MODEL_CUSTOMIZATION_UUID`),
-  KEY `fk_configuration_customization__configuration_customization_idx` (`CONFIGURATION_CUSTOMIZATION_MODEL_CUSTOMIZATION_UUID`),
-  CONSTRAINT `fk_configuration_customization__configuration_customization1` FOREIGN KEY (`CONFIGURATION_CUSTOMIZATION_MODEL_CUSTOMIZATION_UUID`) REFERENCES `configuration_customization` (`MODEL_CUSTOMIZATION_UUID`) ON DELETE CASCADE ON UPDATE CASCADE,
-  CONSTRAINT `fk_configuration_resource_customization__configuration_resour1` FOREIGN KEY (`CONFIGURATION_MODEL_UUID`) REFERENCES `configuration` (`MODEL_UUID`) ON DELETE CASCADE ON UPDATE CASCADE
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Table structure for table `configuration_customization_to_service`
---
-
-DROP TABLE IF EXISTS `configuration_customization_to_service`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `configuration_customization_to_service` (
-  `SERVICE_MODEL_UUID` varchar(200) NOT NULL,
-  `RESOURCE_MODEL_CUSTOMIZATION_UUID` varchar(200) NOT NULL,
-  PRIMARY KEY (`SERVICE_MODEL_UUID`,`RESOURCE_MODEL_CUSTOMIZATION_UUID`)
+  `CONFIGURATION_CUSTOMIZATION_MODEL_CUSTOMIZATION_ID` int(11) DEFAULT NULL,
+  `SERVICE_MODEL_UUID` varchar(200),
+   PRIMARY KEY (`ID`),
+   KEY `fk_configuration_customization__configuration_idx` (`CONFIGURATION_MODEL_UUID`),
+   KEY `fk_configuration_customization__service_idx` (`SERVICE_MODEL_UUID`),
+   UNIQUE KEY `uk_configuration_customization`  (`MODEL_CUSTOMIZATION_UUID` ASC, `SERVICE_MODEL_UUID` ASC),
+   CONSTRAINT `fk_configuration_customization__configuration1` FOREIGN KEY (`CONFIGURATION_MODEL_UUID`)
+        REFERENCES `configuration` (`MODEL_UUID`)
+        ON DELETE CASCADE ON UPDATE CASCADE,
+   CONSTRAINT `fk_configuration_customization__service1` FOREIGN KEY (`SERVICE_MODEL_UUID`)
+        REFERENCES `service` (`MODEL_UUID`)
+        ON DELETE CASCADE ON UPDATE CASCADE
 ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
 /*!40101 SET character_set_client = @saved_cs_client */;
 
index 4be3935..a02ebbe 100644 (file)
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-       <modelVersion>4.0.0</modelVersion>
-       <parent>
-               <groupId>org.onap.so</groupId>
-               <artifactId>adapters</artifactId>
-               <version>1.4.0-SNAPSHOT</version>
-       </parent>
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.onap.so</groupId>
+    <artifactId>adapters</artifactId>
+    <version>1.4.0-SNAPSHOT</version>
+  </parent>
 
-       <groupId>org.onap.so.adapters</groupId>
-       <artifactId>mso-requests-db-adapter</artifactId>
-       <dependencies>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-actuator</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-web</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-jdbc</artifactId>                       
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.cxf</groupId>
-                       <artifactId>cxf-spring-boot-starter-jaxws</artifactId>
-                       <version>${cxf.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.cxf</groupId>
-                       <artifactId>cxf-spring-boot-starter-jaxrs</artifactId>
-                       <version>${cxf.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.cxf</groupId>
-                       <artifactId>cxf-rt-rs-service-description-swagger</artifactId>
-                       <version>${cxf.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-test</artifactId>
-                       <scope>test</scope>
-               </dependency>           
-               <dependency>
-                       <groupId>org.mariadb.jdbc</groupId>
-                       <artifactId>mariadb-java-client</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.so</groupId>
-                       <artifactId>mso-requests-db</artifactId>
-                       <version>${project.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.so</groupId>
-                       <artifactId>mso-requests-db-repositories</artifactId>
-                       <version>${project.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-data-jpa</artifactId>
-                       <exclusions>
-                       <exclusion>
-                           <groupId>org.apache.tomcat</groupId>
-                           <artifactId>tomcat-jdbc</artifactId>
-                        </exclusion>
-               </exclusions>
-                       <optional>true</optional>
-               </dependency>
-               <dependency>
-                       <groupId>ch.vorburger.mariaDB4j</groupId>
-                       <artifactId>mariaDB4j</artifactId>
-                       <version>2.2.3</version>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-configuration-processor</artifactId>
-                       <optional>true</optional>
-               </dependency>
-               <dependency>
-                       <groupId>org.flywaydb</groupId>
-                       <artifactId>flyway-core</artifactId>
-                       <optional>true</optional>
-               </dependency>
-               <dependency>
-                       <groupId>net.javacrumbs.shedlock</groupId>
-                       <artifactId>shedlock-spring</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>net.javacrumbs.shedlock</groupId>
-                       <artifactId>shedlock-provider-jdbc-template</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>io.micrometer</groupId>
-                       <artifactId>micrometer-core</artifactId>                        
-               </dependency>
-               <dependency>
-                       <groupId>io.micrometer</groupId>
-                       <artifactId>micrometer-registry-prometheus</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-data-rest</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.so</groupId>
-                       <artifactId>cxf-logging</artifactId>
-                       <version>${project.version}</version>
-               </dependency>
-       </dependencies>
+  <groupId>org.onap.so.adapters</groupId>
+  <artifactId>mso-requests-db-adapter</artifactId>
+  <dependencies>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-actuator</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-web</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-jdbc</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-spring-boot-starter-jaxws</artifactId>
+      <version>${cxf.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-spring-boot-starter-jaxrs</artifactId>
+      <version>${cxf.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-rt-rs-service-description-swagger</artifactId>
+      <version>${cxf.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-test</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.mariadb.jdbc</groupId>
+      <artifactId>mariadb-java-client</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so</groupId>
+      <artifactId>mso-requests-db</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so</groupId>
+      <artifactId>mso-requests-db-repositories</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-data-jpa</artifactId>
+      <exclusions>
+        <exclusion>
+          <groupId>org.apache.tomcat</groupId>
+          <artifactId>tomcat-jdbc</artifactId>
+        </exclusion>
+      </exclusions>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>ch.vorburger.mariaDB4j</groupId>
+      <artifactId>mariaDB4j</artifactId>
+      <version>2.2.3</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-configuration-processor</artifactId>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>org.flywaydb</groupId>
+      <artifactId>flyway-core</artifactId>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>net.javacrumbs.shedlock</groupId>
+      <artifactId>shedlock-spring</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>net.javacrumbs.shedlock</groupId>
+      <artifactId>shedlock-provider-jdbc-template</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>io.micrometer</groupId>
+      <artifactId>micrometer-core</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>io.micrometer</groupId>
+      <artifactId>micrometer-registry-prometheus</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-data-rest</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so</groupId>
+      <artifactId>cxf-logging</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+  </dependencies>
 
-       <build>
-               <finalName>${project.artifactId}-${project.version}</finalName>
-               <plugins>
-                       <plugin>
-                               <groupId>org.apache.cxf</groupId>
-                               <artifactId>cxf-java2ws-plugin</artifactId>
-                               <version>${cxf.version}</version>
-                               <dependencies>
-                                       <dependency>
-                                               <groupId>org.apache.cxf</groupId>
-                                               <artifactId>cxf-rt-frontend-jaxws</artifactId>
-                                               <version>${cxf.version}</version>
-                                       </dependency>
-                                       <dependency>
-                                               <groupId>org.apache.cxf</groupId>
-                                               <artifactId>cxf-rt-frontend-simple</artifactId>
-                                               <version>${cxf.version}</version>
-                                       </dependency>
-                               </dependencies>
-                               <executions>
-                                       <execution>
-                                               <id>process-classes</id>
-                                               <phase>process-classes</phase>
-                                               <configuration>
-                                                       <className>org.onap.so.adapters.requestsdb.MsoRequestsDbAdapter</className>
-                                                       <genWsdl>true</genWsdl>
-                                                       <verbose>true</verbose>
-                                               </configuration>
-                                               <goals>
-                                                       <goal>java2ws</goal>
-                                               </goals>
-                                       </execution>
-                               </executions>
-                       </plugin>
-                       <plugin>
-                               <groupId>org.jacoco</groupId>
-                               <artifactId>jacoco-maven-plugin</artifactId>
-                       </plugin>
-                       <plugin>
-                               <groupId>org.springframework.boot</groupId>
-                               <artifactId>spring-boot-maven-plugin</artifactId>
-                               <version>${springboot.version}</version>
-                               <configuration>
-                                       <mainClass>org.onap.so.adapters.requestsdb.application.MSORequestDBApplication</mainClass>
-                               </configuration>
-                               <executions>
-                                       <execution>
-                                               <goals>
-                                                       <goal>repackage</goal>
-                                               </goals>
-                                       </execution>
-                               </executions>
-                       </plugin>
-                       <plugin>
-                               <groupId>org.apache.maven.plugins</groupId>
-                               <artifactId>maven-jar-plugin</artifactId>
-                               <executions>
-                                       <execution>
-                                               <id>original</id>
-                                       </execution>
-                               </executions>
-                       </plugin>
-                       <plugin>
-                               <groupId>org.apache.maven.plugins</groupId>
-                               <artifactId>maven-dependency-plugin</artifactId>
-                               <executions>
-                                       <execution>
-                                               <id>extract-docker-file</id>
-                                       </execution>
-                               </executions>
-                       </plugin>
-                       <plugin>
-                               <groupId>io.fabric8</groupId>
-                               <artifactId>fabric8-maven-plugin</artifactId>
-                               <executions>
-                                       <execution>
-                                               <id>start</id>
-                                       </execution>
-                               </executions>
-                       </plugin>
-                       <plugin>
-                               <groupId>org.apache.maven.plugins</groupId>
-                               <artifactId>maven-surefire-plugin</artifactId>
-                               <executions>
-                                       <execution>
-                                               <id>default-test</id>
-                                               <goals>
-                                                       <goal>test</goal>
-                                               </goals>
-                                               <configuration>
-                                                       <includes>
-                                                               <include>**/AllTestsTestSuite.java</include>
-                                                       </includes>
-                                                       <parallel>suites</parallel>
-                                               </configuration>
-                                       </execution>
-                               </executions>
-                       </plugin>
-               </plugins>
-               <pluginManagement>
-                       <plugins>
-                               <!--This plugin's configuration is used to store Eclipse m2e settings 
+  <build>
+    <finalName>${project.artifactId}-${project.version}</finalName>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.cxf</groupId>
+        <artifactId>cxf-java2ws-plugin</artifactId>
+        <version>${cxf.version}</version>
+        <dependencies>
+          <dependency>
+            <groupId>org.apache.cxf</groupId>
+            <artifactId>cxf-rt-frontend-jaxws</artifactId>
+            <version>${cxf.version}</version>
+          </dependency>
+          <dependency>
+            <groupId>org.apache.cxf</groupId>
+            <artifactId>cxf-rt-frontend-simple</artifactId>
+            <version>${cxf.version}</version>
+          </dependency>
+        </dependencies>
+        <executions>
+          <execution>
+            <id>process-classes</id>
+            <phase>process-classes</phase>
+            <configuration>
+              <className>org.onap.so.adapters.requestsdb.MsoRequestsDbAdapter</className>
+              <genWsdl>true</genWsdl>
+              <verbose>true</verbose>
+            </configuration>
+            <goals>
+              <goal>java2ws</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.jacoco</groupId>
+        <artifactId>jacoco-maven-plugin</artifactId>
+      </plugin>
+      <plugin>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-maven-plugin</artifactId>
+        <version>${springboot.version}</version>
+        <configuration>
+          <mainClass>org.onap.so.adapters.requestsdb.application.MSORequestDBApplication</mainClass>
+        </configuration>
+        <executions>
+          <execution>
+            <goals>
+              <goal>repackage</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>original</id>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-dependency-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>extract-docker-file</id>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>io.fabric8</groupId>
+        <artifactId>fabric8-maven-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>start</id>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>default-test</id>
+            <goals>
+              <goal>test</goal>
+            </goals>
+            <configuration>
+              <includes>
+                <include>**/AllTestsTestSuite.java</include>
+              </includes>
+              <parallel>suites</parallel>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+    <pluginManagement>
+      <plugins>
+        <!--This plugin's configuration is used to store Eclipse m2e settings 
                                        only. It has no influence on the Maven build itself. -->
-                               <plugin>
-                                       <groupId>org.eclipse.m2e</groupId>
-                                       <artifactId>lifecycle-mapping</artifactId>
-                                       <version>1.0.0</version>
-                                       <configuration>
-                                               <lifecycleMappingMetadata>
-                                                       <pluginExecutions>
-                                                               <pluginExecution>
-                                                                       <pluginExecutionFilter>
-                                                                               <groupId>
+        <plugin>
+          <groupId>org.eclipse.m2e</groupId>
+          <artifactId>lifecycle-mapping</artifactId>
+          <version>1.0.0</version>
+          <configuration>
+            <lifecycleMappingMetadata>
+              <pluginExecutions>
+                <pluginExecution>
+                  <pluginExecutionFilter>
+                    <groupId>
                                                                                        org.apache.cxf
                                                                                </groupId>
-                                                                               <artifactId>
+                    <artifactId>
                                                                                        cxf-java2ws-plugin
                                                                                </artifactId>
-                                                                               <versionRange>
+                    <versionRange>
                                                                                        [3.2.5,)
                                                                                </versionRange>
-                                                                               <goals>
-                                                                                       <goal>java2ws</goal>
-                                                                               </goals>
-                                                                       </pluginExecutionFilter>
-                                                                       <action>
-                                                                               <ignore></ignore>
-                                                                       </action>
-                                                               </pluginExecution>
-                                                       </pluginExecutions>
-                                               </lifecycleMappingMetadata>
-                                       </configuration>
-                               </plugin>
-                       </plugins>
-               </pluginManagement>
-       </build>
+                    <goals>
+                      <goal>java2ws</goal>
+                    </goals>
+                  </pluginExecutionFilter>
+                  <action>
+                    <ignore>
+                    </ignore>
+                  </action>
+                </pluginExecution>
+              </pluginExecutions>
+            </lifecycleMappingMetadata>
+          </configuration>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+  </build>
 </project>
index 7f03879..fc577a5 100644 (file)
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-       <modelVersion>4.0.0</modelVersion>
-       <parent>
-               <groupId>org.onap.so</groupId>
-               <artifactId>adapters</artifactId>
-               <version>1.4.0-SNAPSHOT</version>
-       </parent>
-       <artifactId>mso-sdnc-adapter</artifactId>
-       <properties>
-               <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-               <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-       </properties>
-       <name>mso-sdnc-adapter</name>
-       <description>mso sdnc adapter</description>
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.onap.so</groupId>
+    <artifactId>adapters</artifactId>
+    <version>1.4.0-SNAPSHOT</version>
+  </parent>
+  <artifactId>mso-sdnc-adapter</artifactId>
+  <properties>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+  </properties>
+  <name>mso-sdnc-adapter</name>
+  <description>mso sdnc adapter</description>
 
-       <build>
-               <finalName>${project.artifactId}-${project.version}</finalName>
-               <plugins>
-                       <plugin>
-                               <groupId>org.apache.cxf</groupId>
-                               <artifactId>cxf-codegen-plugin</artifactId>
-                               <version>2.5.2</version>
-                       </plugin>
-                       <plugin>
-                               <groupId>org.springframework.boot</groupId>
-                               <artifactId>spring-boot-maven-plugin</artifactId>
-                               <configuration>
-                    <mainClass>org.onap.so.adapters.sdnc.SDNCAdapterApplication</mainClass>
-                </configuration>
-                               <executions>
-                                       <execution>
-                                               <goals>
-                                                       <goal>repackage</goal>
-                                               </goals>
-                                       </execution>
-                               </executions>
-                       </plugin>
-                       <plugin>
-                               <groupId>org.apache.maven.plugins</groupId>
-                               <artifactId>maven-jar-plugin</artifactId>
-                               <executions>                                    
-                                       <execution>
-                                               <id>original</id>
-                                       </execution>
-                               </executions>
-                       </plugin>
-                       <plugin>
-                               <groupId>org.jacoco</groupId>
-                               <artifactId>jacoco-maven-plugin</artifactId>
-                       </plugin>
-                       <plugin>
-                               <groupId>org.apache.maven.plugins</groupId>
-                               <artifactId>maven-dependency-plugin</artifactId>
-                               <executions>
-                                       <execution>
-                                               <id>extract-docker-file</id>
-                                       </execution>
-                               </executions>
-                       </plugin>
-                       <plugin>
-                               <groupId>io.fabric8</groupId>
-                               <artifactId>fabric8-maven-plugin</artifactId>
-                               <executions>
-                                       <execution>
-                                               <id>start</id>
-                                       </execution>
-                               </executions>
-                       </plugin>
-                       <plugin>
-                               <groupId>org.apache.maven.plugins</groupId>
-                               <artifactId>maven-surefire-plugin</artifactId>
-                               <executions>
-                                       <execution>
-                                               <id>default-test</id>
-                                               <goals>
-                                                       <goal>test</goal>
-                                               </goals>
-                                               <configuration>
-                                                       <includes>
-                                                               <include>**/AllTestsTestSuite.java</include>
-                                                       </includes>
-                                                       <parallel>suites</parallel>
-                                               </configuration>
-                                       </execution>
-                               </executions>
-                       </plugin>
-               </plugins>
-       </build>
-       <dependencyManagement>
-               <dependencies>
-                       <dependency>
-                               <!-- Import dependency management from Spring Boot -->
-                               <groupId>org.springframework.boot</groupId>
-                               <artifactId>spring-boot-dependencies</artifactId>
-                               <version>${springboot.version}</version>
-                               <type>pom</type>
-                               <scope>import</scope>
-                       </dependency>
-               </dependencies>
-       </dependencyManagement>
+  <build>
+    <finalName>${project.artifactId}-${project.version}</finalName>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.cxf</groupId>
+        <artifactId>cxf-codegen-plugin</artifactId>
+        <version>2.5.2</version>
+      </plugin>
+      <plugin>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-maven-plugin</artifactId>
+        <configuration>
+          <mainClass>org.onap.so.adapters.sdnc.SDNCAdapterApplication</mainClass>
+        </configuration>
+        <executions>
+          <execution>
+            <goals>
+              <goal>repackage</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>original</id>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.jacoco</groupId>
+        <artifactId>jacoco-maven-plugin</artifactId>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-dependency-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>extract-docker-file</id>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>io.fabric8</groupId>
+        <artifactId>fabric8-maven-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>start</id>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>default-test</id>
+            <goals>
+              <goal>test</goal>
+            </goals>
+            <configuration>
+              <includes>
+                <include>**/AllTestsTestSuite.java</include>
+              </includes>
+              <parallel>suites</parallel>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+  <dependencyManagement>
+    <dependencies>
+      <dependency>
+        <!-- Import dependency management from Spring Boot -->
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-dependencies</artifactId>
+        <version>${springboot.version}</version>
+        <type>pom</type>
+        <scope>import</scope>
+      </dependency>
+    </dependencies>
+  </dependencyManagement>
 
-       <dependencies>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-web</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>io.swagger</groupId>
-                       <artifactId>swagger-jersey2-jaxrs</artifactId>
-                       <version>1.5.16</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-actuator</artifactId>
-               </dependency>   
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-test</artifactId>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.so.adapters</groupId>
-                       <artifactId>mso-adapter-utils</artifactId>
-                       <version>${project.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.cxf</groupId>
-                       <artifactId>cxf-spring-boot-starter-jaxws</artifactId>
-                       <version>${cxf.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.cxf</groupId>
-                       <artifactId>cxf-spring-boot-starter-jaxrs</artifactId>
-                       <version>${cxf.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.cxf</groupId>
-                       <artifactId>cxf-rt-rs-service-description-swagger</artifactId>
-                       <version>${cxf.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-configuration-processor</artifactId>
-                       <optional>true</optional>
-               </dependency>                   
-               <dependency>
-                       <groupId>org.onap.so.adapters</groupId>
-                       <artifactId>mso-adapters-rest-interface</artifactId>
-                       <version>${project.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.glassfish</groupId>
-                       <artifactId>javax.json</artifactId>
-                       <version>1.0.4</version>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>io.micrometer</groupId>
-                       <artifactId>micrometer-core</artifactId>                        
-               </dependency>
-               <dependency>
-                       <groupId>io.micrometer</groupId>
-                       <artifactId>micrometer-registry-prometheus</artifactId>                 
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.so</groupId>
-                       <artifactId>cxf-logging</artifactId>
-                       <version>${project.version}</version>
-               </dependency>
-       </dependencies>
+  <dependencies>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-web</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>io.swagger</groupId>
+      <artifactId>swagger-jersey2-jaxrs</artifactId>
+      <version>1.5.16</version>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-actuator</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-test</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so.adapters</groupId>
+      <artifactId>mso-adapter-utils</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-spring-boot-starter-jaxws</artifactId>
+      <version>${cxf.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-spring-boot-starter-jaxrs</artifactId>
+      <version>${cxf.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-rt-rs-service-description-swagger</artifactId>
+      <version>${cxf.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-configuration-processor</artifactId>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so.adapters</groupId>
+      <artifactId>mso-adapters-rest-interface</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.glassfish</groupId>
+      <artifactId>javax.json</artifactId>
+      <version>1.0.4</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>io.micrometer</groupId>
+      <artifactId>micrometer-core</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>io.micrometer</groupId>
+      <artifactId>micrometer-registry-prometheus</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so</groupId>
+      <artifactId>cxf-logging</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+  </dependencies>
 </project>
index 5408bf9..09dd512 100644 (file)
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-       <modelVersion>4.0.0</modelVersion>
-       <parent>
-               <groupId>org.onap.so</groupId>
-               <artifactId>adapters</artifactId>
-               <version>1.4.0-SNAPSHOT</version>
-       </parent>
-       <groupId>org.onap.so.adapters</groupId>
-       <artifactId>mso-vfc-adapter</artifactId>
-       <name>mso-vfc-adapter</name>
-       <description>Web service endpoint for vfc operations</description>
-       <dependencyManagement>
-               <dependencies>
-                       <dependency>
-                               <groupId>org.springframework.boot</groupId>
-                               <artifactId>spring-boot-dependencies</artifactId>
-                               <version>${springboot.version}</version>
-                               <type>pom</type>
-                               <scope>import</scope>
-                       </dependency>
-               </dependencies>
-       </dependencyManagement>
-       <build>
-               <finalName>${project.artifactId}-${project.version}</finalName>
-               <plugins>
-                       <plugin>
-                               <groupId>org.springframework.boot</groupId>
-                               <artifactId>spring-boot-maven-plugin</artifactId>
-                               <configuration>
-                                       <mainClass>org.onap.so.adapters.vfc.MSOVfcApplication</mainClass>
-                               </configuration>
-                               <executions>
-                                       <execution>
-                                               <goals>
-                                                       <goal>repackage</goal>
-                                               </goals>
-                                       </execution>
-                               </executions>
-                       </plugin>
-                       <plugin>
-                               <groupId>org.jacoco</groupId>
-                               <artifactId>jacoco-maven-plugin</artifactId>
-                       </plugin>
-               </plugins>
-       </build>
-       <dependencies>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-actuator</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-web</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-jdbc</artifactId>
-                       <exclusions>
-                               <exclusion>
-                                       <groupId>org.apache.tomcat</groupId>
-                                       <artifactId>tomcat-jdbc</artifactId>
-                               </exclusion>
-                       </exclusions>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.cxf</groupId>
-                       <artifactId>cxf-spring-boot-starter-jaxws</artifactId>
-                       <version>${cxf.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.cxf</groupId>
-                       <artifactId>cxf-spring-boot-starter-jaxrs</artifactId>
-                       <version>${cxf.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.cxf</groupId>
-                       <artifactId>cxf-rt-rs-service-description-swagger</artifactId>
-                       <version>${cxf.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-data-jpa</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-test</artifactId>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.so</groupId>
-                       <artifactId>mso-requests-db</artifactId>
-                       <version>${project.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.so</groupId>
-                       <artifactId>mso-requests-db-repositories</artifactId>
-                       <version>${project.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.mariadb.jdbc</groupId>
-                       <artifactId>mariadb-java-client</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>ch.vorburger.mariaDB4j</groupId>
-                       <artifactId>mariaDB4j</artifactId>
-                       <version>2.2.3</version>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-configuration-processor</artifactId>
-                       <optional>true</optional>
-               </dependency>
-       </dependencies>
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.onap.so</groupId>
+    <artifactId>adapters</artifactId>
+    <version>1.4.0-SNAPSHOT</version>
+  </parent>
+  <groupId>org.onap.so.adapters</groupId>
+  <artifactId>mso-vfc-adapter</artifactId>
+  <name>mso-vfc-adapter</name>
+  <description>Web service endpoint for vfc operations</description>
+  <dependencyManagement>
+    <dependencies>
+      <dependency>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-dependencies</artifactId>
+        <version>${springboot.version}</version>
+        <type>pom</type>
+        <scope>import</scope>
+      </dependency>
+    </dependencies>
+  </dependencyManagement>
+  <build>
+    <finalName>${project.artifactId}-${project.version}</finalName>
+    <plugins>
+      <plugin>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-maven-plugin</artifactId>
+        <configuration>
+          <mainClass>org.onap.so.adapters.vfc.MSOVfcApplication</mainClass>
+        </configuration>
+        <executions>
+          <execution>
+            <goals>
+              <goal>repackage</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.jacoco</groupId>
+        <artifactId>jacoco-maven-plugin</artifactId>
+      </plugin>
+    </plugins>
+  </build>
+  <dependencies>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-actuator</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-web</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-jdbc</artifactId>
+      <exclusions>
+        <exclusion>
+          <groupId>org.apache.tomcat</groupId>
+          <artifactId>tomcat-jdbc</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-spring-boot-starter-jaxws</artifactId>
+      <version>${cxf.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-spring-boot-starter-jaxrs</artifactId>
+      <version>${cxf.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-rt-rs-service-description-swagger</artifactId>
+      <version>${cxf.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-data-jpa</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-test</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so</groupId>
+      <artifactId>mso-requests-db</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so</groupId>
+      <artifactId>mso-requests-db-repositories</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.mariadb.jdbc</groupId>
+      <artifactId>mariadb-java-client</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>ch.vorburger.mariaDB4j</groupId>
+      <artifactId>mariaDB4j</artifactId>
+      <version>2.2.3</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-configuration-processor</artifactId>
+      <optional>true</optional>
+    </dependency>
+  </dependencies>
 </project>
index 7e866f9..66a1cb1 100644 (file)
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.onap.so.adapters</groupId>
-        <artifactId>mso-vnfm-adapter</artifactId>
-        <version>1.4.0-SNAPSHOT</version>
-    </parent>
-    <artifactId>mso-vnfm-adapter-api</artifactId>
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-        <gson-fire-version>1.8.2</gson-fire-version>
-        <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>
-    </properties>
-    <name>mso-vnfm-adapter-api</name>
-    <description>MSO VNFM adapter API</description>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.onap.so.adapters</groupId>
+    <artifactId>mso-vnfm-adapter</artifactId>
+    <version>1.4.0-SNAPSHOT</version>
+  </parent>
+  <artifactId>mso-vnfm-adapter-api</artifactId>
+  <properties>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+    <gson-fire-version>1.8.2</gson-fire-version>
+    <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>
+  </properties>
+  <name>mso-vnfm-adapter-api</name>
+  <description>MSO VNFM adapter API</description>
 
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>io.swagger</groupId>
-                <artifactId>swagger-codegen-maven-plugin</artifactId>
-                <version>2.3.1</version>
-                <executions>
-                    <execution>
-                        <id>vnfmadapter</id>
-                        <goals>
-                            <goal>generate</goal>
-                        </goals>
-                        <configuration>
-                            <inputSpec>${basedir}/src/main/resources/vnfmadapter.yaml</inputSpec>
-                            <language>java</language>
-                            <library>retrofit2</library>
-                            <output>${project.build.directory}/generated-sources/vnfmadapter</output>
-                            <apiPackage>org.onap.vnfmadapter.v1.api</apiPackage>
-                            <modelPackage>org.onap.vnfmadapter.v1.model</modelPackage>
-                            <configOptions>
-                                <jackson>true</jackson>
-                                <sourceFolder>src/gen/java/main</sourceFolder>
-                                <withXml>true</withXml>
-                                <useRxJava2>true</useRxJava2>
-                                <serializableModel>true</serializableModel>
-                            </configOptions>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-    <dependencies>
-        <dependency>
-            <groupId>io.swagger</groupId>
-            <artifactId>swagger-annotations</artifactId>
-            <version>${swagger-core-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.squareup.retrofit2</groupId>
-            <artifactId>converter-gson</artifactId>
-            <version>${retrofit-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.squareup.retrofit2</groupId>
-            <artifactId>retrofit</artifactId>
-            <version>${retrofit-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.squareup.retrofit2</groupId>
-            <artifactId>converter-scalars</artifactId>
-            <version>${retrofit-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.oltu.oauth2</groupId>
-            <artifactId>org.apache.oltu.oauth2.client</artifactId>
-            <version>${oltu-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>io.gsonfire</groupId>
-            <artifactId>gson-fire</artifactId>
-            <version>${gson-fire-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.threeten</groupId>
-            <artifactId>threetenbp</artifactId>
-            <version>${threetenbp-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>io.reactivex.rxjava2</groupId>
-            <artifactId>rxjava</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.squareup.retrofit2</groupId>
-            <artifactId>adapter-rxjava2</artifactId>
-            <version>${retrofit-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.google.code.gson</groupId>
-            <artifactId>gson</artifactId>
-        </dependency>
-    </dependencies>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>io.swagger</groupId>
+        <artifactId>swagger-codegen-maven-plugin</artifactId>
+        <version>2.3.1</version>
+        <executions>
+          <execution>
+            <id>vnfmadapter</id>
+            <goals>
+              <goal>generate</goal>
+            </goals>
+            <configuration>
+              <inputSpec>${basedir}/src/main/resources/vnfmadapter.yaml</inputSpec>
+              <language>java</language>
+              <library>retrofit2</library>
+              <output>${project.build.directory}/generated-sources/vnfmadapter</output>
+              <apiPackage>org.onap.vnfmadapter.v1.api</apiPackage>
+              <modelPackage>org.onap.vnfmadapter.v1.model</modelPackage>
+              <configOptions>
+                <jackson>true</jackson>
+                <sourceFolder>src/gen/java/main</sourceFolder>
+                <withXml>true</withXml>
+                <useRxJava2>true</useRxJava2>
+                <serializableModel>true</serializableModel>
+              </configOptions>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+  <dependencies>
+    <dependency>
+      <groupId>io.swagger</groupId>
+      <artifactId>swagger-annotations</artifactId>
+      <version>${swagger-core-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>com.squareup.retrofit2</groupId>
+      <artifactId>converter-gson</artifactId>
+      <version>${retrofit-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>com.squareup.retrofit2</groupId>
+      <artifactId>retrofit</artifactId>
+      <version>${retrofit-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>com.squareup.retrofit2</groupId>
+      <artifactId>converter-scalars</artifactId>
+      <version>${retrofit-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.oltu.oauth2</groupId>
+      <artifactId>org.apache.oltu.oauth2.client</artifactId>
+      <version>${oltu-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>io.gsonfire</groupId>
+      <artifactId>gson-fire</artifactId>
+      <version>${gson-fire-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.threeten</groupId>
+      <artifactId>threetenbp</artifactId>
+      <version>${threetenbp-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>io.reactivex.rxjava2</groupId>
+      <artifactId>rxjava</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.squareup.retrofit2</groupId>
+      <artifactId>adapter-rxjava2</artifactId>
+      <version>${retrofit-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>com.google.code.gson</groupId>
+      <artifactId>gson</artifactId>
+    </dependency>
+  </dependencies>
 </project>
index c161bc2..da778d2 100644 (file)
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.onap.so.adapters</groupId>
-        <artifactId>mso-vnfm-adapter</artifactId>
-        <version>1.4.0-SNAPSHOT</version>
-    </parent>
-    <artifactId>mso-vnfm-adapter-ext-clients</artifactId>
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-        <swagger-core-version>1.5.15</swagger-core-version>
-        <okhttp-version>2.7.5</okhttp-version>
-        <gson-fire-version>1.8.2</gson-fire-version>
-        <threetenbp-version>1.3.5</threetenbp-version>
-        <retrofit2-version>2.4.0</retrofit2-version>
-        <okhttp3-version>3.14.0</okhttp3-version>
-        <oltu-version>1.0.1</oltu-version>
-    </properties>
-    <name>mso-vnfm-adapter-ext-clients</name>
-    <description>Clients for the vnfm adpater to use towards REST endpoints which are external to the VNFM adapter/</description>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.onap.so.adapters</groupId>
+    <artifactId>mso-vnfm-adapter</artifactId>
+    <version>1.4.0-SNAPSHOT</version>
+  </parent>
+  <artifactId>mso-vnfm-adapter-ext-clients</artifactId>
+  <properties>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+    <swagger-core-version>1.5.15</swagger-core-version>
+    <okhttp-version>2.7.5</okhttp-version>
+    <gson-fire-version>1.8.2</gson-fire-version>
+    <threetenbp-version>1.3.5</threetenbp-version>
+    <retrofit2-version>2.4.0</retrofit2-version>
+    <okhttp3-version>3.14.0</okhttp3-version>
+    <oltu-version>1.0.1</oltu-version>
+  </properties>
+  <name>mso-vnfm-adapter-ext-clients</name>
+  <description>Clients for the vnfm adpater to use towards REST endpoints which are external to the VNFM adapter/</description>
 
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>io.swagger</groupId>
-                <artifactId>swagger-codegen-maven-plugin</artifactId>
-                <version>2.3.1</version>
-                <executions>
-                    <execution>
-                        <id>sol003-vnf-lcm-api</id>
-                        <goals>
-                            <goal>generate</goal>
-                        </goals>
-                        <configuration>
-                            <inputSpec>${basedir}/src/main/resources/SOL003-VNFLifecycleManagement-API.json</inputSpec>
-                            <language>java</language>
-                            <library>okhttp-gson</library>
-                            <output>${project.build.directory}/generated-sources/sol003-vnf-lcm</output>
-                            <apiPackage>org.onap.so.adapters.vnfmadapter.extclients.vnfm.api</apiPackage>
-                            <modelPackage>org.onap.so.adapters.vnfmadapter.extclients.vnfm.model</modelPackage>
-                            <configOptions>
-                                <jackson>true</jackson>
-                                <sourceFolder>src/gen/java/main</sourceFolder>
-                                <withXml>true</withXml>
-                                <useRxJava2>true</useRxJava2>
-                                <serializableModel>true</serializableModel>
-                            </configOptions>
-                        </configuration>
-                    </execution>
-                    <execution>
-                        <id>sol003-vnf-lcn-api</id>
-                        <goals>
-                            <goal>generate</goal>
-                        </goals>
-                        <configuration>
-                            <inputSpec>${basedir}/src/main/resources/SOL003-VNFLifecycleManagementNotification-API.json</inputSpec>
-                            <language>java</language>
-                            <library>okhttp-gson</library>
-                            <output>${project.build.directory}/generated-sources/sol003-vnf-lcn</output>
-                            <apiPackage>org.onap.so.adapters.vnfmadapter.extclients.vnfm.lcn.api</apiPackage>
-                            <modelPackage>org.onap.so.adapters.vnfmadapter.extclients.vnfm.lcn.model</modelPackage>
-                            <configOptions>
-                                <jackson>true</jackson>
-                                <sourceFolder>src/gen/java/main</sourceFolder>
-                                <withXml>true</withXml>
-                                <useRxJava2>true</useRxJava2>
-                                <serializableModel>true</serializableModel>
-                            </configOptions>
-                        </configuration>
-                    </execution>
-                    <execution>
-                        <id>sol003-vnf-grant-api</id>
-                        <goals>
-                            <goal>generate</goal>
-                        </goals>
-                        <configuration>
-                            <inputSpec>${basedir}/src/main/resources/SOL003-VNFLifecycleOperationGranting-API.json
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>io.swagger</groupId>
+        <artifactId>swagger-codegen-maven-plugin</artifactId>
+        <version>2.3.1</version>
+        <executions>
+          <execution>
+            <id>sol003-vnf-lcm-api</id>
+            <goals>
+              <goal>generate</goal>
+            </goals>
+            <configuration>
+              <inputSpec>${basedir}/src/main/resources/SOL003-VNFLifecycleManagement-API.json</inputSpec>
+              <language>java</language>
+              <library>okhttp-gson</library>
+              <output>${project.build.directory}/generated-sources/sol003-vnf-lcm</output>
+              <apiPackage>org.onap.so.adapters.vnfmadapter.extclients.vnfm.api</apiPackage>
+              <modelPackage>org.onap.so.adapters.vnfmadapter.extclients.vnfm.model</modelPackage>
+              <configOptions>
+                <jackson>true</jackson>
+                <sourceFolder>src/gen/java/main</sourceFolder>
+                <withXml>true</withXml>
+                <useRxJava2>true</useRxJava2>
+                <serializableModel>true</serializableModel>
+              </configOptions>
+            </configuration>
+          </execution>
+          <execution>
+            <id>sol003-vnf-lcn-api</id>
+            <goals>
+              <goal>generate</goal>
+            </goals>
+            <configuration>
+              <inputSpec>${basedir}/src/main/resources/SOL003-VNFLifecycleManagementNotification-API.json</inputSpec>
+              <language>java</language>
+              <library>okhttp-gson</library>
+              <output>${project.build.directory}/generated-sources/sol003-vnf-lcn</output>
+              <apiPackage>org.onap.so.adapters.vnfmadapter.extclients.vnfm.lcn.api</apiPackage>
+              <modelPackage>org.onap.so.adapters.vnfmadapter.extclients.vnfm.lcn.model</modelPackage>
+              <configOptions>
+                <jackson>true</jackson>
+                <sourceFolder>src/gen/java/main</sourceFolder>
+                <withXml>true</withXml>
+                <useRxJava2>true</useRxJava2>
+                <serializableModel>true</serializableModel>
+              </configOptions>
+            </configuration>
+          </execution>
+          <execution>
+            <id>sol003-vnf-grant-api</id>
+            <goals>
+              <goal>generate</goal>
+            </goals>
+            <configuration>
+              <inputSpec>${basedir}/src/main/resources/SOL003-VNFLifecycleOperationGranting-API.json
                             </inputSpec>
-                            <language>java</language>
-                            <library>retrofit2</library>
-                            <output>${project.build.directory}/generated-sources/sol003-vnf-grant</output>
-                            <generateApis>false</generateApis>
-                            <modelPackage>org.onap.so.adapters.vnfmadapter.extclients.vnfm.grant.model</modelPackage>
-                            <configOptions>
-                                <generateSupportingFiles>false</generateSupportingFiles>
-                                <sourceFolder>src/gen/java/main</sourceFolder>
-                                <withXml>true</withXml>
-                                <useRxJava2>true</useRxJava2>
-                            </configOptions>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
+              <language>java</language>
+              <library>retrofit2</library>
+              <output>${project.build.directory}/generated-sources/sol003-vnf-grant</output>
+              <generateApis>false</generateApis>
+              <modelPackage>org.onap.so.adapters.vnfmadapter.extclients.vnfm.grant.model</modelPackage>
+              <configOptions>
+                <generateSupportingFiles>false</generateSupportingFiles>
+                <sourceFolder>src/gen/java/main</sourceFolder>
+                <withXml>true</withXml>
+                <useRxJava2>true</useRxJava2>
+              </configOptions>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
 
-    <dependencies>
-        <dependency>
-            <groupId>io.swagger</groupId>
-            <artifactId>swagger-annotations</artifactId>
-            <version>${swagger-core-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.squareup.okhttp</groupId>
-            <artifactId>okhttp</artifactId>
-            <version>${okhttp-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.squareup.okhttp</groupId>
-            <artifactId>logging-interceptor</artifactId>
-            <version>${okhttp-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.google.code.gson</groupId>
-            <artifactId>gson</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>io.gsonfire</groupId>
-            <artifactId>gson-fire</artifactId>
-            <version>${gson-fire-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.threeten</groupId>
-            <artifactId>threetenbp</artifactId>
-            <version>${threetenbp-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <version>4.12</version>
-            <!-- the test code is generated into the main source code :( -->
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>com.squareup.retrofit2</groupId>
-            <artifactId>converter-gson</artifactId>
-            <version>${retrofit2-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.squareup.retrofit2</groupId>
-            <artifactId>retrofit</artifactId>
-            <version>${retrofit2-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.squareup.retrofit2</groupId>
-            <artifactId>converter-scalars</artifactId>
-            <version>${retrofit2-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.squareup.retrofit2</groupId>
-            <artifactId>adapter-rxjava2</artifactId>
-            <version>${retrofit2-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.squareup.okhttp3</groupId>
-            <artifactId>okhttp</artifactId>
-            <version>${okhttp3-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.squareup.okhttp3</groupId>
-            <artifactId>logging-interceptor</artifactId>
-            <version>${okhttp3-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.squareup.okhttp</groupId>
-            <artifactId>logging-interceptor</artifactId>
-            <version>${okhttp-version}</version>
-        </dependency>
+  <dependencies>
+    <dependency>
+      <groupId>io.swagger</groupId>
+      <artifactId>swagger-annotations</artifactId>
+      <version>${swagger-core-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>com.squareup.okhttp</groupId>
+      <artifactId>okhttp</artifactId>
+      <version>${okhttp-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>com.squareup.okhttp</groupId>
+      <artifactId>logging-interceptor</artifactId>
+      <version>${okhttp-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>com.google.code.gson</groupId>
+      <artifactId>gson</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>io.gsonfire</groupId>
+      <artifactId>gson-fire</artifactId>
+      <version>${gson-fire-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.threeten</groupId>
+      <artifactId>threetenbp</artifactId>
+      <version>${threetenbp-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.12</version>
+      <!-- the test code is generated into the main source code :( -->
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.squareup.retrofit2</groupId>
+      <artifactId>converter-gson</artifactId>
+      <version>${retrofit2-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>com.squareup.retrofit2</groupId>
+      <artifactId>retrofit</artifactId>
+      <version>${retrofit2-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>com.squareup.retrofit2</groupId>
+      <artifactId>converter-scalars</artifactId>
+      <version>${retrofit2-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>com.squareup.retrofit2</groupId>
+      <artifactId>adapter-rxjava2</artifactId>
+      <version>${retrofit2-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>com.squareup.okhttp3</groupId>
+      <artifactId>okhttp</artifactId>
+      <version>${okhttp3-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>com.squareup.okhttp3</groupId>
+      <artifactId>logging-interceptor</artifactId>
+      <version>${okhttp3-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>com.squareup.okhttp</groupId>
+      <artifactId>logging-interceptor</artifactId>
+      <version>${okhttp-version}</version>
+    </dependency>
 
-        <!--    Will clean these dependencies before commit    From here-->
-        <dependency>
-            <groupId>org.apache.oltu.oauth2</groupId>
-            <artifactId>org.apache.oltu.oauth2.client</artifactId>
-            <version>${oltu-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.oltu.oauth2</groupId>
-            <artifactId>org.apache.oltu.oauth2.common</artifactId>
-            <version>${oltu-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.oltu.oauth2</groupId>
-            <artifactId>org.apache.oltu.oauth2.client</artifactId>
-            <version>${oltu-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.oltu.oauth2</groupId>
-            <artifactId>org.apache.oltu.oauth2.httpclient4</artifactId>
-            <version>${oltu-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.oltu.oauth2</groupId>
-            <artifactId>org.apache.oltu.oauth2.dynamicreg.client</artifactId>
-            <version>${oltu-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.oltu.oauth2</groupId>
-            <artifactId>org.apache.oltu.oauth2.dynamicreg.common</artifactId>
-            <version>${oltu-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.oltu.oauth2</groupId>
-            <artifactId>org.apache.oltu.oauth2.authzserver</artifactId>
-            <version>${oltu-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.oltu.oauth2</groupId>
-            <artifactId>org.apache.oltu.oauth2.resourceserver</artifactId>
-            <version>${oltu-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.oltu.oauth2</groupId>
-            <artifactId>org.apache.oltu.oauth2.resourceserver-filter</artifactId>
-            <version>${oltu-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.oltu.oauth2</groupId>
-            <artifactId>org.apache.oltu.oauth2.dynamicreg.server</artifactId>
-            <version>${oltu-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.oltu.oauth2</groupId>
-            <artifactId>org.apache.oltu.oauth2.jwt</artifactId>
-            <version>${oltu-version}</version>
-        </dependency>
-        <!--        To here-->
+    <!--    Will clean these dependencies before commit    From here-->
+    <dependency>
+      <groupId>org.apache.oltu.oauth2</groupId>
+      <artifactId>org.apache.oltu.oauth2.client</artifactId>
+      <version>${oltu-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.oltu.oauth2</groupId>
+      <artifactId>org.apache.oltu.oauth2.common</artifactId>
+      <version>${oltu-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.oltu.oauth2</groupId>
+      <artifactId>org.apache.oltu.oauth2.client</artifactId>
+      <version>${oltu-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.oltu.oauth2</groupId>
+      <artifactId>org.apache.oltu.oauth2.httpclient4</artifactId>
+      <version>${oltu-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.oltu.oauth2</groupId>
+      <artifactId>org.apache.oltu.oauth2.dynamicreg.client</artifactId>
+      <version>${oltu-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.oltu.oauth2</groupId>
+      <artifactId>org.apache.oltu.oauth2.dynamicreg.common</artifactId>
+      <version>${oltu-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.oltu.oauth2</groupId>
+      <artifactId>org.apache.oltu.oauth2.authzserver</artifactId>
+      <version>${oltu-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.oltu.oauth2</groupId>
+      <artifactId>org.apache.oltu.oauth2.resourceserver</artifactId>
+      <version>${oltu-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.oltu.oauth2</groupId>
+      <artifactId>org.apache.oltu.oauth2.resourceserver-filter</artifactId>
+      <version>${oltu-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.oltu.oauth2</groupId>
+      <artifactId>org.apache.oltu.oauth2.dynamicreg.server</artifactId>
+      <version>${oltu-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.oltu.oauth2</groupId>
+      <artifactId>org.apache.oltu.oauth2.jwt</artifactId>
+      <version>${oltu-version}</version>
+    </dependency>
+    <!--        To here-->
 
 
 
-    </dependencies>
+  </dependencies>
 </project>
index fdbc76d..c561721 100644 (file)
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.onap.so.adapters</groupId>
-        <artifactId>mso-vnfm-adapter</artifactId>
-        <version>1.4.0-SNAPSHOT</version>
-    </parent>
-    <artifactId>mso-vnfm-etsi-adapter</artifactId>
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-    </properties>
-    <name>mso-vnfm-etsi-adapter</name>
-    <description>MSO ETSI compliant VNFM Adapter</description>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.onap.so.adapters</groupId>
+    <artifactId>mso-vnfm-adapter</artifactId>
+    <version>1.4.0-SNAPSHOT</version>
+  </parent>
+  <artifactId>mso-vnfm-etsi-adapter</artifactId>
+  <properties>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+  </properties>
+  <name>mso-vnfm-etsi-adapter</name>
+  <description>MSO ETSI compliant VNFM Adapter</description>
 
-    <build>
-        <finalName>${project.artifactId}-${project.version}</finalName>
-        <plugins>
-            <plugin>
-                <groupId>org.springframework.boot</groupId>
-                <artifactId>spring-boot-maven-plugin</artifactId>
-                <configuration>
-                    <mainClass>org.onap.so.adapters.vnfmadapter.VnfmAdapterApplication</mainClass>
-                </configuration>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>repackage</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-jar-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>original</id>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.jacoco</groupId>
-                <artifactId>jacoco-maven-plugin</artifactId>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-surefire-plugin</artifactId>
-                <configuration>
-                    <systemPropertyVariables>
-                        <so.log.level>DEBUG</so.log.level>
-                    </systemPropertyVariables>
-                    <rerunFailingTestsCount>2</rerunFailingTestsCount>
-                    <parallel>suites</parallel>
-                    <useUnlimitedThreads>false</useUnlimitedThreads>
-                    <threadCount>1</threadCount>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-    <dependencies>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-web</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-security</artifactId>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.springframework.boot</groupId>
-                    <artifactId>spring-boot-starter-tomcat</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-actuator</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-test</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.onap.so.adapters</groupId>
-            <artifactId>mso-adapters-rest-interface</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.onap.so.adapters</groupId>
-            <artifactId>mso-vnfm-adapter-api</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.onap.so.adapters</groupId>
-            <artifactId>mso-vnfm-adapter-ext-clients</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.glassfish.jersey.core</groupId>
-            <artifactId>jersey-client</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.glassfish.jersey.core</groupId>
-            <artifactId>jersey-common</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.glassfish.jersey.core</groupId>
-            <artifactId>jersey-client</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.glassfish.jersey.inject</groupId>
-            <artifactId>jersey-hk2</artifactId>
-            <version>2.26</version>
-        </dependency>
-        <dependency>
-            <groupId>org.glassfish.jersey.media</groupId>
-            <artifactId>jersey-media-json-jackson</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.yaml</groupId>
-            <artifactId>snakeyaml</artifactId>
-            <version>1.23</version>
-        </dependency>
-    </dependencies>
+  <build>
+    <finalName>${project.artifactId}-${project.version}</finalName>
+    <plugins>
+      <plugin>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-maven-plugin</artifactId>
+        <configuration>
+          <mainClass>org.onap.so.adapters.vnfmadapter.VnfmAdapterApplication</mainClass>
+        </configuration>
+        <executions>
+          <execution>
+            <goals>
+              <goal>repackage</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>original</id>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.jacoco</groupId>
+        <artifactId>jacoco-maven-plugin</artifactId>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <configuration>
+          <systemPropertyVariables>
+            <so.log.level>DEBUG</so.log.level>
+          </systemPropertyVariables>
+          <rerunFailingTestsCount>2</rerunFailingTestsCount>
+          <parallel>suites</parallel>
+          <useUnlimitedThreads>false</useUnlimitedThreads>
+          <threadCount>1</threadCount>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+  <dependencies>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-web</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-security</artifactId>
+      <exclusions>
+        <exclusion>
+          <groupId>org.springframework.boot</groupId>
+          <artifactId>spring-boot-starter-tomcat</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-actuator</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-test</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so.adapters</groupId>
+      <artifactId>mso-adapters-rest-interface</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so.adapters</groupId>
+      <artifactId>mso-vnfm-adapter-api</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so.adapters</groupId>
+      <artifactId>mso-vnfm-adapter-ext-clients</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.glassfish.jersey.core</groupId>
+      <artifactId>jersey-client</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.glassfish.jersey.core</groupId>
+      <artifactId>jersey-common</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.glassfish.jersey.core</groupId>
+      <artifactId>jersey-client</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.glassfish.jersey.inject</groupId>
+      <artifactId>jersey-hk2</artifactId>
+      <version>2.26</version>
+    </dependency>
+    <dependency>
+      <groupId>org.glassfish.jersey.media</groupId>
+      <artifactId>jersey-media-json-jackson</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.yaml</groupId>
+      <artifactId>snakeyaml</artifactId>
+      <version>1.23</version>
+    </dependency>
+  </dependencies>
 </project>
index 32bc5ae..f1074bc 100644 (file)
@@ -64,7 +64,7 @@ import static org.springframework.http.MediaType.APPLICATION_OCTET_STREAM_VALUE;
 @Component
 public class SdcPackageProvider {
     private static final String GET_PACKAGE_URL = "%s/catalog/resources/%s/toscaModel";
-    @Value("sdc.toscametapath:TOSCA-Metadata/TOSCA.meta")
+    @Value("${sdc.toscametapath:TOSCA-Metadata/TOSCA.meta}")
     private List<String> toscaMetaPaths;
     private final String TOSCA_VNFD_KEY = "Entry-Definitions";
     private static Logger logger = getLogger(SdcPackageProvider.class);
index 88b8ba8..50fd5bc 100644 (file)
 
 package org.onap.so.adapters.vnfmadapter.extclients.aai;
 
-import org.onap.aai.domain.yang.*;
+import org.onap.aai.domain.yang.EsrSystemInfo;
+import org.onap.aai.domain.yang.EsrSystemInfoList;
+import org.onap.aai.domain.yang.EsrVnfm;
+import org.onap.aai.domain.yang.EsrVnfmList;
+import org.onap.aai.domain.yang.GenericVnf;
+import org.onap.aai.domain.yang.Relationship;
+import org.onap.aai.domain.yang.RelationshipData;
+import org.onap.aai.domain.yang.RelationshipList;
+import org.onap.aai.domain.yang.Vserver;
 import org.onap.so.adapters.vnfmadapter.extclients.vnfm.lcn.model.LcnVnfLcmOperationOccurrenceNotificationAffectedVnfcs;
 import org.onap.so.adapters.vnfmadapter.rest.exceptions.TenantNotFoundException;
 import org.onap.so.adapters.vnfmadapter.rest.exceptions.VnfmNotFoundException;
index 807f3bd..f991ffa 100644 (file)
 
 package org.onap.so.adapters.vnfmadapter.extclients.aai;
 
-import org.onap.aai.domain.yang.*;
+import org.onap.aai.domain.yang.EsrSystemInfoList;
+import org.onap.aai.domain.yang.EsrVnfm;
+import org.onap.aai.domain.yang.EsrVnfmList;
+import org.onap.aai.domain.yang.GenericVnf;
+import org.onap.aai.domain.yang.Vserver;
 import org.onap.vnfmadapter.v1.model.Tenant;
 import java.util.List;
 
@@ -93,7 +97,7 @@ public interface AaiServiceProvider {
      * @param cloudOwner the cloud owner
      * @param cloudRegion the cloud region
      * @param tenantId the ID of the tenant
-     * @param vserver the ID of the vserver
+     * @param vserverId the ID of the vserver
      * @return
      */
     void invokeDeleteVserver(final String cloudOwner, final String cloudRegion, final String tenantId,
index 4346114..fa07ab5 100644 (file)
 
 package org.onap.so.adapters.vnfmadapter.extclients.aai;
 
-import org.onap.aai.domain.yang.*;
+import org.onap.aai.domain.yang.EsrSystemInfoList;
+import org.onap.aai.domain.yang.EsrVnfm;
+import org.onap.aai.domain.yang.EsrVnfmList;
+import org.onap.aai.domain.yang.GenericVnf;
+import org.onap.aai.domain.yang.Vserver;
 import org.onap.so.client.aai.AAIObjectType;
 import org.onap.so.client.aai.entities.uri.AAIUriFactory;
 import org.onap.vnfmadapter.v1.model.Tenant;
index 70567d8..31399f7 100644 (file)
@@ -30,9 +30,16 @@ import org.onap.so.adapters.vnfmadapter.extclients.vim.model.AccessInfo;
 import org.onap.so.adapters.vnfmadapter.extclients.vim.model.InterfaceInfo;
 import org.onap.so.adapters.vnfmadapter.extclients.vim.model.VimCredentials;
 import org.onap.so.adapters.vnfmadapter.extclients.vnfm.grant.model.InlineResponse201VimConnections;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.*;
+import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InstantiateVnfRequest;
+import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.LccnSubscriptionRequest;
+import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.SubscriptionsAuthentication;
 import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.SubscriptionsAuthentication.AuthTypeEnum;
+import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.SubscriptionsAuthenticationParamsBasic;
+import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.SubscriptionsFilter;
 import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.SubscriptionsFilter.NotificationTypesEnum;
+import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.SubscriptionsFilterVnfInstanceSubscriptionFilter;
+import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.VnfInstancesvnfInstanceIdinstantiateExtVirtualLinks;
+import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.VnfInstancesvnfInstanceIdinstantiateVimConnectionInfo;
 import org.onap.so.security.WebSecurityConfig;
 import org.onap.vnfmadapter.v1.model.CreateVnfRequest;
 import org.onap.vnfmadapter.v1.model.ExternalVirtualLink;
index d061dd0..7a0df0f 100644 (file)
 package org.onap.so.adapters.vnfmadapter.extclients.vnfm;
 
 import com.google.common.base.Optional;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.*;
+import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.CreateVnfRequest;
+import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse200;
+import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse2001;
+import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse201;
+import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InstantiateVnfRequest;
+import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.LccnSubscriptionRequest;
+import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.TerminateVnfRequest;
 
 /**
  * Provides methods for invoking REST calls to a VNFM.
index b096f51..951c6f1 100644 (file)
 package org.onap.so.adapters.vnfmadapter.extclients.vnfm;
 
 import com.google.common.base.Optional;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.*;
+import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.CreateVnfRequest;
+import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse200;
+import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse2001;
+import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse201;
+import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InstantiateVnfRequest;
+import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.LccnSubscriptionRequest;
+import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.TerminateVnfRequest;
 import org.onap.so.adapters.vnfmadapter.rest.exceptions.VnfmRequestFailureException;
 import org.onap.so.rest.service.HttpRestServiceProvider;
 import org.slf4j.Logger;
index a16c3fb..6b8802e 100644 (file)
@@ -23,7 +23,11 @@ package org.onap.so.adapters.vnfmadapter.rest;
 import org.onap.so.adapters.vnfmadapter.extclients.aai.AaiHelper;
 import org.onap.so.adapters.vnfmadapter.extclients.aai.AaiServiceProvider;
 import org.onap.so.adapters.vnfmadapter.extclients.vnfm.VnfmHelper;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.grant.model.*;
+import org.onap.so.adapters.vnfmadapter.extclients.vnfm.grant.model.GrantRequest;
+import org.onap.so.adapters.vnfmadapter.extclients.vnfm.grant.model.GrantsAddResources;
+import org.onap.so.adapters.vnfmadapter.extclients.vnfm.grant.model.InlineResponse201;
+import org.onap.so.adapters.vnfmadapter.extclients.vnfm.grant.model.InlineResponse201AddResources;
+import org.onap.so.adapters.vnfmadapter.extclients.vnfm.grant.model.InlineResponse201VimConnections;
 import org.onap.vnfmadapter.v1.model.Tenant;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -31,7 +35,11 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
 import javax.ws.rs.core.MediaType;
 import java.util.ArrayList;
 import java.util.List;
index 1cf00da..8eccc47 100644 (file)
@@ -35,7 +35,13 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestHeader;
+import org.springframework.web.bind.annotation.RequestMapping;
 import javax.validation.Valid;
 import javax.ws.rs.core.MediaType;
 import static org.onap.so.adapters.vnfmadapter.Constants.BASE_URL;
index 7e87e66..b7f5e96 100644 (file)
@@ -27,7 +27,12 @@ import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.hamcrest.MockitoHamcrest;
-import org.onap.aai.domain.yang.*;
+import org.onap.aai.domain.yang.EsrSystemInfo;
+import org.onap.aai.domain.yang.EsrSystemInfoList;
+import org.onap.aai.domain.yang.GenericVnf;
+import org.onap.aai.domain.yang.Relationship;
+import org.onap.aai.domain.yang.RelationshipData;
+import org.onap.aai.domain.yang.RelationshipList;
 import org.onap.so.adapters.vnfmadapter.VnfmAdapterApplication;
 import org.onap.so.adapters.vnfmadapter.extclients.vnfm.grant.model.GrantRequest;
 import org.onap.so.adapters.vnfmadapter.extclients.vnfm.grant.model.GrantRequest.OperationEnum;
index 363780d..66e8e99 100644 (file)
@@ -36,8 +36,13 @@ import org.onap.so.adapters.vnfmadapter.extclients.aai.AaiHelper;
 import org.onap.so.adapters.vnfmadapter.extclients.aai.OamIpAddressSource;
 import org.onap.so.adapters.vnfmadapter.extclients.aai.OamIpAddressSource.OamIpAddressType;
 import org.onap.so.adapters.vnfmadapter.extclients.vim.model.AccessInfo;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.lcn.model.*;
+import org.onap.so.adapters.vnfmadapter.extclients.vnfm.lcn.model.LcnVnfLcmOperationOccurrenceNotificationAffectedVnfcs;
 import org.onap.so.adapters.vnfmadapter.extclients.vnfm.lcn.model.LcnVnfLcmOperationOccurrenceNotificationAffectedVnfcs.ChangeTypeEnum;
+import org.onap.so.adapters.vnfmadapter.extclients.vnfm.lcn.model.LcnVnfLcmOperationOccurrenceNotificationComputeResource;
+import org.onap.so.adapters.vnfmadapter.extclients.vnfm.lcn.model.LcnVnfLcmOperationOccurrenceNotificationLinks;
+import org.onap.so.adapters.vnfmadapter.extclients.vnfm.lcn.model.LcnVnfLcmOperationOccurrenceNotificationLinksVnfInstance;
+import org.onap.so.adapters.vnfmadapter.extclients.vnfm.lcn.model.VnfIdentifierCreationNotification;
+import org.onap.so.adapters.vnfmadapter.extclients.vnfm.lcn.model.VnfLcmOperationOccurrenceNotification;
 import org.onap.so.adapters.vnfmadapter.extclients.vnfm.lcn.model.VnfLcmOperationOccurrenceNotification.OperationEnum;
 import org.onap.so.adapters.vnfmadapter.extclients.vnfm.lcn.model.VnfLcmOperationOccurrenceNotification.OperationStateEnum;
 import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse201;
@@ -62,10 +67,17 @@ import org.springframework.web.client.RestTemplate;
 import javax.inject.Inject;
 import java.net.URI;
 import java.net.URISyntaxException;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
 import static org.junit.Assert.assertEquals;
 import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.*;
+import static org.mockito.Mockito.timeout;
+import static org.mockito.Mockito.verifyZeroInteractions;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.verify;
 import static org.onap.so.client.RestTemplateConfig.CONFIGURABLE_REST_TEMPLATE;
 import static org.springframework.test.web.client.match.MockRestRequestMatchers.requestTo;
 import static org.springframework.test.web.client.response.MockRestResponseCreators.withStatus;
index 39572c7..20a074b 100644 (file)
@@ -28,7 +28,21 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
 import org.mockito.hamcrest.MockitoHamcrest;
-import org.onap.aai.domain.yang.*;
+import org.onap.aai.domain.yang.EsrSystemInfo;
+import org.onap.aai.domain.yang.EsrSystemInfoList;
+import org.onap.aai.domain.yang.EsrVnfm;
+import org.onap.aai.domain.yang.EsrVnfmList;
+import org.onap.aai.domain.yang.GenericVnf;
+import org.onap.aai.domain.yang.Relationship;
+import org.onap.aai.domain.yang.RelationshipData;
+import org.onap.aai.domain.yang.RelationshipList;
+import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse201Links;
+import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse201LinksSelf;
+import org.onap.vnfmadapter.v1.model.CreateVnfResponse;
+import org.onap.vnfmadapter.v1.model.DeleteVnfResponse;
+import org.onap.vnfmadapter.v1.model.OperationEnum;
+import org.onap.vnfmadapter.v1.model.OperationStateEnum;
+import org.onap.vnfmadapter.v1.model.QueryJobResponse;
 import org.onap.so.adapters.vnfmadapter.VnfmAdapterApplication;
 import org.onap.so.adapters.vnfmadapter.extclients.SdcPackageProvider;
 import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.*;
@@ -37,7 +51,9 @@ import org.onap.so.client.aai.AAIResourcesClient;
 import org.onap.so.client.aai.entities.uri.AAIResourceUri;
 import org.onap.vnfmadapter.v1.model.CreateVnfRequest;
 import org.onap.vnfmadapter.v1.model.Tenant;
-import org.onap.vnfmadapter.v1.model.*;
+import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse200;
+import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse2001;
+import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse201;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.boot.test.context.SpringBootTest;
@@ -58,7 +74,9 @@ import org.threeten.bp.OffsetDateTime;
 import org.threeten.bp.ZoneOffset;
 import java.net.URI;
 import java.util.Optional;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.verify;
index 9cc1705..962b3b4 100644 (file)
@@ -1,22 +1,21 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.onap.so</groupId>
-        <artifactId>adapters</artifactId>
-        <version>1.4.0-SNAPSHOT</version>
-    </parent>
-    <groupId>org.onap.so.adapters</groupId>
-    <artifactId>mso-vnfm-adapter</artifactId>
-    <name>MSO VNFM Adapter</name>
-    <description>MSO Adapter for VNFM</description>
-    <packaging>pom</packaging>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.onap.so</groupId>
+    <artifactId>adapters</artifactId>
+    <version>1.4.0-SNAPSHOT</version>
+  </parent>
+  <groupId>org.onap.so.adapters</groupId>
+  <artifactId>mso-vnfm-adapter</artifactId>
+  <name>MSO VNFM Adapter</name>
+  <description>MSO Adapter for VNFM</description>
+  <packaging>pom</packaging>
 
-    <modules>
-        <module>mso-vnfm-adapter-api</module>
-        <module>mso-vnfm-adapter-ext-clients</module>
-        <module>mso-vnfm-etsi-adapter</module>
-    </modules>
+  <modules>
+    <module>mso-vnfm-adapter-api</module>
+    <module>mso-vnfm-adapter-ext-clients</module>
+    <module>mso-vnfm-etsi-adapter</module>
+  </modules>
 </project>
index d00304b..bd7beba 100644 (file)
@@ -1,41 +1,42 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-       <modelVersion>4.0.0</modelVersion>
-       <parent>
-               <groupId>org.onap.so</groupId>
-               <artifactId>so</artifactId>
-               <version>1.4.0-SNAPSHOT</version>
-       </parent>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.onap.so</groupId>
+    <artifactId>so</artifactId>
+    <version>1.4.0-SNAPSHOT</version>
+  </parent>
 
-       <artifactId>adapters</artifactId>
-       <name>MSO Adapters</name>
-       <description>Adapters for MSO</description>
-       <packaging>pom</packaging>
+  <artifactId>adapters</artifactId>
+  <name>MSO Adapters</name>
+  <description>Adapters for MSO</description>
+  <packaging>pom</packaging>
 
-       <modules>
-               <module>mso-adapter-utils</module>
-               <module>mso-adapters-rest-interface</module>            
-               <module>mso-sdnc-adapter</module>               
-               <module>mso-requests-db-adapter</module>
-               <module>mso-catalog-db-adapter</module>         
-               <module>mso-vfc-adapter</module>
-               <module>mso-openstack-adapters</module>
-               <module>mso-vnfm-adapter</module>
+  <modules>
+    <module>mso-adapter-utils</module>
+    <module>mso-adapters-rest-interface</module>
+    <module>mso-sdnc-adapter</module>
+    <module>mso-requests-db-adapter</module>
+    <module>mso-catalog-db-adapter</module>
+    <module>mso-vfc-adapter</module>
+    <module>mso-openstack-adapters</module>
+    <module>mso-vnfm-adapter</module>
   </modules>
 
-       <dependencies>
-               <dependency>
-                       <groupId>org.apache.httpcomponents</groupId>
-                       <artifactId>httpclient</artifactId>
-               </dependency>
-               <dependency>
-            <groupId>org.apache.httpcomponents</groupId>
-            <artifactId>httpcore</artifactId>
-        </dependency>
-               <dependency>
-                       <groupId>org.springframework.cloud</groupId>
-                       <artifactId>spring-cloud-contract-wiremock</artifactId>
-                       <version>1.2.4.RELEASE</version>
-               </dependency>
-       </dependencies>
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.httpcomponents</groupId>
+      <artifactId>httpclient</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.httpcomponents</groupId>
+      <artifactId>httpcore</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.cloud</groupId>
+      <artifactId>spring-cloud-contract-wiremock</artifactId>
+      <version>1.2.4.RELEASE</version>
+    </dependency>
+  </dependencies>
 </project>
index 35fbf91..8317b66 100644 (file)
@@ -1,5 +1,4 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
index 1f66291..a05eeea 100644 (file)
 
 package org.onap.so.asdc;
 
+import javax.annotation.PostConstruct;
+import org.onap.so.asdc.activity.DeployActivitySpecs;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
 import org.springframework.scheduling.annotation.EnableScheduling;
 
 @SpringBootApplication(scanBasePackages = {"org.onap.so"})
 @EnableScheduling
+@EnableJpaRepositories("org.onap.so.db.catalog.data.repository")
 public class Application {
 
     private static final String MSO_CONFIG_PATH = "mso.config.path";
     private static final String LOGS_DIR = "logs_dir";
 
+    @Autowired
+    DeployActivitySpecs deployActivitySpecs;
+
     private static void setLogsDir() {
         if (System.getProperty(LOGS_DIR) == null) {
             System.getProperties().setProperty(LOGS_DIR, "./logs/asdc/");
@@ -42,6 +50,15 @@ public class Application {
             System.getProperties().setProperty(MSO_CONFIG_PATH, ".");
     }
 
+    @PostConstruct
+    private void deployActivities() {
+        try {
+            deployActivitySpecs.deployActivities();
+        } catch (Exception e) {
+        }
+
+    }
+
     public static void main(String[] args) {
         SpringApplication.run(Application.class, args);
         System.getProperties().setProperty("mso.db", "MARIADB");
index 46d0f78..87008f1 100644 (file)
 
 package org.onap.so.asdc.activity;
 
-import javax.annotation.PostConstruct;
 import java.util.ArrayList;
 import java.util.List;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.core.env.Environment;
 import org.springframework.stereotype.Component;
 import org.onap.so.asdc.activity.beans.ActivitySpec;
-import org.onap.so.db.catalog.client.CatalogDbClient;
+import org.onap.so.asdc.activity.beans.Input;
+import org.onap.so.asdc.activity.beans.Output;
+import org.onap.so.db.catalog.beans.ActivitySpecActivitySpecCategories;
+import org.onap.so.db.catalog.beans.ActivitySpecActivitySpecParameters;
+import org.onap.so.db.catalog.beans.ActivitySpecParameters;
+import org.onap.so.db.catalog.data.repository.ActivitySpecRepository;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -39,17 +43,24 @@ public class DeployActivitySpecs {
     @Autowired
     private Environment env;
 
+    @Autowired
+    private ActivitySpecRepository activitySpecRepository;
+
     private static final String SDC_ENDPOINT = "mso.asdc.config.activity.endpoint";
+    private static final String DIRECTION_INPUT = "input";
+    private static final String DIRECTION_OUTPUT = "output";
 
     protected static final Logger logger = LoggerFactory.getLogger(DeployActivitySpecs.class);
 
-    public void deployActivities() throws Exception {
-        String hostname = this.env.getProperty(SDC_ENDPOINT);
-        List<ActivitySpec> activitySpecs = new ArrayList<ActivitySpec>();
 
-        // Initialize activitySpecs from Catalog DB
-
-        for (ActivitySpec activitySpec : activitySpecs) {
+    public void deployActivities() throws Exception {
+        String hostname = env.getProperty(SDC_ENDPOINT);
+        if (hostname == null || hostname.isEmpty()) {
+            return;
+        }
+        List<org.onap.so.db.catalog.beans.ActivitySpec> activitySpecsFromCatalog = activitySpecRepository.findAll();
+        for (org.onap.so.db.catalog.beans.ActivitySpec activitySpecFromCatalog : activitySpecsFromCatalog) {
+            ActivitySpec activitySpec = mapActivitySpecFromCatalogToSdc(activitySpecFromCatalog);
             String activitySpecId = activitySpecsActions.createActivitySpec(hostname, activitySpec);
             if (activitySpecId != null) {
                 logger.info("{} {}", "Successfully created activitySpec", activitySpec.getName());
@@ -64,4 +75,62 @@ public class DeployActivitySpecs {
             }
         }
     }
+
+    public ActivitySpec mapActivitySpecFromCatalogToSdc(
+            org.onap.so.db.catalog.beans.ActivitySpec activitySpecFromCatalog) {
+        ActivitySpec activitySpec = new ActivitySpec();
+        activitySpec.setName(activitySpecFromCatalog.getName());
+        activitySpec.setDescription(activitySpecFromCatalog.getDescription());
+        mapCategoryList(activitySpecFromCatalog.getActivitySpecActivitySpecCategories(), activitySpec);
+        mapInputsAndOutputs(activitySpecFromCatalog.getActivitySpecActivitySpecParameters(), activitySpec);
+        return activitySpec;
+    }
+
+    private void mapCategoryList(List<ActivitySpecActivitySpecCategories> activitySpecActivitySpecCategories,
+            ActivitySpec activitySpec) {
+        if (activitySpecActivitySpecCategories == null || activitySpecActivitySpecCategories.size() == 0) {
+            return;
+        }
+        List<String> categoryList = new ArrayList<String>();
+        for (ActivitySpecActivitySpecCategories activitySpecCat : activitySpecActivitySpecCategories) {
+            if (activitySpecCat != null) {
+                if (activitySpecCat.getActivitySpecCategories() != null) {
+                    categoryList.add(activitySpecCat.getActivitySpecCategories().getName());
+                }
+            }
+        }
+        activitySpec.setCategoryList(categoryList);
+    }
+
+    private void mapInputsAndOutputs(List<ActivitySpecActivitySpecParameters> activitySpecActivitySpecParameters,
+            ActivitySpec activitySpec) {
+        if (activitySpecActivitySpecParameters == null || activitySpecActivitySpecParameters.size() == 0) {
+            return;
+        }
+        List<Input> inputs = new ArrayList<Input>();
+        List<Output> outputs = new ArrayList<Output>();
+        for (ActivitySpecActivitySpecParameters activitySpecParam : activitySpecActivitySpecParameters) {
+            if (activitySpecParam != null) {
+                if (activitySpecParam.getActivitySpecParameters() != null) {
+                    ActivitySpecParameters activitySpecParameters = activitySpecParam.getActivitySpecParameters();
+                    if (activitySpecParameters != null) {
+                        if (activitySpecParameters.getDirection().equals(DIRECTION_INPUT)) {
+                            Input input = new Input();
+                            input.setName(activitySpecParameters.getName());
+                            input.setType(activitySpecParameters.getType());
+                            inputs.add(input);
+                        } else if (activitySpecParameters.getDirection().equals(DIRECTION_OUTPUT)) {
+                            Output output = new Output();
+                            output.setName(activitySpecParameters.getName());
+                            output.setType(activitySpecParameters.getType());
+                            outputs.add(output);
+                        }
+                    }
+                }
+            }
+        }
+        activitySpec.setInputs(inputs);
+        activitySpec.setOutputs(outputs);
+        return;
+    }
 }
index 7d92c63..2eace75 100644 (file)
@@ -47,24 +47,6 @@ public class ASDCConfiguration implements IConfiguration {
 
     private String asdcControllerName;
 
-    public static final String MSO_PROP_ASDC = "MSO_PROP_ASDC";
-    public static final String PARAMETER_PATTERN = "asdc-connections";
-    public static final String MSG_BUS_ADDRESS_ATTRIBUTE_NAME = "messageBusAddress";
-    public static final String WATCHDOG_TIMEOUT_NAME = "watchDogTimeout";
-
-    public static final String CONSUMER_GROUP_ATTRIBUTE_NAME = "consumerGroup";
-    public static final String CONSUMER_ID_ATTRIBUTE_NAME = "consumerId";
-    public static final String ENVIRONMENT_NAME_ATTRIBUTE_NAME = "environmentName";
-    public static final String PASSWORD_ATTRIBUTE_NAME = "password";
-    public static final String POLLING_INTERVAL_ATTRIBUTE_NAME = "pollingInterval";
-    public static final String RELEVANT_ARTIFACT_TYPES_ATTRIBUTE_NAME = "relevantArtifactTypes";
-    public static final String USER_ATTRIBUTE_NAME = "user";
-    public static final String ASDC_ADDRESS_ATTRIBUTE_NAME = "asdcAddress";
-    public static final String POLLING_TIMEOUT_ATTRIBUTE_NAME = "pollingTimeout";
-    public static final String ACTIVATE_SERVER_TLS_AUTH = "activateServerTLSAuth";
-    public static final String KEY_STORE_PASSWORD = "keyStorePassword";
-    public static final String KEY_STORE_PATH = "keyStorePath";
-
     public static final String HEAT = "HEAT";
     public static final String HEAT_ARTIFACT = "HEAT_ARTIFACT";
     public static final String HEAT_ENV = "HEAT_ENV";
@@ -73,7 +55,7 @@ public class ASDCConfiguration implements IConfiguration {
     public static final String HEAT_VOL = "HEAT_VOL";
     public static final String OTHER = "OTHER";
     public static final String TOSCA_CSAR = "TOSCA_CSAR";
-    public static final String WORKFLOWS = "Workflows";
+    public static final String WORKFLOW = "WORKFLOW";
     public static final String VF_MODULES_METADATA = "VF_MODULES_METADATA";
 
     private static final String[] SUPPORTED_ARTIFACT_TYPES =
index 57e9c17..9b838c4 100644 (file)
@@ -47,6 +47,7 @@ import org.onap.sdc.api.results.IDistributionClientResult;
 import org.onap.sdc.impl.DistributionClientFactory;
 import org.onap.sdc.utils.DistributionActionResultEnum;
 import org.onap.sdc.utils.DistributionStatusEnum;
+import org.onap.so.asdc.activity.DeployActivitySpecs;
 import org.onap.so.asdc.client.exceptions.ASDCControllerException;
 import org.onap.so.asdc.client.exceptions.ASDCDownloadException;
 import org.onap.so.asdc.client.exceptions.ASDCParametersException;
@@ -57,7 +58,6 @@ import org.onap.so.asdc.installer.ResourceStructure;
 import org.onap.so.asdc.installer.ResourceType;
 import org.onap.so.asdc.installer.ToscaResourceStructure;
 import org.onap.so.asdc.installer.VfResourceStructure;
-import org.onap.so.asdc.installer.bpmn.BpmnInstaller;
 import org.onap.so.asdc.installer.heat.ToscaResourceInstaller;
 import org.onap.so.asdc.tenantIsolation.DistributionStatus;
 import org.onap.so.asdc.tenantIsolation.WatchdogDistribution;
@@ -88,9 +88,6 @@ public class ASDCController {
     @Autowired
     private ToscaResourceInstaller toscaInstaller;
 
-    @Autowired
-    private BpmnInstaller bpmnInstaller;
-
     @Autowired
     private WatchdogDistributionStatusRepository wdsRepo;
 
@@ -110,6 +107,9 @@ public class ASDCController {
     @Autowired
     private WatchdogDistribution wd;
 
+    @Autowired
+    DeployActivitySpecs deployActivitySpecs;
+
     public int getNbOfNotificationsOngoing() {
         return nbOfNotificationsOngoing;
     }
@@ -655,6 +655,7 @@ public class ASDCController {
         // For each artifact, create a structure describing the VFModule in a ordered flat level
         ResourceStructure resourceStructure = null;
         String msoConfigPath = getMsoConfigPath();
+        boolean hasVFResource = false;
         ToscaResourceStructure toscaResourceStructure = new ToscaResourceStructure(msoConfigPath);
         boolean deploySuccessful = true;
         String errorMessage = null;
@@ -667,9 +668,6 @@ public class ASDCController {
                     msoConfigPath + "/ASDC/" + iArtifact.getArtifactVersion() + "/" + iArtifact.getArtifactName();
             File csarFile = new File(filePath);
             String csarFilePath = csarFile.getAbsolutePath();
-            if (bpmnInstaller.containsWorkflows(csarFilePath)) {
-                bpmnInstaller.installBpmn(csarFilePath);
-            }
 
             for (IResourceInstance resource : iNotif.getResources()) {
 
@@ -678,7 +676,7 @@ public class ASDCController {
 
                 logger.info("Processing Resource Type: {}, Model UUID: {}", resourceType, resource.getResourceUUID());
 
-                if ("VF".equals(resourceType) && !"Allotted Resource".equalsIgnoreCase(category)) {
+                if ("VF".equals(resourceType)) {
                     resourceStructure = new VfResourceStructure(iNotif, resource);
                 } else if ("PNF".equals(resourceType)) {
                     resourceStructure = new PnfResourceStructure(iNotif, resource);
@@ -696,8 +694,8 @@ public class ASDCController {
                         logger.debug("Processing Resource Type: " + resourceType + " and Model UUID: "
                                 + resourceStructure.getResourceInstance().getResourceUUID());
 
-                        if ("VF".equals(resourceType) && !"Allotted Resource".equalsIgnoreCase(category)) {
-
+                        if ("VF".equals(resourceType)) {
+                            hasVFResource = true;
                             for (IArtifactInfo artifact : resource.getArtifacts()) {
                                 IDistributionClientDownloadResult resultArtifact =
                                         this.downloadTheArtifact(artifact, iNotif.getDistributionID());
@@ -710,8 +708,15 @@ public class ASDCController {
                                                 .dumpVfModuleMetaDataList(((VfResourceStructure) resourceStructure)
                                                         .decodeVfModuleArtifact(resultArtifact.getArtifactPayload())));
                                     }
-                                    resourceStructure.addArtifactToStructure(distributionClient, artifact,
-                                            resultArtifact);
+                                    if (!ASDCConfiguration.WORKFLOW.equals(artifact.getArtifactType())) {
+                                        resourceStructure.addArtifactToStructure(distributionClient, artifact,
+                                                resultArtifact);
+                                    } else {
+                                        writeArtifactToFile(artifact, resultArtifact);
+                                        logger.debug(
+                                                "Adding workflow artifact to structure: " + artifact.getArtifactName());
+                                        resourceStructure.addWorkflowArtifactToStructure(artifact, resultArtifact);
+                                    }
                                 }
                             }
 
@@ -730,16 +735,19 @@ public class ASDCController {
                     logger.error("Exception occurred", e);
                 }
 
-                // Deploy VF resource and artifacts
-                logger.debug("Preparing to deploy Service: {}", iNotif.getServiceUUID());
-                try {
-                    this.deployResourceStructure(resourceStructure, toscaResourceStructure);
-                } catch (ArtifactInstallerException e) {
-                    deploySuccessful = false;
-                    errorMessage = e.getMessage();
-                    logger.error("Exception occurred", e);
-                }
+                if (!hasVFResource) {
+
+                    logger.debug("No resources found for Service: " + iNotif.getServiceUUID());
 
+                    logger.debug("Preparing to deploy Service: {}", iNotif.getServiceUUID());
+                    try {
+                        this.deployResourceStructure(resourceStructure, toscaResourceStructure);
+                    } catch (ArtifactInstallerException e) {
+                        deploySuccessful = false;
+                        errorMessage = e.getMessage();
+                        logger.error("Exception occurred", e);
+                    }
+                }
                 this.sendCsarDeployNotification(iNotif, resourceStructure, toscaResourceStructure, deploySuccessful,
                         errorMessage);
             }
@@ -797,7 +805,7 @@ public class ASDCController {
                             "processCsarServiceArtifacts", ErrorCode.BusinessProcesssError.getValue(),
                             "Exception in processCsarServiceArtifacts", e);
                 }
-            } else if (artifact.getArtifactType().equals(ASDCConfiguration.WORKFLOWS)) {
+            } else if (artifact.getArtifactType().equals(ASDCConfiguration.WORKFLOW)) {
 
                 try {
 
index b3618a8..f4cfb13 100644 (file)
@@ -23,9 +23,11 @@ package org.onap.so.asdc.client.test.emulators;
 import java.util.ArrayList;
 import java.util.List;
 import org.onap.sdc.api.notification.IArtifactInfo;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 import org.apache.commons.lang3.builder.HashCodeBuilder;
 import org.apache.commons.lang3.builder.EqualsBuilder;
 
+@JsonIgnoreProperties(ignoreUnknown = true)
 public class ArtifactInfoImpl implements IArtifactInfo {
 
     private String artifactName;
index f8d7bb0..c61306f 100644 (file)
@@ -29,12 +29,14 @@ import org.onap.sdc.api.notification.INotificationData;
 import org.onap.sdc.api.notification.IResourceInstance;
 import org.springframework.stereotype.Component;
 import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
 
 @Component
 @JsonAutoDetect(fieldVisibility = Visibility.ANY, getterVisibility = Visibility.NONE,
         setterVisibility = Visibility.NONE)
+@JsonIgnoreProperties(ignoreUnknown = true)
 public class NotificationDataImpl implements INotificationData {
 
     @JsonProperty("distributionID")
index 9159761..62d11ff 100644 (file)
@@ -27,7 +27,9 @@ import org.apache.commons.lang3.builder.HashCodeBuilder;
 import org.onap.sdc.api.notification.IArtifactInfo;
 import org.onap.sdc.api.notification.IResourceInstance;
 import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 
+@JsonIgnoreProperties(ignoreUnknown = true)
 public class ResourceInfoImpl implements IResourceInstance {
     public ResourceInfoImpl() {}
 
index 8aa9684..2a6e77e 100644 (file)
@@ -38,6 +38,12 @@ public class PnfResourceStructure extends ResourceStructure {
 
     }
 
+    @Override
+    public void addWorkflowArtifactToStructure(IArtifactInfo artifactinfo,
+            IDistributionClientDownloadResult clientResult) throws UnsupportedEncodingException {
+
+    }
+
     @Override
     public void prepareInstall() throws ArtifactInstallerException {
 
index 9965a05..8be3d6b 100644 (file)
@@ -68,10 +68,16 @@ public abstract class ResourceStructure {
      */
     protected final Map<String, VfModuleArtifact> artifactsMapByUUID;
 
+    /**
+     * The list of workflow artifacts existing in this resource
+     */
+    protected final Map<String, WorkflowArtifact> workflowArtifactsMapByUUID;
+
     public ResourceStructure(INotificationData notificationData, IResourceInstance resourceInstance) {
         this.notificationData = notificationData;
         this.resourceInstance = resourceInstance;
         artifactsMapByUUID = new HashMap<>();
+        workflowArtifactsMapByUUID = new HashMap<>();
     }
 
     /**
@@ -85,6 +91,9 @@ public abstract class ResourceStructure {
     public abstract void addArtifactToStructure(IDistributionClient distributionClient, IArtifactInfo artifactinfo,
             IDistributionClientDownloadResult clientResult) throws UnsupportedEncodingException;
 
+    public abstract void addWorkflowArtifactToStructure(IArtifactInfo artifactinfo,
+            IDistributionClientDownloadResult clientResult) throws UnsupportedEncodingException;
+
     /**
      * Prepare the resource for installation.
      *
@@ -144,4 +153,8 @@ public abstract class ResourceStructure {
         return artifactsMapByUUID;
     }
 
+    public Map<String, WorkflowArtifact> getWorkflowArtifactsMapByUUID() {
+        return workflowArtifactsMapByUUID;
+    }
+
 }
index 62408be..16e9fda 100644 (file)
@@ -98,6 +98,12 @@ public class VfResourceStructure extends ResourceStructure {
         }
     }
 
+    public void addWorkflowArtifactToStructure(IArtifactInfo artifactinfo,
+            IDistributionClientDownloadResult clientResult) throws UnsupportedEncodingException {
+        WorkflowArtifact workflowArtifact = new WorkflowArtifact(artifactinfo, clientResult);
+        workflowArtifactsMapByUUID.put(artifactinfo.getArtifactUUID(), workflowArtifact);
+    }
+
     protected void addArtifactByType(IArtifactInfo artifactinfo, IDistributionClientDownloadResult clientResult,
             VfModuleArtifact vfModuleArtifact) throws UnsupportedEncodingException {
 
diff --git a/asdc-controller/src/main/java/org/onap/so/asdc/installer/WorkflowArtifact.java b/asdc-controller/src/main/java/org/onap/so/asdc/installer/WorkflowArtifact.java
new file mode 100644 (file)
index 0000000..83b5614
--- /dev/null
@@ -0,0 +1,65 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 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.asdc.installer;
+
+
+import java.io.UnsupportedEncodingException;
+import org.onap.so.db.catalog.beans.HeatEnvironment;
+import org.onap.so.db.catalog.beans.HeatFiles;
+import org.onap.so.db.catalog.beans.HeatTemplate;
+import org.onap.sdc.api.notification.IArtifactInfo;
+import org.onap.sdc.api.results.IDistributionClientDownloadResult;
+
+/**
+ * The structure that contains the artifactInfo and its associated DownloadedResult.
+ *
+ */
+public final class WorkflowArtifact {
+    private final IArtifactInfo artifactInfo;
+    private int deployedInDb = 0;
+    private final String result;
+
+    public WorkflowArtifact(IArtifactInfo artifactinfo, IDistributionClientDownloadResult clientResult)
+            throws UnsupportedEncodingException {
+        result = new String(clientResult.getArtifactPayload(), "UTF-8");
+        artifactInfo = artifactinfo;
+
+    }
+
+    public IArtifactInfo getArtifactInfo() {
+        return artifactInfo;
+    }
+
+    public String getResult() {
+        return result;
+    }
+
+    public int getDeployedInDb() {
+        return deployedInDb;
+    }
+
+    public void incrementDeployedInDB() {
+        ++deployedInDb;
+    }
+
+
+
+}
index c98fb9b..7945ad0 100644 (file)
@@ -58,7 +58,7 @@ public class BpmnInstaller {
     protected static final Logger logger = LoggerFactory.getLogger(BpmnInstaller.class);
     private static final String BPMN_SUFFIX = ".bpmn";
     private static final String CAMUNDA_URL = "mso.camundaURL";
-    private static final String CREATE_DEPLOYMENT_PATH = "/sobpmnengine/deployment/create";
+    private static final String CREATE_DEPLOYMENT_PATH = "sobpmnengine/deployment/create";
 
     @Autowired
     private Environment env;
@@ -78,7 +78,7 @@ public class BpmnInstaller {
                         Path p = Paths.get(name);
                         String fileName = p.getFileName().toString();
                         extractBpmnFileFromCsar(csarFile, fileName);
-                        HttpResponse response = sendDeploymentRequest(fileName);
+                        HttpResponse response = sendDeploymentRequest(fileName, "");
                         logger.debug("Response status line: {}", response.getStatusLine());
                         logger.debug("Response entity: {}", response.getEntity().toString());
                         if (response.getStatusLine().getStatusCode() != 200) {
@@ -125,21 +125,21 @@ public class BpmnInstaller {
         return workflowsInCsar;
     }
 
-    protected HttpResponse sendDeploymentRequest(String bpmnFileName) throws Exception {
+    protected HttpResponse sendDeploymentRequest(String bpmnFileName, String version) throws Exception {
         HttpClient client = HttpClientBuilder.create().build();
         URI deploymentUri = new URI(this.env.getProperty(CAMUNDA_URL) + CREATE_DEPLOYMENT_PATH);
         HttpPost post = new HttpPost(deploymentUri);
         RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(1000000).setConnectTimeout(1000)
                 .setConnectionRequestTimeout(1000).build();
         post.setConfig(requestConfig);
-        HttpEntity requestEntity = buildMimeMultipart(bpmnFileName);
+        HttpEntity requestEntity = buildMimeMultipart(bpmnFileName, version);
         post.setEntity(requestEntity);
         return client.execute(post);
     }
 
-    protected HttpEntity buildMimeMultipart(String bpmnFileName) throws Exception {
+    protected HttpEntity buildMimeMultipart(String bpmnFileName, String version) throws Exception {
         FileInputStream bpmnFileStream = new FileInputStream(
-                Paths.get(System.getProperty("mso.config.path"), "ASDC", bpmnFileName).normalize().toString());
+                Paths.get(System.getProperty("mso.config.path"), "ASDC", version, bpmnFileName).normalize().toString());
 
         byte[] bytesToSend = IOUtils.toByteArray(bpmnFileStream);
         HttpEntity requestEntity =
diff --git a/asdc-controller/src/main/java/org/onap/so/asdc/installer/bpmn/WorkflowResource.java b/asdc-controller/src/main/java/org/onap/so/asdc/installer/bpmn/WorkflowResource.java
new file mode 100644 (file)
index 0000000..daeda2f
--- /dev/null
@@ -0,0 +1,215 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Modifications Copyright (c) 2019 Samsung
+ * ================================================================================
+ * 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.asdc.installer.bpmn;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+import org.apache.http.HttpResponse;
+import org.onap.sdc.api.notification.IArtifactInfo;
+import org.onap.so.asdc.installer.VfResourceStructure;
+import org.onap.so.asdc.installer.WorkflowArtifact;
+import org.onap.so.db.catalog.beans.ActivitySpec;
+import org.onap.so.db.catalog.beans.VnfResourceWorkflow;
+import org.onap.so.db.catalog.beans.Workflow;
+import org.onap.so.db.catalog.beans.WorkflowActivitySpecSequence;
+import org.onap.so.db.catalog.data.repository.ActivitySpecRepository;
+import org.onap.so.db.catalog.data.repository.WorkflowRepository;
+import org.onap.so.logger.ErrorCode;
+import org.onap.so.logger.MessageEnum;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+@Component
+public class WorkflowResource {
+    protected static final Logger logger = LoggerFactory.getLogger(WorkflowResource.class);
+
+    private static final String pattern = ".*\\\"activity:(.*)\\\" .*";
+    private static final String TARGET_RESOURCE_VNF = "vnf";
+    private static final String SOURCE_SDC = "sdc";
+    private static final String BPMN_SUFFIX = ".bpmn";
+
+    @Autowired
+    protected WorkflowRepository workflowRepo;
+
+    @Autowired
+    protected ActivitySpecRepository activityRepo;
+
+    @Autowired
+    private BpmnInstaller bpmnInstaller;
+
+    public void processWorkflows(VfResourceStructure vfResourceStructure) throws Exception {
+        Map<String, WorkflowArtifact> artifactsMapByUUID = vfResourceStructure.getWorkflowArtifactsMapByUUID();
+        String vfResourceModelUuid = vfResourceStructure.getResourceInstance().getResourceUUID();
+        for (String uuid : artifactsMapByUUID.keySet()) {
+            WorkflowArtifact artifactToInstall = artifactsMapByUUID.get(uuid);
+            if (isLatestVersionAvailable(artifactsMapByUUID, artifactToInstall)) {
+                logger.debug("Installing the BPMN: " + artifactToInstall.getArtifactInfo().getArtifactName());
+                deployWorkflowResourceToCamunda(artifactToInstall);
+                installWorkflowResource(artifactToInstall, vfResourceModelUuid);
+            } else {
+                logger.debug("Skipping installing - not the latest version: "
+                        + artifactToInstall.getArtifactInfo().getArtifactName());
+            }
+        }
+    }
+
+    protected void deployWorkflowResourceToCamunda(WorkflowArtifact artifact) throws Exception {
+        String bpmnName = artifact.getArtifactInfo().getArtifactName();
+        String version = artifact.getArtifactInfo().getArtifactVersion();
+        logger.debug("BPMN Name: " + bpmnName);
+        try {
+            HttpResponse response = bpmnInstaller.sendDeploymentRequest(bpmnName, version);
+            logger.debug("Response status line: {}", response.getStatusLine());
+            logger.debug("Response entity: {}", response.getEntity().toString());
+            if (response.getStatusLine().getStatusCode() != 200) {
+                logger.debug("Failed deploying BPMN {}", bpmnName);
+                logger.error("{} {} {} {} {} {}", MessageEnum.ASDC_ARTIFACT_NOT_DEPLOYED_DETAIL.toString(), bpmnName,
+                        bpmnName, Integer.toString(response.getStatusLine().getStatusCode()),
+                        ErrorCode.DataError.getValue(), "ASDC BPMN deploy failed");
+                throw (new Exception("Error from Camunda on deploying the BPMN: " + bpmnName));
+            } else {
+                logger.debug("Successfully deployed to Camunda: {}", bpmnName);
+            }
+        } catch (Exception e) {
+            logger.debug("Exception :", e);
+            logger.error("{} {} {} {} {}", MessageEnum.ASDC_ARTIFACT_NOT_DEPLOYED_DETAIL.toString(), bpmnName,
+                    e.getMessage(), ErrorCode.DataError.getValue(), "ASDC BPMN deploy failed");
+            throw e;
+        }
+    }
+
+    protected void installWorkflowResource(WorkflowArtifact artifact, String vfResourceModelUuid) throws Exception {
+        IArtifactInfo artifactInfo = artifact.getArtifactInfo();
+
+        Workflow workflow = new Workflow();
+
+        workflow.setArtifactChecksum(artifactInfo.getArtifactChecksum());
+        workflow.setArtifactName(artifactInfo.getArtifactName());
+        workflow.setArtifactUUID(artifactInfo.getArtifactUUID());
+        workflow.setBody(artifact.getResult());
+        workflow.setDescription(artifactInfo.getArtifactDescription());
+        workflow.setName(getWorkflowNameFromArtifactName(artifactInfo.getArtifactName()));
+        workflow.setResourceTarget(TARGET_RESOURCE_VNF);
+        workflow.setSource(SOURCE_SDC);
+        workflow.setTimeoutMinutes(artifactInfo.getArtifactTimeout());
+        workflow.setOperationName(getWorkflowNameFromArtifactName(artifactInfo.getArtifactName()));
+        workflow.setVersion(getWorkflowVersionFromArtifactName(artifactInfo.getArtifactName()));
+
+        VnfResourceWorkflow vnfResourceWorkflow = new VnfResourceWorkflow();
+        vnfResourceWorkflow.setVnfResourceModelUUID(vfResourceModelUuid);
+        List<VnfResourceWorkflow> vnfResourceWorkflows = new ArrayList<VnfResourceWorkflow>();
+        vnfResourceWorkflows.add(vnfResourceWorkflow);
+
+        workflow.setVnfResourceWorkflow(vnfResourceWorkflows);
+
+        List<String> activityNames = getActivityNameList(artifact.getResult());
+        List<WorkflowActivitySpecSequence> wfss = getWorkflowActivitySpecSequence(activityNames);
+        workflow.setWorkflowActivitySpecSequence(wfss);
+
+        workflowRepo.save(workflow);
+
+    }
+
+    protected boolean isLatestVersionAvailable(Map<String, WorkflowArtifact> artifactsMapByUUID,
+            WorkflowArtifact artifact) {
+        String workflowName = getWorkflowNameFromArtifactName(artifact.getArtifactInfo().getArtifactName());
+        Double workflowVersion = getWorkflowVersionFromArtifactName(artifact.getArtifactInfo().getArtifactName());
+        if (workflowVersion == null) {
+            workflowVersion = 0.0;
+        }
+        for (WorkflowArtifact artifactInMap : artifactsMapByUUID.values()) {
+            Double versionInMap = getWorkflowVersionFromArtifactName(artifactInMap.getArtifactInfo().getArtifactName());
+            if (versionInMap == null) {
+                versionInMap = 0.0;
+            }
+            if (workflowName.equals(getWorkflowNameFromArtifactName(artifactInMap.getArtifactInfo().getArtifactName()))
+                    && Double.compare(workflowVersion, versionInMap) < 0) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    protected List<String> getActivityNameList(String bpmnContent) {
+        List<String> activityNameList = new ArrayList<String>();
+
+        Pattern p = Pattern.compile(pattern);
+        Matcher m = p.matcher(bpmnContent);
+        while (m.find()) {
+            activityNameList.add(m.group(1));
+        }
+        return activityNameList;
+    }
+
+    protected List<WorkflowActivitySpecSequence> getWorkflowActivitySpecSequence(List<String> activityNames)
+            throws Exception {
+        if (activityNames == null || activityNames.size() == 0) {
+            return null;
+        }
+        List<WorkflowActivitySpecSequence> workflowActivitySpecs = new ArrayList<WorkflowActivitySpecSequence>();
+        for (String activityName : activityNames) {
+            ActivitySpec activitySpec = activityRepo.findByName(activityName);
+            if (activitySpec != null) {
+                WorkflowActivitySpecSequence workflowActivitySpec = new WorkflowActivitySpecSequence();
+                workflowActivitySpec.setActivitySpec(activitySpec);
+                workflowActivitySpecs.add(workflowActivitySpec);
+            }
+        }
+        return workflowActivitySpecs;
+    }
+
+    public String getWorkflowNameFromArtifactName(String artifactName) {
+        if (artifactName == null) {
+            return null;
+        } else {
+            if (artifactName.contains(BPMN_SUFFIX)) {
+                return artifactName.substring(0, artifactName.lastIndexOf(BPMN_SUFFIX)).split("-")[0];
+            } else {
+                return artifactName.split("-")[0];
+            }
+        }
+    }
+
+    public Double getWorkflowVersionFromArtifactName(String artifactName) {
+        if (artifactName == null) {
+            return null;
+        } else {
+            String[] workflowNameParts = null;
+            if (artifactName.contains(BPMN_SUFFIX)) {
+                workflowNameParts = artifactName.substring(0, artifactName.lastIndexOf(BPMN_SUFFIX)).split("-");
+            } else {
+                workflowNameParts = artifactName.split("-");
+            }
+            if (workflowNameParts.length < 2) {
+                return null;
+            } else {
+                return Double.valueOf(workflowNameParts[1].replaceAll("_", "."));
+            }
+        }
+    }
+}
index 3bfcd2f..50a5558 100644 (file)
@@ -35,6 +35,7 @@ import java.util.Map;
 import java.util.Optional;
 import java.util.Set;
 import java.util.stream.Collectors;
+import org.hibernate.StaleObjectStateException;
 import org.hibernate.exception.ConstraintViolationException;
 import org.hibernate.exception.LockAcquisitionException;
 import org.onap.sdc.api.notification.IArtifactInfo;
@@ -55,7 +56,6 @@ import org.onap.sdc.toscaparser.api.Property;
 import org.onap.sdc.toscaparser.api.RequirementAssignment;
 import org.onap.sdc.toscaparser.api.RequirementAssignments;
 import org.onap.sdc.toscaparser.api.elements.Metadata;
-import org.onap.sdc.toscaparser.api.elements.StatefulEntityType;
 import org.onap.sdc.toscaparser.api.functions.GetInput;
 import org.onap.sdc.toscaparser.api.parameters.Input;
 import org.onap.sdc.utils.DistributionStatusEnum;
@@ -70,6 +70,7 @@ import org.onap.so.asdc.installer.ToscaResourceStructure;
 import org.onap.so.asdc.installer.VfModuleArtifact;
 import org.onap.so.asdc.installer.VfModuleStructure;
 import org.onap.so.asdc.installer.VfResourceStructure;
+import org.onap.so.asdc.installer.bpmn.WorkflowResource;
 import org.onap.so.asdc.util.YamlEditor;
 import org.onap.so.db.catalog.beans.AllottedResource;
 import org.onap.so.db.catalog.beans.AllottedResourceCustomization;
@@ -246,6 +247,9 @@ public class ToscaResourceInstaller {
     @Autowired
     protected PnfCustomizationRepository pnfCustomizationRepository;
 
+    @Autowired
+    protected WorkflowResource workflowResource;
+
     protected static final Logger logger = LoggerFactory.getLogger(ToscaResourceInstaller.class);
 
     public boolean isResourceAlreadyDeployed(ResourceStructure vfResourceStruct, boolean serviceDeployed)
@@ -260,7 +264,7 @@ public class ToscaResourceInstaller {
         try {
             Service existingService =
                     serviceRepo.findOneByModelUUID(vfResourceStructure.getNotification().getServiceUUID());
-            if (existingService != null && serviceDeployed == false)
+            if (existingService != null && !serviceDeployed)
                 status = true;
             if (status) {
                 logger.info(vfResourceStructure.getResourceInstance().getResourceInstanceName(),
@@ -307,6 +311,7 @@ public class ToscaResourceInstaller {
         }
     }
 
+
     @Transactional(rollbackFor = {ArtifactInstallerException.class})
     public void installTheResource(ToscaResourceStructure toscaResourceStruct, ResourceStructure resourceStruct)
             throws ArtifactInstallerException {
@@ -386,12 +391,11 @@ public class ToscaResourceInstaller {
         List<ASDCElementInfo> artifactListForLogging = new ArrayList<>();
         try {
             createToscaCsar(toscaResourceStruct);
-            Service service = createService(toscaResourceStruct, vfResourceStruct);
+            createService(toscaResourceStruct, vfResourceStruct);
+            Service service = toscaResourceStruct.getCatalogService();
             List<NodeTemplate> vfNodeTemplatesList = toscaResourceStruct.getSdcCsarHelper().getServiceVfList();
 
-
             for (NodeTemplate nodeTemplate : vfNodeTemplatesList) {
-
                 Metadata metadata = nodeTemplate.getMetaData();
                 String serviceType = toscaResourceStruct.getCatalogService().getServiceType();
                 String vfCustomizationCategory = toscaResourceStruct.getSdcCsarHelper()
@@ -400,8 +404,8 @@ public class ToscaResourceInstaller {
                         vfCustomizationCategory);
             }
 
+            workflowResource.processWorkflows(vfResourceStructure);
             processResourceSequence(toscaResourceStruct, service);
-            processVFResources(toscaResourceStruct, service, vfResourceStructure);
             List<NodeTemplate> allottedResourceList = toscaResourceStruct.getSdcCsarHelper().getAllottedResources();
             processAllottedResources(toscaResourceStruct, service, allottedResourceList);
             processNetworks(toscaResourceStruct, service);
@@ -410,7 +414,9 @@ public class ToscaResourceInstaller {
             // Process Service Proxy & Configuration
             processServiceProxyAndConfiguration(toscaResourceStruct, service);
 
-            serviceRepo.save(service);
+            logger.info("Saving Service: {} ", service.getModelName());
+            service = serviceRepo.save(service);
+            correlateConfigCustomResources(service);
 
             WatchdogComponentDistributionStatus status = new WatchdogComponentDistributionStatus(
                     vfResourceStruct.getNotification().getDistributionID(), MSO);
@@ -638,7 +644,8 @@ public class ToscaResourceInstaller {
     }
 
     protected ConfigurationResourceCustomization getConfigurationResourceCustomization(NodeTemplate nodeTemplate,
-            ToscaResourceStructure toscaResourceStructure, ServiceProxyResourceCustomization spResourceCustomization) {
+            ToscaResourceStructure toscaResourceStructure, ServiceProxyResourceCustomization spResourceCustomization,
+            Service service) {
         Metadata metadata = nodeTemplate.getMetaData();
 
         ConfigurationResource configResource = getConfigurationResource(nodeTemplate);
@@ -661,31 +668,15 @@ public class ToscaResourceInstaller {
                 .setServiceProxyResourceCustomizationUUID(spResourceCustomization.getModelCustomizationUUID());
 
         configCustomizationResource.setConfigurationResource(configResource);
+        configCustomizationResource.setService(service);
         configResourceCustomizationSet.add(configCustomizationResource);
 
         configResource.setConfigurationResourceCustomization(configResourceCustomizationSet);
+
         return configCustomizationResource;
     }
 
 
-    protected Optional<ConfigurationResourceCustomization> getVnrNodeTemplate(
-            List<NodeTemplate> configurationNodeTemplatesList, ToscaResourceStructure toscaResourceStructure,
-            ServiceProxyResourceCustomization spResourceCustomization) {
-        Optional<ConfigurationResourceCustomization> configurationResourceCust = Optional.empty();
-        for (NodeTemplate nodeTemplate : configurationNodeTemplatesList) {
-            StatefulEntityType entityType = nodeTemplate.getTypeDefinition();
-            String type = entityType.getType();
-
-            if (VLAN_NETWORK_RECEPTOR.equals(type)) {
-                configurationResourceCust = Optional.of(getConfigurationResourceCustomization(nodeTemplate,
-                        toscaResourceStructure, spResourceCustomization));
-                break;
-            }
-        }
-
-        return configurationResourceCust;
-    }
-
     protected void processServiceProxyAndConfiguration(ToscaResourceStructure toscaResourceStruct, Service service) {
 
         List<NodeTemplate> serviceProxyResourceList =
@@ -704,8 +695,6 @@ public class ToscaResourceInstaller {
             for (NodeTemplate spNode : serviceProxyResourceList) {
                 serviceProxy = createServiceProxy(spNode, service, toscaResourceStruct);
                 serviceProxyList.add(serviceProxy);
-                Optional<ConfigurationResourceCustomization> vnrResourceCustomization =
-                        getVnrNodeTemplate(configurationNodeTemplatesList, toscaResourceStruct, serviceProxy);
 
                 for (NodeTemplate configNode : configurationNodeTemplatesList) {
 
@@ -713,19 +702,21 @@ public class ToscaResourceInstaller {
                             toscaResourceStruct.getSdcCsarHelper().getRequirementsOf(configNode).getAll();
                     for (RequirementAssignment requirement : requirementsList) {
                         if (requirement.getNodeTemplateName().equals(spNode.getName())) {
-                            ConfigurationResourceCustomization configurationResource = createConfiguration(configNode,
-                                    toscaResourceStruct, serviceProxy, vnrResourceCustomization);
-
-                            Optional<ConfigurationResourceCustomization> matchingObject = configurationResourceList
-                                    .stream()
-                                    .filter(configurationResourceCustomization -> configNode.getMetaData()
-                                            .getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID)
-                                            .equals(configurationResource.getModelCustomizationUUID()))
-                                    .findFirst();
+                            ConfigurationResourceCustomization configurationResource =
+                                    createConfiguration(configNode, toscaResourceStruct, serviceProxy, service);
+
+                            Optional<ConfigurationResourceCustomization> matchingObject =
+                                    configurationResourceList.stream()
+                                            .filter(configurationResourceCustomization -> configNode.getMetaData()
+                                                    .getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID)
+                                                    .equals(configurationResource.getModelCustomizationUUID()))
+                                            .filter(configurationResourceCustomization -> configurationResourceCustomization
+                                                    .getModelInstanceName()
+                                                    .equals(configurationResource.getModelInstanceName()))
+                                            .findFirst();
                             if (!matchingObject.isPresent()) {
                                 configurationResourceList.add(configurationResource);
                             }
-
                             break;
                         }
                     }
@@ -738,6 +729,37 @@ public class ToscaResourceInstaller {
         service.setServiceProxyCustomizations(serviceProxyList);
     }
 
+    /*
+     * ConfigurationResourceCustomization objects have their IDs auto incremented in the database. Unless we know their
+     * IDs we cannot possibly associate their related records. So these ConfigResourceCustomizations are persisted first
+     * and subsequently correlated.
+     */
+
+    protected void correlateConfigCustomResources(Service service) {
+        /* Assuming that we have only one pair of VRF-VNR */
+        ConfigurationResourceCustomization vrfConfigCustomResource = null;
+        ConfigurationResourceCustomization vnrConfigCustomResource = null;
+        List<ConfigurationResourceCustomization> configCustomList = service.getConfigurationCustomizations();
+        for (ConfigurationResourceCustomization configResource : configCustomList) {
+            String nodeType = configResource.getConfigurationResource().getToscaNodeType();
+            if (NODES_VRF_ENTRY.equalsIgnoreCase(nodeType)) {
+                vrfConfigCustomResource = configResource;
+            } else if (VLAN_NETWORK_RECEPTOR.equalsIgnoreCase(nodeType)) {
+                vnrConfigCustomResource = configResource;
+            }
+        }
+
+        if (vrfConfigCustomResource != null) {
+            vrfConfigCustomResource.setConfigResourceCustomization(vnrConfigCustomResource);
+            configCustomizationRepo.save(vrfConfigCustomResource);
+
+        }
+        if (vnrConfigCustomResource != null) {
+            vnrConfigCustomResource.setConfigResourceCustomization(vrfConfigCustomResource);
+            configCustomizationRepo.save(vnrConfigCustomResource);
+        }
+    }
+
     protected void processNetworkCollections(ToscaResourceStructure toscaResourceStruct, Service service) {
 
         List<NodeTemplate> networkCollectionList =
@@ -762,48 +784,6 @@ public class ToscaResourceInstaller {
     }
 
 
-    protected void processVFResources(ToscaResourceStructure toscaResourceStruct, Service service,
-            VfResourceStructure vfResourceStructure) throws Exception {
-        logger.debug("processVFResources");
-
-        List<NodeTemplate> vfNodeTemplatesList = toscaResourceStruct.getSdcCsarHelper().getServiceVfList();
-        // String servicecategory = toscaResourceStruct.getCatalogService().getCategory();
-        // String serviceType = toscaResourceStruct.getCatalogService().getServiceType();
-
-        for (NodeTemplate nodeTemplate : vfNodeTemplatesList) {
-            Metadata metadata = nodeTemplate.getMetaData();
-            String vfCustomizationCategory = metadata.getValue(SdcPropertyNames.PROPERTY_NAME_CATEGORY);
-            logger.debug("VF Category is : " + vfCustomizationCategory);
-
-            // Do not treat Allotted Resources as VNF resources
-            if (ALLOTTED_RESOURCE.equalsIgnoreCase(vfCustomizationCategory)) {
-                continue;
-            }
-
-            String vfCustomizationUUID = metadata.getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID);
-            logger.debug("VFCustomizationUUID=" + vfCustomizationUUID);
-
-            IResourceInstance vfNotificationResource = vfResourceStructure.getResourceInstance();
-
-            // Make sure the VF ResourceCustomizationUUID from the notification and tosca
-            // customizations match before comparing their VF Modules UUID's
-            logger.debug("Checking if Notification VF ResourceCustomizationUUID: "
-                    + vfNotificationResource.getResourceCustomizationUUID() + " matches Tosca VF Customization UUID: "
-                    + vfCustomizationUUID);
-
-            if (vfCustomizationUUID.equals(vfNotificationResource.getResourceCustomizationUUID())) {
-                logger.debug("vfCustomizationUUID: " + vfCustomizationUUID
-                        + " matches vfNotificationResource CustomizationUUID");
-
-                processVfModules(toscaResourceStruct, vfResourceStructure, service, nodeTemplate, metadata,
-                        vfCustomizationCategory);
-            } else {
-                logger.debug("Notification VF ResourceCustomizationUUID: "
-                        + vfNotificationResource.getResourceCustomizationUUID() + " doesn't match "
-                        + "Tosca VF Customization UUID: " + vfCustomizationUUID);
-            }
-        }
-    }
 
     /**
      * This is used to process the PNF specific resource, including resource and resource_customization.
@@ -1272,22 +1252,15 @@ public class ToscaResourceInstaller {
 
     protected ConfigurationResourceCustomization createConfiguration(NodeTemplate nodeTemplate,
             ToscaResourceStructure toscaResourceStructure, ServiceProxyResourceCustomization spResourceCustomization,
-            Optional<ConfigurationResourceCustomization> vnrResourceCustomization) {
+            Service service) {
 
-        ConfigurationResourceCustomization configCustomizationResource =
-                getConfigurationResourceCustomization(nodeTemplate, toscaResourceStructure, spResourceCustomization);
+        ConfigurationResourceCustomization configCustomizationResource = getConfigurationResourceCustomization(
+                nodeTemplate, toscaResourceStructure, spResourceCustomization, service);
 
         ConfigurationResource configResource = getConfigurationResource(nodeTemplate);
 
         Set<ConfigurationResourceCustomization> configResourceCustomizationSet = new HashSet<>();
 
-        StatefulEntityType entityType = nodeTemplate.getTypeDefinition();
-        String type = entityType.getType();
-
-        if (NODES_VRF_ENTRY.equals(type)) {
-            configCustomizationResource.setConfigResourceCustomization(vnrResourceCustomization.orElse(null));
-        }
-
         configCustomizationResource.setConfigurationResource(configResource);
 
         configResourceCustomizationSet.add(configCustomizationResource);
@@ -1396,6 +1369,7 @@ public class ToscaResourceInstaller {
 
             networkCustomizationRepo.saveAndFlush(networkResourceCustomization);
 
+
         } else if (networkResourceCustomization == null) {
             networkResourceCustomization =
                     createNetworkResourceCustomization(networkNodeTemplate, toscaResourceStructure);
index 86f6a89..aae5e5d 100644 (file)
  */
 package org.onap.asdc.activity;
 
+import java.nio.file.Files;
+import static com.shazam.shazamcrest.matcher.Matchers.sameBeanAs;
+import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.when;
 import org.junit.Test;
-import org.onap.so.asdc.BaseTest;
+import org.junit.runner.RunWith;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.Mockito;
+import org.mockito.junit.MockitoJUnitRunner;
+import org.onap.so.asdc.activity.ActivitySpecsActions;
 import org.onap.so.asdc.activity.DeployActivitySpecs;
-import org.springframework.beans.factory.annotation.Autowired;
+import org.onap.so.asdc.activity.beans.ActivitySpec;
+import org.onap.so.asdc.activity.beans.ActivitySpecCreateResponse;
+import org.onap.so.db.catalog.data.repository.ActivitySpecRepository;
+import org.springframework.core.env.Environment;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import java.nio.file.Paths;
+import java.util.ArrayList;
+import java.util.List;
 
+@RunWith(MockitoJUnitRunner.class)
+public class DeployActivitySpecsTest {
+    @Mock
+    protected Environment env;
 
-public class DeployActivitySpecsTest extends BaseTest {
+    @Mock
+    protected ActivitySpecRepository activitySpecRepository;
 
-    @Autowired
+    @Mock
+    protected ActivitySpecsActions activitySpecsActions;
+
+    @InjectMocks
     private DeployActivitySpecs deployActivitySpecs;
 
     @Test
-    public void DeployActivitySpecs_Test() throws Exception {
-        // Mock catalog DB results
+    public void deployActivitySpecs_Test() throws Exception {
+        boolean deploymentSuccessful = true;
+        ActivitySpecCreateResponse activitySpecCreateResponse = new ActivitySpecCreateResponse();
+        activitySpecCreateResponse.setId("testActivityId");
+        ObjectMapper mapper = new ObjectMapper();
+        org.onap.so.db.catalog.beans.ActivitySpec catalogActivitySpec = mapper.readValue(
+                new String(Files.readAllBytes(Paths.get("src/test/resources/ActivitySpecFromCatalog.json"))),
+                org.onap.so.db.catalog.beans.ActivitySpec.class);
+        List<org.onap.so.db.catalog.beans.ActivitySpec> catalogActivitySpecList =
+                new ArrayList<org.onap.so.db.catalog.beans.ActivitySpec>();
+        catalogActivitySpecList.add(catalogActivitySpec);
+        when(env.getProperty("mso.asdc.config.activity.endpoint")).thenReturn("testEndpoint");
+        when(activitySpecRepository.findAll()).thenReturn(catalogActivitySpecList);
+        doReturn("testActivityId").when(activitySpecsActions).createActivitySpec(Mockito.any(), Mockito.any());
+        doReturn(true).when(activitySpecsActions).certifyActivitySpec(Mockito.any(), Mockito.any());
         deployActivitySpecs.deployActivities();
+        assertTrue(deploymentSuccessful);
+    }
+
+    @Test
+    public void mapActivitySpecFromCatalogToSdc_Test() throws Exception {
+        ObjectMapper mapper = new ObjectMapper();
+        org.onap.so.db.catalog.beans.ActivitySpec catalogActivitySpec = mapper.readValue(
+                new String(Files.readAllBytes(Paths.get("src/test/resources/ActivitySpecFromCatalog.json"))),
+                org.onap.so.db.catalog.beans.ActivitySpec.class);
+        ActivitySpec activitySpec = deployActivitySpecs.mapActivitySpecFromCatalogToSdc(catalogActivitySpec);
+        ActivitySpec expected = mapper.readValue(
+                new String(Files.readAllBytes(Paths.get("src/test/resources/ActivitySpec.json"))), ActivitySpec.class);
+        assertThat(expected, sameBeanAs(activitySpec));
     }
 }
index 815f419..ac107f6 100644 (file)
@@ -22,12 +22,15 @@ package org.onap.so.asdc.client.test.rest;
 
 import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
 import static com.github.tomakehurst.wiremock.client.WireMock.post;
+import static com.github.tomakehurst.wiremock.client.WireMock.urlPathEqualTo;
 import static com.github.tomakehurst.wiremock.client.WireMock.urlPathMatching;
 import static com.shazam.shazamcrest.MatcherAssert.assertThat;
 import static com.shazam.shazamcrest.matcher.Matchers.sameBeanAs;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
 import java.io.File;
+import java.nio.file.Files;
+import java.nio.file.Paths;
 import java.util.HashSet;
 import java.util.Set;
 import javax.transaction.Transactional;
@@ -42,9 +45,12 @@ import org.onap.so.asdc.client.test.emulators.DistributionClientEmulator;
 import org.onap.so.asdc.client.test.emulators.NotificationDataImpl;
 import org.onap.so.db.catalog.beans.AllottedResource;
 import org.onap.so.db.catalog.beans.AllottedResourceCustomization;
+import org.onap.so.db.catalog.beans.Service;
+import org.onap.so.db.catalog.beans.Workflow;
 import org.onap.so.db.catalog.data.repository.AllottedResourceRepository;
 import org.onap.so.db.catalog.data.repository.NetworkResourceRepository;
 import org.onap.so.db.catalog.data.repository.ServiceRepository;
+import org.onap.so.db.catalog.data.repository.WorkflowRepository;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.web.client.TestRestTemplate;
 import org.springframework.boot.web.server.LocalServerPort;
@@ -65,6 +71,9 @@ public class ASDCRestInterfaceTest extends BaseTest {
     @Autowired
     private NetworkResourceRepository networkRepo;
 
+    @Autowired
+    private WorkflowRepository workflowRepo;
+
     @Autowired
     private ASDCRestInterface asdcRestInterface;
 
@@ -96,6 +105,10 @@ public class ASDCRestInterfaceTest extends BaseTest {
         wireMockServer.stubFor(post(urlPathMatching("/aai/.*"))
                 .willReturn(aResponse().withStatus(200).withHeader("Content-Type", "application/json")));
 
+        wireMockServer.stubFor(post(urlPathMatching("/v1.0/activity-spec"))
+                .willReturn(aResponse().withHeader("Content-Type", "application/json")
+                        .withStatus(org.springframework.http.HttpStatus.ACCEPTED.value())));
+
         ObjectMapper mapper = new ObjectMapper();
         NotificationDataImpl request =
                 mapper.readValue(new File("src/test/resources/resource-examples/allottedresource/notif-portm.json"),
@@ -138,16 +151,99 @@ public class ASDCRestInterfaceTest extends BaseTest {
                 .ignoring("0x1.allotedResourceCustomization.created"));
     }
 
+    @Test
+    @Transactional
+    public void test_VFW_Distrobution() throws Exception {
+
+        wireMockServer.stubFor(post(urlPathMatching("/aai/.*"))
+                .willReturn(aResponse().withStatus(200).withHeader("Content-Type", "application/json")));
+
+        wireMockServer.stubFor(post(urlPathMatching("/v1.0/activity-spec"))
+                .willReturn(aResponse().withHeader("Content-Type", "application/json")
+                        .withStatus(org.springframework.http.HttpStatus.ACCEPTED.value())));
+
+        ObjectMapper mapper = new ObjectMapper();
+        NotificationDataImpl request = mapper.readValue(
+                new File("src/test/resources/resource-examples/vFW/notification.json"), NotificationDataImpl.class);
+        headers.add("resource-location", "src/test/resources/resource-examples/vFW/");
+        HttpEntity<NotificationDataImpl> entity = new HttpEntity<NotificationDataImpl>(request, headers);
+
+        ResponseEntity<String> response = restTemplate.exchange(createURLWithPort("test/treatNotification/v1"),
+                HttpMethod.POST, entity, String.class);
+
+        assertEquals(Response.Status.OK.getStatusCode(), response.getStatusCode().value());
+
+        Service expectedService = new Service();
+        expectedService.setDescription("catalog service description");
+        expectedService.setModelInvariantUUID("3164f9ff-d7e7-4813-ab32-6be7e1cacb18");
+        expectedService.setModelName("vFW 2019-04-10 21:53:05");
+        expectedService.setModelUUID("e16e4ed9-3429-423a-bc3c-1389ae91491c");
+        expectedService.setModelVersion("1.0");
+
+
+
+        Service actualService = serviceRepo.findOneByModelUUID("e16e4ed9-3429-423a-bc3c-1389ae91491c");
+
+
+        if (actualService == null)
+            throw new Exception("No Allotted Resource Written to database");
+
+        assertEquals(expectedService.getModelName(), actualService.getModelName());
+    }
+
+    @Test
+    @Transactional
+    public void testWorkflowDistribution() throws Exception {
+
+        wireMockServer.stubFor(post(urlPathMatching("/aai/.*"))
+                .willReturn(aResponse().withStatus(200).withHeader("Content-Type", "application/json")));
+
+        wireMockServer.stubFor(post(urlPathMatching("/v1.0/activity-spec"))
+                .willReturn(aResponse().withHeader("Content-Type", "application/json")
+                        .withStatus(org.springframework.http.HttpStatus.ACCEPTED.value())));
+
+        wireMockServer.stubFor(
+                post(urlPathEqualTo("/sobpmnengine/deployment/create")).willReturn(aResponse().withStatus(200)));
+
+        ObjectMapper mapper = new ObjectMapper();
+        NotificationDataImpl request = mapper.readValue(
+                new File("src/test/resources/resource-examples/WorkflowBpmn/workflow-distribution.json"),
+                NotificationDataImpl.class);
+        headers.add("resource-location", "src/test/resources/resource-examples/WorkflowBpmn/");
+        HttpEntity<NotificationDataImpl> entity = new HttpEntity<NotificationDataImpl>(request, headers);
+
+        ResponseEntity<String> response = restTemplate.exchange(createURLWithPort("test/treatNotification/v1"),
+                HttpMethod.POST, entity, String.class);
+
+        assertEquals(Response.Status.OK.getStatusCode(), response.getStatusCode().value());
+
+        Workflow actualResponse = workflowRepo.findByArtifactUUID("a90f8eaa-7c20-422f-8c81-aacbca6fb9e7");
+
+        if (actualResponse == null)
+            throw new Exception("No Workflow Written to database");
+
+        String expectedBody = new String(
+                Files.readAllBytes(Paths.get("src/test/resources/resource-examples/WorkflowBpmn/TestWF2-1_0.bpmn")));
+        assertEquals(actualResponse.getArtifactChecksum(), "ZjUzNjg1NDMyMTc4MWJmZjFlNDcyOGQ0Zjc1YWQwYzQ\u003d");
+        assertEquals(actualResponse.getArtifactName(), "TestWF2-1_0.bpmn");
+        assertEquals(actualResponse.getDescription(), "Workflow Artifact Description");
+        assertEquals(actualResponse.getBody(), expectedBody);
+
+        Workflow shouldNotBeFound = workflowRepo.findByArtifactUUID("f27066a1-c3a7-4672-b02e-1251b74b7b71");
+        assertNull(shouldNotBeFound);
+    }
+
     @Test
     public void invokeASDCStatusDataNullTest() {
         String request = "";
+        wireMockServer.stubFor(post(urlPathMatching("/v1.0/activity-spec"))
+                .willReturn(aResponse().withHeader("Content-Type", "application/json")
+                        .withStatus(org.springframework.http.HttpStatus.ACCEPTED.value())));
         Response response = asdcRestInterface.invokeASDCStatusData(request);
         assertNull(response);
 
     }
 
-
-
     protected String createURLWithPort(String uri) {
         return "http://localhost:" + port + uri;
     }
index 6efb04f..7071a68 100644 (file)
@@ -81,7 +81,7 @@ public class BpmnInstallerTest {
     public void buildMimeMultiPart_Test() throws Exception {
         Path tempFilePath = Paths.get(tempDirectoryPath.toAbsolutePath().toString(), "TestBB.bpmn");
         Files.createFile(tempFilePath);
-        HttpEntity entity = bpmnInstaller.buildMimeMultipart("TestBB.bpmn");
+        HttpEntity entity = bpmnInstaller.buildMimeMultipart("TestBB.bpmn", "");
         String mimeMultipartBodyFilePath = "src/test/resources" + "/mime-multipart-body.txt";
 
         File mimeMultipartBody = new File(mimeMultipartBodyFilePath);
@@ -99,7 +99,7 @@ public class BpmnInstallerTest {
         HttpClient httpClient = mock(HttpClient.class);
         doReturn(response).when(httpClient).execute(any(HttpPost.class));
         bpmnInstallerSpy.installBpmn(TEST_CSAR);
-        verify(bpmnInstallerSpy, times(1)).sendDeploymentRequest(anyString());
+        verify(bpmnInstallerSpy, times(1)).sendDeploymentRequest(anyString(), anyString());
     }
 
     @Test
diff --git a/asdc-controller/src/test/java/org/onap/so/asdc/installer/bpmn/WorkflowResourceTest.java b/asdc-controller/src/test/java/org/onap/so/asdc/installer/bpmn/WorkflowResourceTest.java
new file mode 100644 (file)
index 0000000..e655245
--- /dev/null
@@ -0,0 +1,109 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Modifications Copyright (c) 2019 Samsung
+ * ================================================================================
+ * 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.asdc.installer.bpmn;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.junit.Assert.*;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.InputStream;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.List;
+import javax.transaction.Transactional;
+import org.apache.commons.io.IOUtils;
+import org.apache.http.HttpEntity;
+import org.apache.http.HttpResponse;
+import org.apache.http.ProtocolVersion;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.message.BasicHttpResponse;
+import org.apache.http.message.BasicStatusLine;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
+import org.onap.sdc.api.notification.IArtifactInfo;
+
+@Transactional
+public class WorkflowResourceTest {
+
+    private WorkflowResource workflowResource = new WorkflowResource();
+
+    private static final String TEST_CSAR = "src/test/resources/resource-examples/WorkflowBpmn/service-CxSvc-csar.csar";
+    private Path tempDirectoryPath;
+
+    @Test
+    public void getActivityNameList_Test() throws Exception {
+        String bpmnContent = new String(Files
+                .readAllBytes(Paths.get("src/test/resources/resource-examples/WorkflowBpmn/TestBpmnFromSDC.bpmn")));
+        List<String> activityNames = workflowResource.getActivityNameList(bpmnContent);
+        assertEquals("VNFSetInMaintFlagActivity", activityNames.get(0));
+    }
+
+    @Test
+    public void getWorkflowNameStandard_Test() {
+        String workflowName = workflowResource.getWorkflowNameFromArtifactName("TestWF2-1_0.bpmn");
+        assertEquals("TestWF2", workflowName);
+    }
+
+    @Test
+    public void getWorkflowNameNoVersion_Test() {
+        String workflowName = workflowResource.getWorkflowNameFromArtifactName("TestWF2.bpmn");
+        assertEquals("TestWF2", workflowName);
+    }
+
+    @Test
+    public void getWorkflowNameNoSuffix_Test() {
+        String workflowName = workflowResource.getWorkflowNameFromArtifactName("TestWF2-1_0");
+        assertEquals("TestWF2", workflowName);
+    }
+
+    @Test
+    public void getWorkflowVersionStandard_Test() {
+        Double workflowVersion = workflowResource.getWorkflowVersionFromArtifactName("TestWF2-1_0.bpmn");
+        assertTrue(workflowVersion == 1.0);
+    }
+
+    @Test
+    public void getWorkflowVersionNoVersion_Test() {
+        Double workflowVersion = workflowResource.getWorkflowVersionFromArtifactName("TestWF2.bpmn");
+        assertNull(workflowVersion);
+    }
+
+    @Test
+    public void getWorkflowVersionNoSuffix_Test() {
+        Double workflowVersion = workflowResource.getWorkflowVersionFromArtifactName("TestWF2-1_0");
+        assertTrue(workflowVersion == 1.0);
+    }
+
+}
index d3c0bde..ce70a25 100644 (file)
 
 package org.onap.so.asdc.installer.heat;
 
-import static com.shazam.shazamcrest.matcher.Matchers.sameBeanAs;
 import static com.shazam.shazamcrest.MatcherAssert.assertThat;
+import static com.shazam.shazamcrest.matcher.Matchers.sameBeanAs;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.doThrow;
+import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.Optional;
 import org.hibernate.exception.LockAcquisitionException;
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.ExpectedException;
 import org.mockito.Mock;
-import org.mockito.Mockito;
 import org.mockito.MockitoAnnotations;
 import org.onap.sdc.api.notification.IResourceInstance;
 import org.onap.sdc.tosca.parser.api.ISdcCsarHelper;
@@ -58,13 +56,17 @@ import org.onap.so.asdc.client.test.emulators.NotificationDataImpl;
 import org.onap.so.asdc.installer.ToscaResourceStructure;
 import org.onap.so.db.catalog.beans.ConfigurationResource;
 import org.onap.so.db.catalog.beans.ConfigurationResourceCustomization;
+import org.onap.so.db.catalog.beans.Service;
 import org.onap.so.db.catalog.beans.ServiceProxyResourceCustomization;
 import org.onap.so.db.catalog.data.repository.AllottedResourceCustomizationRepository;
 import org.onap.so.db.catalog.data.repository.AllottedResourceRepository;
+import org.onap.so.db.catalog.data.repository.ConfigurationResourceCustomizationRepository;
 import org.onap.so.db.catalog.data.repository.ServiceRepository;
 import org.onap.so.db.request.beans.WatchdogComponentDistributionStatus;
 import org.onap.so.db.request.data.repository.WatchdogComponentDistributionStatusRepository;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.test.util.ReflectionTestUtils;
+
 
 public class ToscaResourceInstallerTest extends BaseTest {
     @Autowired
@@ -99,6 +101,8 @@ public class ToscaResourceInstallerTest extends BaseTest {
     private ISdcCsarHelper csarHelper;
     @Mock
     private StatefulEntityType entityType;
+    @Mock
+    private Service service;
 
     private NotificationDataImpl notificationData;
     private JsonStatusData statusData;
@@ -350,8 +354,9 @@ public class ToscaResourceInstallerTest extends BaseTest {
     public void getConfigurationResourceCustomizationTest() {
         prepareConfigurationResourceCustomization();
 
-        ConfigurationResourceCustomization configurationResourceCustomization = toscaInstaller
-                .getConfigurationResourceCustomization(nodeTemplate, toscaResourceStructure, spResourceCustomization);
+        ConfigurationResourceCustomization configurationResourceCustomization =
+                toscaInstaller.getConfigurationResourceCustomization(nodeTemplate, toscaResourceStructure,
+                        spResourceCustomization, service);
         assertNotNull(configurationResourceCustomization);
         assertNotNull(configurationResourceCustomization.getConfigurationResource());
         assertEquals(MockConstants.MODEL_CUSTOMIZATIONUUID,
@@ -359,16 +364,34 @@ public class ToscaResourceInstallerTest extends BaseTest {
     }
 
     @Test
-    public void getVnrNodeTemplateTest() {
-        prepareConfigurationResourceCustomization();
-        List<NodeTemplate> nodeTemplateList = new ArrayList<>();
-        doReturn(ToscaResourceInstaller.VLAN_NETWORK_RECEPTOR).when(entityType).getType();
-        doReturn(entityType).when(nodeTemplate).getTypeDefinition();
-        nodeTemplateList.add(nodeTemplate);
-        Optional<ConfigurationResourceCustomization> vnrResourceCustomization =
-                toscaInstaller.getVnrNodeTemplate(nodeTemplateList, toscaResourceStructure, spResourceCustomization);
-        assertTrue(vnrResourceCustomization.isPresent());
-        assertEquals(ToscaResourceInstaller.VLAN_NETWORK_RECEPTOR, entityType.getType());
+    public void correlateConfigCustomResourcesTest() {
+        ConfigurationResource vrfConfigResource = mock(ConfigurationResource.class);
+        ConfigurationResourceCustomization vrfConfigCustom = mock(ConfigurationResourceCustomization.class);
+        doReturn(ToscaResourceInstaller.NODES_VRF_ENTRY).when(vrfConfigResource).getToscaNodeType();
+        doReturn(vrfConfigResource).when(vrfConfigCustom).getConfigurationResource();
+
+        ConfigurationResource vnrConfigResource = mock(ConfigurationResource.class);
+        ConfigurationResourceCustomization vnrConfigCustom = mock(ConfigurationResourceCustomization.class);
+        doReturn(ToscaResourceInstaller.VLAN_NETWORK_RECEPTOR).when(vnrConfigResource).getToscaNodeType();
+        doReturn(vnrConfigResource).when(vnrConfigCustom).getConfigurationResource();
+
+        ConfigurationResourceCustomizationRepository configCustomizationRepo =
+                spy(ConfigurationResourceCustomizationRepository.class);
+        ReflectionTestUtils.setField(toscaInstaller, "configCustomizationRepo", configCustomizationRepo);
+        doReturn(vrfConfigCustom).when(configCustomizationRepo).save(vrfConfigCustom);
+        doReturn(vnrConfigCustom).when(configCustomizationRepo).save(vnrConfigCustom);
+
+        List<ConfigurationResourceCustomization> configList = new ArrayList<>();
+        configList.add(vrfConfigCustom);
+        configList.add(vnrConfigCustom);
+        doReturn(configList).when(service).getConfigurationCustomizations();
+
+        toscaInstaller.correlateConfigCustomResources(service);
+        verify(vrfConfigCustom, times(1)).getConfigurationResource();
+        verify(vrfConfigCustom, times(1)).setConfigResourceCustomization(vnrConfigCustom);
+        verify(service, times(1)).getConfigurationCustomizations();
+        verify(vnrConfigCustom, times(1)).getConfigurationResource();
+        verify(vnrConfigCustom, times(1)).setConfigResourceCustomization(vrfConfigCustom);
     }
 
     class MockConstants {
@@ -381,5 +404,6 @@ public class ToscaResourceInstallerTest extends BaseTest {
         public final static String TEMPLATE_TYPE = "org.openecomp.nodes.VLANNetworkReceptor";
         public final static String TEMPLATE_NAME = "VLAN Network Receptor Configuration 0";
 
+
     }
 }
diff --git a/asdc-controller/src/test/resources/ActivitySpec.json b/asdc-controller/src/test/resources/ActivitySpec.json
new file mode 100644 (file)
index 0000000..66e1b13
--- /dev/null
@@ -0,0 +1,23 @@
+{
+  "name": "VNFQuiesceTrafficActivity",
+  "description": "Activity to QuiesceTraffic on VNF",
+  "categoryList": [
+    "VNF"
+  ],
+  "inputs": [
+    {
+      "name": "parameter1",
+      "type": "string"
+    },
+    {
+      "name": "parameter2",
+      "type": "string"
+    }
+  ],
+  "outputs": [
+    {
+      "name": "parameter3",
+      "type": "string"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/asdc-controller/src/test/resources/ActivitySpecFromCatalog.json b/asdc-controller/src/test/resources/ActivitySpecFromCatalog.json
new file mode 100644 (file)
index 0000000..0864a2c
--- /dev/null
@@ -0,0 +1,41 @@
+{  
+    "name": "VNFQuiesceTrafficActivity",
+    "description": "Activity to QuiesceTraffic on VNF",
+    "version": null,
+    "created": null,
+    "workflowActivitySpecSequence": null,
+    "activitySpecActivitySpecCategories": [
+       {
+                       "activitySpecCategories": {
+                       "name": "VNF"
+               }
+       }
+    ],
+    "activitySpecActivitySpecParameters": [
+      {        
+        "activitySpecParameters": {
+          "name": "parameter1",
+          "type": "string",
+          "direction": "input",
+          "description": "Parameter 1"          
+        }
+      },
+      {        
+        "activitySpecParameters": {
+          "name": "parameter2",
+          "type": "string",
+          "direction": "input",
+          "description": "Parameter 2"          
+        }
+      },
+      {        
+        "activitySpecParameters": {
+          "name": "parameter3",
+          "type": "string",
+          "direction": "output",
+          "description": "Parameter 3"          
+        }
+      }      
+   ]
+  
+}
\ No newline at end of file
diff --git a/asdc-controller/src/test/resources/ActivitySpecList.json b/asdc-controller/src/test/resources/ActivitySpecList.json
new file mode 100644 (file)
index 0000000..c3530a2
--- /dev/null
@@ -0,0 +1,398 @@
+{
+  "activitySpecList": [
+    {
+      "activitySpec": {
+        "name": "VNFQuiesceTrafficActivity",
+        "description": "Activity to QuiesceTraffic on VNF",
+        "version": null,
+        "created": null,
+        "workflowActivitySpecSequence": null,
+        "activitySpecActivitySpecCategories": null,
+        "activitySpecUserParameters": [
+          {
+            "activitySpecId": null,
+            "userParametersId": null,
+            "activitySpec": null,
+            "userParameters": {
+              "name": "operations_timeout",
+              "payloadLocation": "userParams",
+              "label": "Operations Timeout",
+              "type": "text",
+              "description": null,
+              "isRequried": true,
+              "maxLength": 50,
+              "allowableChars": "someRegEx",
+              "created": null,
+              "activitySpecUserParameters": null,
+              "id": null
+            },
+            "id": null
+          },
+          {
+            "activitySpecId": null,
+            "userParametersId": null,
+            "activitySpec": null,
+            "userParameters": {
+              "name": "existing_software_version",
+              "payloadLocation": "userParams",
+              "label": "Existing Software Version",
+              "type": "text",
+              "description": null,
+              "isRequried": true,
+              "maxLength": 50,
+              "allowableChars": "someRegEx",
+              "created": null,
+              "activitySpecUserParameters": null,
+              "id": null
+            },
+            "id": null
+          },
+          {
+            "activitySpecId": null,
+            "userParametersId": null,
+            "activitySpec": null,
+            "userParameters": {
+              "name": "cloudOwner",
+              "payloadLocation": "cloudConfiguration",
+              "label": "Cloud Owner",
+              "type": "text",
+              "description": null,
+              "isRequried": true,
+              "maxLength": 7,
+              "allowableChars": "someRegEx",
+              "created": null,
+              "activitySpecUserParameters": null,
+              "id": null
+            },
+            "id": null
+          },
+          {
+            "activitySpecId": null,
+            "userParametersId": null,
+            "activitySpec": null,
+            "userParameters": {
+              "name": "tenantId",
+              "payloadLocation": "cloudConfiguration",
+              "label": "Tenant/Project ID",
+              "type": "text",
+              "description": null,
+              "isRequried": true,
+              "maxLength": 36,
+              "allowableChars": "someRegEx",
+              "created": null,
+              "activitySpecUserParameters": null,
+              "id": null
+            },
+            "id": null
+          },
+          {
+            "activitySpecId": null,
+            "userParametersId": null,
+            "activitySpec": null,
+            "userParameters": {
+              "name": "new_software_version",
+              "payloadLocation": "userParams",
+              "label": "New Software Version",
+              "type": "text",
+              "description": null,
+              "isRequried": true,
+              "maxLength": 50,
+              "allowableChars": "someRegEx",
+              "created": null,
+              "activitySpecUserParameters": null,
+              "id": null
+            },
+            "id": null
+          },
+          {
+            "activitySpecId": null,
+            "userParametersId": null,
+            "activitySpec": null,
+            "userParameters": {
+              "name": "lcpCloudRegionId",
+              "payloadLocation": "cloudConfiguration",
+              "label": "Cloud Region ID",
+              "type": "text",
+              "description": null,
+              "isRequried": true,
+              "maxLength": 7,
+              "allowableChars": "someRegEx",
+              "created": null,
+              "activitySpecUserParameters": null,
+              "id": null
+            },
+            "id": null
+          }
+        ],
+        "activitySpecActivitySpecParameters": null,
+        "id": null
+      },
+      "workflow": null,
+      "id": null
+    },
+    {
+      "activitySpecId": null,
+      "workflowId": null,
+      "activitySpec": {
+        "name": "VNFHealthCheckActivity",
+        "description": "Activity to HealthCheck VNF",
+        "version": null,
+        "created": null,
+        "workflowActivitySpecSequence": null,
+        "activitySpecActivitySpecCategories": null,
+        "activitySpecUserParameters": [
+          {
+            "activitySpecId": null,
+            "userParametersId": null,
+            "activitySpec": null,
+            "userParameters": {
+              "name": "operations_timeout",
+              "payloadLocation": "userParams",
+              "label": "Operations Timeout",
+              "type": "text",
+              "description": null,
+              "isRequried": true,
+              "maxLength": 50,
+              "allowableChars": "someRegEx",
+              "created": null,
+              "activitySpecUserParameters": null,
+              "id": null
+            },
+            "id": null
+          },
+          {
+            "activitySpecId": null,
+            "userParametersId": null,
+            "activitySpec": null,
+            "userParameters": {
+              "name": "existing_software_version",
+              "payloadLocation": "userParams",
+              "label": "Existing Software Version",
+              "type": "text",
+              "description": null,
+              "isRequried": true,
+              "maxLength": 50,
+              "allowableChars": "someRegEx",
+              "created": null,
+              "activitySpecUserParameters": null,
+              "id": null
+            },
+            "id": null
+          },
+          {
+            "activitySpecId": null,
+            "userParametersId": null,
+            "activitySpec": null,
+            "userParameters": {
+              "name": "cloudOwner",
+              "payloadLocation": "cloudConfiguration",
+              "label": "Cloud Owner",
+              "type": "text",
+              "description": null,
+              "isRequried": true,
+              "maxLength": 7,
+              "allowableChars": "someRegEx",
+              "created": null,
+              "activitySpecUserParameters": null,
+              "id": null
+            },
+            "id": null
+          },
+          {
+            "activitySpecId": null,
+            "userParametersId": null,
+            "activitySpec": null,
+            "userParameters": {
+              "name": "tenantId",
+              "payloadLocation": "cloudConfiguration",
+              "label": "Tenant/Project ID",
+              "type": "text",
+              "description": null,
+              "isRequried": true,
+              "maxLength": 36,
+              "allowableChars": "someRegEx",
+              "created": null,
+              "activitySpecUserParameters": null,
+              "id": null
+            },
+            "id": null
+          },
+          {
+            "activitySpecId": null,
+            "userParametersId": null,
+            "activitySpec": null,
+            "userParameters": {
+              "name": "new_software_version",
+              "payloadLocation": "userParams",
+              "label": "New Software Version",
+              "type": "text",
+              "description": null,
+              "isRequried": true,
+              "maxLength": 50,
+              "allowableChars": "someRegEx",
+              "created": null,
+              "activitySpecUserParameters": null,
+              "id": null
+            },
+            "id": null
+          },
+          {
+            "activitySpecId": null,
+            "userParametersId": null,
+            "activitySpec": null,
+            "userParameters": {
+              "name": "lcpCloudRegionId",
+              "payloadLocation": "cloudConfiguration",
+              "label": "Cloud Region ID",
+              "type": "text",
+              "description": null,
+              "isRequried": true,
+              "maxLength": 7,
+              "allowableChars": "someRegEx",
+              "created": null,
+              "activitySpecUserParameters": null,
+              "id": null
+            },
+            "id": null
+          }
+        ],
+        "activitySpecActivitySpecParameters": null,
+        "id": null
+      },
+      "workflow": null,
+      "id": null
+    },
+    {
+      "activitySpecId": null,
+      "workflowId": null,
+      "activitySpec": {
+        "name": "FlowCompleteActivity",
+        "description": "Activity to Complete the BPMN Flow",
+        "version": null,
+        "created": null,
+        "workflowActivitySpecSequence": null,
+        "activitySpecActivitySpecCategories": null,
+        "activitySpecUserParameters": [
+          {
+            "activitySpecId": null,
+            "userParametersId": null,
+            "activitySpec": null,
+            "userParameters": {
+              "name": "operations_timeout",
+              "payloadLocation": "userParams",
+              "label": "Operations Timeout",
+              "type": "text",
+              "description": null,
+              "isRequried": true,
+              "maxLength": 50,
+              "allowableChars": "someRegEx",
+              "created": null,
+              "activitySpecUserParameters": null,
+              "id": null
+            },
+            "id": null
+          },
+          {
+            "activitySpecId": null,
+            "userParametersId": null,
+            "activitySpec": null,
+            "userParameters": {
+              "name": "existing_software_version",
+              "payloadLocation": "userParams",
+              "label": "Existing Software Version",
+              "type": "text",
+              "description": null,
+              "isRequried": true,
+              "maxLength": 50,
+              "allowableChars": "someRegEx",
+              "created": null,
+              "activitySpecUserParameters": null,
+              "id": null
+            },
+            "id": null
+          },
+          {
+            "activitySpecId": null,
+            "userParametersId": null,
+            "activitySpec": null,
+            "userParameters": {
+              "name": "cloudOwner",
+              "payloadLocation": "cloudConfiguration",
+              "label": "Cloud Owner",
+              "type": "text",
+              "description": null,
+              "isRequried": true,
+              "maxLength": 7,
+              "allowableChars": "someRegEx",
+              "created": null,
+              "activitySpecUserParameters": null,
+              "id": null
+            },
+            "id": null
+          },
+          {
+            "activitySpecId": null,
+            "userParametersId": null,
+            "activitySpec": null,
+            "userParameters": {
+              "name": "tenantId",
+              "payloadLocation": "cloudConfiguration",
+              "label": "Tenant/Project ID",
+              "type": "text",
+              "description": null,
+              "isRequried": true,
+              "maxLength": 36,
+              "allowableChars": "someRegEx",
+              "created": null,
+              "activitySpecUserParameters": null,
+              "id": null
+            },
+            "id": null
+          },
+          {
+            "activitySpecId": null,
+            "userParametersId": null,
+            "activitySpec": null,
+            "userParameters": {
+              "name": "new_software_version",
+              "payloadLocation": "userParams",
+              "label": "New Software Version",
+              "type": "text",
+              "description": null,
+              "isRequried": true,
+              "maxLength": 50,
+              "allowableChars": "someRegEx",
+              "created": null,
+              "activitySpecUserParameters": null,
+              "id": null
+            },
+            "id": null
+          },
+          {
+            "activitySpecId": null,
+            "userParametersId": null,
+            "activitySpec": null,
+            "userParameters": {
+              "name": "lcpCloudRegionId",
+              "payloadLocation": "cloudConfiguration",
+              "label": "Cloud Region ID",
+              "type": "text",
+              "description": null,
+              "isRequried": true,
+              "maxLength": 7,
+              "allowableChars": "someRegEx",
+              "created": null,
+              "activitySpecUserParameters": null,
+              "id": null
+            },
+            "id": null
+          }
+        ],
+        "activitySpecActivitySpecParameters": null,
+        "id": null
+      },
+      "workflow": null,
+      "id": null
+    }
+  ]
+}
\ No newline at end of file
index ec53649..9fa2055 100644 (file)
@@ -66,6 +66,7 @@ mso:
     db:
       spring:
         endpoint: "http://localhost:"
+  camundaURL: http://localhost:${wiremock.server.port}/        
   db:
     auth: Basic YnBlbDptc28tZGItMTUwNyE=
   site-name: siteName
index 7cd972c..47e6c4c 100644 (file)
@@ -22,6 +22,196 @@ INSERT INTO temp_network_heat_template_lookup(NETWORK_RESOURCE_MODEL_NAME, HEAT_
 INSERT INTO temp_network_heat_template_lookup(NETWORK_RESOURCE_MODEL_NAME, HEAT_TEMPLATE_ARTIFACT_UUID, AIC_VERSION_MIN, AIC_VERSION_MAX) VALUES
 ('SRIOV_PROVIDER_NETWORK', 'ff874603-4222-11e7-9252-005056850d2e', '3.0', NULL);
 
+insert into vnf_resource(orchestration_mode, description, creation_timestamp, model_uuid, aic_version_min, aic_version_max, model_invariant_uuid, model_version, model_name, tosca_node_type, heat_template_artifact_uuid) values
+('HEAT', '1607 vSAMP10a - inherent network', '2017-04-14 21:46:28', 'ff2ae348-214a-11e7-93ae-92361f002671', '', '', '2fff5b20-214b-11e7-93ae-92361f002671', '1.0', 'vSAMP10a', 'VF', null);
+
+insert into workflow(artifact_uuid, artifact_name, name, operation_name, version, description, body, resource_target, source) values
+('5b0c4322-643d-4c9f-b184-4516049e99b1', 'testingWorkflow', 'testingWorkflow', 'create', 1, 'Test Workflow', null, 'vnf', 'sdc');
+
+insert into vnf_resource_to_workflow(vnf_resource_model_uuid, workflow_id) values
+('ff2ae348-214a-11e7-93ae-92361f002671', '1');
+
+insert into activity_spec(name, description, version) values
+('testActivity1', 'Test Activity 1', 1.0);
+
+insert into workflow_activity_spec_sequence(workflow_id, activity_spec_id, seq_no) values
+(1, 1, 1);
+
+INSERT INTO activity_spec (NAME, DESCRIPTION, VERSION) 
+VALUES 
+('VNFSetInMaintFlagActivity','Activity to Set InMaint Flag in A&AI',1.0),
+('VNFCheckPserversLockedFlagActivity','Activity Check Pservers Locked Flag VNF',1.0),
+('VNFCheckInMaintFlagActivity','Activity CheckIn Maint Flag on VNF',1.0),
+('VNFCheckClosedLoopDisabledFlagActivity','Activity Check Closed Loop Disabled Flag on VNF',1.0),
+('VNFSetClosedLoopDisabledFlagActivity','Activity Set Closed Loop Disabled Flag on VNF',1.0),
+('VNFUnsetClosedLoopDisabledFlagActivity','Activity Unset Closed Loop Disabled Flag on VNF',1.0),
+('VNFLockActivity','Activity Lock on VNF',1.0),
+('VNFUnlockActivity','Activity UnLock on VNF',1.0),
+('VNFStopActivity','Activity Stop on VNF',1.0),
+('VNFStartActivity','Activity Start on VNF',1.0),
+('VNFSnapShotActivity','Activity Snap Shot on VNF',1.0),
+('FlowCompleteActivity','Activity Complete on VNF',1.0),
+('PauseForManualTaskActivity','Activity Pause For Manual Task on VNF',1.0),
+('DistributeTrafficActivity','Activity Distribute Traffic on VNF',1.0),
+('DistributeTrafficCheckActivity','Activity Distribute Traffic Check on VNF',1.0),
+('VNFHealthCheckActivity','Activity Health Check on VNF',1.0),
+('VNFQuiesceTrafficActivity','Activity Quiesce Traffic on VNF',1.0),
+('VNFResumeTrafficActivity','Activity Resume Traffic on VNF',1.0),
+('VNFUnsetInMaintFlagActivity','Activity Unset InMaint Flag on VNF',1.0),
+('VNFUpgradeBackupActivity','Activity Upgrade Backup on VNF',1.0),
+('VNFUpgradePostCheckActivity','Activity Upgrade Post Check on VNF',1.0),
+('VNFUpgradePreCheckActivity','Activity Upgrade PreCheck on VNF',1.0),
+('VNFUpgradeSoftwareActivity','Activity UpgradeS oftware on VNF',1.0),
+('VnfInPlaceSoftwareUpdate','Activity InPlace Software Update on VNF',1.0);
+
+INSERT INTO activity_spec_categories (NAME)
+VALUES ('VNF');
+
+INSERT INTO activity_spec_to_activity_spec_categories(ACTIVITY_SPEC_ID, ACTIVITY_SPEC_CATEGORIES_ID) 
+VALUES
+((select ID from activity_spec where NAME='VNFSetInMaintFlagActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFCheckPserversLockedFlagActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFCheckInMaintFlagActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFCheckClosedLoopDisabledFlagActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFSetClosedLoopDisabledFlagActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFUnsetClosedLoopDisabledFlagActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFLockActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFUnlockActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFStopActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFStartActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFSnapShotActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='FlowCompleteActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='PauseForManualTaskActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='DistributeTrafficActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='DistributeTrafficCheckActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFHealthCheckActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFQuiesceTrafficActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFResumeTrafficActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFUnsetInMaintFlagActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFUpgradeBackupActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFUpgradePostCheckActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFUpgradePreCheckActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFUpgradeSoftwareActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VnfInPlaceSoftwareUpdate' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF'));
+
+INSERT INTO activity_spec_parameters (NAME, TYPE, DIRECTION, DESCRIPTION) 
+VALUES('WorkflowException','WorkflowException','output','Description');
+
+INSERT INTO activity_spec_to_activity_spec_parameters( ACTIVITY_SPEC_ID, ACTIVITY_SPEC_PARAMETERS_ID) 
+VALUES
+((select ID from activity_spec where NAME='VNFSetInMaintFlagActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFCheckPserversLockedFlagActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFCheckInMaintFlagActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFCheckClosedLoopDisabledFlagActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFSetClosedLoopDisabledFlagActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFUnsetClosedLoopDisabledFlagActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFLockActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFUnlockActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFStopActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFStartActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFSnapShotActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='FlowCompleteActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='PauseForManualTaskActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='DistributeTrafficActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='DistributeTrafficCheckActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFHealthCheckActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFQuiesceTrafficActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFResumeTrafficActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFUnsetInMaintFlagActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFUpgradeBackupActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFUpgradePostCheckActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFUpgradePreCheckActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFUpgradeSoftwareActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output'));
+
+INSERT INTO `user_parameters`(`NAME`,`PAYLOAD_LOCATION`,`LABEL`,`TYPE`,`DESCRIPTION`,`IS_REQUIRED`,`MAX_LENGTH`,`ALLOWABLE_CHARS`)
+VALUES 
+('cloudOwner','cloudConfiguration','Cloud Owner','text','',1,7,''), 
+('operations_timeout','userParams','Operations Timeout','text','',1,50,''),
+('existing_software_version','userParams','Existing Software Version','text','',1,50,''),
+('tenantId','cloudConfiguration','Tenant/Project ID','text','',1,36,''),
+('new_software_version','userParams','New Software Version','text','',1,50,''),
+('lcpCloudRegionId','cloudConfiguration','Cloud Region ID','text','',1,7,'');
+
+INSERT INTO `activity_spec_to_user_parameters`(`ACTIVITY_SPEC_ID`,`USER_PARAMETERS_ID`)
+VALUES
+((select ID from activity_spec where NAME='VNFStopActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='lcpCloudRegionId')),
+((select ID from activity_spec where NAME='VNFStopActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='tenantId')),
+((select ID from activity_spec where NAME='VNFStartActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='lcpCloudRegionId')),
+((select ID from activity_spec where NAME='VNFStartActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='tenantId')),
+((select ID from activity_spec where NAME='VNFSnapShotActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='lcpCloudRegionId')),
+((select ID from activity_spec where NAME='VNFSnapShotActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='tenantId')),
+((select ID from activity_spec where NAME='VNFQuiesceTrafficActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='operations_timeout')),
+((select ID from activity_spec where NAME='VNFUpgradeBackupActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='existing_software_version')),
+((select ID from activity_spec where NAME='VNFUpgradeBackupActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='new_software_version')),
+((select ID from activity_spec where NAME='VNFUpgradePostCheckActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='existing_software_version')),
+((select ID from activity_spec where NAME='VNFUpgradePostCheckActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='new_software_version')),
+((select ID from activity_spec where NAME='VNFUpgradePreCheckActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='existing_software_version')),
+((select ID from activity_spec where NAME='VNFUpgradePreCheckActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='new_software_version')),
+((select ID from activity_spec where NAME='VNFUpgradeSoftwareActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='existing_software_version')),
+((select ID from activity_spec where NAME='VNFUpgradeSoftwareActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='new_software_version'));
+
 
 --------START Request DB INSERTS --------
 insert into requestdb.watchdog_distributionid_status(DISTRIBUTION_ID, DISTRIBUTION_ID_STATUS,LOCK_VERSION) values 
@@ -61,4 +251,4 @@ insert into requestdb.watchdog_per_component_distribution_status(DISTRIBUTION_ID
 
 insert into requestdb.watchdog_service_mod_ver_id_lookup(DISTRIBUTION_ID, SERVICE_MODEL_VERSION_ID, DISTRIBUTION_NOTIFICATION, CONSUMER_ID) values
 ('watchdogTestStatusSuccess', '5df8b6de-2083-11e7-93ae-92361f002671', NULL, NULL),
-('watchdogTestStatusNull', '00000000-0000-0000-0000-000000000000', NULL, NULL);
+('watchdogTestStatusNull', '00000000-0000-0000-0000-000000000000', NULL, NULL);
\ No newline at end of file
diff --git a/asdc-controller/src/test/resources/resource-examples/WorkflowBpmn/TestBpmnFromSDC.bpmn b/asdc-controller/src/test/resources/resource-examples/WorkflowBpmn/TestBpmnFromSDC.bpmn
new file mode 100644 (file)
index 0000000..f3a5c7c
--- /dev/null
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:bioc="http://bpmn.io/schema/bpmn/biocolor/1.0" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="sample-diagram" targetNamespace="http://bpmn.io/schema/bpmn" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
+  <bpmn2:process id="customWorkflowtest1" name="TestBpmnFromSDC" isExecutable="true">
+    <bpmn2:extensionElements>
+      <camunda:inputOutput />
+    </bpmn2:extensionElements>
+    <bpmn2:startEvent id="StartEvent_0wtabee">
+      <bpmn2:outgoing>SequenceFlow_1v7ptqz</bpmn2:outgoing>
+    </bpmn2:startEvent>
+    <bpmn2:serviceTask id="Task_1kxbei4" name="VNFSetInMaintFlagActivity" implementation="activity:VNFSetInMaintFlagActivity" camunda:expression="${ExecuteActivity.execute(execution)}">
+      <bpmn2:extensionElements>
+        <camunda:inputOutput />
+      </bpmn2:extensionElements>
+      <bpmn2:incoming>SequenceFlow_1v7ptqz</bpmn2:incoming>
+      <bpmn2:outgoing>SequenceFlow_16i7mid</bpmn2:outgoing>
+    </bpmn2:serviceTask>
+    <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0tgyvzw">
+      <bpmn2:incoming>SequenceFlow_16i7mid</bpmn2:incoming>
+    </bpmn2:intermediateThrowEvent>
+    <bpmn2:sequenceFlow id="SequenceFlow_16i7mid" sourceRef="Task_1kxbei4" targetRef="IntermediateThrowEvent_0tgyvzw" />
+    <bpmn2:sequenceFlow id="SequenceFlow_1v7ptqz" sourceRef="StartEvent_0wtabee" targetRef="Task_1kxbei4" />
+  </bpmn2:process>
+  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
+    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="customWorkflowtest1">
+      <bpmndi:BPMNShape id="StartEvent_0wtabee_di" bpmnElement="StartEvent_0wtabee">
+        <dc:Bounds x="256" y="134" width="36" height="36" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape id="ServiceTask_1cgg6ym_di" bpmnElement="Task_1kxbei4" bioc:fill="white">
+        <dc:Bounds x="386" y="112" width="100" height="80" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape id="IntermediateThrowEvent_0tgyvzw_di" bpmnElement="IntermediateThrowEvent_0tgyvzw">
+        <dc:Bounds x="536" y="134" width="36" height="36" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNEdge id="SequenceFlow_16i7mid_di" bpmnElement="SequenceFlow_16i7mid">
+        <di:waypoint x="486" y="152" />
+        <di:waypoint x="536" y="152" />
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge id="SequenceFlow_1v7ptqz_di" bpmnElement="SequenceFlow_1v7ptqz">
+        <di:waypoint x="292" y="152" />
+        <di:waypoint x="386" y="152" />
+      </bpmndi:BPMNEdge>
+    </bpmndi:BPMNPlane>
+  </bpmndi:BPMNDiagram>
+</bpmn2:definitions>
\ No newline at end of file
diff --git a/asdc-controller/src/test/resources/resource-examples/WorkflowBpmn/TestWF2-1_0.bpmn b/asdc-controller/src/test/resources/resource-examples/WorkflowBpmn/TestWF2-1_0.bpmn
new file mode 100644 (file)
index 0000000..11378cf
--- /dev/null
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" id="sample-diagram" targetNamespace="http://bpmn.io/schema/bpmn" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
+  <bpmn2:process id="testwf2" name="TestWF2" isExecutable="true">
+    <bpmn2:extensionElements>
+      <camunda:inputOutput />
+    </bpmn2:extensionElements>
+    <bpmn2:endEvent id="EndEvent_1naezi3" />
+  </bpmn2:process>
+  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
+    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="testwf2">
+      <bpmndi:BPMNShape id="EndEvent_1naezi3_di" bpmnElement="EndEvent_1naezi3">
+        <dc:Bounds x="219" y="285" width="36" height="36" />
+      </bpmndi:BPMNShape>
+    </bpmndi:BPMNPlane>
+  </bpmndi:BPMNDiagram>
+</bpmn2:definitions>
diff --git a/asdc-controller/src/test/resources/resource-examples/WorkflowBpmn/sdc/v1/catalog/services/Testparentservice/1.0/resourceInstances/testvf0/artifacts/TestWF-1_0.bpmn b/asdc-controller/src/test/resources/resource-examples/WorkflowBpmn/sdc/v1/catalog/services/Testparentservice/1.0/resourceInstances/testvf0/artifacts/TestWF-1_0.bpmn
new file mode 100644 (file)
index 0000000..4e21a47
--- /dev/null
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" id="sample-diagram" targetNamespace="http://bpmn.io/schema/bpmn" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
+  <bpmn2:process id="testwf" name="TestWF" isExecutable="true">
+    <bpmn2:extensionElements>
+      <camunda:inputOutput />
+    </bpmn2:extensionElements>
+    <bpmn2:startEvent id="StartEvent_1loupvi" />
+  </bpmn2:process>
+  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
+    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="testwf">
+      <bpmndi:BPMNShape id="StartEvent_1loupvi_di" bpmnElement="StartEvent_1loupvi">
+        <dc:Bounds x="274" y="212" width="36" height="36" />
+      </bpmndi:BPMNShape>
+    </bpmndi:BPMNPlane>
+  </bpmndi:BPMNDiagram>
+</bpmn2:definitions>
diff --git a/asdc-controller/src/test/resources/resource-examples/WorkflowBpmn/sdc/v1/catalog/services/Testparentservice/1.0/resourceInstances/testvf0/artifacts/TestWF-2_0.bpmn b/asdc-controller/src/test/resources/resource-examples/WorkflowBpmn/sdc/v1/catalog/services/Testparentservice/1.0/resourceInstances/testvf0/artifacts/TestWF-2_0.bpmn
new file mode 100644 (file)
index 0000000..e54d79a
--- /dev/null
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" id="sample-diagram" targetNamespace="http://bpmn.io/schema/bpmn" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
+  <bpmn2:process id="testwf" name="TestWF" isExecutable="true">
+    <bpmn2:extensionElements>
+      <camunda:inputOutput />
+    </bpmn2:extensionElements>
+    <bpmn2:startEvent id="StartEvent_1loupvi" />
+    <bpmn2:startEvent id="StartEvent_0z42dnp" />
+  </bpmn2:process>
+  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
+    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="testwf">
+      <bpmndi:BPMNShape id="StartEvent_1loupvi_di" bpmnElement="StartEvent_1loupvi">
+        <dc:Bounds x="274" y="212" width="36" height="36" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape id="StartEvent_0z42dnp_di" bpmnElement="StartEvent_0z42dnp">
+        <dc:Bounds x="454" y="364" width="36" height="36" />
+      </bpmndi:BPMNShape>
+    </bpmndi:BPMNPlane>
+  </bpmndi:BPMNDiagram>
+</bpmn2:definitions>
diff --git a/asdc-controller/src/test/resources/resource-examples/WorkflowBpmn/sdc/v1/catalog/services/Testparentservice/1.0/resourceInstances/testvf0/artifacts/TestWF2-1_0.bpmn b/asdc-controller/src/test/resources/resource-examples/WorkflowBpmn/sdc/v1/catalog/services/Testparentservice/1.0/resourceInstances/testvf0/artifacts/TestWF2-1_0.bpmn
new file mode 100644 (file)
index 0000000..11378cf
--- /dev/null
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" id="sample-diagram" targetNamespace="http://bpmn.io/schema/bpmn" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
+  <bpmn2:process id="testwf2" name="TestWF2" isExecutable="true">
+    <bpmn2:extensionElements>
+      <camunda:inputOutput />
+    </bpmn2:extensionElements>
+    <bpmn2:endEvent id="EndEvent_1naezi3" />
+  </bpmn2:process>
+  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
+    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="testwf2">
+      <bpmndi:BPMNShape id="EndEvent_1naezi3_di" bpmnElement="EndEvent_1naezi3">
+        <dc:Bounds x="219" y="285" width="36" height="36" />
+      </bpmndi:BPMNShape>
+    </bpmndi:BPMNPlane>
+  </bpmndi:BPMNDiagram>
+</bpmn2:definitions>
diff --git a/asdc-controller/src/test/resources/resource-examples/WorkflowBpmn/service-Testparentservice-csar.csar b/asdc-controller/src/test/resources/resource-examples/WorkflowBpmn/service-Testparentservice-csar.csar
new file mode 100644 (file)
index 0000000..fe99318
Binary files /dev/null and b/asdc-controller/src/test/resources/resource-examples/WorkflowBpmn/service-Testparentservice-csar.csar differ
diff --git a/asdc-controller/src/test/resources/resource-examples/WorkflowBpmn/workflow-distribution.json b/asdc-controller/src/test/resources/resource-examples/WorkflowBpmn/workflow-distribution.json
new file mode 100644 (file)
index 0000000..9f49be5
--- /dev/null
@@ -0,0 +1,76 @@
+{
+  "distributionID": "48cc0f04-1d42-4fb4-a5ab-9fa62f8d64c1",
+  "serviceName": "TestParentService",
+  "serviceVersion": "1.0",
+  "serviceUUID": "2f55da47-c58a-453e-909f-172c94765fba",
+  "serviceDescription": "TestParentService",
+  "serviceInvariantUUID": "13b817ae-6388-40cf-9261-1619b607f1de",
+  "resources": [
+    {
+      "resourceInstanceName": "TestVF 0",
+      "resourceName": "TestVF",
+      "resourceVersion": "1.0",
+      "resoucreType": "VF",
+      "resourceUUID": "5185253e-4bef-4eb4-bbf9-8c328c787ebd",
+      "resourceInvariantUUID": "ea8264db-3e24-4324-87cc-12c6903ed43d",
+      "resourceCustomizationUUID": "a959a3cb-4988-435c-9cb7-5a40ef2ef2ac",
+      "category": "Allotted Resource",
+      "subcategory": "Contrail Route",
+      "artifacts": [
+        {
+          "artifactName": "TestWF2-1_0.bpmn",
+          "artifactType": "WORKFLOW",
+          "artifactURL": "/sdc/v1/catalog/services/Testparentservice/1.0/resourceInstances/testvf0/artifacts/TestWF2-1_0.bpmn",
+          "artifactChecksum": "ZjUzNjg1NDMyMTc4MWJmZjFlNDcyOGQ0Zjc1YWQwYzQ\u003d",
+          "artifactDescription": "Workflow Artifact Description",
+          "artifactTimeout": 120,
+          "artifactUUID": "a90f8eaa-7c20-422f-8c81-aacbca6fb9e7",
+          "artifactVersion": "1"
+        },
+        {
+          "artifactName": "TestWF-1_0.bpmn",
+          "artifactType": "WORKFLOW",
+          "artifactURL": "/sdc/v1/catalog/services/Testparentservice/1.0/resourceInstances/testvf0/artifacts/TestWF-1_0.bpmn",
+          "artifactChecksum": "YzA4NDY3M2E3Njk3Y2FjMmViZjRlODIzNTY1NDY3MDY\u003d",
+          "artifactDescription": "Workflow Artifact Description",
+          "artifactTimeout": 120,
+          "artifactUUID": "f27066a1-c3a7-4672-b02e-1251b74b7b71",
+          "artifactVersion": "1"
+        },
+        {
+          "artifactName": "TestWF-2_0.bpmn",
+          "artifactType": "WORKFLOW",
+          "artifactURL": "/sdc/v1/catalog/services/Testparentservice/1.0/resourceInstances/testvf0/artifacts/TestWF-2_0.bpmn",
+          "artifactChecksum": "MTE0MDA2ZGNjZmY3YWEyNzNlNjUwZDQ2OGU4YTM5ZjU\u003d",
+          "artifactDescription": "Workflow Artifact Description",
+          "artifactTimeout": 120,
+          "artifactUUID": "f51d2203-d1f5-43f1-9492-e59d12facb8f",
+          "artifactVersion": "1"
+        }
+      ]
+    }
+  ],
+  "serviceArtifacts": [
+    {
+      "artifactName": "service-Testparentservice-template.yml",
+      "artifactType": "TOSCA_TEMPLATE",
+      "artifactURL": "/sdc/v1/catalog/services/Testparentservice/1.0/artifacts/service-Testparentservice-template.yml",
+      "artifactChecksum": "YWZlYWMwMjNkODBlYTI2MzZlNjg3YzEzODZiNzNkNTg\u003d",
+      "artifactDescription": "TOSCA representation of the asset",
+      "artifactTimeout": 0,
+      "artifactUUID": "8ec96c3f-d527-48bd-8dc5-1e7682bda676",
+      "artifactVersion": "1"
+    },
+    {
+      "artifactName": "service-Testparentservice-csar.csar",
+      "artifactType": "TOSCA_CSAR",
+      "artifactURL": "service-Testparentservice-csar.csar",
+      "artifactChecksum": "MTc4OWU0MGRhOTE4OGZiM2JiMjM3YmI3NzI2YWZjNjI\u003d",
+      "artifactDescription": "TOSCA definition package of the asset",
+      "artifactTimeout": 0,
+      "artifactUUID": "8dac522d-8e00-4794-819e-88e559ebc170",
+      "artifactVersion": "1"
+    }
+  ],
+  "workloadContext": "Production"
+}
\ No newline at end of file
diff --git a/asdc-controller/src/test/resources/resource-examples/vFW/base_vfw.env b/asdc-controller/src/test/resources/resource-examples/vFW/base_vfw.env
new file mode 100644 (file)
index 0000000..f490db5
--- /dev/null
@@ -0,0 +1,38 @@
+parameters:
+  cloud_env: "openstack"
+  dcae_collector_ip: "10.0.4.1"
+  dcae_collector_port: "30235"
+  demo_artifacts_version: "1.4.0-SNAPSHOT"
+  install_script_version: "1.4.0-SNAPSHOT"
+  key_name: "vfw_key"
+  nexus_artifact_repo: "https://nexus.onap.org"
+  onap_private_net_cidr: "10.0.0.0/16"
+  onap_private_net_id: "PUT THE ONAP PRIVATE NETWORK NAME HERE"
+  onap_private_subnet_id: "PUT THE ONAP PRIVATE NETWORK NAME HERE"
+  protected_private_net_cidr: "192.168.20.0/24"
+  protected_private_net_id: "zdfw1fwl01_protected"
+  pub_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDQXYJYYi3/OUZXUiCYWdtc7K0m5C0dJKVxPG0eI8EWZrEHYdfYe6WoTSDJCww+1qlBSpA5ac/Ba4Wn9vh+lR1vtUKkyIC/nrYb90ReUd385Glkgzrfh5HdR5y5S2cL/Frh86lAn9r6b3iWTJD8wBwXFyoe1S2nMTOIuG4RPNvfmyCTYVh8XTCCE8HPvh3xv2r4egawG1P4Q4UDwk+hDBXThY2KS8M5/8EMyxHV0ImpLbpYCTBA6KYDIRtqmgS6iKyy8v2D1aSY5mc9J0T5t9S2Gv+VZQNWQDDKNFnxqYaAo1uEoq/i1q63XC5AD3ckXb2VT6dp23BQMdDfbHyUWfJN"
+  public_net_id: "PUT THE PUBLIC NETWORK ID HERE"
+  sec_group: "PUT THE ONAP SECURITY GROUP HERE"
+  unprotected_private_net_cidr: "192.168.10.0/24"
+  unprotected_private_net_id: "zdfw1fwl01_unprotected"
+  vf_module_id: "vFirewall"
+  vfw_flavor_name: "PUT THE VM FLAVOR NAME HERE (m1.medium suggested)"
+  vfw_image_name: "PUT THE VM IMAGE NAME HERE (UBUNTU 1404 required)"
+  vfw_int_protected_private_floating_ip: "192.168.10.200"
+  vfw_int_protected_private_ip_0: "192.168.20.100"
+  vfw_int_unprotected_private_ip_0: "192.168.10.100"
+  vfw_name_0: "zdfw1fwl01fwl01"
+  vfw_onap_private_ip_0: "10.0.100.1"
+  vnf_id: "vFirewall_demo_app"
+  vnf_name: "vFW"
+  vpg_flavor_name: "PUT THE VM FLAVOR NAME HERE (m1.medium suggested)"
+  vpg_image_name: "PUT THE VM IMAGE NAME HERE (UBUNTU 1404 required)"
+  vpg_int_unprotected_private_ip_0: "192.168.10.200"
+  vpg_name_0: "zdfw1fwl01pgn01"
+  vpg_onap_private_ip_0: "10.0.100.2"
+  vsn_flavor_name: "PUT THE VM FLAVOR NAME HERE (m1.medium suggested)"
+  vsn_image_name: "PUT THE VM IMAGE NAME HERE (UBUNTU 1404 required)"
+  vsn_int_protected_private_ip_0: "192.168.20.250"
+  vsn_name_0: "zdfw1fwl01snk01"
+  vsn_onap_private_ip_0: "10.0.100.3"
diff --git a/asdc-controller/src/test/resources/resource-examples/vFW/base_vfw.yaml b/asdc-controller/src/test/resources/resource-examples/vFW/base_vfw.yaml
new file mode 100644 (file)
index 0000000..6137e8a
--- /dev/null
@@ -0,0 +1,491 @@
+##########################################################################
+#
+#==================LICENSE_START==========================================
+#
+#
+# Copyright (c) 2017 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============================================
+#
+# ECOMP is a trademark and service mark of AT&T Intellectual Property.
+#
+##########################################################################
+
+heat_template_version: 2013-05-23
+
+description: Heat template that deploys vFirewall demo app for ONAP
+
+##############
+#            #
+# PARAMETERS #
+#            #
+##############
+
+parameters:
+  vfw_image_name:
+    type: string
+    label: Image name or ID
+    description: Image to be used for compute instance
+  vfw_flavor_name:
+    type: string
+    label: Flavor
+    description: Type of instance (flavor) to be used
+  vpg_image_name:
+    type: string
+    label: Image name or ID
+    description: Image to be used for compute instance
+  vpg_flavor_name:
+    type: string
+    label: Flavor
+    description: Type of instance (flavor) to be used
+  vsn_image_name:
+    type: string
+    label: Image name or ID
+    description: Image to be used for compute instance
+  vsn_flavor_name:
+    type: string
+    label: Flavor
+    description: Type of instance (flavor) to be used
+  public_net_id:
+    type: string
+    label: Public network name or ID
+    description: Public network that enables remote connection to VNF
+  unprotected_private_net_id:
+    type: string
+    label: Unprotected private network name or ID
+    description: Private network that connects vPacketGenerator with vFirewall
+  protected_private_net_id:
+    type: string
+    label: Protected private network name or ID
+    description: Private network that connects vFirewall with vSink
+  onap_private_net_id:
+    type: string
+    label: ONAP management network name or ID
+    description: Private network that connects ONAP components and the VNF
+  onap_private_subnet_id:
+    type: string
+    label: ONAP management sub-network name or ID
+    description: Private sub-network that connects ONAP components and the VNF
+  unprotected_private_net_cidr:
+    type: string
+    label: Unprotected private network CIDR
+    description: The CIDR of the unprotected private network
+  protected_private_net_cidr:
+    type: string
+    label: Protected private network CIDR
+    description: The CIDR of the protected private network
+  onap_private_net_cidr:
+    type: string
+    label: ONAP private network CIDR
+    description: The CIDR of the protected private network
+  vfw_int_unprotected_private_ip_0:
+    type: string
+    label: vFirewall private IP address towards the unprotected network
+    description: Private IP address that is assigned to the vFirewall to communicate with the vPacketGenerator
+  vfw_int_protected_private_ip_0:
+    type: string
+    label: vFirewall private IP address towards the protected network
+    description: Private IP address that is assigned to the vFirewall to communicate with the vSink
+  vfw_onap_private_ip_0:
+    type: string
+    label: vFirewall private IP address towards the ONAP management network
+    description: Private IP address that is assigned to the vFirewall to communicate with ONAP components
+  vfw_int_protected_private_floating_ip:
+    type: string
+    label: same value as vpg_int_unprotected_private_ip_0  
+    description: IP to inform OpenStack to enable vfw protected private port to allow packets coming from the packet generator
+  vpg_int_unprotected_private_ip_0:
+    type: string
+    label: vPacketGenerator private IP address towards the unprotected network
+    description: Private IP address that is assigned to the vPacketGenerator to communicate with the vFirewall
+  vpg_onap_private_ip_0:
+    type: string
+    label: vPacketGenerator private IP address towards the ONAP management network
+    description: Private IP address that is assigned to the vPacketGenerator to communicate with ONAP components
+  vsn_int_protected_private_ip_0:
+    type: string
+    label: vSink private IP address towards the protected network
+    description: Private IP address that is assigned to the vSink to communicate with the vFirewall
+  vsn_onap_private_ip_0:
+    type: string
+    label: vSink private IP address towards the ONAP management network
+    description: Private IP address that is assigned to the vSink to communicate with ONAP components
+  vfw_name_0:
+    type: string
+    label: vFirewall name
+    description: Name of the vFirewall
+  vpg_name_0:
+    type: string
+    label: vPacketGenerator name
+    description: Name of the vPacketGenerator
+  vsn_name_0:
+    type: string
+    label: vSink name
+    description: Name of the vSink
+  vnf_id:
+    type: string
+    label: VNF ID
+    description: The VNF ID is provided by ONAP
+  vnf_name:
+    type: string
+    label: VNF NAME
+    description: The VNF NAME is provided by ONAP
+  vf_module_id:
+    type: string
+    label: vFirewall module ID
+    description: The vFirewall Module ID is provided by ONAP
+  dcae_collector_ip:
+    type: string
+    label: DCAE collector IP address
+    description: IP address of the DCAE collector
+  dcae_collector_port:
+    type: string
+    label: DCAE collector port
+    description: Port of the DCAE collector
+  key_name:
+    type: string
+    label: Key pair name
+    description: Public/Private key pair name
+  pub_key:
+    type: string
+    label: Public key
+    description: Public key to be installed on the compute instance
+  install_script_version:
+    type: string
+    label: Installation script version number
+    description: Version number of the scripts that install the vFW demo app
+  demo_artifacts_version:
+    type: string
+    label: Artifacts version used in demo vnfs
+    description: Artifacts (jar, tar.gz) version used in demo vnfs
+  nexus_artifact_repo:
+    type: string
+    description: Root URL for the Nexus repository for Maven artifacts.
+  cloud_env:
+    type: string
+    label: Cloud environment
+    description: Cloud environment (e.g., openstack, rackspace)
+  sec_group:
+    type: string
+    description: ONAP Security Group
+
+#############
+#           #
+# RESOURCES #
+#           #
+#############
+
+resources:
+  random-str:
+    type: OS::Heat::RandomString
+    properties:
+      length: 4
+
+  my_keypair:
+    type: OS::Nova::KeyPair
+    properties:
+      name:
+        str_replace:
+          template: vnfname_base_rand
+          params:
+            base: { get_param: key_name }
+            rand: { get_resource: random-str }
+            vnfname: { get_param: vnf_name }
+      public_key: { get_param: pub_key }
+      save_private_key: false
+
+  # NETWORK_ROLE: unprotected_private
+  # NETWORK_TYPE: internal
+  int_unprotected_private_network:
+    type: OS::Neutron::Net
+    properties:
+      name:
+        str_replace:
+          template: vnfname_netid
+          params:
+            netid: { get_param: unprotected_private_net_id }
+            vnfname: { get_param: vnf_name }
+
+  # NETWORK_ROLE: protected_private
+  # NETWORK_TYPE: internal
+  int_protected_private_network:
+    type: OS::Neutron::Net
+    properties:
+      name:
+        str_replace:
+          template: vnfname_netid
+          params:
+            netid: { get_param: protected_private_net_id }
+            vnfname: { get_param: vnf_name }
+
+  # NETWORK_ROLE: unprotected_private
+  # NETWORK_TYPE: internal
+  int_unprotected_private_subnet:
+    type: OS::Neutron::Subnet
+    properties:
+      network: { get_resource: int_unprotected_private_network }
+      cidr: { get_param: unprotected_private_net_cidr }
+
+  # NETWORK_ROLE: protected_private
+  # NETWORK_TYPE: internal
+  int_protected_private_subnet:
+    type: OS::Neutron::Subnet
+    properties:
+      network: { get_resource: int_protected_private_network }
+      cidr: { get_param: protected_private_net_cidr }
+
+  ### Virtual Firewall instantiation ###
+
+  # VM_TYPE: vfw
+  # NETWORK_ROLE: protected_private
+  # NETWORK_TYPE: internal
+  vfw_0_int_unprotected_private_port_0:
+    type: OS::Neutron::Port
+    properties:
+      network: { get_resource: int_unprotected_private_network }
+      fixed_ips: [{"subnet": { get_resource: int_unprotected_private_subnet }, "ip_address": { get_param: vfw_int_unprotected_private_ip_0 }}]
+      security_groups:
+      - { get_param: sec_group }
+
+  # VM_TYPE: vfw
+  # NETWORK_ROLE: protected_private
+  # NETWORK_TYPE: internal
+  vfw_0_int_protected_private_port_0:
+    type: OS::Neutron::Port
+    properties:
+      allowed_address_pairs: [{ "ip_address": { get_param: vfw_int_protected_private_floating_ip }}]
+      network: { get_resource: int_protected_private_network }
+      fixed_ips: [{"subnet": { get_resource: int_protected_private_subnet }, "ip_address": { get_param: vfw_int_protected_private_ip_0 }}]
+      security_groups:
+      - { get_param: sec_group }
+
+  # VM_TYPE: vfw
+  # NETWORK_ROLE: onap_private
+  # NETWORK_TYPE: external
+  vfw_0_onap_private_port_0:
+    type: OS::Neutron::Port
+    properties:
+      network: { get_param: onap_private_net_id }
+      fixed_ips: [{"subnet": { get_param: onap_private_subnet_id }, "ip_address": { get_param: vfw_onap_private_ip_0 }}]
+      security_groups:
+      - { get_param: sec_group }
+
+  # VM_TYPE: vfw
+  vfw_server_0:
+    type: OS::Nova::Server
+    properties:
+      image: { get_param: vfw_image_name }
+      flavor: { get_param: vfw_flavor_name }
+      name: { get_param: vfw_name_0 }
+      key_name: { get_resource: my_keypair }
+      networks:
+        - network: { get_param: public_net_id }
+        - port: { get_resource: vfw_0_int_unprotected_private_port_0 }
+        - port: { get_resource: vfw_0_int_protected_private_port_0 }
+        - port: { get_resource: vfw_0_onap_private_port_0 }
+      metadata:
+        vnf_id: { get_param: vnf_id }
+        vf_module_id: { get_param: vf_module_id }
+        vnf_name: { get_param: vnf_name }
+      user_data_format: RAW
+      user_data:
+        str_replace:
+          params:
+            __dcae_collector_ip__ : { get_param: dcae_collector_ip }
+            __dcae_collector_port__ : { get_param: dcae_collector_port }
+            __demo_artifacts_version__ : { get_param: demo_artifacts_version }
+            __install_script_version__ : { get_param: install_script_version }
+            __vfw_private_ip_0__ : { get_param: vfw_int_unprotected_private_ip_0 }
+            __vfw_private_ip_1__ : { get_param: vfw_int_protected_private_ip_0 }
+            __vfw_private_ip_2__ : { get_param: vfw_onap_private_ip_0 }
+            __unprotected_private_net_cidr__ : { get_param: unprotected_private_net_cidr }
+            __protected_private_net_cidr__ : { get_param: protected_private_net_cidr }
+            __onap_private_net_cidr__ : { get_param: onap_private_net_cidr }
+            __cloud_env__ : { get_param: cloud_env }
+            __nexus_artifact_repo__: { get_param: nexus_artifact_repo }
+          template: |
+            #!/bin/bash
+
+            # Create configuration files
+            mkdir /opt/config
+            echo "__dcae_collector_ip__" > /opt/config/dcae_collector_ip.txt
+            echo "__dcae_collector_port__" > /opt/config/dcae_collector_port.txt
+            echo "__demo_artifacts_version__" > /opt/config/demo_artifacts_version.txt
+            echo "__install_script_version__" > /opt/config/install_script_version.txt
+            echo "__vfw_private_ip_0__" > /opt/config/vfw_private_ip_0.txt
+            echo "__vfw_private_ip_1__" > /opt/config/vfw_private_ip_1.txt
+            echo "__vfw_private_ip_2__" > /opt/config/vfw_private_ip_2.txt
+            echo "__unprotected_private_net_cidr__" > /opt/config/unprotected_private_net_cidr.txt
+            echo "__protected_private_net_cidr__" > /opt/config/protected_private_net_cidr.txt
+            echo "__onap_private_net_cidr__" > /opt/config/onap_private_net_cidr.txt
+            echo "__cloud_env__" > /opt/config/cloud_env.txt
+            echo "__nexus_artifact_repo__" > /opt/config/nexus_artifact_repo.txt
+
+            # Download and run install script
+            apt-get update
+            apt-get -y install unzip
+            if [[ "__install_script_version__" =~ "SNAPSHOT" ]]; then REPO=snapshots; else REPO=releases; fi
+            curl -k -L "__nexus_artifact_repo__/service/local/artifact/maven/redirect?r=${REPO}&g=org.onap.demo.vnf.vfw&a=vfw-scripts&e=zip&v=__install_script_version__" -o /opt/vfw-scripts-__install_script_version__.zip
+            unzip -j /opt/vfw-scripts-__install_script_version__.zip -d /opt v_firewall_install.sh
+            cd /opt
+            chmod +x v_firewall_install.sh
+            ./v_firewall_install.sh
+
+
+  ### Virtual Packet Generator instantiation ###
+
+  vpg_0_int_unprotected_private_port_0:
+    type: OS::Neutron::Port
+    properties:
+      network: { get_resource: int_unprotected_private_network }
+      fixed_ips: [{"subnet": { get_resource: int_unprotected_private_subnet }, "ip_address": { get_param: vpg_int_unprotected_private_ip_0 }}]
+      security_groups:
+      - { get_param: sec_group }
+
+  vpg_0_onap_private_port_0:
+    type: OS::Neutron::Port
+    properties:
+      network: { get_param: onap_private_net_id }
+      fixed_ips: [{"subnet": { get_param: onap_private_subnet_id }, "ip_address": { get_param: vpg_onap_private_ip_0 }}]
+      security_groups:
+      - { get_param: sec_group }
+
+  vpg_server_0:
+    type: OS::Nova::Server
+    properties:
+      image: { get_param: vpg_image_name }
+      flavor: { get_param: vpg_flavor_name }
+      name: { get_param: vpg_name_0 }
+      key_name: { get_resource: my_keypair }
+      networks:
+        - network: { get_param: public_net_id }
+        - port: { get_resource: vpg_0_int_unprotected_private_port_0 }
+        - port: { get_resource: vpg_0_onap_private_port_0 }
+      metadata:
+        vnf_id: { get_param: vnf_id }
+        vf_module_id: { get_param: vf_module_id }
+        vnf_name: { get_param: vnf_name }
+      user_data_format: RAW
+      user_data:
+        str_replace:
+          params:
+            __fw_ipaddr__: { get_param: vfw_int_unprotected_private_ip_0 }
+            __protected_net_cidr__: { get_param: protected_private_net_cidr }
+            __sink_ipaddr__: { get_param: vsn_int_protected_private_ip_0 }
+            __demo_artifacts_version__ : { get_param: demo_artifacts_version }
+            __install_script_version__ : { get_param: install_script_version }
+            __vpg_private_ip_0__ : { get_param: vpg_int_unprotected_private_ip_0 }
+            __vpg_private_ip_1__ : { get_param: vpg_onap_private_ip_0 }
+            __unprotected_private_net_cidr__ : { get_param: unprotected_private_net_cidr }
+            __onap_private_net_cidr__ : { get_param: onap_private_net_cidr }
+            __cloud_env__ : { get_param: cloud_env }
+            __nexus_artifact_repo__: { get_param: nexus_artifact_repo }
+          template: |
+            #!/bin/bash
+
+            # Create configuration files
+            mkdir /opt/config
+            echo "__fw_ipaddr__" > /opt/config/fw_ipaddr.txt
+            echo "__protected_net_cidr__" > /opt/config/protected_net_cidr.txt
+            echo "__sink_ipaddr__" > /opt/config/sink_ipaddr.txt
+            echo "__demo_artifacts_version__" > /opt/config/demo_artifacts_version.txt
+            echo "__install_script_version__" > /opt/config/install_script_version.txt
+            echo "__vpg_private_ip_0__" > /opt/config/vpg_private_ip_0.txt
+            echo "__vpg_private_ip_1__" > /opt/config/vpg_private_ip_1.txt
+            echo "__unprotected_private_net_cidr__" > /opt/config/unprotected_private_net_cidr.txt
+            echo "__onap_private_net_cidr__" > /opt/config/onap_private_net_cidr.txt
+            echo "__cloud_env__" > /opt/config/cloud_env.txt
+            echo "__nexus_artifact_repo__" > /opt/config/nexus_artifact_repo.txt
+
+            # Download and run install script
+            apt-get update
+            apt-get -y install unzip
+            if [[ "__install_script_version__" =~ "SNAPSHOT" ]]; then REPO=snapshots; else REPO=releases; fi
+            curl -k -L "__nexus_artifact_repo__/service/local/artifact/maven/redirect?r=${REPO}&g=org.onap.demo.vnf.vfw&a=vfw-scripts&e=zip&v=__install_script_version__" -o /opt/vfw-scripts-__install_script_version__.zip
+            unzip -j /opt/vfw-scripts-__install_script_version__.zip -d /opt v_packetgen_install.sh
+            cd /opt
+            chmod +x v_packetgen_install.sh
+            ./v_packetgen_install.sh
+
+
+  ### Virtual Sink instantiation ###
+
+  vsn_0_int_protected_private_port_0:
+    type: OS::Neutron::Port
+    properties:
+      network: { get_resource: int_protected_private_network }
+      fixed_ips: [{"subnet": { get_resource: int_protected_private_subnet }, "ip_address": { get_param: vsn_int_protected_private_ip_0 }}]
+      security_groups:
+      - { get_param: sec_group }
+
+  vsn_0_onap_private_port_0:
+    type: OS::Neutron::Port
+    properties:
+      network: { get_param: onap_private_net_id }
+      fixed_ips: [{"subnet": { get_param: onap_private_subnet_id }, "ip_address": { get_param: vsn_onap_private_ip_0 }}]
+      security_groups:
+      - { get_param: sec_group }
+
+  vsn_server_0:
+    type: OS::Nova::Server
+    properties:
+      image: { get_param: vsn_image_name }
+      flavor: { get_param: vsn_flavor_name }
+      name: { get_param: vsn_name_0 }
+      key_name: { get_resource: my_keypair }
+      networks:
+        - network: { get_param: public_net_id }
+        - port: { get_resource: vsn_0_int_protected_private_port_0 }
+        - port: { get_resource: vsn_0_onap_private_port_0 }
+      metadata:
+        vnf_id: { get_param: vnf_id }
+        vf_module_id: { get_param: vf_module_id }
+        vnf_name: { get_param: vnf_name }
+      user_data_format: RAW
+      user_data:
+        str_replace:
+          params:
+            __protected_net_gw__: { get_param: vfw_int_protected_private_ip_0 }
+            __unprotected_net__: { get_param: unprotected_private_net_cidr }
+            __install_script_version__ : { get_param: install_script_version }
+            __vsn_private_ip_0__ : { get_param: vsn_int_protected_private_ip_0 }
+            __vsn_private_ip_1__ : { get_param: vsn_onap_private_ip_0 }
+            __protected_private_net_cidr__ : { get_param: protected_private_net_cidr }
+            __onap_private_net_cidr__ : { get_param: onap_private_net_cidr }
+            __cloud_env__ : { get_param: cloud_env }
+            __nexus_artifact_repo__: { get_param: nexus_artifact_repo }
+          template: |
+            #!/bin/bash
+
+            # Create configuration files
+            mkdir /opt/config
+            echo "__protected_net_gw__" > /opt/config/protected_net_gw.txt
+            echo "__unprotected_net__" > /opt/config/unprotected_net.txt
+            echo "__install_script_version__" > /opt/config/install_script_version.txt
+            echo "__vsn_private_ip_0__" > /opt/config/vsn_private_ip_0.txt
+            echo "__vsn_private_ip_1__" > /opt/config/vsn_private_ip_1.txt
+            echo "__protected_private_net_cidr__" > /opt/config/protected_private_net_cidr.txt
+            echo "__onap_private_net_cidr__" > /opt/config/onap_private_net_cidr.txt
+            echo "__cloud_env__" > /opt/config/cloud_env.txt
+            echo "__nexus_artifact_repo__" > /opt/config/nexus_artifact_repo.txt
+
+            # Download and run install script
+            apt-get update
+            apt-get -y install unzip
+            if [[ "__install_script_version__" =~ "SNAPSHOT" ]]; then REPO=snapshots; else REPO=releases; fi
+            curl -k -L "__nexus_artifact_repo__/service/local/artifact/maven/redirect?r=${REPO}&g=org.onap.demo.vnf.vfw&a=vfw-scripts&e=zip&v=__install_script_version__" -o /opt/vfw-scripts-__install_script_version__.zip
+            unzip -j /opt/vfw-scripts-__install_script_version__.zip -d /opt v_sink_install.sh
+            cd /opt
+            chmod +x v_sink_install.sh
+            ./v_sink_install.sh
diff --git a/asdc-controller/src/test/resources/resource-examples/vFW/notification.json b/asdc-controller/src/test/resources/resource-examples/vFW/notification.json
new file mode 100644 (file)
index 0000000..4e93df5
--- /dev/null
@@ -0,0 +1,80 @@
+{
+  "distributionID": "3d1c9f3c-550e-41c3-bfb6-800f8274a40c", 
+  "resources": [
+    {
+      "artifacts": [
+        {
+          "artifactChecksum": "NDg0ZDJjYTIzNDhlZmFkZjRjMzM5MTkzOGFhZTU5ZjI=", 
+          "artifactDescription": "Auto-generated VF Modules information artifact", 
+          "artifactName": "vfw1f52feb055020_modules.json", 
+          "artifactTimeout": 120, 
+          "artifactType": "VF_MODULES_METADATA", 
+          "artifactURL": "vfw1f52feb055020_modules.json", 
+          "artifactUUID": "7ff1c5cb-8ca1-43b1-8f97-05c0d8c879ec", 
+          "artifactVersion": "1", 
+          "relatedArtifactsInfo": []
+        }, 
+        {
+          "artifactChecksum": "MDQyYTIxMTlhZDdlMzdiNjBjNjdjZTFhMWE0NThmMzc=", 
+          "artifactDescription": "created from csar", 
+          "artifactName": "base_vfw.yaml", 
+          "artifactTimeout": 120, 
+          "artifactType": "HEAT", 
+          "artifactURL": "base_vfw.yaml", 
+          "artifactUUID": "4f0b1b88-09ab-43b9-9506-57de3c69433a", 
+          "artifactVersion": "2", 
+          "generatedArtifact": {
+            "artifactChecksum": "MjQ2YWIxOTY2M2E0ZjAzMTI4NjVkNWZkZGRmM2VmMGI=", 
+            "artifactDescription": "Auto-generated HEAT Environment deployment artifact", 
+            "artifactName": "base_vfw.env", 
+            "artifactTimeout": 120, 
+            "artifactType": "HEAT_ENV", 
+            "artifactURL": "base_vfw.env", 
+            "artifactUUID": "005bc362-b40f-4c54-82bc-2716147f9c3a", 
+            "artifactVersion": "2", 
+            "generatedFromUUID": "4f0b1b88-09ab-43b9-9506-57de3c69433a"
+          }, 
+          "relatedArtifactsInfo": []
+        }, 
+        {
+          "artifactChecksum": "MjQ2YWIxOTY2M2E0ZjAzMTI4NjVkNWZkZGRmM2VmMGI=", 
+          "artifactDescription": "Auto-generated HEAT Environment deployment artifact", 
+          "artifactName": "base_vfw.env", 
+          "artifactTimeout": 120, 
+          "artifactType": "HEAT_ENV", 
+          "artifactURL": "base_vfw.env", 
+          "artifactUUID": "005bc362-b40f-4c54-82bc-2716147f9c3a", 
+          "artifactVersion": "2", 
+          "relatedArtifactsInfo": []
+        }
+      ], 
+      "category": "Generic", 
+      "resourceType": "VF", 
+      "resourceCustomizationUUID": "0451bf8d-49e1-4f7f-960f-2e24f27c9f42", 
+      "resourceInstanceName": "vFW 1f52feb0-5502 0", 
+      "resourceInvariantUUID": "459f18ec-aaee-40d1-8fae-60fec2aae37f", 
+      "resourceName": "vFW 1f52feb0-5502", 
+      "resourceUUID": "1b1346cb-bf0b-4097-9d1b-5a041c536897", 
+      "resourceVersion": "1.0", 
+      "subcategory": "Abstract"
+    }
+  ], 
+  "serviceArtifacts": [
+    {
+      "artifactChecksum": "YWNkZTJmYmVmYTg0NTdjMzg0MjVjZTliOTRiYTQ5YjM=", 
+      "artifactDescription": "TOSCA definition package of the asset", 
+      "artifactName": "service-Vfw20190410215305-csar.csar", 
+      "artifactTimeout": 0, 
+      "artifactType": "TOSCA_CSAR", 
+      "artifactURL": "service-Vfw.csar", 
+      "artifactUUID": "f4fcb0ba-40d3-46d2-819e-3b69eda88fcf",
+      "artifactVersion": "1"
+    }
+  ], 
+  "serviceDescription": "catalog service description", 
+  "serviceInvariantUUID": "3164f9ff-d7e7-4813-ab32-6be7e1cacb18", 
+  "serviceName": "vFW 2019-04-10 21:53:05", 
+  "serviceUUID": "e16e4ed9-3429-423a-bc3c-1389ae91491c", 
+  "serviceVersion": "1.0", 
+  "workloadContext": "Production"
+}
diff --git a/asdc-controller/src/test/resources/resource-examples/vFW/service-Vfw.csar b/asdc-controller/src/test/resources/resource-examples/vFW/service-Vfw.csar
new file mode 100644 (file)
index 0000000..fe0b9f3
Binary files /dev/null and b/asdc-controller/src/test/resources/resource-examples/vFW/service-Vfw.csar differ
diff --git a/asdc-controller/src/test/resources/resource-examples/vFW/vfw1f52feb055020_modules.json b/asdc-controller/src/test/resources/resource-examples/vFW/vfw1f52feb055020_modules.json
new file mode 100644 (file)
index 0000000..944adbd
--- /dev/null
@@ -0,0 +1,25 @@
+[
+  {
+    "vfModuleModelName": "Vfw1f52feb05502..base_vfw..module-0",
+    "vfModuleModelInvariantUUID": "062e75f9-ccbd-4946-8d31-92118efac741",
+    "vfModuleModelVersion": "1",
+    "vfModuleModelUUID": "3f99a421-abd0-4e5e-a9e4-3b9b8464ddb6",
+    "vfModuleModelCustomizationUUID": "12c7bf93-9021-41cf-8c65-86856cfab11d",
+    "isBase": true,
+    "artifacts": [
+      "4f0b1b88-09ab-43b9-9506-57de3c69433a",
+      "005bc362-b40f-4c54-82bc-2716147f9c3a"
+    ],
+    "properties": {
+      "min_vf_module_instances": "1",
+      "vf_module_label": "base_vfw",
+      "max_vf_module_instances": "1",
+      "vfc_list": "",
+      "vf_module_description": "",
+      "vf_module_type": "Base",
+      "availability_zone_count": "",
+      "volume_group": "false",
+      "initial_count": "1"
+    }
+  }
+]
\ No newline at end of file
index 2db2dfb..8cc5ee9 100644 (file)
@@ -1,7 +1,6 @@
 
 --------START Catalog DB SCHEMA --------
 use catalogdb;
-
 set foreign_key_checks=0;
 DROP TABLE IF EXISTS `allotted_resource`;
 /*!40101 SET @saved_cs_client     = @@character_set_client */;
@@ -284,6 +283,7 @@ DROP TABLE IF EXISTS `configuration_customization`;
 /*!40101 SET @saved_cs_client     = @@character_set_client */;
 /*!40101 SET character_set_client = utf8 */;
 CREATE TABLE `configuration_customization` (
+  `ID` int(11) NOT NULL AUTO_INCREMENT,
   `MODEL_CUSTOMIZATION_UUID` varchar(200) NOT NULL,
   `MODEL_INSTANCE_NAME` varchar(200) NOT NULL,
   `CONFIGURATION_TYPE` varchar(200) DEFAULT NULL,
@@ -292,27 +292,18 @@ CREATE TABLE `configuration_customization` (
   `CREATION_TIMESTAMP` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
   `CONFIGURATION_MODEL_UUID` varchar(200) NOT NULL,
   `SERVICE_PROXY_CUSTOMIZATION_MODEL_CUSTOMIZATION_UUID` varchar(200) DEFAULT NULL,
-  `CONFIGURATION_CUSTOMIZATION_MODEL_CUSTOMIZATION_UUID` varchar(200) DEFAULT NULL,
-  PRIMARY KEY (`MODEL_CUSTOMIZATION_UUID`),
-  KEY `fk_configuration_customization__configuration_idx` (`CONFIGURATION_MODEL_UUID`),
-  KEY `fk_configuration_customization__service_proxy_customization_idx` (`SERVICE_PROXY_CUSTOMIZATION_MODEL_CUSTOMIZATION_UUID`),
-  KEY `fk_configuration_customization__configuration_customization_idx` (`CONFIGURATION_CUSTOMIZATION_MODEL_CUSTOMIZATION_UUID`),
-  CONSTRAINT `fk_configuration_customization__configuration_customization1` FOREIGN KEY (`CONFIGURATION_CUSTOMIZATION_MODEL_CUSTOMIZATION_UUID`) REFERENCES `configuration_customization` (`MODEL_CUSTOMIZATION_UUID`) ON DELETE CASCADE ON UPDATE CASCADE,
-  CONSTRAINT `fk_configuration_resource_customization__configuration_resour1` FOREIGN KEY (`CONFIGURATION_MODEL_UUID`) REFERENCES `configuration` (`MODEL_UUID`) ON DELETE CASCADE ON UPDATE CASCADE
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Table structure for table `configuration_customization_to_service`
---
-
-DROP TABLE IF EXISTS `configuration_customization_to_service`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `configuration_customization_to_service` (
-  `SERVICE_MODEL_UUID` varchar(200) NOT NULL,
-  `RESOURCE_MODEL_CUSTOMIZATION_UUID` varchar(200) NOT NULL,
-  PRIMARY KEY (`SERVICE_MODEL_UUID`,`RESOURCE_MODEL_CUSTOMIZATION_UUID`)
+  `CONFIGURATION_CUSTOMIZATION_MODEL_CUSTOMIZATION_ID` int(11) DEFAULT NULL,
+  `SERVICE_MODEL_UUID` varchar(200),
+   PRIMARY KEY (`ID`),
+   KEY `fk_configuration_customization__configuration_idx` (`CONFIGURATION_MODEL_UUID`),
+   KEY `fk_configuration_customization__service_idx` (`SERVICE_MODEL_UUID`),
+   UNIQUE KEY `uk_configuration_customization`  (`MODEL_CUSTOMIZATION_UUID` ASC, `SERVICE_MODEL_UUID` ASC),
+   CONSTRAINT `fk_configuration_customization__configuration1` FOREIGN KEY (`CONFIGURATION_MODEL_UUID`)
+        REFERENCES `configuration` (`MODEL_UUID`)
+        ON DELETE CASCADE ON UPDATE CASCADE,
+   CONSTRAINT `fk_configuration_customization__service1` FOREIGN KEY (`SERVICE_MODEL_UUID`)
+        REFERENCES `service` (`MODEL_UUID`)
+        ON DELETE CASCADE ON UPDATE CASCADE
 ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
 /*!40101 SET character_set_client = @saved_cs_client */;
 
@@ -1170,7 +1161,7 @@ CREATE TABLE `vnfc_instance_group_customization` (
 set foreign_key_checks=1;
 
 CREATE TABLE IF NOT EXISTS `pnf_resource` (
-  `ORCHESTRATION_MODE` varchar(20) NOT NULL DEFAULT 'HEAT',
+  `ORCHESTRATION_MODE` varchar(20) DEFAULT NULL,
   `DESCRIPTION` varchar(1200) DEFAULT NULL,
   `CREATION_TIMESTAMP` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
   `MODEL_UUID` varchar(200) NOT NULL,
@@ -1205,9 +1196,173 @@ CREATE TABLE IF NOT EXISTS `pnf_resource_customization` (
 CREATE TABLE IF NOT EXISTS `pnf_resource_customization_to_service` (
   `SERVICE_MODEL_UUID` varchar(200) NOT NULL,
   `RESOURCE_MODEL_CUSTOMIZATION_UUID` varchar(200) NOT NULL,
-  PRIMARY KEY (`SERVICE_MODEL_UUID`,`RESOURCE_MODEL_CUSTOMIZATION_UUID`)
+  PRIMARY KEY (`SERVICE_MODEL_UUID`,`RESOURCE_MODEL_CUSTOMIZATION_UUID`)  
 )ENGINE=InnoDB DEFAULT CHARSET=latin1;
 
+
+CREATE TABLE IF NOT EXISTS `workflow` (
+  `ID` int(11) NOT NULL AUTO_INCREMENT,
+  `ARTIFACT_UUID` varchar(200) NOT NULL,
+  `ARTIFACT_NAME` varchar(200) NOT NULL,
+  `NAME` varchar(200) NOT NULL,
+  `OPERATION_NAME` varchar(200) DEFAULT NULL,
+  `VERSION` double NOT NULL,
+  `DESCRIPTION` varchar(1200) DEFAULT NULL,
+  `BODY` longtext DEFAULT NULL,
+  `RESOURCE_TARGET` varchar(200) NOT NULL,
+  `SOURCE` varchar(200) NOT NULL,
+  `TIMEOUT_MINUTES` int(11) DEFAULT NULL,
+  `ARTIFACT_CHECKSUM` varchar(200) DEFAULT 'MANUAL RECORD',
+  `CREATION_TIMESTAMP` datetime NOT NULL DEFAULT current_timestamp(),
+  PRIMARY KEY (`ID`),
+  UNIQUE KEY `UK_workflow` (`ARTIFACT_UUID`,`NAME`,`VERSION`,`SOURCE`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+CREATE TABLE IF NOT EXISTS `vnf_resource_to_workflow` (
+  `ID` int(11) NOT NULL AUTO_INCREMENT,
+  `VNF_RESOURCE_MODEL_UUID` varchar(200) NOT NULL,
+  `WORKFLOW_ID` int(11) NOT NULL,
+  PRIMARY KEY (`ID`),
+  UNIQUE KEY `UK_vnf_resource_to_workflow` (`VNF_RESOURCE_MODEL_UUID`,`WORKFLOW_ID`),
+  KEY `fk_vnf_resource_to_workflow__workflow1_idx` (`WORKFLOW_ID`),
+  KEY `fk_vnf_resource_to_workflow__vnf_res_mod_uuid_idx` (`VNF_RESOURCE_MODEL_UUID`),
+  CONSTRAINT `fk_vnf_resource_to_workflow__vnf_resource1` FOREIGN KEY (`VNF_RESOURCE_MODEL_UUID`) REFERENCES `vnf_resource` (`MODEL_UUID`) ON DELETE CASCADE ON UPDATE CASCADE,
+  CONSTRAINT `fk_vnf_resource_to_workflow__workflow1` FOREIGN KEY (`WORKFLOW_ID`) REFERENCES `workflow` (`ID`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+CREATE TABLE IF NOT EXISTS `activity_spec` (
+  `ID` INT(11) NOT NULL AUTO_INCREMENT,
+  `NAME` VARCHAR(200) NOT NULL,
+  `DESCRIPTION` VARCHAR(1200) NOT NULL,
+  `VERSION` DOUBLE NOT NULL,
+  `CREATION_TIMESTAMP` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
+  PRIMARY KEY (`ID`),
+  UNIQUE INDEX `UK_activity_spec` (`NAME` ASC, `VERSION` ASC))
+ENGINE = InnoDB
+DEFAULT CHARACTER SET = latin1;
+
+CREATE TABLE IF NOT EXISTS `user_parameters` (
+  `ID` INT(11) NOT NULL AUTO_INCREMENT,
+  `NAME` VARCHAR(200) NOT NULL,
+  `PAYLOAD_LOCATION` VARCHAR(500) NULL,
+  `LABEL` VARCHAR(200) NOT NULL,
+  `TYPE` VARCHAR(200) NOT NULL,
+  `DESCRIPTION` VARCHAR(1200) NULL,
+  `IS_REQUIRED` TINYINT(1) NOT NULL,
+  `MAX_LENGTH` INT(11) NULL,
+  `ALLOWABLE_CHARS` VARCHAR(200) NULL,
+  `CREATION_TIMESTAMP` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
+  PRIMARY KEY (`ID`),
+  UNIQUE INDEX `UK_user_parameters` (`NAME` ASC))
+ENGINE = InnoDB
+DEFAULT CHARACTER SET = latin1;
+
+CREATE TABLE IF NOT EXISTS `workflow_activity_spec_sequence` (
+  `ID` INT(11) NOT NULL AUTO_INCREMENT,
+  `WORKFLOW_ID` INT(11) NOT NULL,
+  `ACTIVITY_SPEC_ID` INT(11) NOT NULL,
+  `SEQ_NO` INT(11) NOT NULL,
+  PRIMARY KEY (`ID`),
+  UNIQUE INDEX `UK_workflow_activity_spec_sequence` (`WORKFLOW_ID` ASC, `ACTIVITY_SPEC_ID` ASC, `SEQ_NO` ASC),
+  INDEX `fk_workflow_activity_spec_sequence__activity_spec_idx` (`ACTIVITY_SPEC_ID` ASC),
+  INDEX `fk_workflow_activity_spec_sequence__workflow_actifact_uuid_idx` (`WORKFLOW_ID` ASC),
+  CONSTRAINT `fk_workflow_activity_spec_sequence__activity_spec1`
+    FOREIGN KEY (`ACTIVITY_SPEC_ID`)
+    REFERENCES `activity_spec` (`ID`)
+    ON DELETE CASCADE
+    ON UPDATE CASCADE,
+  CONSTRAINT `fk_workflow_activity_spec_sequence__workflow1`
+    FOREIGN KEY (`WORKFLOW_ID`)
+    REFERENCES `workflow` (`ID`)
+    ON DELETE CASCADE
+    ON UPDATE CASCADE)
+ENGINE = InnoDB
+DEFAULT CHARACTER SET = latin1;
+
+CREATE TABLE IF NOT EXISTS `activity_spec_parameters` (
+  `ID` INT(11) NOT NULL AUTO_INCREMENT,
+  `NAME` VARCHAR(200) NOT NULL,
+  `TYPE` VARCHAR(200) NOT NULL,
+  `DIRECTION` VARCHAR(200) NULL,
+  `DESCRIPTION` VARCHAR(1200) NULL,
+  `CREATION_TIMESTAMP` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
+  PRIMARY KEY (`ID`),
+  UNIQUE INDEX `UK_activity_spec_parameters` (`NAME` ASC, `DIRECTION` ASC))
+ENGINE = InnoDB
+DEFAULT CHARACTER SET = latin1;
+
+CREATE TABLE IF NOT EXISTS `activity_spec_categories` (
+  `ID` INT(11) NOT NULL AUTO_INCREMENT,
+  `NAME` VARCHAR(200) NOT NULL,
+  PRIMARY KEY (`ID`),
+  UNIQUE INDEX `UK_activity_spec_categories` (`NAME` ASC))
+ENGINE = InnoDB
+DEFAULT CHARACTER SET = latin1;
+
+CREATE TABLE IF NOT EXISTS `activity_spec_to_activity_spec_categories` (
+  `ID` INT(11) NOT NULL AUTO_INCREMENT,
+  `ACTIVITY_SPEC_ID` INT(11) NOT NULL,
+  `ACTIVITY_SPEC_CATEGORIES_ID` INT(11) NOT NULL,
+  PRIMARY KEY (`ID`),
+  UNIQUE INDEX `UK_activity_spec_to_activity_spec_categories` (`ACTIVITY_SPEC_ID` ASC, `ACTIVITY_SPEC_CATEGORIES_ID` ASC),
+  INDEX `fk_activity_spec_to_activity_spec_categories__activity_spec_idx` (`ACTIVITY_SPEC_CATEGORIES_ID` ASC),
+  INDEX `fk_activity_spec_to_activity_spec_categories__activity_spec_idx1` (`ACTIVITY_SPEC_ID` ASC),
+  CONSTRAINT `fk_activity_spec_to_activity_spec_categories__activity_spec1`
+    FOREIGN KEY (`ACTIVITY_SPEC_ID`)
+    REFERENCES `activity_spec` (`ID`)
+    ON DELETE CASCADE
+    ON UPDATE CASCADE,
+  CONSTRAINT `fk_activity_spec_to_activity_spec_categories__activity_spec_c1`
+    FOREIGN KEY (`ACTIVITY_SPEC_CATEGORIES_ID`)
+    REFERENCES `activity_spec_categories` (`ID`)
+    ON DELETE CASCADE
+    ON UPDATE CASCADE)
+ENGINE = InnoDB
+DEFAULT CHARACTER SET = latin1;
+
+CREATE TABLE IF NOT EXISTS `activity_spec_to_activity_spec_parameters` (
+  `ID` INT(11) NOT NULL AUTO_INCREMENT,
+  `ACTIVITY_SPEC_ID` INT(11) NOT NULL,
+  `ACTIVITY_SPEC_PARAMETERS_ID` INT(11) NOT NULL,
+  PRIMARY KEY (`ID`),
+  INDEX `fk_activity_spec_to_activity_spec_params__act_sp_param_id_idx` (`ACTIVITY_SPEC_PARAMETERS_ID` ASC),
+  UNIQUE INDEX `UK_activity_spec_to_activity_spec_parameters` (`ACTIVITY_SPEC_ID` ASC, `ACTIVITY_SPEC_PARAMETERS_ID` ASC),
+  INDEX `fk_activity_spec_to_activity_spec_parameters__act_spec_id_idx` (`ACTIVITY_SPEC_ID` ASC),
+  CONSTRAINT `fk_activity_spec_to_activity_spec_parameters__activity_spec_1`
+    FOREIGN KEY (`ACTIVITY_SPEC_ID`)
+    REFERENCES `activity_spec` (`ID`)
+    ON DELETE CASCADE
+    ON UPDATE CASCADE,
+  CONSTRAINT `fk_activity_spec_to_activity_spec_parameters__activ_spec_param1`
+    FOREIGN KEY (`ACTIVITY_SPEC_PARAMETERS_ID`)
+    REFERENCES `activity_spec_parameters` (`ID`)
+    ON DELETE CASCADE
+    ON UPDATE CASCADE)
+ENGINE = InnoDB
+DEFAULT CHARACTER SET = latin1;
+
+CREATE TABLE IF NOT EXISTS `activity_spec_to_user_parameters` (
+  `ID` INT(11) NOT NULL AUTO_INCREMENT,
+  `ACTIVITY_SPEC_ID` INT(11) NOT NULL,
+  `USER_PARAMETERS_ID` INT(11) NOT NULL,
+  PRIMARY KEY (`ID`),
+  UNIQUE INDEX `UK_activity_spec_to_user_parameters` (`ACTIVITY_SPEC_ID` ASC, `USER_PARAMETERS_ID` ASC),
+  INDEX `fk_activity_spec_to_user_parameters__user_parameters1_idx` (`USER_PARAMETERS_ID` ASC),
+  INDEX `fk_activity_spec_to_user_parameters__activity_spec1_idx` (`ACTIVITY_SPEC_ID` ASC),
+  CONSTRAINT `fk_activity_spec_to_user_parameters__activity_spec1`
+    FOREIGN KEY (`ACTIVITY_SPEC_ID`)
+    REFERENCES `activity_spec` (`ID`)
+    ON DELETE CASCADE
+    ON UPDATE CASCADE,
+  CONSTRAINT `fk_activity_spec_to_user_parameters__user_parameters1`
+    FOREIGN KEY (`USER_PARAMETERS_ID`)
+    REFERENCES `user_parameters` (`ID`)
+    ON DELETE CASCADE
+    ON UPDATE CASCADE)
+ENGINE = InnoDB
+DEFAULT CHARACTER SET = latin1;
+
+
 --------START Request DB SCHEMA --------
 CREATE DATABASE requestdb;
 USE requestdb;
@@ -1477,3 +1632,7 @@ create table if not exists model (
        CONSTRAINT uk1_model UNIQUE (`MODEL_TYPE`, `MODEL_VERSION_ID`),
        FOREIGN KEY (`RECIPE`) REFERENCES `model_recipe` (`MODEL_ID`) ON DELETE CASCADE ON UPDATE CASCADE
 ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+
+
+
index bd0e864..891a57d 100644 (file)
 <?xml version="1.0"?>
-<project
-       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
-       xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-       <modelVersion>4.0.0</modelVersion>
-       <parent>
-               <groupId>org.onap.so</groupId>
-               <artifactId>bpmn</artifactId>
-               <version>1.4.0-SNAPSHOT</version>
-       </parent>
-       <artifactId>MSOCommonBPMN</artifactId>
-       <name>MSOCommonBPMN</name>
-       <packaging>jar</packaging>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+  xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.onap.so</groupId>
+    <artifactId>bpmn</artifactId>
+    <version>1.4.0-SNAPSHOT</version>
+  </parent>
+  <artifactId>MSOCommonBPMN</artifactId>
+  <name>MSOCommonBPMN</name>
+  <packaging>jar</packaging>
 
-       <properties>
-               <maven.compiler.target>1.8</maven.compiler.target>
-               <maven.compiler.source>1.8</maven.compiler.source>
-       </properties>
+  <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>
-                               <executions>
-                                       <execution>
-                                               <id>test-compile</id>
-                                               <phase>compile</phase>
-                                               <goals>
-                                                       <goal>testCompile</goal>
-                                               </goals>
-                                               <configuration>
-                                                       <skip>false</skip>
-                                               </configuration>
-                                       </execution>
-                               </executions>
-                       </plugin>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>test-compile</id>
+            <phase>compile</phase>
+            <goals>
+              <goal>testCompile</goal>
+            </goals>
+            <configuration>
+              <skip>false</skip>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
 
-                       <plugin>
-                               <groupId>org.apache.maven.plugins</groupId>
-                               <artifactId>maven-jar-plugin</artifactId>
-                               <version>3.0.2</version>
-                               <executions>
-                                       <execution>
-                                               <goals>
-                                                       <goal>test-jar</goal>
-                                               </goals>
-                                               <configuration>
-                                                       <skip>false</skip>
-                                                       <excludes>
-                                                               <exclude>**/validation/*</exclude>
-                                                       </excludes>
-                                               </configuration>
-                                       </execution>
-                               </executions>
-                       </plugin>
-                       <plugin>
-                               <groupId>org.apache.cxf</groupId>
-                               <artifactId>cxf-codegen-plugin</artifactId>
-                               <version>2.5.2</version>
-                       </plugin>
-                       <plugin>
-                               <groupId>org.apache.maven.plugins</groupId>
-                               <artifactId>maven-eclipse-plugin</artifactId>
-                               <version>2.8</version>
-                               <configuration>
-                                       <additionalProjectnatures>
-                                               <projectnature>org.eclipse.jdt.groovy.core.groovyNature</projectnature>
-                                       </additionalProjectnatures>
-                                       <sourceIncludes>
-                                               <sourceInclude>**/*.groovy</sourceInclude>
-                                       </sourceIncludes>
-                               </configuration>
-                       </plugin>
-                       <plugin>
-                               <artifactId>maven-antrun-plugin</artifactId>
-                               <executions>
-                                       <execution>
-                                               <id>compile</id>
-                                               <phase>compile</phase>
-                                               <configuration>
-                                                       <tasks>
-                                                               <mkdir dir="${basedir}/src/main/groovy" />
-                                                               <taskdef name="groovyc" classname="org.codehaus.groovy.ant.Groovyc">
-                                                                       <classpath refid="maven.compile.classpath" />
-                                                               </taskdef>
-                                                               <mkdir dir="${project.build.outputDirectory}" />
-                                                               <groovyc destdir="${project.build.outputDirectory}"
-                                                                       srcdir="${basedir}/src/main/groovy/" listfiles="true">
-                                                                       <classpath refid="maven.compile.classpath" />
-                                                               </groovyc>
-                                                       </tasks>
-                                               </configuration>
-                                               <goals>
-                                                       <goal>run</goal>
-                                               </goals>
-                                       </execution>
-                                       <execution>
-                                               <id>test-compile</id>
-                                               <phase>test-compile</phase>
-                                               <configuration>
-                                                       <tasks>
-                                                               <mkdir dir="${basedir}/src/test/groovy" />
-                                                               <taskdef name="groovyc" classname="org.codehaus.groovy.ant.Groovyc">
-                                                                       <classpath refid="maven.test.classpath" />
-                                                               </taskdef>
-                                                               <mkdir dir="${project.build.testOutputDirectory}" />
-                                                               <groovyc destdir="${project.build.testOutputDirectory}"
-                                                                       srcdir="${basedir}/src/test/groovy/" listfiles="true">
-                                                                       <classpath refid="maven.test.classpath" />
-                                                               </groovyc>
-                                                       </tasks>
-                                               </configuration>
-                                               <goals>
-                                                       <goal>run</goal>
-                                               </goals>
-                                       </execution>
-                               </executions>
-                       </plugin>
-                       <plugin>
-                               <groupId>org.apache.maven.plugins</groupId>
-                               <artifactId>maven-surefire-plugin</artifactId>
-                               <executions>
-                                       <execution>
-                                               <id>default-test</id>
-                                               <goals>
-                                                       <goal>test</goal>
-                                               </goals>
-                                               <configuration>
-                                                       <includes>
-                                                               <include>**/AllTestSuites.java</include>
-                                                       </includes>
-                                               </configuration>
-                                       </execution>
-                                       <execution>
-                                               <id>non-spring-tests</id>
-                                               <goals>
-                                                       <goal>test</goal>
-                                               </goals>
-                                               <configuration>
-                                                       <includes>
-                                                               <include>**/NonSpringSuite.java</include>
-                                                       </includes>
-                                               </configuration>
-                                       </execution>
-                                       <execution>
-                                               <id>groovy-tests</id>
-                                               <goals>
-                                                       <goal>test</goal>
-                                               </goals>
-                                               <configuration>
-                                                       <includes>
-                                                               <include>**/AllGroovyTestSuites.java</include>
-                                                       </includes>
-                                               </configuration>
-                                       </execution>
-                               </executions>
-                               <configuration>
-                                       <parallel>suites</parallel>
-                               </configuration>
-                       </plugin>
-               </plugins>
-               <pluginManagement>
-                       <plugins>
-                               <!--This plugin's configuration is used to store Eclipse m2e settings
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+        <version>3.0.2</version>
+        <executions>
+          <execution>
+            <goals>
+              <goal>test-jar</goal>
+            </goals>
+            <configuration>
+              <skip>false</skip>
+              <excludes>
+                <exclude>**/validation/*</exclude>
+              </excludes>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.cxf</groupId>
+        <artifactId>cxf-codegen-plugin</artifactId>
+        <version>2.5.2</version>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-eclipse-plugin</artifactId>
+        <version>2.8</version>
+        <configuration>
+          <additionalProjectnatures>
+            <projectnature>org.eclipse.jdt.groovy.core.groovyNature</projectnature>
+          </additionalProjectnatures>
+          <sourceIncludes>
+            <sourceInclude>**/*.groovy</sourceInclude>
+          </sourceIncludes>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-antrun-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>compile</id>
+            <phase>compile</phase>
+            <configuration>
+              <tasks>
+                <mkdir dir="${basedir}/src/main/groovy" />
+                <taskdef name="groovyc" classname="org.codehaus.groovy.ant.Groovyc">
+                  <classpath refid="maven.compile.classpath" />
+                </taskdef>
+                <mkdir dir="${project.build.outputDirectory}" />
+                <groovyc destdir="${project.build.outputDirectory}" srcdir="${basedir}/src/main/groovy/"
+                  listfiles="true">
+                  <classpath refid="maven.compile.classpath" />
+                </groovyc>
+              </tasks>
+            </configuration>
+            <goals>
+              <goal>run</goal>
+            </goals>
+          </execution>
+          <execution>
+            <id>test-compile</id>
+            <phase>test-compile</phase>
+            <configuration>
+              <tasks>
+                <mkdir dir="${basedir}/src/test/groovy" />
+                <taskdef name="groovyc" classname="org.codehaus.groovy.ant.Groovyc">
+                  <classpath refid="maven.test.classpath" />
+                </taskdef>
+                <mkdir dir="${project.build.testOutputDirectory}" />
+                <groovyc destdir="${project.build.testOutputDirectory}" srcdir="${basedir}/src/test/groovy/"
+                  listfiles="true">
+                  <classpath refid="maven.test.classpath" />
+                </groovyc>
+              </tasks>
+            </configuration>
+            <goals>
+              <goal>run</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>default-test</id>
+            <goals>
+              <goal>test</goal>
+            </goals>
+            <configuration>
+              <includes>
+                <include>**/AllTestSuites.java</include>
+              </includes>
+            </configuration>
+          </execution>
+          <execution>
+            <id>non-spring-tests</id>
+            <goals>
+              <goal>test</goal>
+            </goals>
+            <configuration>
+              <includes>
+                <include>**/NonSpringSuite.java</include>
+              </includes>
+            </configuration>
+          </execution>
+          <execution>
+            <id>groovy-tests</id>
+            <goals>
+              <goal>test</goal>
+            </goals>
+            <configuration>
+              <includes>
+                <include>**/AllGroovyTestSuites.java</include>
+              </includes>
+            </configuration>
+          </execution>
+        </executions>
+        <configuration>
+          <parallel>suites</parallel>
+        </configuration>
+      </plugin>
+    </plugins>
+    <pluginManagement>
+      <plugins>
+        <!--This plugin's configuration is used to store Eclipse m2e settings
                                        only. It has no influence on the Maven build itself. -->
-                               <plugin>
-                                       <groupId>org.eclipse.m2e</groupId>
-                                       <artifactId>lifecycle-mapping</artifactId>
-                                       <version>1.0.0</version>
-                                       <configuration>
-                                               <lifecycleMappingMetadata>
-                                                       <pluginExecutions>
-                                                               <pluginExecution>
-                                                                       <pluginExecutionFilter>
-                                                                               <groupId>
+        <plugin>
+          <groupId>org.eclipse.m2e</groupId>
+          <artifactId>lifecycle-mapping</artifactId>
+          <version>1.0.0</version>
+          <configuration>
+            <lifecycleMappingMetadata>
+              <pluginExecutions>
+                <pluginExecution>
+                  <pluginExecutionFilter>
+                    <groupId>
                                                                                        org.apache.maven.plugins
                                                                                </groupId>
-                                                                               <artifactId>
+                    <artifactId>
                                                                                        maven-antrun-plugin
                                                                                </artifactId>
-                                                                               <versionRange>
+                    <versionRange>
                                                                                        [1.3,)
                                                                                </versionRange>
-                                                                               <goals>
-                                                                                       <goal>run</goal>
-                                                                               </goals>
-                                                                       </pluginExecutionFilter>
-                                                                       <action>
-                                                                               <ignore></ignore>
-                                                                       </action>
-                                                               </pluginExecution>
-                                                       </pluginExecutions>
-                                               </lifecycleMappingMetadata>
-                                       </configuration>
-                               </plugin>
-                       </plugins>
-               </pluginManagement>
-       </build>
-       <dependencyManagement>
-               <dependencies>
-                       <dependency>
-                               <!-- Import dependency management from camunda -->
-                               <groupId>org.camunda.bpm</groupId>
-                               <artifactId>camunda-bom</artifactId>
-                               <version>${camunda.version}</version>
-                               <scope>import</scope>
-                               <type>pom</type>
-                       </dependency>
-               </dependencies>
-       </dependencyManagement>
-       <dependencies>
-               <dependency>
-                       <groupId>org.camunda.bpm.springboot</groupId>
-                       <artifactId>camunda-bpm-spring-boot-starter</artifactId>
-                       <version>${camunda.springboot.version}</version>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.cloud</groupId>
-                       <artifactId>spring-cloud-contract-wiremock</artifactId>
-                       <version>1.2.4.RELEASE</version>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-test</artifactId>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.camunda.bpm.extension.mockito</groupId>
-                       <artifactId>camunda-bpm-mockito</artifactId>
-                       <version>3.2.1</version>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.camunda.connect</groupId>
-                       <artifactId>camunda-connect-connectors-all</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>commons-beanutils</groupId>
-                       <artifactId>commons-beanutils</artifactId>
-                       <version>1.9.3</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-actuator</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-web</artifactId>
-               </dependency>
-               <dependency>
-                       <!-- Needed for InMemoryH2Test -->
-                       <groupId>com.h2database</groupId>
-                       <artifactId>h2</artifactId>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.codehaus.groovy</groupId>
-                       <artifactId>groovy-all</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.so</groupId>
-                       <artifactId>MSOCoreBPMN</artifactId>
-                       <version>${project.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.so</groupId>
-                       <artifactId>mso-catalog-db</artifactId>
-                       <version>${project.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.so</groupId>
-                       <artifactId>mso-requests-db</artifactId>
-                       <version>${project.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.so</groupId>
-                       <artifactId>common</artifactId>
-                       <version>${project.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.so.adapters</groupId>
-                       <artifactId>mso-adapters-rest-interface</artifactId>
-                       <version>${project.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>javax.servlet</groupId>
-                       <artifactId>javax.servlet-api</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.httpcomponents</groupId>
-                       <artifactId>httpclient</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>commons-lang</groupId>
-                       <artifactId>commons-lang</artifactId>
-                       <version>2.6</version>
-               </dependency>
-               <dependency>
-                       <groupId>com.jayway.jsonpath</groupId>
-                       <artifactId>json-path</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>javax.ws.rs</groupId>
-                       <artifactId>javax.ws.rs-api</artifactId>
-                       <version>${jax.ws.rs}</version>
-               </dependency>
+                    <goals>
+                      <goal>run</goal>
+                    </goals>
+                  </pluginExecutionFilter>
+                  <action>
+                    <ignore>
+                    </ignore>
+                  </action>
+                </pluginExecution>
+              </pluginExecutions>
+            </lifecycleMappingMetadata>
+          </configuration>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+  </build>
+  <dependencyManagement>
+    <dependencies>
+      <dependency>
+        <!-- Import dependency management from camunda -->
+        <groupId>org.camunda.bpm</groupId>
+        <artifactId>camunda-bom</artifactId>
+        <version>${camunda.version}</version>
+        <scope>import</scope>
+        <type>pom</type>
+      </dependency>
+    </dependencies>
+  </dependencyManagement>
+  <dependencies>
+    <dependency>
+      <groupId>org.camunda.bpm.springboot</groupId>
+      <artifactId>camunda-bpm-spring-boot-starter</artifactId>
+      <version>${camunda.springboot.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.cloud</groupId>
+      <artifactId>spring-cloud-contract-wiremock</artifactId>
+      <version>1.2.4.RELEASE</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-test</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.camunda.bpm.extension.mockito</groupId>
+      <artifactId>camunda-bpm-mockito</artifactId>
+      <version>3.2.1</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.camunda.connect</groupId>
+      <artifactId>camunda-connect-connectors-all</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>commons-beanutils</groupId>
+      <artifactId>commons-beanutils</artifactId>
+      <version>1.9.3</version>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-actuator</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-web</artifactId>
+    </dependency>
+    <dependency>
+      <!-- Needed for InMemoryH2Test -->
+      <groupId>com.h2database</groupId>
+      <artifactId>h2</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.groovy</groupId>
+      <artifactId>groovy-all</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so</groupId>
+      <artifactId>MSOCoreBPMN</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so</groupId>
+      <artifactId>mso-catalog-db</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so</groupId>
+      <artifactId>mso-requests-db</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so</groupId>
+      <artifactId>common</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so.adapters</groupId>
+      <artifactId>mso-adapters-rest-interface</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>javax.servlet</groupId>
+      <artifactId>javax.servlet-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.httpcomponents</groupId>
+      <artifactId>httpclient</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>commons-lang</groupId>
+      <artifactId>commons-lang</artifactId>
+      <version>2.6</version>
+    </dependency>
+    <dependency>
+      <groupId>com.jayway.jsonpath</groupId>
+      <artifactId>json-path</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>javax.ws.rs</groupId>
+      <artifactId>javax.ws.rs-api</artifactId>
+      <version>${jax.ws.rs}</version>
+    </dependency>
 
-               <dependency>
-                       <groupId>org.onap.appc.client</groupId>
-                       <artifactId>client-lib</artifactId>
-                       <version>1.5.0-SNAPSHOT</version>
-                       <exclusions>
-                               <exclusion>
-                                       <groupId>org.mockito</groupId>
-                                       <artifactId>mockito-core</artifactId>
-                               </exclusion>
-                               <exclusion>
-                                       <groupId>org.powermock</groupId>
-                                       <artifactId>powermock-module-junit4</artifactId>
-                               </exclusion>
-                               <exclusion>
-                                       <groupId>org.powermock</groupId>
-                                       <artifactId>powermock-api-mockito</artifactId>
-                               </exclusion>
-                       </exclusions>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.appc.client</groupId>
-                       <artifactId>client-kit</artifactId>
-                       <version>1.5.0-SNAPSHOT</version>
-                       <exclusions>
-                               <exclusion>
-                                       <groupId>org.mockito</groupId>
-                                       <artifactId>mockito-core</artifactId>
-                               </exclusion>
-                       </exclusions>
-               </dependency>
-               <dependency>
-                       <groupId>org.aspectj</groupId>
-                       <artifactId>aspectjrt</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.json</groupId>
-                       <artifactId>json</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.glassfish.jersey.core</groupId>
-                       <artifactId>jersey-common</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.glassfish.jersey.core</groupId>
-                       <artifactId>jersey-client</artifactId>
-               </dependency>
-               <dependency>
-               <groupId>org.glassfish.jersey.inject</groupId>
-                       <artifactId>jersey-hk2</artifactId>
-                       <version>2.26</version>
-       </dependency>
-               <dependency>
-                       <groupId>org.glassfish.jersey.media</groupId>
-                       <artifactId>jersey-media-json-jackson</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.sdc.sdc-tosca</groupId>
-                       <artifactId>sdc-tosca</artifactId>
-                       <version>1.4.4</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.sdc.jtosca</groupId>
-                       <artifactId>jtosca</artifactId>
-                       <version>1.4.4</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-test</artifactId>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>uk.co.blackpepper.bowman</groupId>
-                       <artifactId>bowman-client</artifactId>
-                       <version>0.3.0</version>
-               </dependency>
-               <dependency>
-                       <groupId>pl.pragmatists</groupId>
-                       <artifactId>JUnitParams</artifactId>
-                       <version>1.1.0</version>
-               </dependency>
-               <dependency>
-                       <groupId>ch.vorburger.mariaDB4j</groupId>
-                       <artifactId>mariaDB4j</artifactId>
-                       <version>2.2.3</version>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.cloud</groupId>
-                       <artifactId>spring-cloud-contract-wiremock</artifactId>
-                       <version>1.2.4.RELEASE</version>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.assertj</groupId>
-                       <artifactId>assertj-core</artifactId>
-                       <version>3.11.1</version>
-                       <scope>test</scope>
-               </dependency>
-       </dependencies>
+    <dependency>
+      <groupId>org.onap.appc.client</groupId>
+      <artifactId>client-lib</artifactId>
+      <version>1.5.0-SNAPSHOT</version>
+      <exclusions>
+        <exclusion>
+          <groupId>org.mockito</groupId>
+          <artifactId>mockito-core</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.powermock</groupId>
+          <artifactId>powermock-module-junit4</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.powermock</groupId>
+          <artifactId>powermock-api-mockito</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.appc.client</groupId>
+      <artifactId>client-kit</artifactId>
+      <version>1.5.0-SNAPSHOT</version>
+      <exclusions>
+        <exclusion>
+          <groupId>org.mockito</groupId>
+          <artifactId>mockito-core</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.aspectj</groupId>
+      <artifactId>aspectjrt</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.json</groupId>
+      <artifactId>json</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.glassfish.jersey.core</groupId>
+      <artifactId>jersey-common</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.glassfish.jersey.core</groupId>
+      <artifactId>jersey-client</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.glassfish.jersey.inject</groupId>
+      <artifactId>jersey-hk2</artifactId>
+      <version>2.26</version>
+    </dependency>
+    <dependency>
+      <groupId>org.glassfish.jersey.media</groupId>
+      <artifactId>jersey-media-json-jackson</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.sdc.sdc-tosca</groupId>
+      <artifactId>sdc-tosca</artifactId>
+      <version>1.4.4</version>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.sdc.jtosca</groupId>
+      <artifactId>jtosca</artifactId>
+      <version>1.4.4</version>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-test</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>uk.co.blackpepper.bowman</groupId>
+      <artifactId>bowman-client</artifactId>
+      <version>0.3.0</version>
+    </dependency>
+    <dependency>
+      <groupId>pl.pragmatists</groupId>
+      <artifactId>JUnitParams</artifactId>
+      <version>1.1.0</version>
+    </dependency>
+    <dependency>
+      <groupId>ch.vorburger.mariaDB4j</groupId>
+      <artifactId>mariaDB4j</artifactId>
+      <version>2.2.3</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.cloud</groupId>
+      <artifactId>spring-cloud-contract-wiremock</artifactId>
+      <version>1.2.4.RELEASE</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.assertj</groupId>
+      <artifactId>assertj-core</artifactId>
+      <version>3.11.1</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
 </project>
index de77ca6..2d06628 100644 (file)
@@ -749,7 +749,7 @@ public class BBInputSetup implements JavaDelegate {
                 instanceGroup.setModelInfoInstanceGroup(
                         this.mapperLayer.mapCatalogInstanceGroupToInstanceGroup(null, catalogInstanceGroup));
                 instanceGroup.getModelInfoInstanceGroup().setFunction(vnfcInstanceGroupCust.getFunction());
-                instanceGroup.setDescription(vnfcInstanceGroupCust.getDescription());
+                instanceGroup.getModelInfoInstanceGroup().setDescription(vnfcInstanceGroupCust.getDescription());
                 genericVnf.getInstanceGroups().add(instanceGroup);
             }
         }
index 2e84f38..e386fde 100644 (file)
@@ -1,3 +1,23 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2019 TechMahindra
+ * ================================================================================
+ * 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.client.cds.beans;
 
 import java.io.Serializable;
index cb0b566..b2e6ead 100644 (file)
@@ -1,3 +1,23 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2019 TechMahindra
+ * ================================================================================
+ * 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.client.cds.beans;
 
 import java.util.HashMap;
index bd894e3..592b349 100644 (file)
@@ -1,3 +1,23 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2019 TechMahindra
+ * ================================================================================
+ * 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.client.cds.beans;
 
 import java.util.HashMap;
index 33b7187..2eab532 100644 (file)
@@ -1,3 +1,23 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2019 TechMahindra
+ * ================================================================================
+ * 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.client.cds.beans;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
index 8512c40..984b5a9 100644 (file)
@@ -1,3 +1,22 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2019 TechMahindra
+ * ================================================================================
+ * 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.client.cds.beans;
 
index a9a3b0d..945ed94 100644 (file)
@@ -1,3 +1,23 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2019 TechMahindra
+ * ================================================================================
+ * 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.client.cds.beans;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
index a3ac91a..bba919f 100644 (file)
@@ -1,3 +1,23 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2019 TechMahindra
+ * ================================================================================
+ * 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.client.cds.beans;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
index 817729b..ec1dd07 100644 (file)
@@ -1,3 +1,23 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2019 TechMahindra
+ * ================================================================================
+ * 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.client.cds.beans;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
index c5fc030..2cea502 100644 (file)
@@ -1,3 +1,23 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2019 TechMahindra
+ * ================================================================================
+ * 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.client.cds.beans;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
index 3eadd80..68974d5 100644 (file)
@@ -1,3 +1,23 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2019 TechMahindra
+ * ================================================================================
+ * 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.client.cds.beans;
 
 import static org.junit.Assert.assertEquals;
index 4b91cdf..d3d367a 100644 (file)
@@ -1,3 +1,23 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2019 TechMahindra
+ * ================================================================================
+ * 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.client.cds.beans;
 
 import static org.junit.Assert.assertEquals;
index da82721..e3fe25a 100644 (file)
@@ -1,3 +1,23 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2019 TechMahindra
+ * ================================================================================
+ * 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.client.cds.beans;
 
 import static org.junit.Assert.assertEquals;
index a73fa6c..35941c3 100644 (file)
@@ -1,3 +1,23 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2019 TechMahindra
+ * ================================================================================
+ * 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.client.cds.beans;
 
 import static org.junit.Assert.assertEquals;
index 771196d..c7d5f8c 100644 (file)
@@ -1,3 +1,23 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2019 TechMahindra
+ * ================================================================================
+ * 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.client.cds.beans;
 
 import static org.junit.Assert.assertEquals;
index 6039bd6..948b5d5 100644 (file)
@@ -1,3 +1,23 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2019 TechMahindra
+ * ================================================================================
+ * 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.client.cds.beans;
 
 import static org.junit.Assert.assertEquals;
index a977f8d..3f4e371 100644 (file)
@@ -1,3 +1,23 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2019 TechMahindra
+ * ================================================================================
+ * 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.client.cds.beans;
 
 import static org.junit.Assert.assertEquals;
index 4b86eeb..14c22d9 100644 (file)
@@ -1,3 +1,23 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2019 TechMahindra
+ * ================================================================================
+ * 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.client.cds.beans;
 
 import static org.junit.Assert.assertEquals;
index 6fe3168..12bc998 100644 (file)
 <?xml version="1.0"?>
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-       <parent>
-        <groupId>org.onap.so</groupId>
-               <artifactId>bpmn</artifactId>
-        <version>1.4.0-SNAPSHOT</version>
-       </parent>
-       <modelVersion>4.0.0</modelVersion>
-       <artifactId>MSOCoreBPMN</artifactId>
-       <packaging>jar</packaging>
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <parent>
+    <groupId>org.onap.so</groupId>
+    <artifactId>bpmn</artifactId>
+    <version>1.4.0-SNAPSHOT</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>MSOCoreBPMN</artifactId>
+  <packaging>jar</packaging>
 
-       <build>
-               <plugins>
-                       <plugin>
-                               <groupId>org.apache.maven.plugins</groupId>
-                               <artifactId>maven-compiler-plugin</artifactId>
-                               <executions>
-                                       <execution>
-                                               <id>test-compile</id>
-                                               <phase>compile</phase>
-                                               <goals>
-                                                       <goal>testCompile</goal>
-                                               </goals>
-                                               <configuration>
-                                                       <skip>false</skip>
-                                               </configuration>
-                                       </execution>
-                               </executions>
-                       </plugin>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>test-compile</id>
+            <phase>compile</phase>
+            <goals>
+              <goal>testCompile</goal>
+            </goals>
+            <configuration>
+              <skip>false</skip>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
 
-                       <plugin>
-                               <groupId>org.apache.maven.plugins</groupId>
-                               <artifactId>maven-jar-plugin</artifactId>
-                               <version>3.0.2</version>
-                               <executions>
-                                       <execution>
-                                               <id>tests-jar</id>
-                                               <phase>package</phase>
-                                               <goals>
-                                                       <goal>test-jar</goal>
-                                               </goals>
-                                               <configuration>
-                                                       <skip>false</skip>
-                                               </configuration>
-                                       </execution>
-                               </executions>
-                       </plugin>
-               </plugins>
-       </build>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+        <version>3.0.2</version>
+        <executions>
+          <execution>
+            <id>tests-jar</id>
+            <phase>package</phase>
+            <goals>
+              <goal>test-jar</goal>
+            </goals>
+            <configuration>
+              <skip>false</skip>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
 
-       <dependencies>
-               <!-- latest commons-fileupload -->
-               <dependency>
-                       <groupId>commons-fileupload</groupId>
-                       <artifactId>commons-fileupload</artifactId>
-            <version>1.3.3</version>
-               </dependency>
-               <dependency>
-                       <groupId>javax.servlet</groupId>
-                       <artifactId>javax.servlet-api</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.camunda.connect</groupId>
-                       <artifactId>camunda-connect-connectors-all</artifactId>
-                       <version>1.0.5</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.camunda.bpm</groupId>
-                       <artifactId>camunda-engine-plugin-connect</artifactId>
-                       <version>${camunda.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.camunda.bpm</groupId>
-                       <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>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>net.sf.saxon</groupId>
-                       <artifactId>Saxon-HE</artifactId>
-               </dependency>
-               <dependency>
-            <groupId>org.onap.so</groupId>
-                       <artifactId>common</artifactId>
-                       <version>${project.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.json</groupId>
-                       <artifactId>json</artifactId>
-                       <version>20160212</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.xmlunit</groupId>
-                       <artifactId>xmlunit-core</artifactId>
-                       <scope>test</scope>
-               </dependency>   
-               <dependency>
-                       <groupId>com.github.fge</groupId>
-                       <artifactId>json-schema-validator</artifactId>
-                       <version>2.2.6</version>
-               </dependency>
-               <dependency>
-                       <groupId>com.github.fge</groupId>
-                       <artifactId>json-schema-core</artifactId>
-                       <version>1.2.4</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework</groupId>
-                       <artifactId>spring-beans</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.yaml</groupId>
-                       <artifactId>snakeyaml</artifactId>
-               </dependency>           
-    </dependencies>
+  <dependencies>
+    <!-- latest commons-fileupload -->
+    <dependency>
+      <groupId>commons-fileupload</groupId>
+      <artifactId>commons-fileupload</artifactId>
+      <version>1.3.3</version>
+    </dependency>
+    <dependency>
+      <groupId>javax.servlet</groupId>
+      <artifactId>javax.servlet-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.camunda.connect</groupId>
+      <artifactId>camunda-connect-connectors-all</artifactId>
+      <version>1.0.5</version>
+    </dependency>
+    <dependency>
+      <groupId>org.camunda.bpm</groupId>
+      <artifactId>camunda-engine-plugin-connect</artifactId>
+      <version>${camunda.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.camunda.bpm</groupId>
+      <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>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>net.sf.saxon</groupId>
+      <artifactId>Saxon-HE</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so</groupId>
+      <artifactId>common</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.json</groupId>
+      <artifactId>json</artifactId>
+      <version>20160212</version>
+    </dependency>
+    <dependency>
+      <groupId>org.xmlunit</groupId>
+      <artifactId>xmlunit-core</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.github.fge</groupId>
+      <artifactId>json-schema-validator</artifactId>
+      <version>2.2.6</version>
+    </dependency>
+    <dependency>
+      <groupId>com.github.fge</groupId>
+      <artifactId>json-schema-core</artifactId>
+      <version>1.2.4</version>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>spring-beans</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.yaml</groupId>
+      <artifactId>snakeyaml</artifactId>
+    </dependency>
+  </dependencies>
 </project>
index 2abea6e..4dd7a46 100644 (file)
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-       <parent>
-               <groupId>org.onap.so</groupId>
-               <artifactId>bpmn</artifactId>
-               <version>1.4.0-SNAPSHOT</version>
-       </parent>
-       <modelVersion>4.0.0</modelVersion>
-       <artifactId>mso-infrastructure-bpmn</artifactId>
-       <packaging>jar</packaging>
-       <build>
-               <plugins>
-                       <plugin>
-                               <groupId>org.apache.maven.plugins</groupId>
-                               <artifactId>maven-dependency-plugin</artifactId>
-                               <executions>
-                                       <execution>
-                                               <id>unpack</id>
-                                               <goals>
-                                                       <goal>unpack</goal>
-                                               </goals>
-                                               <configuration>
-                                                       <skip>true</skip>
-                                                       <artifactItems>
-                                                               <artifactItem>
-                                                                       <groupId>org.onap.so</groupId>
-                                                                       <artifactId>MSOCommonBPMN</artifactId>
-                                                                       <version>${project.version}</version>
-                                                                       <type>jar</type>
-                                                                       <overWrite>false</overWrite>
-                                                                       <outputDirectory>${project.build.outputDirectory}</outputDirectory>
-                                                                       <includes>**/*.bpmn</includes>
-                                                               </artifactItem>
-                                                               <artifactItem>
-                                                                       <groupId>org.onap.so</groupId>
-                                                                       <artifactId>so-bpmn-building-blocks</artifactId>
-                                                                       <version>${project.version}</version>
-                                                                       <type>jar</type>
-                                                                       <overWrite>false</overWrite>
-                                                                       <outputDirectory>${project.build.outputDirectory}</outputDirectory>
-                                                                       <includes>**/*.bpmn</includes>
-                                                               </artifactItem>
-                                                               <artifactItem>
-                                                                       <groupId>org.onap.so</groupId>
-                                                                       <artifactId>so-bpmn-infrastructure-flows</artifactId>
-                                                                       <version>${project.version}</version>
-                                                                       <type>jar</type>
-                                                                       <overWrite>false</overWrite>
-                                                                       <outputDirectory>${project.build.outputDirectory}</outputDirectory>
-                                                                       <includes>**/*.bpmn</includes>
-                                                               </artifactItem>
-                                                       </artifactItems>
-                                               </configuration>
-                                       </execution>
-                               </executions>
-                       </plugin>
-                       <plugin>
-                               <groupId>org.apache.maven.plugins</groupId>
-                               <artifactId>maven-surefire-plugin</artifactId>
-                               <executions>
-                                       <execution>
-                                               <id>integration-test</id>
-                                               <goals>
-                                                       <goal>test</goal>
-                                               </goals>
-                                               <configuration>
-                                                       <skip>true</skip>
-                                                       <includes>
-                                                               <include>**/IntegrationTestSuite.java</include>
-                                                       </includes>
-                                               </configuration>
-                                       </execution>
-                               </executions>
-                       </plugin>
-                       <plugin>
-                               <groupId>org.apache.maven.plugins</groupId>
-                               <artifactId>maven-compiler-plugin</artifactId>
-                               <executions>
-                                       <execution>
-                                               <id>test-compile</id>
-                                               <phase>compile</phase>
-                                               <goals>
-                                                       <goal>testCompile</goal>
-                                               </goals>
-                                               <configuration>
-                                                       <skip>false</skip>
-                                               </configuration>
-                                       </execution>
-                               </executions>
-                       </plugin>
-                       <plugin>
-                               <groupId>org.apache.maven.plugins</groupId>
-                               <artifactId>maven-jar-plugin</artifactId>
-                               <executions>
-                                       <execution>
-                                               <id>tests</id>
-                                       </execution>
-                                       <execution>
-                                               <id>original</id>
-                                       </execution>
-                               </executions>
-                       </plugin>
-                       <plugin>
-                               <groupId>org.springframework.boot</groupId>
-                               <artifactId>spring-boot-maven-plugin</artifactId>
-                               <version>${springboot.version}</version>
-                               <configuration>
-                                       <mainClass>org.onap.so.bpmn.infrastructure.MSOInfrastructureApplication</mainClass>
-                               </configuration>
-                               <executions>
-                                       <execution>
-                                               <goals>
-                                                       <goal>repackage</goal>
-                                               </goals>
-                                       </execution>
-                               </executions>
-                       </plugin>
-                       <plugin>
-                               <groupId>org.apache.maven.plugins</groupId>
-                               <artifactId>maven-dependency-plugin</artifactId>
-                               <executions>
-                                       <execution>
-                                               <id>extract-docker-file</id>
-                                       </execution>
-                               </executions>
-                       </plugin>
-                       <plugin>
-                               <groupId>io.fabric8</groupId>
-                               <artifactId>fabric8-maven-plugin</artifactId>
-                               <executions>
-                                       <execution>
-                                               <id>start</id>
-                                       </execution>
-                               </executions>
-                       </plugin>
-               </plugins>
-       </build>
-       <dependencyManagement>
-               <dependencies>
-                       <dependency>
-                               <!-- Import dependency management from Spring Boot -->
-                               <groupId>org.springframework.boot</groupId>
-                               <artifactId>spring-boot-dependencies</artifactId>
-                               <version>${springboot.version}</version>
-                               <type>pom</type>
-                               <scope>import</scope>
-                       </dependency>
-               </dependencies>
-       </dependencyManagement>
-       <dependencies>
-               <dependency>
-                       <groupId>org.camunda.bpm.springboot</groupId>
-                       <artifactId>camunda-bpm-spring-boot-starter</artifactId>
-                       <version>${camunda.springboot.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.camunda.bpm.springboot</groupId>
-                       <artifactId>camunda-bpm-spring-boot-starter-rest</artifactId>
-                       <version>${camunda.springboot.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.camunda.bpm.springboot</groupId>
-                       <artifactId>camunda-bpm-spring-boot-starter-webapp</artifactId>
-                       <version>${camunda.springboot.version}</version>
-                       <exclusions>
-                               <exclusion>
-                                       <groupId>org.camunda.bpmn</groupId>
-                                       <artifactId>camunda-engine-rest-core</artifactId>
-                               </exclusion>
-                       </exclusions>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-web</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-data-jpa</artifactId>
-                       <exclusions>
-                       <exclusion>
-                           <groupId>org.apache.tomcat</groupId>
-                           <artifactId>tomcat-jdbc</artifactId>
-                        </exclusion>
-               </exclusions>
-                       <optional>true</optional>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-jdbc</artifactId>                       
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-test</artifactId>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.so</groupId>
-                       <artifactId>so-bpmn-infrastructure-common</artifactId>
-                       <version>${project.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.so</groupId>
-                       <artifactId>MSOCommonBPMN</artifactId>
-                       <version>${project.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.so</groupId>
-                       <artifactId>MSOCommonBPMN</artifactId>
-                       <version>${project.version}</version>
-                       <type>test-jar</type>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.so</groupId>
-                       <artifactId>so-bpmn-building-blocks</artifactId>
-                       <version>${project.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.so</groupId>
-                       <artifactId>so-bpmn-infrastructure-flows</artifactId>
-                       <version>${project.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>com.h2database</groupId>
-                       <artifactId>h2</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.cloud</groupId>
-                       <artifactId>spring-cloud-contract-wiremock</artifactId>
-                       <version>1.2.4.RELEASE</version>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>ch.vorburger.mariaDB4j</groupId>
-                       <artifactId>mariaDB4j</artifactId>
-                       <version>2.2.3</version>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>io.micrometer</groupId>
-                       <artifactId>micrometer-core</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>io.micrometer</groupId>
-                       <artifactId>micrometer-registry-prometheus</artifactId>                 
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.so</groupId>
-                       <artifactId>so-bpmn-tasks</artifactId>
-                       <version>${project.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.so</groupId>
-                       <artifactId>cxf-logging</artifactId>
-                       <version>${project.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.camunda.bpm.extension.mockito</groupId>
-                       <artifactId>camunda-bpm-mockito</artifactId>
-                       <version>3.2.1</version>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.camunda.bpm.extension</groupId>
-                       <artifactId>camunda-bpm-assert</artifactId>
-                       <version>2.0-alpha2</version>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.assertj</groupId>
-                       <artifactId>assertj-core</artifactId>
-                       <version>1.7.0</version>
-                       <scope>test</scope>
-               </dependency>
-       </dependencies>
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <parent>
+    <groupId>org.onap.so</groupId>
+    <artifactId>bpmn</artifactId>
+    <version>1.4.0-SNAPSHOT</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>mso-infrastructure-bpmn</artifactId>
+  <packaging>jar</packaging>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-dependency-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>unpack</id>
+            <goals>
+              <goal>unpack</goal>
+            </goals>
+            <configuration>
+              <skip>true</skip>
+              <artifactItems>
+                <artifactItem>
+                  <groupId>org.onap.so</groupId>
+                  <artifactId>MSOCommonBPMN</artifactId>
+                  <version>${project.version}</version>
+                  <type>jar</type>
+                  <overWrite>false</overWrite>
+                  <outputDirectory>${project.build.outputDirectory}</outputDirectory>
+                  <includes>**/*.bpmn</includes>
+                </artifactItem>
+                <artifactItem>
+                  <groupId>org.onap.so</groupId>
+                  <artifactId>so-bpmn-building-blocks</artifactId>
+                  <version>${project.version}</version>
+                  <type>jar</type>
+                  <overWrite>false</overWrite>
+                  <outputDirectory>${project.build.outputDirectory}</outputDirectory>
+                  <includes>**/*.bpmn</includes>
+                </artifactItem>
+                <artifactItem>
+                  <groupId>org.onap.so</groupId>
+                  <artifactId>so-bpmn-infrastructure-flows</artifactId>
+                  <version>${project.version}</version>
+                  <type>jar</type>
+                  <overWrite>false</overWrite>
+                  <outputDirectory>${project.build.outputDirectory}</outputDirectory>
+                  <includes>**/*.bpmn</includes>
+                </artifactItem>
+              </artifactItems>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>integration-test</id>
+            <goals>
+              <goal>test</goal>
+            </goals>
+            <configuration>
+              <skip>true</skip>
+              <includes>
+                <include>**/IntegrationTestSuite.java</include>
+              </includes>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>test-compile</id>
+            <phase>compile</phase>
+            <goals>
+              <goal>testCompile</goal>
+            </goals>
+            <configuration>
+              <skip>false</skip>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>tests</id>
+          </execution>
+          <execution>
+            <id>original</id>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-maven-plugin</artifactId>
+        <version>${springboot.version}</version>
+        <configuration>
+          <mainClass>org.onap.so.bpmn.infrastructure.MSOInfrastructureApplication</mainClass>
+        </configuration>
+        <executions>
+          <execution>
+            <goals>
+              <goal>repackage</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-dependency-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>extract-docker-file</id>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>io.fabric8</groupId>
+        <artifactId>fabric8-maven-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>start</id>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+  <dependencyManagement>
+    <dependencies>
+      <dependency>
+        <!-- Import dependency management from Spring Boot -->
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-dependencies</artifactId>
+        <version>${springboot.version}</version>
+        <type>pom</type>
+        <scope>import</scope>
+      </dependency>
+    </dependencies>
+  </dependencyManagement>
+  <dependencies>
+    <dependency>
+      <groupId>org.camunda.bpm.springboot</groupId>
+      <artifactId>camunda-bpm-spring-boot-starter-rest</artifactId>
+      <version>${camunda.springboot.version}</version>
+        <exclusions>
+          <exclusion>
+            <groupId>org.camunda.bpmn</groupId>
+            <artifactId>camunda-engine-rest-core</artifactId>
+          </exclusion>
+        </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.camunda.bpm.springboot</groupId>
+      <artifactId>camunda-bpm-spring-boot-starter-webapp</artifactId>
+      <version>${camunda.springboot.version}</version>
+      <exclusions>
+        <exclusion>
+          <groupId>org.camunda.bpmn</groupId>
+          <artifactId>camunda-engine-rest-core</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-web</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-data-jpa</artifactId>
+      <exclusions>
+        <exclusion>
+          <groupId>org.apache.tomcat</groupId>
+          <artifactId>tomcat-jdbc</artifactId>
+        </exclusion>
+      </exclusions>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-jdbc</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-test</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so</groupId>
+      <artifactId>so-bpmn-infrastructure-common</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so</groupId>
+      <artifactId>MSOCommonBPMN</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so</groupId>
+      <artifactId>MSOCommonBPMN</artifactId>
+      <version>${project.version}</version>
+      <type>test-jar</type>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so</groupId>
+      <artifactId>so-bpmn-building-blocks</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so</groupId>
+      <artifactId>so-bpmn-infrastructure-flows</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>com.h2database</groupId>
+      <artifactId>h2</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.cloud</groupId>
+      <artifactId>spring-cloud-contract-wiremock</artifactId>
+      <version>1.2.4.RELEASE</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>ch.vorburger.mariaDB4j</groupId>
+      <artifactId>mariaDB4j</artifactId>
+      <version>2.2.3</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>io.micrometer</groupId>
+      <artifactId>micrometer-core</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>io.micrometer</groupId>
+      <artifactId>micrometer-registry-prometheus</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so</groupId>
+      <artifactId>so-bpmn-tasks</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so</groupId>
+      <artifactId>cxf-logging</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.camunda.bpm.extension.mockito</groupId>
+      <artifactId>camunda-bpm-mockito</artifactId>
+      <version>3.2.1</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.camunda.bpm.extension</groupId>
+      <artifactId>camunda-bpm-assert</artifactId>
+      <version>2.0-alpha2</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.assertj</groupId>
+      <artifactId>assertj-core</artifactId>
+      <version>1.7.0</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
 </project>
index dc30925..9beb02e 100644 (file)
@@ -1,96 +1,96 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-       <modelVersion>4.0.0</modelVersion>
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
 
-       <parent>
+  <parent>
     <groupId>org.onap.so</groupId>
     <artifactId>so</artifactId>
     <version>1.4.0-SNAPSHOT</version>
-       </parent>
+  </parent>
 
-       <artifactId>bpmn</artifactId>
-       <name>BPMN Subsystem</name>
-       <description>BPMN Subsystem for MSO</description>
-       <packaging>pom</packaging>
+  <artifactId>bpmn</artifactId>
+  <name>BPMN Subsystem</name>
+  <description>BPMN Subsystem for MSO</description>
+  <packaging>pom</packaging>
 
-       <properties>
-               <camunda.version>7.10.0</camunda.version>
-               <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>
-               <saxon.version>9.5.1-8</saxon.version>
-               <xmlunit.version>2.4.0</xmlunit.version>
-               <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-               <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-               <sdnc.northbound.version>1.5.1-SNAPSHOT</sdnc.northbound.version>
-       </properties>
+  <properties>
+    <camunda.version>7.10.0</camunda.version>
+    <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>
+    <saxon.version>9.5.1-8</saxon.version>
+    <xmlunit.version>2.4.0</xmlunit.version>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+    <sdnc.northbound.version>1.5.1-SNAPSHOT</sdnc.northbound.version>
+  </properties>
 
-       <modules>
-               <module>MSOCoreBPMN</module>
+  <modules>
+    <module>MSOCoreBPMN</module>
 
-               <module>MSOCommonBPMN</module>
-               <module>so-bpmn-infrastructure-common</module>
-               <module>so-bpmn-tasks</module>
-               <module>so-bpmn-building-blocks</module>
-               <module>so-bpmn-infrastructure-flows</module>
-               <module>mso-infrastructure-bpmn</module>
-       </modules>
+    <module>MSOCommonBPMN</module>
+    <module>so-bpmn-infrastructure-common</module>
+    <module>so-bpmn-tasks</module>
+    <module>so-bpmn-building-blocks</module>
+    <module>so-bpmn-infrastructure-flows</module>
+    <module>mso-infrastructure-bpmn</module>
+  </modules>
 
-       <!-- 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>
-                               <version>${saxon.version}</version>
-                       </dependency>
-                       <dependency>
-                               <groupId>org.xmlunit</groupId>
-                               <artifactId>xmlunit-core</artifactId>
-                               <version>${xmlunit.version}</version>
-                       </dependency>
-                       <dependency>
-                               <groupId>javax.activation</groupId>
-                               <artifactId>activation</artifactId>
-                               <version>1.1.1</version>
-                               <scope>compile</scope>
-                       </dependency>
-                       <dependency>
-                               <groupId>org.assertj</groupId>
-                               <artifactId>assertj-core</artifactId>
-                               <version>3.11.1</version>
-                               <scope>test</scope>
-                       </dependency>
-                       <dependency>
-                               <groupId>org.camunda.bpm.extension.mockito</groupId>
-                               <artifactId>camunda-bpm-mockito</artifactId>
-                               <version>4.0.0</version>
-                               <scope>test</scope>
-                       </dependency>
-               </dependencies>
-       </dependencyManagement>
+  <!-- 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>
+        <version>${saxon.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.xmlunit</groupId>
+        <artifactId>xmlunit-core</artifactId>
+        <version>${xmlunit.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>javax.activation</groupId>
+        <artifactId>activation</artifactId>
+        <version>1.1.1</version>
+        <scope>compile</scope>
+      </dependency>
+      <dependency>
+        <groupId>org.assertj</groupId>
+        <artifactId>assertj-core</artifactId>
+        <version>3.11.1</version>
+        <scope>test</scope>
+      </dependency>
+      <dependency>
+        <groupId>org.camunda.bpm.extension.mockito</groupId>
+        <artifactId>camunda-bpm-mockito</artifactId>
+        <version>4.0.0</version>
+        <scope>test</scope>
+      </dependency>
+    </dependencies>
+  </dependencyManagement>
 
-       <dependencies>
-               <dependency>
-                       <groupId>org.apache.httpcomponents</groupId>
-                       <artifactId>httpcore</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.httpcomponents</groupId>
-                       <artifactId>httpclient</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-data-jpa</artifactId>
-                       <optional>true</optional>
-               </dependency>
-       </dependencies>
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.httpcomponents</groupId>
+      <artifactId>httpcore</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.httpcomponents</groupId>
+      <artifactId>httpclient</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-data-jpa</artifactId>
+      <optional>true</optional>
+    </dependency>
+  </dependencies>
 
 </project>
index 0970674..a867613 100644 (file)
 <?xml version="1.0"?>
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-       <parent>
-               <groupId>org.onap.so</groupId>
-               <artifactId>bpmn</artifactId>
-               <version>1.4.0-SNAPSHOT</version>
-       </parent>
-       <modelVersion>4.0.0</modelVersion>
-       <artifactId>so-bpmn-building-blocks</artifactId>
-       <packaging>jar</packaging>
-       <properties>
-               <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-               <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-       </properties>
-       <build>
-               <plugins>
-                       <plugin>
-                               <groupId>org.apache.cxf</groupId>
-                               <artifactId>cxf-codegen-plugin</artifactId>
-                               <version>2.5.2</version>
-                       </plugin>
-                       <plugin>
-                               <groupId>org.apache.maven.plugins</groupId>
-                               <artifactId>maven-surefire-plugin</artifactId>
-                               <executions>
-                                       <execution>
-                                               <id>default-test</id>
-                                               <goals>
-                                                       <goal>test</goal>
-                                               </goals>
-                                               <configuration>
-                                                       <includes>
-                                                               <include>**/AllTestSuites.java</include>
-                                                       </includes>
-                                               </configuration>
-                                       </execution>
-                               </executions>
-                               <configuration>
-                                       <parallel>suites</parallel>
-                               </configuration>
-                       </plugin>
-               </plugins>
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <parent>
+    <groupId>org.onap.so</groupId>
+    <artifactId>bpmn</artifactId>
+    <version>1.4.0-SNAPSHOT</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>so-bpmn-building-blocks</artifactId>
+  <packaging>jar</packaging>
+  <properties>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+  </properties>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.cxf</groupId>
+        <artifactId>cxf-codegen-plugin</artifactId>
+        <version>2.5.2</version>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>default-test</id>
+            <goals>
+              <goal>test</goal>
+            </goals>
+            <configuration>
+              <includes>
+                <include>**/AllTestSuites.java</include>
+              </includes>
+            </configuration>
+          </execution>
+        </executions>
+        <configuration>
+          <parallel>suites</parallel>
+        </configuration>
+      </plugin>
+    </plugins>
 
-               <pluginManagement>
-                       <plugins>
-                               <!--This plugin's configuration is used to store Eclipse m2e settings 
+    <pluginManagement>
+      <plugins>
+        <!--This plugin's configuration is used to store Eclipse m2e settings 
                                        only. It has no influence on the Maven build itself. -->
-                               <plugin>
-                                       <groupId>org.eclipse.m2e</groupId>
-                                       <artifactId>lifecycle-mapping</artifactId>
-                                       <version>1.0.0</version>
-                                       <configuration>
-                                               <lifecycleMappingMetadata>
-                                                       <pluginExecutions>
-                                                               <pluginExecution>
-                                                                       <pluginExecutionFilter>
-                                                                               <groupId>
+        <plugin>
+          <groupId>org.eclipse.m2e</groupId>
+          <artifactId>lifecycle-mapping</artifactId>
+          <version>1.0.0</version>
+          <configuration>
+            <lifecycleMappingMetadata>
+              <pluginExecutions>
+                <pluginExecution>
+                  <pluginExecutionFilter>
+                    <groupId>
                                                                                        org.apache.maven.plugins
                                                                                </groupId>
-                                                                               <artifactId>
+                    <artifactId>
                                                                                        maven-antrun-plugin
                                                                                </artifactId>
-                                                                               <versionRange>
+                    <versionRange>
                                                                                        [1.3,)
                                                                                </versionRange>
-                                                                               <goals>
-                                                                                       <goal>run</goal>
-                                                                               </goals>
-                                                                       </pluginExecutionFilter>
-                                                                       <action>
-                                                                               <ignore />
-                                                                       </action>
-                                                               </pluginExecution>
-                                                       </pluginExecutions>
-                                               </lifecycleMappingMetadata>
-                                       </configuration>
-                               </plugin>
-                       </plugins>
-               </pluginManagement>
-       </build>
-       <dependencies>
-               <dependency>
-                       <groupId>org.camunda.bpm</groupId>
-                       <artifactId>camunda-engine</artifactId>
-                       <version>${camunda.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.camunda.bpm.springboot</groupId>
-                       <artifactId>camunda-bpm-spring-boot-starter</artifactId>
-                       <version>${camunda.springboot.version}</version>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.camunda.bpm.springboot</groupId>
-                       <artifactId>camunda-bpm-spring-boot-starter-webapp</artifactId>
-                       <version>${camunda.springboot.version}</version>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.camunda.bpm.extension.mockito</groupId>
-                       <artifactId>camunda-bpm-mockito</artifactId>
-                       <version>3.2.1</version>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.camunda.bpm.extension</groupId>
-                       <artifactId>camunda-bpm-assert</artifactId>
-                       <version>2.0-alpha2</version>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.assertj</groupId>
-                       <artifactId>assertj-core</artifactId>
-                       <version>1.7.0</version>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-test</artifactId>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>com.h2database</groupId>
-                       <artifactId>h2</artifactId>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.so</groupId>
-                       <artifactId>MSOCommonBPMN</artifactId>
-                       <version>${project.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.so</groupId>
-                       <artifactId>so-bpmn-tasks</artifactId>
-                       <version>${project.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.so</groupId>
-                       <artifactId>so-bpmn-infrastructure-common</artifactId>
-                       <version>${project.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>commons-net</groupId>
-                       <artifactId>commons-net</artifactId>
-                       <version>3.6</version>
-               </dependency>
-               <dependency>
-                       <groupId>ch.vorburger.mariaDB4j</groupId>
-                       <artifactId>mariaDB4j</artifactId>
-                       <version>2.2.3</version>
-                       <scope>test</scope>
-               </dependency>   
+                    <goals>
+                      <goal>run</goal>
+                    </goals>
+                  </pluginExecutionFilter>
+                  <action>
+                    <ignore />
+                  </action>
+                </pluginExecution>
+              </pluginExecutions>
+            </lifecycleMappingMetadata>
+          </configuration>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+  </build>
+  <dependencies>
+    <dependency>
+      <groupId>org.camunda.bpm</groupId>
+      <artifactId>camunda-engine</artifactId>
+      <version>${camunda.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.camunda.bpm.springboot</groupId>
+      <artifactId>camunda-bpm-spring-boot-starter</artifactId>
+      <version>${camunda.springboot.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.camunda.bpm.springboot</groupId>
+      <artifactId>camunda-bpm-spring-boot-starter-webapp</artifactId>
+      <version>${camunda.springboot.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.camunda.bpm.extension.mockito</groupId>
+      <artifactId>camunda-bpm-mockito</artifactId>
+      <version>3.2.1</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.camunda.bpm.extension</groupId>
+      <artifactId>camunda-bpm-assert</artifactId>
+      <version>2.0-alpha2</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.assertj</groupId>
+      <artifactId>assertj-core</artifactId>
+      <version>1.7.0</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-test</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.h2database</groupId>
+      <artifactId>h2</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so</groupId>
+      <artifactId>MSOCommonBPMN</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so</groupId>
+      <artifactId>so-bpmn-tasks</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so</groupId>
+      <artifactId>so-bpmn-infrastructure-common</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>commons-net</groupId>
+      <artifactId>commons-net</artifactId>
+      <version>3.6</version>
+    </dependency>
+    <dependency>
+      <groupId>ch.vorburger.mariaDB4j</groupId>
+      <artifactId>mariaDB4j</artifactId>
+      <version>2.2.3</version>
+      <scope>test</scope>
+    </dependency>
 
-       </dependencies>
+  </dependencies>
 </project>
index ea762c8..7bb9793 100644 (file)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.8.2">
+<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.11.3">
   <bpmn:process id="AssignVnfBB" name="AssignVnfBB" isExecutable="true">
     <bpmn:startEvent id="Start_AssignVnfBB">
       <bpmn:outgoing>SequenceFlow_0zaz9o2</bpmn:outgoing>
@@ -24,7 +24,7 @@
     <bpmn:sequenceFlow id="SequenceFlow_1nle8kc" sourceRef="Task_createInstanceGroups" targetRef="ExclusiveGateway_02tchpp" />
     <bpmn:sequenceFlow id="SequenceFlow_11jum90" name="no" sourceRef="ExclusiveGateway_02tchpp" targetRef="ExclusiveGateway_1blf52g" />
     <bpmn:sequenceFlow id="SequenceFlow_1uiok7v" name="yes" sourceRef="ExclusiveGateway_02tchpp" targetRef="Task_callHoming">
-      <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("callHoming")}]]></bpmn:conditionExpression>
+      <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("homing")}]]></bpmn:conditionExpression>
     </bpmn:sequenceFlow>
     <bpmn:sequenceFlow id="SequenceFlow_0v8d14a" sourceRef="Task_callHoming" targetRef="ExclusiveGateway_1blf52g" />
     <bpmn:callActivity id="Task_callHoming" name="Call Homing" calledElement="HomingBB">
index cd62636..b66ecfa 100644 (file)
@@ -1,10 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" id="_vwRmIBsREeeIQtzUKIjH4g" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.7.1" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
+<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" id="_vwRmIBsREeeIQtzUKIjH4g" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.11.3" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
   <bpmn2:process id="HomingBB" name="HomingBB" isExecutable="true">
     <bpmn2:startEvent id="start">
-      <bpmn2:outgoing>SequenceFlow_1x9usa6</bpmn2:outgoing>
+      <bpmn2:outgoing>SequenceFlow_0jtjlbu</bpmn2:outgoing>
     </bpmn2:startEvent>
-    <bpmn2:sequenceFlow id="SequenceFlow_1x9usa6" sourceRef="start" targetRef="sniroOofCheck" />
     <bpmn2:subProcess id="bpmnErrorSubprocess" name="Error Handling Subprocess" triggeredByEvent="true">
       <bpmn2:endEvent id="endBpmnError">
         <bpmn2:incoming>SequenceFlow_1rf4vs8</bpmn2:incoming>
@@ -43,7 +42,7 @@ ex.processJavaException(execution)]]></bpmn2:script>
       <bpmn2:sequenceFlow id="SequenceFlow_0kamg53" name="" sourceRef="startJavaError" targetRef="processJavaException" />
       <bpmn2:sequenceFlow id="SequenceFlow_1o7154s" name="" sourceRef="processJavaException" targetRef="endJavaError" />
     </bpmn2:subProcess>
-    <bpmn2:callActivity id="receiveAsyncCallback" name="Receive Async Callback" calledElement="ReceiveWorkflowMessage" camunda:modelerTemplate="receiveWorkflowMessage">
+    <bpmn2:callActivity id="receiveAsyncCallback" name="Receive Async Callback" camunda:modelerTemplate="receiveWorkflowMessage" calledElement="ReceiveWorkflowMessage">
       <bpmn2:extensionElements>
         <camunda:in source="true" target="isDebugLogEnabled" />
         <camunda:out source="WorkflowException" target="WorkflowException" />
@@ -52,278 +51,145 @@ ex.processJavaException(execution)]]></bpmn2:script>
         <camunda:in source="asyncTimeout" target="RCVWFMSG_timeout" />
         <camunda:out source="WorkflowResponse" target="asyncResponse" />
       </bpmn2:extensionElements>
-      <bpmn2:incoming>SequenceFlow_1qbnm82</bpmn2:incoming>
-      <bpmn2:outgoing>SequenceFlow_1fipbmk</bpmn2:outgoing>
+      <bpmn2:incoming>SequenceFlow_0qrwjzu</bpmn2:incoming>
+      <bpmn2:outgoing>SequenceFlow_03cy5y5</bpmn2:outgoing>
     </bpmn2:callActivity>
-    <bpmn2:sequenceFlow id="SequenceFlow_1fipbmk" sourceRef="receiveAsyncCallback" targetRef="sniroOofCheck2" />
-    <bpmn2:sequenceFlow id="SequenceFlow_01apjvo" sourceRef="processSniroSolution" targetRef="ExclusiveGateway_1kvzxpb" />
     <bpmn2:endEvent id="end">
-      <bpmn2:incoming>SequenceFlow_1urt5i6</bpmn2:incoming>
+      <bpmn2:incoming>SequenceFlow_138xgla</bpmn2:incoming>
       <bpmn2:terminateEventDefinition />
     </bpmn2:endEvent>
-    <bpmn2:sequenceFlow id="SequenceFlow_0lc15i7" sourceRef="callSniro" targetRef="ExclusiveGateway_1ckp059" />
-    <bpmn2:sequenceFlow id="SequenceFlow_1dtador" name="Sniro" sourceRef="sniroOofCheck" targetRef="callSniro" />
-    <bpmn2:sequenceFlow id="SequenceFlow_1qbnm82" sourceRef="ExclusiveGateway_1ckp059" targetRef="receiveAsyncCallback" />
-    <bpmn2:sequenceFlow id="SequenceFlow_08k112s" name="Sniro" sourceRef="sniroOofCheck2" targetRef="processSniroSolution" />
-    <bpmn2:sequenceFlow id="SequenceFlow_0m6nhqg" name="Oof" sourceRef="sniroOofCheck" targetRef="callOof">
-      <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[${execution.getVariable("homingService") == "oof"}]]></bpmn2:conditionExpression>
-    </bpmn2:sequenceFlow>
-    <bpmn2:sequenceFlow id="SequenceFlow_0kvax6n" sourceRef="callOof" targetRef="ExclusiveGateway_1ckp059" />
-    <bpmn2:sequenceFlow id="SequenceFlow_0oixz4g" name="Oof" sourceRef="sniroOofCheck2" targetRef="processOofSolution">
-      <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[${execution.getVariable("homingService") == "oof"}]]></bpmn2:conditionExpression>
-    </bpmn2:sequenceFlow>
-    <bpmn2:sequenceFlow id="SequenceFlow_0ph4paa" sourceRef="processOofSolution" targetRef="ExclusiveGateway_1kvzxpb" />
-    <bpmn2:sequenceFlow id="SequenceFlow_1urt5i6" sourceRef="ExclusiveGateway_1kvzxpb" targetRef="end" />
-    <bpmn2:serviceTask id="callSniro" name="&#10;SNIRO&#10;Post&#10;(demands)&#10;" camunda:expression="${SniroHoming.callSniro(InjectExecution.execute(execution, execution.getVariable(&#34;gBuildingBlockExecution&#34;)))}">
-      <bpmn2:incoming>SequenceFlow_1dtador</bpmn2:incoming>
-      <bpmn2:outgoing>SequenceFlow_0lc15i7</bpmn2:outgoing>
+    <bpmn2:serviceTask id="callHoming" name="Homing&#10;Post&#10;(Send demand)&#10;" camunda:expression="${HomingV2.callHoming(InjectExecution.execute(execution, execution.getVariable(&#34;gBuildingBlockExecution&#34;)))}">
+      <bpmn2:incoming>SequenceFlow_0jtjlbu</bpmn2:incoming>
+      <bpmn2:outgoing>SequenceFlow_0qrwjzu</bpmn2:outgoing>
     </bpmn2:serviceTask>
-    <bpmn2:serviceTask id="processSniroSolution" name="&#10;Process&#10;Solution&#10;" camunda:expression="${SniroHoming.processSolution(InjectExecution.execute(execution, execution.getVariable(&#34;gBuildingBlockExecution&#34;)), asyncResponse)}">
-      <bpmn2:incoming>SequenceFlow_08k112s</bpmn2:incoming>
-      <bpmn2:outgoing>SequenceFlow_01apjvo</bpmn2:outgoing>
+    <bpmn2:serviceTask id="processHomingSolution" name="Homing&#10;Process&#10;Solution&#10;" camunda:expression="${HomingV2.processSolution(InjectExecution.execute(execution, execution.getVariable(&#34;gBuildingBlockExecution&#34;)), asyncResponse)}">
+      <bpmn2:incoming>SequenceFlow_03cy5y5</bpmn2:incoming>
+      <bpmn2:outgoing>SequenceFlow_138xgla</bpmn2:outgoing>
     </bpmn2:serviceTask>
-    <bpmn2:serviceTask id="callOof" name="&#10;OOF&#10;Post&#10;(demands)&#10;" camunda:expression="${OofHoming.callSniro(InjectExecution.execute(execution, execution.getVariable(&#34;gBuildingBlockExecution&#34;)))}">
-      <bpmn2:incoming>SequenceFlow_0m6nhqg</bpmn2:incoming>
-      <bpmn2:outgoing>SequenceFlow_0kvax6n</bpmn2:outgoing>
-    </bpmn2:serviceTask>
-    <bpmn2:serviceTask id="processOofSolution" name="&#10;Process&#10;Solution&#10;" camunda:expression="${OofHoming.processSolution(InjectExecution.execute(execution, execution.getVariable(&#34;gBuildingBlockExecution&#34;)), asyncResponse)}">
-      <bpmn2:incoming>SequenceFlow_0oixz4g</bpmn2:incoming>
-      <bpmn2:outgoing>SequenceFlow_0ph4paa</bpmn2:outgoing>
-    </bpmn2:serviceTask>
-    <bpmn2:inclusiveGateway id="sniroOofCheck" name="Homing&#10;Service?&#10;" default="SequenceFlow_1dtador">
-      <bpmn2:incoming>SequenceFlow_1x9usa6</bpmn2:incoming>
-      <bpmn2:outgoing>SequenceFlow_1dtador</bpmn2:outgoing>
-      <bpmn2:outgoing>SequenceFlow_0m6nhqg</bpmn2:outgoing>
-    </bpmn2:inclusiveGateway>
-    <bpmn2:inclusiveGateway id="ExclusiveGateway_1ckp059">
-      <bpmn2:incoming>SequenceFlow_0lc15i7</bpmn2:incoming>
-      <bpmn2:incoming>SequenceFlow_0kvax6n</bpmn2:incoming>
-      <bpmn2:outgoing>SequenceFlow_1qbnm82</bpmn2:outgoing>
-    </bpmn2:inclusiveGateway>
-    <bpmn2:inclusiveGateway id="sniroOofCheck2" name="Homing&#10;Service?" default="SequenceFlow_08k112s">
-      <bpmn2:incoming>SequenceFlow_1fipbmk</bpmn2:incoming>
-      <bpmn2:outgoing>SequenceFlow_08k112s</bpmn2:outgoing>
-      <bpmn2:outgoing>SequenceFlow_0oixz4g</bpmn2:outgoing>
-    </bpmn2:inclusiveGateway>
-    <bpmn2:inclusiveGateway id="ExclusiveGateway_1kvzxpb">
-      <bpmn2:incoming>SequenceFlow_01apjvo</bpmn2:incoming>
-      <bpmn2:incoming>SequenceFlow_0ph4paa</bpmn2:incoming>
-      <bpmn2:outgoing>SequenceFlow_1urt5i6</bpmn2:outgoing>
-    </bpmn2:inclusiveGateway>
+    <bpmn2:sequenceFlow id="SequenceFlow_0jtjlbu" sourceRef="start" targetRef="callHoming" />
+    <bpmn2:sequenceFlow id="SequenceFlow_0qrwjzu" sourceRef="callHoming" targetRef="receiveAsyncCallback" />
+    <bpmn2:sequenceFlow id="SequenceFlow_03cy5y5" sourceRef="receiveAsyncCallback" targetRef="processHomingSolution" />
+    <bpmn2:sequenceFlow id="SequenceFlow_138xgla" sourceRef="processHomingSolution" targetRef="end" />
   </bpmn2:process>
   <bpmn2:error id="Error_10hit0u" name="MSO Workflow Exception" errorCode="MSOWorkflowException" />
   <bpmn2:error id="Error_1lwpypa" name="Java Lang Exception" errorCode="java.lang.Exception" />
   <bpmndi:BPMNDiagram id="BPMNDiagram_1">
     <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="HomingBB">
       <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="start">
-        <dc:Bounds x="135" y="275" width="36" height="36" />
+        <dc:Bounds x="153" y="275" width="36" height="36" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="108" y="311" width="90" height="20" />
+          <dc:Bounds x="126" y="311" width="90" height="20" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="SequenceFlow_1x9usa6_di" bpmnElement="SequenceFlow_1x9usa6">
-        <di:waypoint xsi:type="dc:Point" x="171" y="293" />
-        <di:waypoint xsi:type="dc:Point" x="291" y="293" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="186" y="278" width="90" height="0" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="SubProcess_16p12qo_di" bpmnElement="bpmnErrorSubprocess" isExpanded="true">
-        <dc:Bounds x="254" y="496" width="409" height="168" />
+        <dc:Bounds x="312" y="405" width="409" height="168" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="SubProcess_12gjiy8_di" bpmnElement="javaExceptionSubProcess" isExpanded="true">
-        <dc:Bounds x="284" y="679" width="350" height="159" />
+        <dc:Bounds x="342" y="588" width="350" height="159" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="EndEvent_07tjq3v_di" bpmnElement="endBpmnError">
-        <dc:Bounds x="579" y="570" width="36" height="36" />
+        <dc:Bounds x="637" y="479" width="36" height="36" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="552" y="611" width="90" height="0" />
+          <dc:Bounds x="610" y="520" width="90" height="0" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="StartEvent_1qiitb2_di" bpmnElement="startBpmnError">
-        <dc:Bounds x="299" y="570" width="36" height="36" />
+        <dc:Bounds x="357" y="479" width="36" height="36" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="272" y="611" width="90" height="0" />
+          <dc:Bounds x="330" y="520" width="90" height="0" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="ScriptTask_03hs6s9_di" bpmnElement="processMsoWorkflowException">
-        <dc:Bounds x="406" y="548" width="100" height="80" />
+        <dc:Bounds x="464" y="457" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="ScriptTask_19gqykh_di" bpmnElement="processJavaException">
-        <dc:Bounds x="410" y="727" width="100" height="80" />
+        <dc:Bounds x="468" y="636" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="StartEvent_1fbpeuw_di" bpmnElement="startJavaError">
-        <dc:Bounds x="318" y="749" width="36" height="36" />
+        <dc:Bounds x="376" y="658" width="36" height="36" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="291" y="790" width="90" height="0" />
+          <dc:Bounds x="349" y="699" width="90" height="0" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="EndEvent_0jbvnr0_di" bpmnElement="endJavaError">
-        <dc:Bounds x="567" y="749" width="36" height="36" />
+        <dc:Bounds x="625" y="658" width="36" height="36" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="540" y="790" width="90" height="0" />
+          <dc:Bounds x="598" y="699" width="90" height="0" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="SequenceFlow_1rf4vs8_di" bpmnElement="SequenceFlow_1rf4vs8">
-        <di:waypoint xsi:type="dc:Point" x="506" y="588" />
-        <di:waypoint xsi:type="dc:Point" x="579" y="588" />
+        <di:waypoint xsi:type="dc:Point" x="564" y="497" />
+        <di:waypoint xsi:type="dc:Point" x="637" y="497" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="498" y="573" width="90" height="0" />
+          <dc:Bounds x="556" y="482" width="90" height="0" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_00nlh7l_di" bpmnElement="SequenceFlow_00nlh7l">
-        <di:waypoint xsi:type="dc:Point" x="335" y="588" />
-        <di:waypoint xsi:type="dc:Point" x="363" y="588" />
-        <di:waypoint xsi:type="dc:Point" x="363" y="588" />
-        <di:waypoint xsi:type="dc:Point" x="406" y="588" />
+        <di:waypoint xsi:type="dc:Point" x="393" y="497" />
+        <di:waypoint xsi:type="dc:Point" x="421" y="497" />
+        <di:waypoint xsi:type="dc:Point" x="421" y="497" />
+        <di:waypoint xsi:type="dc:Point" x="464" y="497" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="333" y="588" width="90" height="0" />
+          <dc:Bounds x="391" y="497" width="90" height="0" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_0kamg53_di" bpmnElement="SequenceFlow_0kamg53">
-        <di:waypoint xsi:type="dc:Point" x="354" y="767" />
-        <di:waypoint xsi:type="dc:Point" x="410" y="767" />
+        <di:waypoint xsi:type="dc:Point" x="412" y="676" />
+        <di:waypoint xsi:type="dc:Point" x="468" y="676" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="337" y="752" width="90" height="0" />
+          <dc:Bounds x="395" y="661" width="90" height="0" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_1o7154s_di" bpmnElement="SequenceFlow_1o7154s">
-        <di:waypoint xsi:type="dc:Point" x="510" y="767" />
-        <di:waypoint xsi:type="dc:Point" x="567" y="767" />
+        <di:waypoint xsi:type="dc:Point" x="568" y="676" />
+        <di:waypoint xsi:type="dc:Point" x="625" y="676" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="494" y="752" width="90" height="0" />
+          <dc:Bounds x="552" y="661" width="90" height="0" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="CallActivity_031b5m3_di" bpmnElement="receiveAsyncCallback">
-        <dc:Bounds x="547" y="253" width="100" height="80" />
+        <dc:Bounds x="464" y="253" width="100" height="80" />
       </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="SequenceFlow_1fipbmk_di" bpmnElement="SequenceFlow_1fipbmk">
-        <di:waypoint xsi:type="dc:Point" x="647" y="293" />
-        <di:waypoint xsi:type="dc:Point" x="677" y="293" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="617" y="272" width="90" height="12" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge id="SequenceFlow_01apjvo_di" bpmnElement="SequenceFlow_01apjvo">
-        <di:waypoint xsi:type="dc:Point" x="847" y="214" />
-        <di:waypoint xsi:type="dc:Point" x="885" y="214" />
-        <di:waypoint xsi:type="dc:Point" x="885" y="268" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="821" y="193" width="90" height="12" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="EndEvent_07i1a5x_di" bpmnElement="end">
-        <dc:Bounds x="1034" y="275" width="36" height="36" />
+        <dc:Bounds x="837" y="275" width="36" height="36" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="1006" y="315" width="90" height="12" />
+          <dc:Bounds x="809" y="315" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="SequenceFlow_0lc15i7_di" bpmnElement="SequenceFlow_0lc15i7">
-        <di:waypoint xsi:type="dc:Point" x="462" y="214" />
-        <di:waypoint xsi:type="dc:Point" x="500" y="214" />
-        <di:waypoint xsi:type="dc:Point" x="500" y="267" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="436" y="193" width="90" height="12" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge id="SequenceFlow_1dtador_di" bpmnElement="SequenceFlow_1dtador">
-        <di:waypoint xsi:type="dc:Point" x="316" y="268" />
-        <di:waypoint xsi:type="dc:Point" x="316" y="214" />
-        <di:waypoint xsi:type="dc:Point" x="362" y="214" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="322.2567567567568" y="221" width="25" height="12" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge id="SequenceFlow_1qbnm82_di" bpmnElement="SequenceFlow_1qbnm82">
-        <di:waypoint xsi:type="dc:Point" x="525" y="292" />
-        <di:waypoint xsi:type="dc:Point" x="547" y="292" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="536" y="271" width="0" height="12" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge id="SequenceFlow_08k112s_di" bpmnElement="SequenceFlow_08k112s">
-        <di:waypoint xsi:type="dc:Point" x="702" y="268" />
-        <di:waypoint xsi:type="dc:Point" x="702" y="214" />
-        <di:waypoint xsi:type="dc:Point" x="747" y="214" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="707.7837837837837" y="221" width="25" height="12" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge id="SequenceFlow_0m6nhqg_di" bpmnElement="SequenceFlow_0m6nhqg">
-        <di:waypoint xsi:type="dc:Point" x="316" y="318" />
-        <di:waypoint xsi:type="dc:Point" x="316" y="368" />
-        <di:waypoint xsi:type="dc:Point" x="362" y="368" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="323" y="344" width="19" height="12" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge id="SequenceFlow_0kvax6n_di" bpmnElement="SequenceFlow_0kvax6n">
-        <di:waypoint xsi:type="dc:Point" x="462" y="368" />
-        <di:waypoint xsi:type="dc:Point" x="500" y="368" />
-        <di:waypoint xsi:type="dc:Point" x="500" y="317" />
+      <bpmndi:BPMNShape id="ServiceTask_0rcv8sl_di" bpmnElement="callHoming">
+        <dc:Bounds x="292" y="253" width="100" height="80" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape id="ServiceTask_0fs2fyg_di" bpmnElement="processHomingSolution">
+        <dc:Bounds x="649" y="253" width="100" height="80" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNEdge id="SequenceFlow_0jtjlbu_di" bpmnElement="SequenceFlow_0jtjlbu">
+        <di:waypoint xsi:type="dc:Point" x="189" y="293" />
+        <di:waypoint xsi:type="dc:Point" x="292" y="293" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="481" y="347" width="0" height="12" />
+          <dc:Bounds x="240.5" y="272" width="0" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge id="SequenceFlow_0oixz4g_di" bpmnElement="SequenceFlow_0oixz4g">
-        <di:waypoint xsi:type="dc:Point" x="702" y="318" />
-        <di:waypoint xsi:type="dc:Point" x="702" y="368" />
-        <di:waypoint xsi:type="dc:Point" x="747" y="368" />
+      <bpmndi:BPMNEdge id="SequenceFlow_0qrwjzu_di" bpmnElement="SequenceFlow_0qrwjzu">
+        <di:waypoint xsi:type="dc:Point" x="392" y="293" />
+        <di:waypoint xsi:type="dc:Point" x="464" y="293" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="708.3513513513514" y="345" width="19" height="12" />
+          <dc:Bounds x="428" y="272" width="0" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge id="SequenceFlow_0ph4paa_di" bpmnElement="SequenceFlow_0ph4paa">
-        <di:waypoint xsi:type="dc:Point" x="847" y="368" />
-        <di:waypoint xsi:type="dc:Point" x="885" y="368" />
-        <di:waypoint xsi:type="dc:Point" x="885" y="318" />
+      <bpmndi:BPMNEdge id="SequenceFlow_03cy5y5_di" bpmnElement="SequenceFlow_03cy5y5">
+        <di:waypoint xsi:type="dc:Point" x="564" y="293" />
+        <di:waypoint xsi:type="dc:Point" x="649" y="293" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="866" y="347" width="0" height="12" />
+          <dc:Bounds x="606.5" y="272" width="0" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge id="SequenceFlow_1urt5i6_di" bpmnElement="SequenceFlow_1urt5i6">
-        <di:waypoint xsi:type="dc:Point" x="910" y="293" />
-        <di:waypoint xsi:type="dc:Point" x="1034" y="293" />
+      <bpmndi:BPMNEdge id="SequenceFlow_138xgla_di" bpmnElement="SequenceFlow_138xgla">
+        <di:waypoint xsi:type="dc:Point" x="749" y="293" />
+        <di:waypoint xsi:type="dc:Point" x="837" y="293" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="972" y="272" width="0" height="12" />
+          <dc:Bounds x="793" y="272" width="0" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="ServiceTask_0388svf_di" bpmnElement="callSniro">
-        <dc:Bounds x="362" y="174" width="100" height="80" />
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="ServiceTask_1o0vjzl_di" bpmnElement="processSniroSolution">
-        <dc:Bounds x="747" y="174" width="100" height="80" />
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="ServiceTask_0rcv8sl_di" bpmnElement="callOof">
-        <dc:Bounds x="362" y="328" width="100" height="80" />
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="ServiceTask_0fs2fyg_di" bpmnElement="processOofSolution">
-        <dc:Bounds x="747" y="328" width="100" height="80" />
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="InclusiveGateway_0ssv6eg_di" bpmnElement="sniroOofCheck">
-        <dc:Bounds x="291" y="268" width="50" height="50" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="344" y="283" width="43" height="36" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="InclusiveGateway_0pf91to_di" bpmnElement="ExclusiveGateway_1ckp059">
-        <dc:Bounds x="475" y="267" width="50" height="50" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="500" y="321" width="0" height="12" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="InclusiveGateway_17vx4ua_di" bpmnElement="sniroOofCheck2">
-        <dc:Bounds x="677" y="268" width="50" height="50" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="730" y="281" width="43" height="24" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="InclusiveGateway_1610p1j_di" bpmnElement="ExclusiveGateway_1kvzxpb">
-        <dc:Bounds x="860" y="268" width="50" height="50" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="885" y="322" width="0" height="12" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
     </bpmndi:BPMNPlane>
   </bpmndi:BPMNDiagram>
 </bpmn2:definitions>
index 2a0fef0..5ef4d7e 100644 (file)
@@ -34,7 +34,7 @@ import org.junit.After;
 import org.junit.Before;
 import org.junit.runner.RunWith;
 import org.onap.so.TestApplication;
-import org.onap.so.bpmn.buildingblock.SniroHomingV2;
+import org.onap.so.bpmn.buildingblock.HomingV2;
 import org.onap.so.bpmn.common.DelegateExecutionImpl;
 import org.onap.so.bpmn.common.validation.BuildingBlockValidatorRunner;
 import org.onap.so.bpmn.infrastructure.aai.tasks.AAICommonTasks;
@@ -230,7 +230,7 @@ public abstract class BaseBPMNTest {
     protected SDNCClient sdncClient;
 
     @MockBean
-    protected SniroHomingV2 sniroHoming;
+    protected HomingV2 homing;
 
     @MockBean
     protected NamingServiceDeleteTasks namingServiceDeleteTasks;
index 9943e39..f46331f 100644 (file)
@@ -33,7 +33,7 @@ import org.onap.so.bpmn.common.BuildingBlockExecution;
 public class AssignVnfBBTest extends BaseBPMNTest {
     @Test
     public void sunnyDayAssignVnfBBTest() throws InterruptedException, IOException {
-        variables.put("callHoming", true);
+        variables.put("homing", true);
         mockSubprocess("SDNCHandler", "My Mock Process Name", "GenericStub");
         ProcessInstance pi = runtimeService.startProcessInstanceByKey("AssignVnfBB", variables);
         assertThat(pi).isNotNull();
index f1bb146..bca4d3a 100644 (file)
@@ -25,12 +25,9 @@ import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.doThrow;
 import org.camunda.bpm.engine.delegate.BpmnError;
 import org.camunda.bpm.engine.runtime.ProcessInstance;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.onap.so.bpmn.BaseBPMNTest;
-import org.onap.so.bpmn.buildingblock.SniroHomingV2;
 import org.onap.so.bpmn.common.BuildingBlockExecution;
-import org.springframework.boot.test.mock.mockito.MockBean;
 
 
 public class HomingBBTest extends BaseBPMNTest {
@@ -40,28 +37,28 @@ public class HomingBBTest extends BaseBPMNTest {
         mockSubprocess("ReceiveWorkflowMessage", "Mock ReceiveWorkflowMessage", "GenericStub");
         ProcessInstance pi = runtimeService.startProcessInstanceByKey("HomingBB", variables);
         assertThat(pi).isNotNull();
-        assertThat(pi).isStarted().hasPassedInOrder("start", "sniroOofCheck", "callSniro", "ExclusiveGateway_1ckp059",
-                "receiveAsyncCallback", "sniroOofCheck2", "processSniroSolution", "ExclusiveGateway_1kvzxpb", "end");
+        assertThat(pi).isStarted().hasPassedInOrder("start", "callHoming", "receiveAsyncCallback",
+                "processHomingSolution", "end");
         assertThat(pi).isEnded();
     }
 
     @Test
     public void testHomingV2_error_bpmnError() {
-        doThrow(new BpmnError("MSOWorkflowException")).when(sniroHoming).callSniro(any(BuildingBlockExecution.class));
+        doThrow(new BpmnError("MSOWorkflowException")).when(homing).callHoming(any(BuildingBlockExecution.class));
         ProcessInstance pi = runtimeService.startProcessInstanceByKey("HomingBB", variables);
         assertThat(pi).isNotNull();
-        assertThat(pi).isStarted().hasPassed("start", "sniroOofCheck", "startBpmnError", "bpmnErrorSubprocess",
+        assertThat(pi).isStarted().hasPassed("start", "callHoming", "startBpmnError", "bpmnErrorSubprocess",
                 "processMsoWorkflowException", "endBpmnError").hasNotPassed("callReceiveAsync");
         assertThat(pi).isEnded();
     }
 
     @Test
     public void testHomingV2_error_javaException() {
-        doThrow(new RuntimeException("Test")).when(sniroHoming).callSniro(any(BuildingBlockExecution.class));
+        doThrow(new RuntimeException("Test")).when(homing).callHoming(any(BuildingBlockExecution.class));
         ProcessInstance pi = runtimeService.startProcessInstanceByKey("HomingBB", variables);
         assertThat(pi).isNotNull();
-        assertThat(pi).isStarted().hasPassed("start", "sniroOofCheck", "callSniro", "startJavaError",
-                "processJavaException", "javaExceptionSubProcess", "endJavaError").hasNotPassed("callReceiveAsync");
+        assertThat(pi).isStarted().hasPassed("start", "callHoming", "startJavaError", "processJavaException",
+                "javaExceptionSubProcess", "endJavaError").hasNotPassed("callReceiveAsync");
         assertThat(pi).isEnded();
     }
 
index e3ba028..74df3a2 100644 (file)
 <?xml version="1.0"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-       <parent>
-               <groupId>org.onap.so</groupId>
-               <artifactId>bpmn</artifactId>
-               <version>1.4.0-SNAPSHOT</version>
-       </parent>
-       <modelVersion>4.0.0</modelVersion>
-       <artifactId>so-bpmn-infrastructure-common</artifactId>
-       <packaging>jar</packaging>
-       <build>
-               <plugins>
-                       <plugin>
-                               <groupId>org.apache.cxf</groupId>
-                               <artifactId>cxf-codegen-plugin</artifactId>
-                               <version>2.5.2</version>
-                       </plugin>
-                       <plugin>
-                               <groupId>org.apache.maven.plugins</groupId>
-                               <artifactId>maven-eclipse-plugin</artifactId>
-                               <version>2.8</version>
-                               <configuration>
-                                       <additionalProjectnatures>
-                                               <projectnature>org.eclipse.jdt.groovy.core.groovyNature</projectnature>
-                                       </additionalProjectnatures>
-                                       <sourceIncludes>
-                                               <sourceInclude>**/*.groovy</sourceInclude>
-                                       </sourceIncludes>
-                               </configuration>
-                       </plugin>
-                       <plugin>
-                               <groupId>org.codehaus.gmaven</groupId>
-                               <artifactId>gmaven-plugin</artifactId>
-                               <version>1.5</version>
-                               <dependencies>
-                                       <dependency>
-                                               <groupId>org.codehaus.gmaven.runtime</groupId>
-                                               <artifactId>gmaven-runtime-2.0</artifactId>
-                                               <version>1.5</version>
-                                       </dependency>
-                                       <dependency>
-                                               <groupId>org.codehaus.groovy</groupId>
-                                               <artifactId>groovy</artifactId>
-                                               <version>${groovy.version}</version>
-                                       </dependency>
-                               </dependencies>
-                               <configuration>
-                                       <debug>false</debug>
-                                       <verbose>true</verbose>
-                                       <stacktrace>true</stacktrace>
-                                       <defaultScriptExtension>.groovy</defaultScriptExtension>
-                                       <providerSelection>2.0</providerSelection>
-                               </configuration>
-                               <executions>
-                                       <execution>
-                                               <goals>
-                                                       <goal>testCompile</goal>
-                                                       <goal>compile</goal>
-                                               </goals>
-                                       </execution>
-                               </executions>
-                       </plugin>
-                       <plugin>
-                               <groupId>org.apache.maven.plugins</groupId>
-                               <artifactId>maven-dependency-plugin</artifactId>
-                       </plugin>
-                       <plugin>
-                               <artifactId>maven-failsafe-plugin</artifactId>
-                               <version>2.6</version>
-                               <executions>
-                                       <execution>
-                                               <goals>
-                                                       <goal>integration-test</goal>
-                                                       <goal>verify</goal>
-                                               </goals>
-                                       </execution>
-                               </executions>
-                       </plugin>
-               </plugins>
-               <pluginManagement>
-                       <plugins>
-                               <!--This plugin's configuration is used to store Eclipse m2e settings
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <parent>
+    <groupId>org.onap.so</groupId>
+    <artifactId>bpmn</artifactId>
+    <version>1.4.0-SNAPSHOT</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>so-bpmn-infrastructure-common</artifactId>
+  <packaging>jar</packaging>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.cxf</groupId>
+        <artifactId>cxf-codegen-plugin</artifactId>
+        <version>2.5.2</version>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-eclipse-plugin</artifactId>
+        <version>2.8</version>
+        <configuration>
+          <additionalProjectnatures>
+            <projectnature>org.eclipse.jdt.groovy.core.groovyNature</projectnature>
+          </additionalProjectnatures>
+          <sourceIncludes>
+            <sourceInclude>**/*.groovy</sourceInclude>
+          </sourceIncludes>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.codehaus.gmaven</groupId>
+        <artifactId>gmaven-plugin</artifactId>
+        <version>1.5</version>
+        <dependencies>
+          <dependency>
+            <groupId>org.codehaus.gmaven.runtime</groupId>
+            <artifactId>gmaven-runtime-2.0</artifactId>
+            <version>1.5</version>
+          </dependency>
+          <dependency>
+            <groupId>org.codehaus.groovy</groupId>
+            <artifactId>groovy</artifactId>
+            <version>${groovy.version}</version>
+          </dependency>
+        </dependencies>
+        <configuration>
+          <debug>false</debug>
+          <verbose>true</verbose>
+          <stacktrace>true</stacktrace>
+          <defaultScriptExtension>.groovy</defaultScriptExtension>
+          <providerSelection>2.0</providerSelection>
+        </configuration>
+        <executions>
+          <execution>
+            <goals>
+              <goal>testCompile</goal>
+              <goal>compile</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-dependency-plugin</artifactId>
+      </plugin>
+      <plugin>
+        <artifactId>maven-failsafe-plugin</artifactId>
+        <version>2.6</version>
+        <executions>
+          <execution>
+            <goals>
+              <goal>integration-test</goal>
+              <goal>verify</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+    <pluginManagement>
+      <plugins>
+        <!--This plugin's configuration is used to store Eclipse m2e settings
                                        only. It has no influence on the Maven build itself. -->
-                               <plugin>
-                                       <groupId>org.eclipse.m2e</groupId>
-                                       <artifactId>lifecycle-mapping</artifactId>
-                                       <version>1.0.0</version>
-                                       <configuration>
-                                               <lifecycleMappingMetadata>
-                                                       <pluginExecutions>
-                                                               <pluginExecution>
-                                                                       <pluginExecutionFilter>
-                                                                               <groupId>
+        <plugin>
+          <groupId>org.eclipse.m2e</groupId>
+          <artifactId>lifecycle-mapping</artifactId>
+          <version>1.0.0</version>
+          <configuration>
+            <lifecycleMappingMetadata>
+              <pluginExecutions>
+                <pluginExecution>
+                  <pluginExecutionFilter>
+                    <groupId>
                                                                                        org.apache.maven.plugins
                                                                                </groupId>
-                                                                               <artifactId>
+                    <artifactId>
                                                                                        maven-antrun-plugin
                                                                                </artifactId>
-                                                                               <versionRange>
+                    <versionRange>
                                                                                        [1.3,)
                                                                                </versionRange>
-                                                                               <goals>
-                                                                                       <goal>run</goal>
-                                                                               </goals>
-                                                                       </pluginExecutionFilter>
-                                                                       <action>
-                                                                               <ignore/>
-                                                                       </action>
-                                                               </pluginExecution>
-                                                       </pluginExecutions>
-                                               </lifecycleMappingMetadata>
-                                       </configuration>
-                               </plugin>
-                               <plugin>
-                                       <groupId>org.apache.maven.plugins</groupId>
-                                       <artifactId>maven-surefire-plugin</artifactId>
-                                       <executions>
-                                       <execution>
-                                                       <id>default-test</id>
-                                                       <goals>
-                                                               <goal>test</goal>
-                                                       </goals>
-                                                       <configuration>
-                                    <includes>
-                                        <include>**/AllTestsTestSuite.java</include>
-                                    </includes>
-                                                       </configuration>
-                                               </execution>
-                                               <execution>
-                                                       <id>tasks-test</id>
-                                                       <goals>
-                                                               <goal>test</goal>
-                                                       </goals>
-                                                       <configuration>
-                                    <includes>
-                                        <include>**/AllTasksTestsTestSuite.java</include>
-                                    </includes>
-                                                       </configuration>
-                                               </execution>
-                                       </executions>
-                                       <configuration>
-                                               <parallel>suites</parallel>
-                                       </configuration>
-                               </plugin>
-                       </plugins>
-               </pluginManagement>
-               <finalName>${project.artifactId}-${project.version}</finalName>
-       </build>
+                    <goals>
+                      <goal>run</goal>
+                    </goals>
+                  </pluginExecutionFilter>
+                  <action>
+                    <ignore />
+                  </action>
+                </pluginExecution>
+              </pluginExecutions>
+            </lifecycleMappingMetadata>
+          </configuration>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-surefire-plugin</artifactId>
+          <executions>
+            <execution>
+              <id>default-test</id>
+              <goals>
+                <goal>test</goal>
+              </goals>
+              <configuration>
+                <includes>
+                  <include>**/AllTestsTestSuite.java</include>
+                </includes>
+              </configuration>
+            </execution>
+            <execution>
+              <id>tasks-test</id>
+              <goals>
+                <goal>test</goal>
+              </goals>
+              <configuration>
+                <includes>
+                  <include>**/AllTasksTestsTestSuite.java</include>
+                </includes>
+              </configuration>
+            </execution>
+          </executions>
+          <configuration>
+            <parallel>suites</parallel>
+          </configuration>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+    <finalName>${project.artifactId}-${project.version}</finalName>
+  </build>
 
-       <dependencyManagement>
-               <dependencies>
-                       <dependency>
-                               <groupId>org.camunda.bpm</groupId>
-                               <artifactId>camunda-bom</artifactId>
-                               <version>${camunda.version}</version>
-                               <scope>import</scope>
-                               <type>pom</type>
-                       </dependency>
-               </dependencies>
-       </dependencyManagement>
+  <dependencyManagement>
+    <dependencies>
+      <dependency>
+        <groupId>org.camunda.bpm</groupId>
+        <artifactId>camunda-bom</artifactId>
+        <version>${camunda.version}</version>
+        <scope>import</scope>
+        <type>pom</type>
+      </dependency>
+    </dependencies>
+  </dependencyManagement>
 
-       <dependencies>
-               <dependency>
-                       <groupId>org.camunda.bpm.springboot</groupId>
-                       <artifactId>camunda-bpm-spring-boot-starter</artifactId>
-                       <version>${camunda.springboot.version}</version>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.camunda.bpm.springboot</groupId>
-                       <artifactId>camunda-bpm-spring-boot-starter-webapp</artifactId>
-                       <version>${camunda.springboot.version}</version>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.cxf</groupId>
-                       <artifactId>cxf-spring-boot-starter-jaxws</artifactId>
-                       <version>${cxf.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.cxf</groupId>
-                       <artifactId>cxf-spring-boot-starter-jaxrs</artifactId>
-                       <version>${cxf.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.cxf</groupId>
-                       <artifactId>cxf-rt-rs-service-description-swagger</artifactId>
-                       <version>${cxf.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>com.h2database</groupId>
-                       <artifactId>h2</artifactId>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>com.google.guava</groupId>
-                       <artifactId>guava</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>com.fasterxml.uuid</groupId>
-                       <artifactId>java-uuid-generator</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.codehaus.groovy</groupId>
-                       <artifactId>groovy-all</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.commons</groupId>
-                       <artifactId>commons-lang3</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.so</groupId>
-                       <artifactId>MSOCoreBPMN</artifactId>
-                       <version>${project.version}</version>
-               </dependency>
-          <dependency>
-            <groupId>org.onap.so</groupId>
-            <artifactId>MSOCommonBPMN</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-               <dependency>
-                       <groupId>org.onap.so</groupId>
-                       <artifactId>MSOCoreBPMN</artifactId>
-                       <version>${project.version}</version>
-                       <classifier>tests</classifier>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>javax.ws.rs</groupId>
-                       <artifactId>javax.ws.rs-api</artifactId>
-                       <version>${jax.ws.rs}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.camunda.spin</groupId>
-                       <artifactId>camunda-spin-core</artifactId>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.camunda.spin</groupId>
-                       <artifactId>camunda-spin-dataformat-all</artifactId>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <artifactId>camunda-spin-dataformat-all</artifactId>
-                       <groupId>org.camunda.spin</groupId>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.camunda.bpm</groupId>
-                       <artifactId>camunda-engine-plugin-spin</artifactId>
-               </dependency>
+  <dependencies>
+    <dependency>
+      <groupId>org.camunda.bpm.springboot</groupId>
+      <artifactId>camunda-bpm-spring-boot-starter</artifactId>
+      <version>${camunda.springboot.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.camunda.bpm.springboot</groupId>
+      <artifactId>camunda-bpm-spring-boot-starter-webapp</artifactId>
+      <version>${camunda.springboot.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-spring-boot-starter-jaxws</artifactId>
+      <version>${cxf.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-spring-boot-starter-jaxrs</artifactId>
+      <version>${cxf.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-rt-rs-service-description-swagger</artifactId>
+      <version>${cxf.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>com.h2database</groupId>
+      <artifactId>h2</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.google.guava</groupId>
+      <artifactId>guava</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.fasterxml.uuid</groupId>
+      <artifactId>java-uuid-generator</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.groovy</groupId>
+      <artifactId>groovy-all</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-lang3</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so</groupId>
+      <artifactId>MSOCoreBPMN</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so</groupId>
+      <artifactId>MSOCommonBPMN</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so</groupId>
+      <artifactId>MSOCoreBPMN</artifactId>
+      <version>${project.version}</version>
+      <classifier>tests</classifier>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>javax.ws.rs</groupId>
+      <artifactId>javax.ws.rs-api</artifactId>
+      <version>${jax.ws.rs}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.camunda.spin</groupId>
+      <artifactId>camunda-spin-core</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.camunda.spin</groupId>
+      <artifactId>camunda-spin-dataformat-all</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <artifactId>camunda-spin-dataformat-all</artifactId>
+      <groupId>org.camunda.spin</groupId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.camunda.bpm</groupId>
+      <artifactId>camunda-engine-plugin-spin</artifactId>
+    </dependency>
 
-               <dependency>
-                       <groupId>org.camunda.bpm</groupId>
-                       <artifactId>camunda-engine-plugin-connect</artifactId>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>javax.annotation</groupId>
-                       <artifactId>javax.annotation-api</artifactId>
-               </dependency>
-                 <dependency>
-            <groupId>org.onap.msb.java-sdk</groupId>
-            <artifactId>msb-java-sdk</artifactId>
-            <version>1.1.1</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>com.eclipsesource.jaxrs</groupId>
-                    <artifactId>jersey-all</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
+    <dependency>
+      <groupId>org.camunda.bpm</groupId>
+      <artifactId>camunda-engine-plugin-connect</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>javax.annotation</groupId>
+      <artifactId>javax.annotation-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.msb.java-sdk</groupId>
+      <artifactId>msb-java-sdk</artifactId>
+      <version>1.1.1</version>
+      <exclusions>
+        <exclusion>
+          <groupId>com.eclipsesource.jaxrs</groupId>
+          <artifactId>jersey-all</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
 
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-configuration-processor</artifactId>
-                       <optional>true</optional>
-               </dependency>
-               <dependency>
-                       <groupId>ch.qos.logback</groupId>
-                       <artifactId>logback-classic</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>ch.qos.logback</groupId>
-                       <artifactId>logback-core</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.slf4j</groupId>
-                       <artifactId>slf4j-api</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.mariadb.jdbc</groupId>
-                       <artifactId>mariadb-java-client</artifactId>
-               </dependency>
-               <dependency>
-            <groupId>ch.vorburger.mariaDB4j</groupId>
-            <artifactId>mariaDB4j</artifactId>
-            <version>2.2.3</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-                       <groupId>org.onap.so</groupId>
-                       <artifactId>MSOCommonBPMN</artifactId>
-                       <version>${project.version}</version>
-                       <classifier>tests</classifier>
-                       <scope>test</scope>
-               </dependency>
-        <dependency>
-            <groupId>org.camunda.bpm.springboot</groupId>
-            <artifactId>camunda-bpm-spring-boot-starter-test</artifactId>
-            <version>${camunda.springboot.version}</version>
-            <scope>test</scope>
-        </dependency>
-               <dependency>
-                       <groupId>org.assertj</groupId>
-                       <artifactId>assertj-core</artifactId>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.camunda.bpm.extension.mockito</groupId>
-                       <artifactId>camunda-bpm-mockito</artifactId>
-               </dependency>
-       </dependencies>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-configuration-processor</artifactId>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>ch.qos.logback</groupId>
+      <artifactId>logback-classic</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>ch.qos.logback</groupId>
+      <artifactId>logback-core</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.mariadb.jdbc</groupId>
+      <artifactId>mariadb-java-client</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>ch.vorburger.mariaDB4j</groupId>
+      <artifactId>mariaDB4j</artifactId>
+      <version>2.2.3</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so</groupId>
+      <artifactId>MSOCommonBPMN</artifactId>
+      <version>${project.version}</version>
+      <classifier>tests</classifier>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.camunda.bpm.springboot</groupId>
+      <artifactId>camunda-bpm-spring-boot-starter-test</artifactId>
+      <version>${camunda.springboot.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.assertj</groupId>
+      <artifactId>assertj-core</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.camunda.bpm.extension.mockito</groupId>
+      <artifactId>camunda-bpm-mockito</artifactId>
+    </dependency>
+  </dependencies>
 </project>
diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/HandlePNF.groovy b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/HandlePNF.groovy
new file mode 100644 (file)
index 0000000..90c2b92
--- /dev/null
@@ -0,0 +1,84 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2019 Huawei 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.bpmn.infrastructure.scripts
+
+import org.apache.commons.lang3.StringUtils
+import org.camunda.bpm.engine.delegate.DelegateExecution
+import org.onap.so.bpmn.common.scripts.AbstractServiceTaskProcessor
+import org.onap.so.bpmn.common.scripts.CatalogDbUtils
+import org.onap.so.bpmn.common.scripts.ExceptionUtil
+import org.onap.so.bpmn.core.json.JsonUtils
+import org.onap.so.bpmn.infrastructure.pnf.delegate.ExecutionVariableNames
+import org.slf4j.Logger
+import org.slf4j.LoggerFactory
+
+public class HandlePNF extends AbstractServiceTaskProcessor{
+    private static final Logger logger = LoggerFactory.getLogger( HandlePNF.class);
+
+    ExceptionUtil exceptionUtil = new ExceptionUtil()
+    JsonUtils jsonUtil = new JsonUtils()
+    CatalogDbUtils cutils = new CatalogDbUtils()
+
+    @Override
+    void preProcessRequest(DelegateExecution execution) {
+        msoLogger.debug("Start preProcess for HandlePNF")
+
+        // set correlation ID
+        def resourceInput = execution.getVariable("resourceInput")
+        String serInput = jsonUtil.getJsonValue(resourceInput, "requestsInputs")
+        String correlationId = jsonUtil.getJsonValue(serInput, "service.parameters.requestInputs.ont_ont_pnf_name")
+        if (!StringUtils.isEmpty(correlationId)) {
+            execution.setVariable(ExecutionVariableNames.CORRELATION_ID, correlationId)
+            msoLogger.debug("Found correlation id : " + correlationId)
+        } else {
+            msoLogger.error("== correlation id is empty ==")
+            exceptionUtil.buildAndThrowWorkflowException(execution, 7000, "correlation id is not provided")
+        }
+
+        // next task will set the uuid
+        msoLogger.debug("exit preProcess for HandlePNF")
+    }
+
+    void postProcessRequest(DelegateExecution execution) {
+        msoLogger.debug("start postProcess for HandlePNF")
+
+        msoLogger.debug("exit postProcess for HandlePNF")
+    }
+
+    public void sendSyncResponse (DelegateExecution execution) {
+        msoLogger.debug(" *** sendSyncResponse *** ")
+
+        try {
+            String operationStatus = "finished"
+            // RESTResponse for main flow
+            String resourceOperationResp = """{"operationStatus":"${operationStatus}"}""".trim()
+            msoLogger.debug(" sendSyncResponse to APIH:" + "\n" + resourceOperationResp)
+            sendWorkflowResponse(execution, 202, resourceOperationResp)
+            execution.setVariable("sentSyncResponse", true)
+
+        } catch (Exception ex) {
+            String msg = "Exception in sendSyncResponse:" + ex.getMessage()
+            msoLogger.debug(msg)
+            exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
+        }
+        msoLogger.debug(" ***** Exit sendSyncResponse *****")
+    }
+}
index e2dc375..94cedda 100644 (file)
@@ -23,40 +23,30 @@ package org.onap.so.bpmn.infrastructure.pnf.delegate;
 import org.camunda.bpm.engine.RuntimeService;
 import org.camunda.bpm.engine.delegate.DelegateExecution;
 import org.camunda.bpm.engine.delegate.JavaDelegate;
-import org.onap.so.bpmn.infrastructure.pnf.PnfNotificationEvent;
+import org.camunda.bpm.engine.runtime.Execution;
 import org.onap.so.bpmn.infrastructure.pnf.dmaap.DmaapClient;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.ApplicationListener;
 import org.springframework.stereotype.Component;
 
 @Component
-public class InformDmaapClient implements JavaDelegate, ApplicationListener<PnfNotificationEvent> {
+public class InformDmaapClient implements JavaDelegate {
 
     private Logger logger = LoggerFactory.getLogger(getClass());
     private DmaapClient dmaapClient;
-    private DelegateExecution execution;
 
     @Override
     public void execute(DelegateExecution execution) {
         String pnfCorrelationId = (String) execution.getVariable(ExecutionVariableNames.PNF_CORRELATION_ID);
         RuntimeService runtimeService = execution.getProcessEngineServices().getRuntimeService();
+        String processBusinessKey = execution.getProcessBusinessKey();
         dmaapClient.registerForUpdate(pnfCorrelationId, () -> runtimeService.createMessageCorrelation("WorkflowMessage")
-                .processInstanceBusinessKey(execution.getProcessBusinessKey()).correlateWithResult());
-        this.execution = execution;
+                .processInstanceBusinessKey(processBusinessKey).correlateWithResult());
     }
 
     @Autowired
     public void setDmaapClient(DmaapClient dmaapClient) {
         this.dmaapClient = dmaapClient;
     }
-
-    @Override
-    public void onApplicationEvent(PnfNotificationEvent event) {
-        logger.info("Received application event for pnfCorrelationId: {}", event.getPnfCorrelationId());
-        RuntimeService runtimeService = execution.getProcessEngineServices().getRuntimeService();
-        runtimeService.createMessageCorrelation("WorkflowMessage")
-                .processInstanceBusinessKey(execution.getProcessBusinessKey()).correlateWithResult();
-    }
 }
index 2869111..96562fe 100644 (file)
@@ -35,11 +35,9 @@ import org.apache.http.client.HttpClient;
 import org.apache.http.client.methods.HttpGet;
 import org.apache.http.impl.client.HttpClientBuilder;
 import org.apache.http.util.EntityUtils;
-import org.onap.so.bpmn.infrastructure.pnf.PnfNotificationEvent;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.ApplicationEventPublisher;
 import org.springframework.core.env.Environment;
 import org.springframework.stereotype.Component;
 
@@ -55,11 +53,8 @@ public class PnfEventReadyDmaapClient implements DmaapClient {
     private volatile ScheduledThreadPoolExecutor executor;
     private volatile boolean dmaapThreadListenerIsRunning;
 
-    private ApplicationEventPublisher applicationEventPublisher;
-
     @Autowired
-    public PnfEventReadyDmaapClient(Environment env, ApplicationEventPublisher applicationEventPublisher) {
-        this.applicationEventPublisher = applicationEventPublisher;
+    public PnfEventReadyDmaapClient(Environment env) {
         httpClient = HttpClientBuilder.create().build();
         pnfCorrelationIdToThreadMap = new ConcurrentHashMap<>();
         topicListenerDelayInSeconds = env.getProperty("pnf.dmaap.topicListenerDelayInSeconds", Integer.class);
@@ -135,9 +130,11 @@ public class PnfEventReadyDmaapClient implements DmaapClient {
         }
 
         private void informAboutPnfReadyIfPnfCorrelationIdFound(String pnfCorrelationId) {
-            unregister(pnfCorrelationId);
-            PnfNotificationEvent pnfNotificationEvent = new PnfNotificationEvent(this, pnfCorrelationId);
-            applicationEventPublisher.publishEvent(pnfNotificationEvent);
+            Runnable runnable = unregister(pnfCorrelationId);
+            if (runnable != null) {
+                logger.debug("dmaap listener gets pnf ready event for pnfCorrelationId: {}", pnfCorrelationId);
+                runnable.run();
+            }
         }
     }
 }
index c67b44e..e755214 100644 (file)
 
 package org.onap.so.bpmn.infrastructure.pnf.delegate;
 
-import org.camunda.bpm.engine.delegate.DelegateExecution;
-import org.junit.Test;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
+import org.camunda.bpm.engine.delegate.DelegateExecution;
+import org.junit.Test;
 
 public class CancelDmaapSubscriptionTest {
 
+    private static final String TEST_PNF_CORRELATION_ID = "testPnfCorrelationId";
+
     @Test
     public void shouldCancelSubscription() throws Exception {
         // given
@@ -37,7 +39,7 @@ public class CancelDmaapSubscriptionTest {
         delegate.setDmaapClient(dmaapClientTest);
         DelegateExecution delegateExecution = mock(DelegateExecution.class);
         when(delegateExecution.getVariable(eq(ExecutionVariableNames.PNF_CORRELATION_ID)))
-                .thenReturn("testPnfCorrelationId");
+                .thenReturn(TEST_PNF_CORRELATION_ID);
         when(delegateExecution.getProcessBusinessKey()).thenReturn("testBusinessKey");
         dmaapClientTest.registerForUpdate("testPnfCorrelationId", () -> {
         });
index 96c3db0..df060ed 100644 (file)
 
 package org.onap.so.bpmn.infrastructure.pnf.delegate;
 
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.inOrder;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verifyZeroInteractions;
+import static org.mockito.Mockito.when;
 import org.camunda.bpm.engine.ProcessEngineServices;
 import org.camunda.bpm.engine.RuntimeService;
 import org.camunda.bpm.engine.delegate.DelegateExecution;
@@ -27,14 +34,8 @@ import org.camunda.bpm.engine.runtime.MessageCorrelationBuilder;
 import org.junit.Before;
 import org.junit.Test;
 import org.mockito.InOrder;
-import org.onap.so.bpmn.infrastructure.pnf.PnfNotificationEvent;
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.*;
 
 public class InformDmaapClientTest {
-
     @Before
     public void setUp() throws Exception {
         informDmaapClient = new InformDmaapClient();
@@ -73,19 +74,6 @@ public class InformDmaapClientTest {
         inOrder.verify(messageCorrelationBuilder).correlateWithResult();
     }
 
-    @Test
-    public void onApplicationEvent_validPnfNotificationEvent_expectedOutput() {
-
-        PnfNotificationEvent pnfNotificationEvent = new PnfNotificationEvent(this, "testPnfCorrelationId");
-
-        informDmaapClient.execute(delegateExecution);
-        informDmaapClient.onApplicationEvent(pnfNotificationEvent);
-
-        InOrder inOrder = inOrder(messageCorrelationBuilder);
-        inOrder.verify(messageCorrelationBuilder).processInstanceBusinessKey("testBusinessKey");
-        inOrder.verify(messageCorrelationBuilder).correlateWithResult();
-    }
-
     private DelegateExecution mockDelegateExecution() {
         DelegateExecution delegateExecution = mock(DelegateExecution.class);
         when(delegateExecution.getVariable(eq(ExecutionVariableNames.PNF_CORRELATION_ID)))
index 9f31e2a..19e08d9 100644 (file)
 package org.onap.so.bpmn.infrastructure.pnf.dmaap;
 
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
 import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyObject;
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.verifyZeroInteractions;
 import static org.mockito.Mockito.when;
@@ -49,12 +47,9 @@ import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
-import org.mockito.InjectMocks;
 import org.mockito.Mock;
 import org.mockito.junit.MockitoJUnitRunner;
-import org.onap.so.bpmn.infrastructure.pnf.PnfNotificationEvent;
 import org.onap.so.bpmn.infrastructure.pnf.dmaap.PnfEventReadyDmaapClient.DmaapTopicListenerThread;
-import org.springframework.context.ApplicationEventPublisher;
 import org.springframework.core.env.Environment;
 
 @RunWith(MockitoJUnitRunner.class)
@@ -85,9 +80,6 @@ public class PnfEventReadyDmaapClientTest {
     private Runnable threadMockToNotifyCamundaFlow;
     private ScheduledThreadPoolExecutor executorMock;
 
-    @Mock
-    private ApplicationEventPublisher applicationEventPublisher;
-
     @Before
     public void init() throws NoSuchFieldException, IllegalAccessException {
         when(env.getProperty(eq("pnf.dmaap.port"), eq(Integer.class))).thenReturn(PORT);
@@ -99,7 +91,7 @@ public class PnfEventReadyDmaapClientTest {
         when(env.getProperty(eq("pnf.dmaap.consumerGroup"))).thenReturn(CONSUMER_GROUP);
         when(env.getProperty(eq("pnf.dmaap.topicListenerDelayInSeconds"), eq(Integer.class)))
                 .thenReturn(TOPIC_LISTENER_DELAY_IN_SECONDS);
-        testedObject = new PnfEventReadyDmaapClient(env, applicationEventPublisher);
+        testedObject = new PnfEventReadyDmaapClient(env);
         testedObjectInnerClassThread = testedObject.new DmaapTopicListenerThread();
         httpClientMock = mock(HttpClient.class);
         threadMockToNotifyCamundaFlow = mock(Runnable.class);
@@ -131,10 +123,7 @@ public class PnfEventReadyDmaapClientTest {
         assertEquals(captor1.getValue().getURI().getPath(),
                 "/" + URI_PATH_PREFIX + "/" + EVENT_TOPIC_TEST + "/" + CONSUMER_GROUP + "/" + CONSUMER_ID + "");
 
-        /**
-         * Two PNF returned from HTTP request.
-         */
-        verify(applicationEventPublisher, times(2)).publishEvent(any(PnfNotificationEvent.class));
+        verify(threadMockToNotifyCamundaFlow).run();
         verify(executorMock).shutdown();
     }
 
index ce7f0d9..d0c16fc 100644 (file)
 <?xml version="1.0"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-       <parent>
-               <groupId>org.onap.so</groupId>
-               <artifactId>bpmn</artifactId>
-               <version>1.4.0-SNAPSHOT</version>
-       </parent>
-       <modelVersion>4.0.0</modelVersion>
-       <artifactId>so-bpmn-infrastructure-flows</artifactId>
-       <packaging>jar</packaging>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <parent>
+    <groupId>org.onap.so</groupId>
+    <artifactId>bpmn</artifactId>
+    <version>1.4.0-SNAPSHOT</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>so-bpmn-infrastructure-flows</artifactId>
+  <packaging>jar</packaging>
 
-       <properties>
-               <camunda.bpm.assert.version>2.0-alpha2</camunda.bpm.assert.version>
-               <assertj.core.version>1.7.0</assertj.core.version>
-               <grpc.version>1.17.1</grpc.version>
-               <camunda.mockito.version>3.2.1</camunda.mockito.version>
-       </properties>
+  <properties>
+    <camunda.bpm.assert.version>2.0-alpha2</camunda.bpm.assert.version>
+    <assertj.core.version>1.7.0</assertj.core.version>
+    <grpc.version>1.17.1</grpc.version>
+    <camunda.mockito.version>3.2.1</camunda.mockito.version>
+  </properties>
 
-       <build>
-               <plugins>
-                       <plugin>
-                               <groupId>org.apache.cxf</groupId>
-                               <artifactId>cxf-codegen-plugin</artifactId>
-                               <version>2.5.2</version>
-                       </plugin>
-                       <plugin>
-                               <groupId>org.apache.maven.plugins</groupId>
-                               <artifactId>maven-dependency-plugin</artifactId>
-                       </plugin>
-                       <plugin>
-                               <artifactId>maven-failsafe-plugin</artifactId>
-                               <version>2.6</version>
-                               <executions>
-                                       <execution>
-                                               <goals>
-                                                       <goal>integration-test</goal>
-                                                       <goal>verify</goal>
-                                               </goals>
-                                       </execution>
-                               </executions>
-                       </plugin>
-               </plugins>
-               <pluginManagement>
-                       <plugins>
-                               <!--This plugin's configuration is used to store Eclipse m2e settings
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.cxf</groupId>
+        <artifactId>cxf-codegen-plugin</artifactId>
+        <version>2.5.2</version>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-dependency-plugin</artifactId>
+      </plugin>
+      <plugin>
+        <artifactId>maven-failsafe-plugin</artifactId>
+        <version>2.6</version>
+        <executions>
+          <execution>
+            <goals>
+              <goal>integration-test</goal>
+              <goal>verify</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+    <pluginManagement>
+      <plugins>
+        <!--This plugin's configuration is used to store Eclipse m2e settings
                                        only. It has no influence on the Maven build itself. -->
-                               <plugin>
-                                       <groupId>org.eclipse.m2e</groupId>
-                                       <artifactId>lifecycle-mapping</artifactId>
-                                       <version>1.0.0</version>
-                                       <configuration>
-                                               <lifecycleMappingMetadata>
-                                                       <pluginExecutions>
-                                                               <pluginExecution>
-                                                                       <pluginExecutionFilter>
-                                                                               <groupId>
+        <plugin>
+          <groupId>org.eclipse.m2e</groupId>
+          <artifactId>lifecycle-mapping</artifactId>
+          <version>1.0.0</version>
+          <configuration>
+            <lifecycleMappingMetadata>
+              <pluginExecutions>
+                <pluginExecution>
+                  <pluginExecutionFilter>
+                    <groupId>
                                                                                        org.apache.maven.plugins
                                                                                </groupId>
-                                                                               <artifactId>
+                    <artifactId>
                                                                                        maven-antrun-plugin
                                                                                </artifactId>
-                                                                               <versionRange>
+                    <versionRange>
                                                                                        [1.3,)
                                                                                </versionRange>
-                                                                               <goals>
-                                                                                       <goal>run</goal>
-                                                                               </goals>
-                                                                       </pluginExecutionFilter>
-                                                                       <action>
-                                                                               <ignore/>
-                                                                       </action>
-                                                               </pluginExecution>
-                                                       </pluginExecutions>
-                                               </lifecycleMappingMetadata>
-                                       </configuration>
-                               </plugin>
-                               <plugin>
-                                       <groupId>org.apache.maven.plugins</groupId>
-                                       <artifactId>maven-surefire-plugin</artifactId>
-                                       <executions>
-                                               <execution>
-                                                       <id>default-test</id>
-                                                       <goals>
-                                                               <goal>test</goal>
-                                                       </goals>
-                                                       <configuration>
-                                                               <includes>
-                                                                       <include>**/AllTestsTestSuite.java</include>
-                                                               </includes>
-                                                       </configuration>
-                                               </execution>
-                                               <execution>
-                                                       <id>tasks-test</id>
-                                                       <goals>
-                                                               <goal>test</goal>
-                                                       </goals>
-                                                       <configuration>
-                                                               <includes>
-                                                                       <include>**/AllTasksTestsTestSuite.java</include>
-                                                               </includes>
-                                                       </configuration>
-                                               </execution>
-                                               <execution>
-                                                       <id>bpmn-test</id>
-                                                       <goals>
-                                                               <goal>test</goal>
-                                                       </goals>
-                                                       <configuration>
-                                                               <includes>
-                                                                       <include>**/AllBPMNTestSuites.java</include>
-                                                               </includes>
-                                                       </configuration>
-                                               </execution>
-                                       </executions>
-                                       <configuration>
-                                               <parallel>suites</parallel>
-                                       </configuration>
-                               </plugin>
-                       </plugins>
-               </pluginManagement>
-               <finalName>${project.artifactId}-${project.version}</finalName>
-       </build>
+                    <goals>
+                      <goal>run</goal>
+                    </goals>
+                  </pluginExecutionFilter>
+                  <action>
+                    <ignore />
+                  </action>
+                </pluginExecution>
+              </pluginExecutions>
+            </lifecycleMappingMetadata>
+          </configuration>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-surefire-plugin</artifactId>
+          <executions>
+            <execution>
+              <id>default-test</id>
+              <goals>
+                <goal>test</goal>
+              </goals>
+              <configuration>
+                <includes>
+                  <include>**/AllTestsTestSuite.java</include>
+                </includes>
+              </configuration>
+            </execution>
+            <execution>
+              <id>tasks-test</id>
+              <goals>
+                <goal>test</goal>
+              </goals>
+              <configuration>
+                <includes>
+                  <include>**/AllTasksTestsTestSuite.java</include>
+                </includes>
+              </configuration>
+            </execution>
+            <execution>
+              <id>bpmn-test</id>
+              <goals>
+                <goal>test</goal>
+              </goals>
+              <configuration>
+                <includes>
+                  <include>**/AllBPMNTestSuites.java</include>
+                </includes>
+              </configuration>
+            </execution>
+          </executions>
+          <configuration>
+            <parallel>suites</parallel>
+          </configuration>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+    <finalName>${project.artifactId}-${project.version}</finalName>
+  </build>
 
-       <dependencyManagement>
-               <dependencies>
-                       <dependency>
-                               <groupId>org.camunda.bpm</groupId>
-                               <artifactId>camunda-bom</artifactId>
-                               <version>${camunda.version}</version>
-                               <scope>import</scope>
-                               <type>pom</type>
-                       </dependency>
-               </dependencies>
-       </dependencyManagement>
+  <dependencyManagement>
+    <dependencies>
+      <dependency>
+        <groupId>org.camunda.bpm</groupId>
+        <artifactId>camunda-bom</artifactId>
+        <version>${camunda.version}</version>
+        <scope>import</scope>
+        <type>pom</type>
+      </dependency>
+    </dependencies>
+  </dependencyManagement>
 
-       <dependencies>
-               <dependency>
-                       <groupId>org.camunda.bpm.springboot</groupId>
-                       <artifactId>camunda-bpm-spring-boot-starter</artifactId>
-                       <version>${camunda.springboot.version}</version>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.camunda.bpm.springboot</groupId>
-                       <artifactId>camunda-bpm-spring-boot-starter-webapp</artifactId>
-                       <version>${camunda.springboot.version}</version>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.camunda.bpm.extension.mockito</groupId>
-                       <artifactId>camunda-bpm-mockito</artifactId>
-                       <version>${camunda.mockito.version}</version>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-test</artifactId>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-web</artifactId>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-data-jpa</artifactId>
-                       <optional>true</optional>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.cxf</groupId>
-                       <artifactId>cxf-spring-boot-starter-jaxws</artifactId>
-                       <version>${cxf.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.cxf</groupId>
-                       <artifactId>cxf-spring-boot-starter-jaxrs</artifactId>
-                       <version>${cxf.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.cxf</groupId>
-                       <artifactId>cxf-rt-rs-service-description-swagger</artifactId>
-                       <version>${cxf.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>com.h2database</groupId>
-                       <artifactId>h2</artifactId>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.mockito</groupId>
-                       <artifactId>mockito-core</artifactId>
-                       <version>1.10.19</version>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>com.fasterxml.uuid</groupId>
-                       <artifactId>java-uuid-generator</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.codehaus.groovy</groupId>
-                       <artifactId>groovy-all</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.commons</groupId>
-                       <artifactId>commons-lang3</artifactId>
-                       <version>3.4</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.so</groupId>
-                       <artifactId>MSOCoreBPMN</artifactId>
-                       <version>${project.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.so</groupId>
-                       <artifactId>MSOCoreBPMN</artifactId>
-                       <version>${project.version}</version>
-                       <classifier>tests</classifier>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.so</groupId>
-                       <artifactId>MSOCommonBPMN</artifactId>
-                       <version>${project.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.so</groupId>
-                       <artifactId>MSOCommonBPMN</artifactId>
-                       <version>${project.version}</version>
-                       <classifier>tests</classifier>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.so</groupId>
-                       <artifactId>so-bpmn-building-blocks</artifactId>
-                       <version>${project.version}</version>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>javax.ws.rs</groupId>
-                       <artifactId>javax.ws.rs-api</artifactId>
-                       <version>${jax.ws.rs}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.camunda.spin</groupId>
-                       <artifactId>camunda-spin-core</artifactId>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.camunda.spin</groupId>
-                       <artifactId>camunda-spin-dataformat-all</artifactId>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <artifactId>camunda-spin-dataformat-all</artifactId>
-                       <groupId>org.camunda.spin</groupId>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.camunda.bpm</groupId>
-                       <artifactId>camunda-engine-plugin-spin</artifactId>
-               </dependency>
+  <dependencies>
+    <dependency>
+      <groupId>org.camunda.bpm.springboot</groupId>
+      <artifactId>camunda-bpm-spring-boot-starter</artifactId>
+      <version>${camunda.springboot.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.camunda.bpm.springboot</groupId>
+      <artifactId>camunda-bpm-spring-boot-starter-webapp</artifactId>
+      <version>${camunda.springboot.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.camunda.bpm.extension.mockito</groupId>
+      <artifactId>camunda-bpm-mockito</artifactId>
+      <version>${camunda.mockito.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-test</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-web</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-data-jpa</artifactId>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-spring-boot-starter-jaxws</artifactId>
+      <version>${cxf.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-spring-boot-starter-jaxrs</artifactId>
+      <version>${cxf.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-rt-rs-service-description-swagger</artifactId>
+      <version>${cxf.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>com.h2database</groupId>
+      <artifactId>h2</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.mockito</groupId>
+      <artifactId>mockito-core</artifactId>
+      <version>1.10.19</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.fasterxml.uuid</groupId>
+      <artifactId>java-uuid-generator</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.groovy</groupId>
+      <artifactId>groovy-all</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-lang3</artifactId>
+      <version>3.4</version>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so</groupId>
+      <artifactId>MSOCoreBPMN</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so</groupId>
+      <artifactId>MSOCoreBPMN</artifactId>
+      <version>${project.version}</version>
+      <classifier>tests</classifier>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so</groupId>
+      <artifactId>MSOCommonBPMN</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so</groupId>
+      <artifactId>MSOCommonBPMN</artifactId>
+      <version>${project.version}</version>
+      <classifier>tests</classifier>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so</groupId>
+      <artifactId>so-bpmn-building-blocks</artifactId>
+      <version>${project.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>javax.ws.rs</groupId>
+      <artifactId>javax.ws.rs-api</artifactId>
+      <version>${jax.ws.rs}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.camunda.spin</groupId>
+      <artifactId>camunda-spin-core</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.camunda.spin</groupId>
+      <artifactId>camunda-spin-dataformat-all</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <artifactId>camunda-spin-dataformat-all</artifactId>
+      <groupId>org.camunda.spin</groupId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.camunda.bpm</groupId>
+      <artifactId>camunda-engine-plugin-spin</artifactId>
+    </dependency>
 
-               <dependency>
-                       <groupId>org.camunda.bpm</groupId>
-                       <artifactId>camunda-engine-plugin-connect</artifactId>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.camunda.bpm.extension</groupId>
-                       <artifactId>camunda-bpm-assert</artifactId>
-                       <version>${camunda.bpm.assert.version}</version>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.assertj</groupId>
-                       <artifactId>assertj-core</artifactId>
-                       <version>${assertj.core.version}</version>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>javax.annotation</groupId>
-                       <artifactId>javax.annotation-api</artifactId>
-                       <version>1.3</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-configuration-processor</artifactId>
-                       <optional>true</optional>
-               </dependency>
-               <dependency>
-                       <groupId>ch.qos.logback</groupId>
-                       <artifactId>logback-classic</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>ch.qos.logback</groupId>
-                       <artifactId>logback-core</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.slf4j</groupId>
-                       <artifactId>slf4j-api</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.mariadb.jdbc</groupId>
-                       <artifactId>mariadb-java-client</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>ch.vorburger.mariaDB4j</groupId>
-                       <artifactId>mariaDB4j</artifactId>
-                       <version>2.2.3</version>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>io.grpc</groupId>
-                       <artifactId>grpc-testing</artifactId>
-                       <version>${grpc.version}</version>
-                       <scope>test</scope>
-               </dependency>
+    <dependency>
+      <groupId>org.camunda.bpm</groupId>
+      <artifactId>camunda-engine-plugin-connect</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.camunda.bpm.extension</groupId>
+      <artifactId>camunda-bpm-assert</artifactId>
+      <version>${camunda.bpm.assert.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.assertj</groupId>
+      <artifactId>assertj-core</artifactId>
+      <version>${assertj.core.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>javax.annotation</groupId>
+      <artifactId>javax.annotation-api</artifactId>
+      <version>1.3</version>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-configuration-processor</artifactId>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>ch.qos.logback</groupId>
+      <artifactId>logback-classic</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>ch.qos.logback</groupId>
+      <artifactId>logback-core</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.mariadb.jdbc</groupId>
+      <artifactId>mariadb-java-client</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>ch.vorburger.mariaDB4j</groupId>
+      <artifactId>mariaDB4j</artifactId>
+      <version>2.2.3</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>io.grpc</groupId>
+      <artifactId>grpc-testing</artifactId>
+      <version>${grpc.version}</version>
+      <scope>test</scope>
+    </dependency>
 
-       </dependencies>
+  </dependencies>
 </project>
diff --git a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/HandlePNF.bpmn b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/HandlePNF.bpmn
new file mode 100644 (file)
index 0000000..c81b289
--- /dev/null
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.16.2">
+  <bpmn:process id="HandlePNF" name="HandlePNF" isExecutable="true">
+    <bpmn:startEvent id="createNS_StartEvent_pnf_disc" name="start PNF handling">
+      <bpmn:outgoing>SequenceFlow_1c92ks3_activate</bpmn:outgoing>
+    </bpmn:startEvent>
+    <bpmn:scriptTask id="Task_13sx2bp_activate" name="Pre Process Request" scriptFormat="groovy">
+      <bpmn:incoming>SequenceFlow_1c92ks3_activate</bpmn:incoming>
+      <bpmn:outgoing>SequenceFlow_17xr584</bpmn:outgoing>
+      <bpmn:outgoing>SequenceFlow_12q67gd</bpmn:outgoing>
+      <bpmn:script>import org.onap.so.bpmn.infrastructure.scripts.*
+def handlePNF = new HandlePNF()
+handlePNF.preProcessRequest(execution)</bpmn:script>
+    </bpmn:scriptTask>
+    <bpmn:sequenceFlow id="SequenceFlow_1c92ks3_activate" sourceRef="createNS_StartEvent_pnf_disc" targetRef="Task_13sx2bp_activate" />
+    <bpmn:sequenceFlow id="SequenceFlow_17xr584" sourceRef="Task_13sx2bp_activate" targetRef="Task_0kv28gm" />
+    <bpmn:sequenceFlow id="SequenceFlow_0pujwl4" sourceRef="Task_0657l04" targetRef="PostProcessPNFDiscovery" />
+    <bpmn:endEvent id="EndEvent_0pigsdfk3" name="end PNF hadler">
+      <bpmn:incoming>SequenceFlow_02fi1yn</bpmn:incoming>
+    </bpmn:endEvent>
+    <bpmn:sequenceFlow id="SequenceFlow_1la8oih" sourceRef="PostProcessPNFDiscovery" targetRef="Task_1r8h7of" />
+    <bpmn:callActivity id="Task_0657l04" name="invoke pnf handler" calledElement="CreateAndActivatePnfResource">
+      <bpmn:extensionElements>
+        <camunda:in source="correlationId" target="correlationId" />
+        <camunda:in source="pnfUuid" target="pnfUuid" />
+      </bpmn:extensionElements>
+      <bpmn:incoming>SequenceFlow_1apj1fn</bpmn:incoming>
+      <bpmn:outgoing>SequenceFlow_0pujwl4</bpmn:outgoing>
+    </bpmn:callActivity>
+    <bpmn:scriptTask id="PostProcessPNFDiscovery" name="Post Process Request" scriptFormat="groovy">
+      <bpmn:incoming>SequenceFlow_0pujwl4</bpmn:incoming>
+      <bpmn:outgoing>SequenceFlow_1la8oih</bpmn:outgoing>
+      <bpmn:outgoing>SequenceFlow_1ezf4gu</bpmn:outgoing>
+      <bpmn:script>import org.onap.so.bpmn.infrastructure.scripts.*
+def handlePNF = new HandlePNF()
+handlePNF.postProcessRequest(execution)</bpmn:script>
+    </bpmn:scriptTask>
+    <bpmn:sequenceFlow id="SequenceFlow_12q67gd" sourceRef="Task_13sx2bp_activate" targetRef="Task_0kv28gm" />
+    <bpmn:sequenceFlow id="SequenceFlow_1apj1fn" sourceRef="Task_0kv28gm" targetRef="Task_0657l04" />
+    <bpmn:serviceTask id="Task_0kv28gm" name="Generate PNF uuid" camunda:delegateExpression="${GeneratePnfUuidDelegate}">
+      <bpmn:incoming>SequenceFlow_12q67gd</bpmn:incoming>
+      <bpmn:incoming>SequenceFlow_17xr584</bpmn:incoming>
+      <bpmn:outgoing>SequenceFlow_1apj1fn</bpmn:outgoing>
+    </bpmn:serviceTask>
+    <bpmn:sequenceFlow id="SequenceFlow_1ezf4gu" sourceRef="PostProcessPNFDiscovery" targetRef="Task_1r8h7of" />
+    <bpmn:sequenceFlow id="SequenceFlow_02fi1yn" sourceRef="Task_1r8h7of" targetRef="EndEvent_0pigsdfk3" />
+    <bpmn:scriptTask id="Task_1r8h7of" name="Send Sync Response" scriptFormat="groovy">
+      <bpmn:incoming>SequenceFlow_1ezf4gu</bpmn:incoming>
+      <bpmn:incoming>SequenceFlow_1la8oih</bpmn:incoming>
+      <bpmn:outgoing>SequenceFlow_02fi1yn</bpmn:outgoing>
+      <bpmn:script>import org.onap.so.bpmn.infrastructure.scripts.*
+def handlePNF = new HandlePNF()
+handlePNF.sendSyncResponse(execution)</bpmn:script>
+    </bpmn:scriptTask>
+  </bpmn:process>
+  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
+    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="HandlePNF">
+      <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="createNS_StartEvent_pnf_disc">
+        <dc:Bounds x="-464" y="306" width="36" height="36" />
+        <bpmndi:BPMNLabel>
+          <dc:Bounds x="-466" y="352" width="47" height="27" />
+        </bpmndi:BPMNLabel>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape id="ScriptTask_14l9mlv_di" bpmnElement="Task_13sx2bp_activate">
+        <dc:Bounds x="-341" y="284" width="100" height="80" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNEdge id="SequenceFlow_1c92ks3_di" bpmnElement="SequenceFlow_1c92ks3_activate">
+        <di:waypoint x="-428" y="324" />
+        <di:waypoint x="-341" y="324" />
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge id="SequenceFlow_17xr584_di" bpmnElement="SequenceFlow_17xr584">
+        <di:waypoint x="-241" y="324" />
+        <di:waypoint x="-180" y="324" />
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge id="SequenceFlow_0pujwl4_di" bpmnElement="SequenceFlow_0pujwl4">
+        <di:waypoint x="81" y="324" />
+        <di:waypoint x="156" y="324" />
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNShape id="EndEvent_0pigdk3_di" bpmnElement="EndEvent_0pigsdfk3">
+        <dc:Bounds x="543" y="306" width="36" height="36" />
+        <bpmndi:BPMNLabel>
+          <dc:Bounds x="524" y="349" width="78" height="14" />
+        </bpmndi:BPMNLabel>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNEdge id="SequenceFlow_1la8oih_di" bpmnElement="SequenceFlow_1la8oih">
+        <di:waypoint x="256" y="324" />
+        <di:waypoint x="353" y="324" />
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNShape id="CallActivity_1sxp6qj_di" bpmnElement="Task_0657l04">
+        <dc:Bounds x="-19" y="284" width="100" height="80" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape id="ScriptTask_0qqb00i_di" bpmnElement="PostProcessPNFDiscovery">
+        <dc:Bounds x="156" y="284" width="100" height="80" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNEdge id="SequenceFlow_12q67gd_di" bpmnElement="SequenceFlow_12q67gd">
+        <di:waypoint x="-241" y="324" />
+        <di:waypoint x="-180" y="324" />
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge id="SequenceFlow_1apj1fn_di" bpmnElement="SequenceFlow_1apj1fn">
+        <di:waypoint x="-80" y="324" />
+        <di:waypoint x="-19" y="324" />
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNShape id="ServiceTask_1y3h50n_di" bpmnElement="Task_0kv28gm">
+        <dc:Bounds x="-180" y="284" width="100" height="80" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNEdge id="SequenceFlow_1ezf4gu_di" bpmnElement="SequenceFlow_1ezf4gu">
+        <di:waypoint x="256" y="324" />
+        <di:waypoint x="353" y="324" />
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge id="SequenceFlow_02fi1yn_di" bpmnElement="SequenceFlow_02fi1yn">
+        <di:waypoint x="453" y="324" />
+        <di:waypoint x="543" y="324" />
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNShape id="ScriptTask_1yqlrg7_di" bpmnElement="Task_1r8h7of">
+        <dc:Bounds x="353" y="284" width="100" height="80" />
+      </bpmndi:BPMNShape>
+    </bpmndi:BPMNPlane>
+  </bpmndi:BPMNDiagram>
+</bpmn:definitions>
index b0517ac..f51ea00 100644 (file)
@@ -36,6 +36,7 @@ import java.util.UUID;
 import org.camunda.bpm.engine.runtime.Execution;
 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;
@@ -51,8 +52,10 @@ import org.springframework.beans.factory.annotation.Autowired;
 /**
  * Basic Integration test for createVcpeResCustService_Simplified.bpmn workflow.
  */
+@Ignore
 public class CreateVcpeResCustServiceSimplifiedTest extends BaseBPMNTest {
 
+    private static final long WORKFLOW_WAIT_TIME = 1000L;
     private Logger logger = LoggerFactory.getLogger(getClass());
 
     private static final String TEST_PROCESSINSTANCE_KEY = "CreateVcpeResCustService_simplified";
@@ -101,7 +104,7 @@ public class CreateVcpeResCustServiceSimplifiedTest extends BaseBPMNTest {
     }
 
     @Test
-    public void workflow_validInput_expectedOuput() {
+    public void workflow_validInput_expectedOuput() throws InterruptedException {
 
         mockCatalogDb();
         mockRequestDb();
@@ -112,26 +115,25 @@ public class CreateVcpeResCustServiceSimplifiedTest extends BaseBPMNTest {
                 runtimeService.startProcessInstanceByKey(TEST_PROCESSINSTANCE_KEY, testBusinessKey, variables);
         assertThat(pi).isNotNull();
 
-        Execution execution = runtimeService.createExecutionQuery().processDefinitionKey("CreateAndActivatePnfResource")
-                .activityId("WaitForDmaapPnfReadyNotification").singleResult();
+        Thread.sleep(WORKFLOW_WAIT_TIME);
 
-        if (!execution.isSuspended() && !execution.isEnded()) {
-            try {
+        Execution execution = runtimeService.createExecutionQuery().processInstanceBusinessKey(testBusinessKey)
+                .messageEventSubscriptionName("WorkflowMessage").singleResult();
 
-                runtimeService.signal(execution.getId());
-            } catch (Exception e) {
-                logger.info(e.getMessage(), e);
-            }
+        assertThat(execution).isNotNull();
+
+        int waitCount = 10;
+        while (!pi.isEnded() && waitCount >= 0) {
+            Thread.sleep(WORKFLOW_WAIT_TIME);
+            waitCount--;
         }
 
-        assertThat(pi).isStarted().hasPassedInOrder("createVCPE_startEvent", "preProcessRequest_ScriptTask",
+        assertThat(pi).isEnded().hasPassedInOrder("createVCPE_startEvent", "preProcessRequest_ScriptTask",
                 "sendSyncAckResponse_ScriptTask", "ScriptTask_0cdtchu", "DecomposeService", "ScriptTask_0lpv2da",
                 "ScriptTask_1y241p8", "CallActivity_1vc4jeh", "ScriptTask_1y5lvl7", "GeneratePnfUuid", "Task_14l19kv",
                 "Pnf_Con", "setPONR_ScriptTask", "postProcessAndCompletionRequest_ScriptTask",
                 "callCompleteMsoProcess_CallActivity", "ScriptTask_2", "CreateVCPE_EndEvent");
 
-        assertThat(pi).isEnded();
-
         List<ExecutionServiceInput> detailedMessages = grpcNettyServer.getDetailedMessages();
         assertThat(detailedMessages).hasSize(2);
         try {
@@ -144,6 +146,8 @@ public class CreateVcpeResCustServiceSimplifiedTest extends BaseBPMNTest {
     }
 
     private void checkConfigAssign(ExecutionServiceInput executionServiceInput) {
+
+        logger.info("Checking the configAssign request");
         ActionIdentifiers actionIdentifiers = executionServiceInput.getActionIdentifiers();
 
         /**
@@ -173,6 +177,8 @@ public class CreateVcpeResCustServiceSimplifiedTest extends BaseBPMNTest {
     }
 
     private void checkConfigDeploy(ExecutionServiceInput executionServiceInput) {
+
+        logger.info("Checking the configDeploy request");
         ActionIdentifiers actionIdentifiers = executionServiceInput.getActionIdentifiers();
 
         /**
index 42073ed..bf129df 100644 (file)
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <parent>
-        <groupId>org.onap.so</groupId>
-        <artifactId>bpmn</artifactId>
-        <version>1.4.0-SNAPSHOT</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-    <artifactId>so-bpmn-tasks</artifactId>
-    <packaging>jar</packaging>
-    <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>
-    </properties>
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-surefire-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>default-test</id>
-                        <goals>
-                            <goal>test</goal>
-                        </goals>
-                        <configuration>
-                            <includes>
-                                <include>**/UnitTestSuite.java</include>
-                            </includes>
-                        </configuration>
-                    </execution>
-                    <execution>
-                        <id>integration-test</id>
-                        <goals>
-                            <goal>test</goal>
-                        </goals>
-                        <configuration>
-                            <includes>
-                                <include>**/IntegrationTestSuite.java</include>
-                            </includes>
-                        </configuration>
-                    </execution>
-                </executions>
-                <configuration>
-                    <parallel>suites</parallel>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>io.swagger</groupId>
-                <artifactId>swagger-codegen-maven-plugin</artifactId>
-                <version>2.3.1</version>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>generate</goal>
-                        </goals>
-                        <configuration>
-                            <inputSpec>${project.basedir}/src/main/resources/naming-service/swagger.json</inputSpec>
-                            <apiPackage>org.onap.namingservice.api</apiPackage>
-                            <modelPackage>org.onap.namingservice.model</modelPackage>
-                            <invokerPackage>org.onap.namingservice.invoker</invokerPackage>
-                        </configuration>
-                    </execution>
-                </executions>
-                <configuration>
-                    <inputSpec>${project.basedir}/src/main/resources/swagger.json</inputSpec>
-                    <language>java</language>
-                    <configOptions>
-                        <sourceFolder>src/gen/java/main</sourceFolder>
-                        <serializableModel>true</serializableModel>
-                    </configOptions>
-                    <output>${project.build.directory}/generated-sources</output>
-                    <generateApis>false</generateApis>
-                    <library>jersey2</library>
-                    <generateSupportingFiles>false</generateSupportingFiles>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-    <dependencyManagement>
-        <dependencies>
-            <dependency>
-                <!-- Import dependency management from Spring Boot -->
-                <groupId>org.springframework.boot</groupId>
-                <artifactId>spring-boot-dependencies</artifactId>
-                <version>${springboot.version}</version>
-                <type>pom</type>
-                <scope>import</scope>
-            </dependency>
-        </dependencies>
-    </dependencyManagement>
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <parent>
+    <groupId>org.onap.so</groupId>
+    <artifactId>bpmn</artifactId>
+    <version>1.4.0-SNAPSHOT</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>so-bpmn-tasks</artifactId>
+  <packaging>jar</packaging>
+  <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>
+  </properties>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>default-test</id>
+            <goals>
+              <goal>test</goal>
+            </goals>
+            <configuration>
+              <includes>
+                <include>**/UnitTestSuite.java</include>
+              </includes>
+            </configuration>
+          </execution>
+          <execution>
+            <id>integration-test</id>
+            <goals>
+              <goal>test</goal>
+            </goals>
+            <configuration>
+              <includes>
+                <include>**/IntegrationTestSuite.java</include>
+              </includes>
+            </configuration>
+          </execution>
+        </executions>
+        <configuration>
+          <parallel>suites</parallel>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>io.swagger</groupId>
+        <artifactId>swagger-codegen-maven-plugin</artifactId>
+        <version>2.3.1</version>
+        <executions>
+          <execution>
+            <goals>
+              <goal>generate</goal>
+            </goals>
+            <configuration>
+              <inputSpec>${project.basedir}/src/main/resources/naming-service/swagger.json</inputSpec>
+              <apiPackage>org.onap.namingservice.api</apiPackage>
+              <modelPackage>org.onap.namingservice.model</modelPackage>
+              <invokerPackage>org.onap.namingservice.invoker</invokerPackage>
+            </configuration>
+          </execution>
+        </executions>
+        <configuration>
+          <inputSpec>${project.basedir}/src/main/resources/swagger.json</inputSpec>
+          <language>java</language>
+          <configOptions>
+            <sourceFolder>src/gen/java/main</sourceFolder>
+            <serializableModel>true</serializableModel>
+          </configOptions>
+          <output>${project.build.directory}/generated-sources</output>
+          <generateApis>false</generateApis>
+          <library>jersey2</library>
+          <generateSupportingFiles>false</generateSupportingFiles>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+  <dependencyManagement>
     <dependencies>
-        <dependency>
-            <groupId>org.camunda.bpm.springboot</groupId>
-            <artifactId>camunda-bpm-spring-boot-starter</artifactId>
-            <version>${camunda.springboot.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.cloud</groupId>
-            <artifactId>spring-cloud-contract-wiremock</artifactId>
-            <version>1.2.4.RELEASE</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-test</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.camunda.bpm.extension.mockito</groupId>
-            <artifactId>camunda-bpm-mockito</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.onap.so</groupId>
-            <artifactId>MSOCommonBPMN</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.onap.so</groupId>
-            <artifactId>so-bpmn-infrastructure-common</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.onap.so.adapters</groupId>
-            <artifactId>mso-adapter-utils</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.onap.sdnc.northbound</groupId>
-            <artifactId>generic-resource-api-client</artifactId>
-            <version>${sdnc.northbound.version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>javax.ws.rs</groupId>
-                    <artifactId>jsr311-api</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>ch.vorburger.mariaDB4j</groupId>
-            <artifactId>mariaDB4j</artifactId>
-            <version>2.2.3</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.commons</groupId>
-            <artifactId>commons-lang3</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.onap.so.adapters</groupId>
-            <artifactId>mso-vnfm-adapter-api</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-configuration-processor</artifactId>
-            <optional>true</optional>
-        </dependency>
-        <dependency>
-            <groupId>nl.jqno.equalsverifier</groupId>
-            <artifactId>equalsverifier</artifactId>
-            <version>2.5.1</version>
-            <scope>test</scope>
-        </dependency>
+      <dependency>
+        <!-- Import dependency management from Spring Boot -->
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-dependencies</artifactId>
+        <version>${springboot.version}</version>
+        <type>pom</type>
+        <scope>import</scope>
+      </dependency>
     </dependencies>
+  </dependencyManagement>
+  <dependencies>
+    <dependency>
+      <groupId>org.camunda.bpm.springboot</groupId>
+      <artifactId>camunda-bpm-spring-boot-starter</artifactId>
+      <version>${camunda.springboot.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.cloud</groupId>
+      <artifactId>spring-cloud-contract-wiremock</artifactId>
+      <version>1.2.4.RELEASE</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-test</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.camunda.bpm.extension.mockito</groupId>
+      <artifactId>camunda-bpm-mockito</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so</groupId>
+      <artifactId>MSOCommonBPMN</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so</groupId>
+      <artifactId>so-bpmn-infrastructure-common</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so.adapters</groupId>
+      <artifactId>mso-adapter-utils</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.sdnc.northbound</groupId>
+      <artifactId>generic-resource-api-client</artifactId>
+      <version>${sdnc.northbound.version}</version>
+      <exclusions>
+        <exclusion>
+          <groupId>javax.ws.rs</groupId>
+          <artifactId>jsr311-api</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>ch.vorburger.mariaDB4j</groupId>
+      <artifactId>mariaDB4j</artifactId>
+      <version>2.2.3</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-lang3</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so.adapters</groupId>
+      <artifactId>mso-vnfm-adapter-api</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-configuration-processor</artifactId>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>nl.jqno.equalsverifier</groupId>
+      <artifactId>equalsverifier</artifactId>
+      <version>2.5.1</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
 </project>
index 2903798..2f898b6 100644 (file)
@@ -531,7 +531,7 @@ public class SniroHomingV2 {
             si.setServiceInstanceId(identifierValue);
             si.setOrchestrationStatus(OrchestrationStatus.CREATED);
             cloud.setLcpCloudRegionId(assignmentsMap.get("cloudRegionId"));
-            if (assignmentsMap.containsKey("vnfHostName")) {
+            if (assignmentsMap.containsKey("vnfHostName") && !assignmentsMap.get("vnfHostName").isEmpty()) {
                 logger.debug("Resources has been homed to a vnf");
                 GenericVnf vnf = setVnf(assignmentsMap);
                 vnf.setCloudRegion(cloud);
index 01519fa..4cf5131 100644 (file)
@@ -2,6 +2,8 @@
  * ============LICENSE_START=======================================================
  *  Copyright (C) 2019 Nordix Foundation.
  * ================================================================================
+ * Modifications Copyright (c) 2019 Samsung
+ * ================================================================================
  * 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
@@ -20,8 +22,7 @@
 
 package org.onap.so.bpmn.infrastructure.adapter.vnfm.tasks;
 
-import static com.google.common.collect.Sets.newHashSet;
-import java.util.Set;
+import com.google.common.collect.ImmutableSet;
 import org.onap.vnfmadapter.v1.model.OperationStateEnum;
 import org.onap.vnfmadapter.v1.model.OperationStatusRetrievalStatusEnum;
 
@@ -51,11 +52,11 @@ public class Constants {
     public static final String PRELOAD_VNFS_URL = "/restconf/config/VNF-API:preload-vnfs/vnf-preload-list/";
 
 
-    public static final Set<OperationStateEnum> OPERATION_FINISHED_STATES =
-            newHashSet(OperationStateEnum.COMPLETED, OperationStateEnum.FAILED, OperationStateEnum.ROLLED_BACK);
+    public static final ImmutableSet<OperationStateEnum> OPERATION_FINISHED_STATES =
+            ImmutableSet.of(OperationStateEnum.COMPLETED, OperationStateEnum.FAILED, OperationStateEnum.ROLLED_BACK);
 
-    public static final Set<OperationStatusRetrievalStatusEnum> OPERATION_RETRIEVAL_STATES = newHashSet(
-            OperationStatusRetrievalStatusEnum.STATUS_FOUND, OperationStatusRetrievalStatusEnum.WAITING_FOR_STATUS);
+    public static final ImmutableSet<OperationStatusRetrievalStatusEnum> OPERATION_RETRIEVAL_STATES = ImmutableSet
+            .of(OperationStatusRetrievalStatusEnum.STATUS_FOUND, OperationStatusRetrievalStatusEnum.WAITING_FOR_STATUS);
 
     public static final String OPERATION_STATUS_PARAM_NAME = "operationStatus";
 
index 4514d24..f0a102d 100644 (file)
@@ -37,6 +37,7 @@ import org.onap.so.bpmn.servicedecomposition.tasks.BBInputSetupUtils;
 import org.onap.so.client.aai.AAIObjectType;
 import org.onap.so.client.exception.ExceptionBuilder;
 import org.onap.so.db.catalog.beans.CvnfcConfigurationCustomization;
+import org.onap.so.db.catalog.beans.VnfResourceCustomization;
 import org.onap.so.db.catalog.client.CatalogDbClient;
 import org.onap.so.db.request.beans.InfraActiveRequests;
 import org.onap.so.db.request.client.RequestsDbClient;
@@ -83,6 +84,25 @@ public class WorkflowActionBBTasks {
         execution.setVariable("MacroRollback", false);
         int currentSequence = (int) execution.getVariable(G_CURRENT_SEQUENCE);
         ExecuteBuildingBlock ebb = flowsToExecute.get(currentSequence);
+
+        if (ebb.getBuildingBlock().getBpmnFlowName().equals("ConfigAssignVnfBB")
+                || ebb.getBuildingBlock().getBpmnFlowName().equals("ConfigDeployVnfBB")) {
+            String serviceInstanceId = ebb.getWorkflowResourceIds().getServiceInstanceId();
+            String vnfCustomizationUUID = ebb.getBuildingBlock().getKey();
+
+            List<VnfResourceCustomization> vnfResourceCustomizations =
+                    catalogDbClient.getVnfResourceCustomizationByModelUuid(serviceInstanceId);
+            if (vnfResourceCustomizations != null && vnfResourceCustomizations.size() >= 1) {
+                VnfResourceCustomization vrc = catalogDbClient.findVnfResourceCustomizationInList(vnfCustomizationUUID,
+                        vnfResourceCustomizations);
+                boolean skipConfigVNF = vrc.isSkipPostInstConf();
+                if (skipConfigVNF) {
+                    currentSequence++;
+                    ebb = flowsToExecute.get(currentSequence);
+                }
+            }
+        }
+
         boolean homing = (boolean) execution.getVariable("homing");
         boolean calledHoming = (boolean) execution.getVariable("calledHoming");
         if (homing && !calledHoming) {
index 029562a..a60927d 100644 (file)
@@ -40,10 +40,13 @@ import org.mockito.InjectMocks;
 import org.mockito.Mock;
 import org.mockito.Mockito;
 import org.mockito.Spy;
+import org.onap.aai.domain.yang.GenericVnf;
 import org.onap.so.bpmn.BaseTaskTest;
 import org.onap.so.bpmn.core.WorkflowException;
 import org.onap.so.bpmn.servicedecomposition.entities.BuildingBlock;
 import org.onap.so.bpmn.servicedecomposition.entities.ExecuteBuildingBlock;
+import org.onap.so.bpmn.servicedecomposition.entities.WorkflowResourceIds;
+import org.onap.so.db.catalog.beans.VnfResourceCustomization;
 import org.onap.so.db.request.beans.InfraActiveRequests;
 import org.springframework.core.env.Environment;
 
@@ -90,7 +93,30 @@ public class WorkflowActionBBTasksTest extends BaseTaskTest {
         execution.setVariable("calledHoming", false);
         List<ExecuteBuildingBlock> flowsToExecute = new ArrayList();
         ExecuteBuildingBlock ebb = new ExecuteBuildingBlock();
+
+        String vnfCustomizationUUID = "1234567";
+        String serviceInstanceId = "1234567";
+        BuildingBlock buildingBlock = new BuildingBlock();
+        buildingBlock.setBpmnFlowName("ConfigAssignVnfBB");
+        buildingBlock.setKey(vnfCustomizationUUID);
+        ebb.setBuildingBlock(buildingBlock);
+        WorkflowResourceIds workflowResourceIds = new WorkflowResourceIds();
+        workflowResourceIds.setServiceInstanceId(serviceInstanceId);
+        ebb.setWorkflowResourceIds(workflowResourceIds);
         flowsToExecute.add(ebb);
+
+        List<VnfResourceCustomization> vnfResourceCustomizations = new ArrayList();
+        VnfResourceCustomization vrc = new VnfResourceCustomization();
+        vrc.setSkipPostInstConf(false);
+        vrc.setModelCustomizationUUID(vnfCustomizationUUID);
+        vnfResourceCustomizations.add(vrc);
+        GenericVnf genericVnf = new GenericVnf();
+        genericVnf.setModelCustomizationId(vnfCustomizationUUID);
+        doReturn(vnfResourceCustomizations).when(catalogDbClient)
+                .getVnfResourceCustomizationByModelUuid(serviceInstanceId);
+        doReturn(vrc).when(catalogDbClient).findVnfResourceCustomizationInList(vnfCustomizationUUID,
+                vnfResourceCustomizations);
+
         execution.setVariable("flowsToExecute", flowsToExecute);
         workflowActionBBTasks.selectBB(execution);
         boolean success = (boolean) execution.getVariable("completed");
@@ -110,7 +136,30 @@ public class WorkflowActionBBTasksTest extends BaseTaskTest {
         List<ExecuteBuildingBlock> flowsToExecute = new ArrayList();
         ExecuteBuildingBlock ebb = new ExecuteBuildingBlock();
         ExecuteBuildingBlock ebb2 = new ExecuteBuildingBlock();
+
+        String vnfCustomizationUUID = "1234567";
+        String serviceInstanceId = "1234567";
+        BuildingBlock buildingBlock = new BuildingBlock();
+        buildingBlock.setBpmnFlowName("ConfigDeployVnfBB");
+        buildingBlock.setKey(vnfCustomizationUUID);
+        ebb.setBuildingBlock(buildingBlock);
+        WorkflowResourceIds workflowResourceIds = new WorkflowResourceIds();
+        workflowResourceIds.setServiceInstanceId(serviceInstanceId);
+        ebb.setWorkflowResourceIds(workflowResourceIds);
         flowsToExecute.add(ebb);
+
+        List<VnfResourceCustomization> vnfResourceCustomizations = new ArrayList();
+        VnfResourceCustomization vrc = new VnfResourceCustomization();
+        vrc.setSkipPostInstConf(false);
+        vrc.setModelCustomizationUUID(vnfCustomizationUUID);
+        vnfResourceCustomizations.add(vrc);
+        GenericVnf genericVnf = new GenericVnf();
+        genericVnf.setModelCustomizationId(vnfCustomizationUUID);
+        doReturn(vnfResourceCustomizations).when(catalogDbClient)
+                .getVnfResourceCustomizationByModelUuid(serviceInstanceId);
+        doReturn(vrc).when(catalogDbClient).findVnfResourceCustomizationInList(vnfCustomizationUUID,
+                vnfResourceCustomizations);
+
         flowsToExecute.add(ebb2);
         execution.setVariable("flowsToExecute", flowsToExecute);
         workflowActionBBTasks.selectBB(execution);
index 44242e9..6f4ea03 100644 (file)
@@ -1,49 +1,49 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-       <modelVersion>4.0.0</modelVersion>
-       <parent>
-               <groupId>org.onap.so</groupId>
-               <artifactId>so</artifactId>
-               <version>1.4.0-SNAPSHOT</version>
-       </parent>
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.onap.so</groupId>
+    <artifactId>so</artifactId>
+    <version>1.4.0-SNAPSHOT</version>
+  </parent>
 
-       <groupId>org.onap.so</groupId>
-       <artifactId>cloudify-client</artifactId>
-       <packaging>jar</packaging>
-       <name>Cloudify Rest Client</name>
-       <description>Java client for Cloudify REST interface</description>
+  <groupId>org.onap.so</groupId>
+  <artifactId>cloudify-client</artifactId>
+  <packaging>jar</packaging>
+  <name>Cloudify Rest Client</name>
+  <description>Java client for Cloudify REST interface</description>
 
-       <build>
-               <finalName>${project.artifactId}-${project.version}</finalName>
-               <plugins>
-                       <plugin>
-                               <artifactId>maven-jar-plugin</artifactId>
-                               <version>2.6</version>
-                               <configuration>
-                                       <classesDirectory>target/classes</classesDirectory>
-                               </configuration>
-                       </plugin>
-               </plugins>
-       </build>
+  <build>
+    <finalName>${project.artifactId}-${project.version}</finalName>
+    <plugins>
+      <plugin>
+        <artifactId>maven-jar-plugin</artifactId>
+        <version>2.6</version>
+        <configuration>
+          <classesDirectory>target/classes</classesDirectory>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
 
-       <dependencies>
-               <dependency>
-                       <groupId>org.onap.so</groupId>
-                       <artifactId>common</artifactId>
-                       <version>${project.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.httpcomponents</groupId>
-                       <artifactId>httpcore</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.httpcomponents</groupId>
-                       <artifactId>httpclient</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>commons-lang</groupId>
-                       <artifactId>commons-lang</artifactId>
-                       <version>2.6</version>
-               </dependency>
-       </dependencies>
+  <dependencies>
+    <dependency>
+      <groupId>org.onap.so</groupId>
+      <artifactId>common</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.httpcomponents</groupId>
+      <artifactId>httpcore</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.httpcomponents</groupId>
+      <artifactId>httpclient</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>commons-lang</groupId>
+      <artifactId>commons-lang</artifactId>
+      <version>2.6</version>
+    </dependency>
+  </dependencies>
 </project>
index 2a9f88f..0e9aa1d 100644 (file)
 <?xml version="1.0"?>
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.onap.so</groupId>
-        <artifactId>so</artifactId>
-        <version>1.4.0-SNAPSHOT</version>
-    </parent>
-    <artifactId>common</artifactId>
-    <name>MSO Common classes</name>
-    <description>MSO Common classes:- Logger</description>
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.onap.so</groupId>
+    <artifactId>so</artifactId>
+    <version>1.4.0-SNAPSHOT</version>
+  </parent>
+  <artifactId>common</artifactId>
+  <name>MSO Common classes</name>
+  <description>MSO Common classes:- Logger</description>
 
-    <properties>
-        <grpc.version>1.17.1</grpc.version>
-        <protobuf.version>3.6.1</protobuf.version>
-        <grpc.netty.version>4.1.30.Final</grpc.netty.version>
-        <ccsdk.version>0.4.2-SNAPSHOT</ccsdk.version>
-    </properties>
+  <properties>
+    <grpc.version>1.17.1</grpc.version>
+    <protobuf.version>3.6.1</protobuf.version>
+    <grpc.netty.version>4.1.30.Final</grpc.netty.version>
+    <ccsdk.version>0.4.2-SNAPSHOT</ccsdk.version>
+  </properties>
 
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.httpcomponents</groupId>
-            <artifactId>httpclient</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>javax.servlet-api</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-aspects</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-security</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-actuator</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.jayway.jsonpath</groupId>
-            <artifactId>json-path</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.hibernate</groupId>
-            <artifactId>hibernate-core</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-web</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-webmvc</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.onap.aai.schema-service</groupId>
-            <artifactId>aai-schema</artifactId>
-            <version>1.0.0</version>
-        </dependency>
-        <dependency>
-            <groupId>org.modelmapper</groupId>
-            <artifactId>modelmapper</artifactId>
-            <version>1.1.0</version>
-        </dependency>
-        <dependency>
-            <groupId>com.google.guava</groupId>
-            <artifactId>guava</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.commons</groupId>
-            <artifactId>commons-lang3</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.cxf</groupId>
-            <artifactId>cxf-rt-rs-client</artifactId>
-            <version>${cxf.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>com.shazam</groupId>
-            <artifactId>shazamcrest</artifactId>
-            <version>0.11</version>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>com.google.guava</groupId>
-                    <artifactId>guava</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.apache.commons</groupId>
-                    <artifactId>commons-lang3</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-ext</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-api</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-configuration-processor</artifactId>
-            <optional>true</optional>
-        </dependency>
-        <dependency>
-            <groupId>net.jodah</groupId>
-            <artifactId>failsafe</artifactId>
-            <version>1.1.0</version>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.security</groupId>
-            <artifactId>spring-security-web</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.onap.logging-analytics</groupId>
-            <artifactId>logging-slf4j</artifactId>
-            <version>1.2.2</version>
-        </dependency>
-        <dependency>
-            <groupId>org.mockito</groupId>
-            <artifactId>mockito-core</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.json</groupId>
-            <artifactId>json</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-test</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.reflections</groupId>
-            <artifactId>reflections</artifactId>
-            <version>0.9.11</version>
-        </dependency>
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.httpcomponents</groupId>
+      <artifactId>httpclient</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>javax.servlet</groupId>
+      <artifactId>javax.servlet-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>spring-aspects</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-security</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-actuator</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.jayway.jsonpath</groupId>
+      <artifactId>json-path</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.hibernate</groupId>
+      <artifactId>hibernate-core</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>spring-web</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>spring-webmvc</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.aai.schema-service</groupId>
+      <artifactId>aai-schema</artifactId>
+      <version>1.0.0</version>
+    </dependency>
+    <dependency>
+      <groupId>org.modelmapper</groupId>
+      <artifactId>modelmapper</artifactId>
+      <version>1.1.0</version>
+    </dependency>
+    <dependency>
+      <groupId>com.google.guava</groupId>
+      <artifactId>guava</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-lang3</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-rt-rs-client</artifactId>
+      <version>${cxf.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.shazam</groupId>
+      <artifactId>shazamcrest</artifactId>
+      <version>0.11</version>
+      <scope>test</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>com.google.guava</groupId>
+          <artifactId>guava</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.apache.commons</groupId>
+          <artifactId>commons-lang3</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-ext</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-configuration-processor</artifactId>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>net.jodah</groupId>
+      <artifactId>failsafe</artifactId>
+      <version>1.1.0</version>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.security</groupId>
+      <artifactId>spring-security-web</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.logging-analytics</groupId>
+      <artifactId>logging-slf4j</artifactId>
+      <version>1.2.2</version>
+    </dependency>
+    <dependency>
+      <groupId>org.mockito</groupId>
+      <artifactId>mockito-core</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.json</groupId>
+      <artifactId>json</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-test</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.reflections</groupId>
+      <artifactId>reflections</artifactId>
+      <version>0.9.11</version>
+    </dependency>
 
-        <!-- CDS dependencies -->
-        <dependency>
-            <groupId>org.onap.ccsdk.cds.components</groupId>
-            <artifactId>proto-definition</artifactId>
-            <version>${ccsdk.version}</version>
-        </dependency>
+    <!-- CDS dependencies -->
+    <dependency>
+      <groupId>org.onap.ccsdk.cds.components</groupId>
+      <artifactId>proto-definition</artifactId>
+      <version>${ccsdk.version}</version>
+    </dependency>
 
-        <!-- protobuf dependencies -->
-        <dependency>
-            <groupId>com.google.protobuf</groupId>
-            <artifactId>protobuf-java</artifactId>
-            <version>${protobuf.version}</version>
-        </dependency>
+    <!-- protobuf dependencies -->
+    <dependency>
+      <groupId>com.google.protobuf</groupId>
+      <artifactId>protobuf-java</artifactId>
+      <version>${protobuf.version}</version>
+    </dependency>
 
-        <!-- gRPC dependencies -->
-        <dependency>
-            <groupId>io.grpc</groupId>
-            <artifactId>grpc-protobuf</artifactId>
-            <version>${grpc.version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>com.google.code.findbugs</groupId>
-                    <artifactId>jsr305</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>io.grpc</groupId>
-            <artifactId>grpc-stub</artifactId>
-            <version>${grpc.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>io.grpc</groupId>
-            <artifactId>grpc-netty</artifactId>
-            <version>${grpc.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>io.grpc</groupId>
-            <artifactId>grpc-testing</artifactId>
-            <version>${grpc.version}</version>
-            <scope>test</scope>
-        </dependency>
+    <!-- gRPC dependencies -->
+    <dependency>
+      <groupId>io.grpc</groupId>
+      <artifactId>grpc-protobuf</artifactId>
+      <version>${grpc.version}</version>
+      <exclusions>
+        <exclusion>
+          <groupId>com.google.code.findbugs</groupId>
+          <artifactId>jsr305</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>io.grpc</groupId>
+      <artifactId>grpc-stub</artifactId>
+      <version>${grpc.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>io.grpc</groupId>
+      <artifactId>grpc-netty</artifactId>
+      <version>${grpc.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>io.grpc</groupId>
+      <artifactId>grpc-testing</artifactId>
+      <version>${grpc.version}</version>
+      <scope>test</scope>
+    </dependency>
 
-    </dependencies>
-    <build>
-        <resources>
-            <resource>
-                <directory>src/main/resources</directory>
-                <filtering>true</filtering>
-            </resource>
-            <resource>
-                <directory>src/main/java</directory>
-                <includes>
-                    <include>**/*.java</include>
-                </includes>
-            </resource>
-        </resources>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-surefire-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>default-test</id>
-                        <goals>
-                            <goal>test</goal>
-                        </goals>
-                        <configuration>
-                            <includes>
-                                <include>**/NonSpringSuite.java</include>
-                            </includes>
-                        </configuration>
-                    </execution>
-                    <execution>
-                        <id>spring-tests</id>
-                        <goals>
-                            <goal>test</goal>
-                        </goals>
-                        <configuration>
-                            <includes>
-                                <include>**/SpringSuite.java</include>
-                            </includes>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
+  </dependencies>
+  <build>
+    <resources>
+      <resource>
+        <directory>src/main/resources</directory>
+        <filtering>true</filtering>
+      </resource>
+      <resource>
+        <directory>src/main/java</directory>
+        <includes>
+          <include>**/*.java</include>
+        </includes>
+      </resource>
+    </resources>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>default-test</id>
+            <goals>
+              <goal>test</goal>
+            </goals>
+            <configuration>
+              <includes>
+                <include>**/NonSpringSuite.java</include>
+              </includes>
+            </configuration>
+          </execution>
+          <execution>
+            <id>spring-tests</id>
+            <goals>
+              <goal>test</goal>
+            </goals>
+            <configuration>
+              <includes>
+                <include>**/SpringSuite.java</include>
+              </includes>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
 </project>
index 0b10d85..0b3aa65 100644 (file)
@@ -28,7 +28,6 @@ import java.net.URL;
 import java.security.GeneralSecurityException;
 import java.util.ArrayList;
 import java.util.Base64;
-import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
index abef417..f5737b8 100644 (file)
@@ -33,9 +33,8 @@ import javax.ws.rs.client.ClientBuilder;
 public abstract class RestClientSSL extends RestClient {
 
     private static final String TRUE = "true";
-    public static final String SSL_KEY_STORE_KEY = "javax.net.ssl.keyStore";
-    public static final String SSL_KEY_STORE_PASSWORD_KEY = "javax.net.ssl.keyStorePassword";
-    public static final String MSO_LOAD_SSL_CLIENT_KEYSTORE_KEY = "mso.load.ssl.client.keystore";
+    private static final String SSL_KEY_STORE_KEY = "javax.net.ssl.keyStore";
+    private static final String MSO_LOAD_SSL_CLIENT_KEYSTORE_KEY = "mso.load.ssl.client.keystore";
 
 
     protected RestClientSSL(RestProperties props, Optional<URI> path) {
@@ -55,8 +54,7 @@ public abstract class RestClientSSL extends RestClient {
             if (loadSSLKeyStore != null && loadSSLKeyStore.equalsIgnoreCase(TRUE)) {
                 KeyStore ks = getKeyStore();
                 if (ks != null) {
-                    client = ClientBuilder.newBuilder()
-                            .keyStore(ks, System.getProperty(RestClientSSL.SSL_KEY_STORE_PASSWORD_KEY)).build();
+                    client = ClientBuilder.newBuilder().keyStore(ks, getSSlKeyStorePassword()).build();
                     logger.info("RestClientSSL not using default SSL context - setting keystore here.");
                     return client;
                 }
@@ -72,7 +70,7 @@ public abstract class RestClientSSL extends RestClient {
 
     private KeyStore getKeyStore() {
         KeyStore ks = null;
-        char[] password = System.getProperty(RestClientSSL.SSL_KEY_STORE_PASSWORD_KEY).toCharArray();
+        char[] password = getSSlKeyStorePassword().toCharArray();
         try (FileInputStream fis = new FileInputStream(
                 Paths.get(System.getProperty(RestClientSSL.SSL_KEY_STORE_KEY)).normalize().toString())) {
             ks = KeyStore.getInstance(KeyStore.getDefaultType());
@@ -84,4 +82,8 @@ public abstract class RestClientSSL extends RestClient {
 
         return ks;
     }
+
+    private String getSSlKeyStorePassword() {
+        return System.getProperty("javax.net.ssl.keyStorePassword");
+    }
 }
index a1e58c6..37a5c0b 100644 (file)
@@ -1,15 +1,23 @@
-/*
- * Copyright (C) 2019 Bell Canada.
- *
- * 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_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2019 Bell Canada.
+ * ================================================================================
+ * 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.client.cds;
 
 import org.onap.so.client.RestProperties;
index e233db4..2834d37 100644 (file)
@@ -1,15 +1,23 @@
-/*
- * Copyright (C) 2019 Bell Canada.
- *
- * 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_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2019 Bell Canada.
+ * ================================================================================
+ * 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.client.cds;
 
 import java.net.URL;
index 3f4c99e..2c891f2 100644 (file)
@@ -1,60 +1,61 @@
 <?xml version="1.0"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-       <modelVersion>4.0.0</modelVersion>
-       <parent>
-        <groupId>org.onap.so</groupId>
-        <artifactId>so</artifactId>
-        <version>1.4.0-SNAPSHOT</version>
-       </parent>
-       <name>CXFLogging</name>
-       <description>Common CXF Logging Classes</description>
-       <dependencies>
-               <dependency>
-                       <groupId>org.apache.cxf</groupId>
-                       <artifactId>cxf-rt-rs-client</artifactId>
-                       <version>${cxf.version}</version>
-               </dependency>
-               <dependency>
-               <groupId>org.apache.cxf</groupId>
-               <artifactId>cxf-rt-bindings-soap</artifactId>
-                       <version>${cxf.version}</version>
-               </dependency>
-               <dependency>
-               <groupId>org.apache.cxf</groupId>
-               <artifactId>cxf-rt-transports-http</artifactId>
-               <version>${cxf.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>javax.servlet</groupId>
-                       <artifactId>javax.servlet-api</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.slf4j</groupId>
-                       <artifactId>slf4j-ext</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.slf4j</groupId>
-                       <artifactId>slf4j-api</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.logging-analytics</groupId>
-                       <artifactId>logging-slf4j</artifactId>
-                       <version>1.2.2</version>
-               </dependency>
-    </dependencies>
-       <build>
-               <resources>
-                       <resource>
-                               <directory>src/main/resources</directory>
-                               <filtering>true</filtering>
-                       </resource>
-                       <resource>
-                               <directory>src/main/java</directory>
-                               <includes>
-                                       <include>**/*.java</include>
-                               </includes>
-                       </resource>
-               </resources>            
-       </build>
-       <artifactId>cxf-logging</artifactId>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.onap.so</groupId>
+    <artifactId>so</artifactId>
+    <version>1.4.0-SNAPSHOT</version>
+  </parent>
+  <name>CXFLogging</name>
+  <description>Common CXF Logging Classes</description>
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-rt-rs-client</artifactId>
+      <version>${cxf.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-rt-bindings-soap</artifactId>
+      <version>${cxf.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-rt-transports-http</artifactId>
+      <version>${cxf.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>javax.servlet</groupId>
+      <artifactId>javax.servlet-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-ext</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.logging-analytics</groupId>
+      <artifactId>logging-slf4j</artifactId>
+      <version>1.2.2</version>
+    </dependency>
+  </dependencies>
+  <build>
+    <resources>
+      <resource>
+        <directory>src/main/resources</directory>
+        <filtering>true</filtering>
+      </resource>
+      <resource>
+        <directory>src/main/java</directory>
+        <includes>
+          <include>**/*.java</include>
+        </includes>
+      </resource>
+    </resources>
+  </build>
+  <artifactId>cxf-logging</artifactId>
 </project>
index 704ca4e..6935a15 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+  xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <modelVersion>4.0.0</modelVersion>
   <parent>
     <groupId>org.onap.so</groupId>
   </properties>
   <build>
     <plugins>
-    <plugin>
-      <groupId>org.apache.maven.plugins</groupId>
-      <artifactId>maven-resources-plugin</artifactId>                
-      <configuration>
-        <nonFilteredFileExtensions>
-          <nonFilteredFileExtension>jks</nonFilteredFileExtension>
-        </nonFilteredFileExtensions>
-      </configuration>
-    </plugin>
-  </plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-resources-plugin</artifactId>
+        <configuration>
+          <nonFilteredFileExtensions>
+            <nonFilteredFileExtension>jks</nonFilteredFileExtension>
+          </nonFilteredFileExtensions>
+        </configuration>
+      </plugin>
+    </plugins>
   </build>
   <dependencies>
     <dependency>
index 579a12d..59dc9d6 100644 (file)
@@ -10,4 +10,5 @@ Developer Information
 \r
    Install_Configure_SO.rst\r
    architecture.rst\r
+   FAQs.rst\r
    
\ No newline at end of file
diff --git a/docs/architecture/SO Internal Arc.pptx b/docs/architecture/SO Internal Arc.pptx
new file mode 100644 (file)
index 0000000..bff3e35
Binary files /dev/null and b/docs/architecture/SO Internal Arc.pptx differ
index 681e9db..52eb38c 100644 (file)
@@ -101,6 +101,14 @@ SO Sub-Components
    * Service statistic
    * Service Process Instance Rendering and Detail
 
+**SO VNFM Adapter**
+
+  Support external SVNFMs through SOL003 APIs
+   * Create, Instantiate, Terminate and Delete VNF, including Granting, Subscription and Lifecycle Notifications
+   * Tracking capability which VNFM instance has handled with which VNF instance
+   * BPMN Building Block workflows and Java-based recipes for VNF LCM
+   * VNFM Simulator for validating SO VNFM Adapter NBI and SBI for integration testing
+
 Third Party and Open Source
 ---------------------------
 
diff --git a/docs/developer_info/BBUnderstanding.rst b/docs/developer_info/BBUnderstanding.rst
new file mode 100644 (file)
index 0000000..2aa7097
--- /dev/null
@@ -0,0 +1,7 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.\r
+.. http://creativecommons.org/licenses/by/4.0\r
+.. Copyright 2018 Huawei Technologies Co., Ltd.\r
+\r
+Building Block Understanding\r
+============================\r
+\r
diff --git a/docs/developer_info/FAQs.rst b/docs/developer_info/FAQs.rst
new file mode 100644 (file)
index 0000000..cd67840
--- /dev/null
@@ -0,0 +1,102 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. Copyright 2018 Huawei Technologies Co., Ltd.
+
+Frequently Asked Questions SO
+=============================
+
+Casablanca Release throws java.sql.SQLDataException: (conn:85) Data too long for column 'RESOURCE_INPUT' at row 1
+-----------------------------------------------------------------------------------------------------------------
+    
+  This issue could be solved either using the SO-1.3.7 release or through a manual patch to update the lenght of the column 'RESOURCE_INPUT'.
+  
+  Following are the sql statements to update length of resource_input:
+       
+       use catalogdb;
+       
+       ALTER TABLE vnf_resource_customization
+       MODIFY IF EXISTS RESOURCE_INPUT varchar(20000);
+       
+       ALTER TABLE network_resource_customization
+       MODIFY IF EXISTS RESOURCE_INPUT varchar(20000);
+       
+       ALTER TABLE allotted_resource_customization
+       MODIFY IF EXISTS RESOURCE_INPUT varchar(20000);
+       
+       in so mariadb pod (username/password root/password)
+
+Integrate SO with MultiCloud
+----------------------------
+.. toctree::
+   :maxdepth: 1
+
+   SOMCIntegrate.rst
+
+Building Block Understanding
+----------------------------
+.. toctree::
+   :maxdepth: 1
+
+   BBUnderstanding.rst
+
+How to Build software without unit tests
+----------------------------------------
+
+.. code-block:: bash
+
+  cd $HOME/onap/workspace/SO/libs
+
+  $HOME/onap/apache-maven-3.3.9/bin/mvn -s $HOME/onap/.m2/settings.xml -DskipTests -Dmaven.test.skip=true clean install
+
+  cd $HOME/onap/workspace/SO/so
+
+  $HOME/onap/apache-maven-3.3.9/bin/mvn -s $HOME/onap/.m2/settings.xml -DskipTests -Dmaven.test.skip=true clean install
+
+How to Build docker images
+--------------------------
+
+SO docker images are built using the "docker" maven profile.  
+
+During the build, the chef-repo and so-docker repositories are cloned from gerrit into the "so" directory structure.  Extra definitions are required in the build environment to make this happen.   You may need to adjust the definition of mso.chef.git.url.prefix to match the way you authenticate yourself when performing git clone.
+
+If you are behind a corporate firewall, you can specify proxy definitions for the constructed docker images.
+
+**Remove existing docker containers and images**
+
+.. code-block:: bash
+
+  docker stop $(docker ps -qa)
+
+  docker rm $(docker ps -aq)
+
+  docker rmi -f $(docker images -q)
+
+**Build docker images (without proxy definition):**
+
+.. code-block:: bash
+
+  cd $HOME/onap/workspace/SO/so/packages
+
+  $HOME/onap/apache-maven-3.3.9/bin/mvn -s $HOME/onap/.m2/settings.xml clean install -P docker
+  -Dmso.chef.git.url.prefix=ssh://$USER@gerrit.onap.org:29418 -Dmso.chef.git.branchname=master
+  -Dmso.chef.git.url.suffix.chef.repo=so/chef-repo -Dmso.chef.git.url.suffix.chef.config=so/so-config
+  -Ddocker.buildArg.http_proxy=http://one.proxy.att.com:8080
+  -Ddocker.buildArg.https_proxy=http://one.proxy.att.com:8080
+
+**Build docker images (with proxy definition):**
+
+.. code-block:: bash
+
+  cd $HOME/onap/workspace/SO/so/packages
+  
+  $HOME/onap/apache-maven-3.3.9/bin/mvn -s $HOME/onap/.m2/settings.xml clean install -P docker
+  -Dmso.chef.git.url.prefix=ssh://$USER@gerrit.onap.org:29418 -Dmso.chef.git.branchname=master
+  -Dmso.chef.git.url.suffix.chef.repo=so/chef-repo -Dmso.chef.git.url.suffix.chef.config=so/so-config
+  -Ddocker.buildArg.http_proxy=http://proxyhost:port -Ddocker.buildArg.https_proxy=http://proxyhost:port
+
+How to Build with Integration Tests
+-----------------------------------
+
+This is done exactly as described for building docker images, except that the maven profile to use is "with-integration-tests" instead of "docker".  Integration tests are executed inside docker containers constructed by the build.
+
+
diff --git a/docs/developer_info/SOMCIntegrate.rst b/docs/developer_info/SOMCIntegrate.rst
new file mode 100644 (file)
index 0000000..cae2d54
--- /dev/null
@@ -0,0 +1,142 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.\r
+.. http://creativecommons.org/licenses/by/4.0\r
+.. Copyright 2018 Huawei Technologies Co., Ltd.\r
+\r
+Integrate SO with MultiCloud\r
+=============================\r
+\r
+There are 2 SO tables that you need to modify if you want to use Multicloud. They are in the MariaDB container in the dev-so service. Here are the credentials to access the DB (through mysql command line): cataloguser/catalog123. The table you need to use is called catalogdb.\r
+\r
\r
+\r
+The 2 tables are cloud_sites and identity_services. cloud_sites contains information about the cloud (region name and keystone for example). The keystone name (IDENTITY_SERVICE_ID) is the key of identity_services table, which contains specific information about cloud authentication. In the example below, you can see my configuration for a cloud region called RegionTwo, in which SO uses Multicoud for talking to the underlying cloud platfrorm. Note indeed that the IDENTITY_URL in identity_services redirects to Multicloud. In practice, SO reads cloud and authentication information from this two tables, and uses the provided keystone authentication given an identity URL.\r
+\r
\r
+\r
+MariaDB [catalogdb]> select * from cloud_sites;\r
+\r
++-------------------+-----------+---------------------+---------------+-----------+-------------+----------+--------------+-----------------+---------------------+---------------------+\r
+\r
+| ID                | REGION_ID | IDENTITY_SERVICE_ID | CLOUD_VERSION | CLLI      | CLOUDIFY_ID | PLATFORM | ORCHESTRATOR | LAST_UPDATED_BY | CREATION_TIMESTAMP  | UPDATE_TIMESTAMP    |\r
+\r
++-------------------+-----------+---------------------+---------------+-----------+-------------+----------+--------------+-----------------+---------------------+---------------------+\r
+\r
+| Chicago           | ORD       | RAX_KEYSTONE        | 2.5           | ORD       | NULL        | NULL     | NULL         | FLYWAY          | 2018-12-28 22:58:34 | 2018-12-28 22:58:34 |\r
+\r
+| Dallas            | DFW       | RAX_KEYSTONE        | 2.5           | DFW       | NULL        | NULL     | NULL         | FLYWAY          | 2018-12-28 22:58:34 | 2018-12-28 22:58:34 |\r
+\r
+| DEFAULT           | RegionOne | DEFAULT_KEYSTONE    | 2.5           | RegionOne | NULL        | NULL     | NULL         | FLYWAY          | 2018-12-28 22:58:34 | 2018-12-28 22:58:34 |\r
+\r
+| Northern Virginia | IAD       | RAX_KEYSTONE        | 2.5           | IAD       | NULL        | NULL     | NULL         | FLYWAY          | 2018-12-28 22:58:34 | 2018-12-28 22:58:34 |\r
+\r
+| RegionOne         | RegionOne | DEFAULT_KEYSTONE    | 2.5           | RegionOne | NULL        | NULL     | NULL         | FLYWAY          | 2018-12-28 22:58:34 | 2018-12-28 22:58:34 |\r
+\r
+| RegionTwo         | RegionTwo | KEYSTONE_REGION_TWO | 2.5           | RegionTwo | NULL        | NULL     | NULL         | FLYWAY          | 2019-01-02 20:07:28 | 2019-01-02 20:07:28 |\r
+\r
++-------------------+-----------+---------------------+---------------+-----------+-------------+----------+--------------+-----------------+---------------------+---------------------+\r
+\r
\r
+\r
\r
+\r
+MariaDB [catalogdb]> select * from identity_services;\r
+\r
++---------------------+--------------------------------------------------------------------------------+----------------------+----------------------------------+--------------+-------------+-----------------+----------------------+------------------------------+-----------------+---------------------+---------------------+\r
+\r
+| ID                  | IDENTITY_URL                                                                   | MSO_ID               | MSO_PASS                         | ADMIN_TENANT | MEMBER_ROLE | TENANT_METADATA | IDENTITY_SERVER_TYPE | IDENTITY_AUTHENTICATION_TYPE | LAST_UPDATED_BY | CREATION_TIMESTAMP  | UPDATE_TIMESTAMP    |\r
+\r
++---------------------+--------------------------------------------------------------------------------+----------------------+----------------------------------+--------------+-------------+-----------------+----------------------+------------------------------+-----------------+---------------------+---------------------+\r
+\r
+| DEFAULT_KEYSTONE    | http://135.197.225.10:5000/v2.0                                                | admin                | a83e2b8446193c5ac450d84f0f1dc711 | service      | admin       |               1 | KEYSTONE             | USERNAME_PASSWORD            | FLYWAY          | 2018-12-28 22:58:34 | 2018-12-28 22:58:34 |\r
+\r
+| KEYSTONE_REGION_TWO | http://10.43.117.142:9001/api/multicloud/v0/CloudOwner_RegionTwo/identity/v2.0 | username                | <encrypted pwd> | service      | admin       |               1 | KEYSTONE             | USERNAME_PASSWORD            | FLYWAY          | 2019-01-02 20:03:26 | 2019-01-02 20:03:26 |\r
+\r
+| RAX_KEYSTONE        | https://identity.api.rackspacecloud.com/v2.0                                   | RACKSPACE_ACCOUNT_ID | RACKSPACE_ACCOUNT_APIKEY         | service      | admin       |               1 | KEYSTONE             | RACKSPACE_APIKEY             | FLYWAY          | 2018-12-28 22:58:34 | 2018-12-28 22:58:34 |\r
+\r
++---------------------+--------------------------------------------------------------------------------+----------------------+----------------------------------+--------------+-------------+-----------------+----------------------+------------------------------+-----------------+---------------------+---------------------+\r
+\r
\r
+\r
+One thing to know is that the actual IP 10.43.117.142:9001 is the MSB (iag) container. Multicloud registers with MSB, so you can use MSB to fetch the Multicloud endpoint (I think you can use the K8S cluster IP and MSB node port for that instead of the actual MSB container IP and port).\r
+\r
\r
+\r
+One final thing: you may need to add identity URL to the AAI cloud region as well, like this:\r
+\r
\r
+\r
+curl -X PUT \\r
+\r
+  https://135.197.220.117:30233/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionTwo \\r
+\r
+  -H 'Accept: application/json' \\r
+\r
+  -H 'Content-Type: application/json' \\r
+\r
+  -H 'Postman-Token: b05ff02d-78c7-4e1e-9457-d9fa9cc5da65' \\r
+\r
+  -H 'X-FromAppId: AAI' \\r
+\r
+  -H 'X-TransactionId: get_aai_subscr' \\r
+\r
+  -H 'cache-control: no-cache' \\r
+\r
+  -d '{\r
+\r
+    "cloud-owner": "CloudOwner",\r
+\r
+    "cloud-region-id": "RegionTwo",\r
+\r
+    "cloud-type": "openstack",\r
+\r
+    "cloud-region-version": "v2.5",\r
+\r
+    "identity-url": "http://10.43.111.6/api/multicloud/v0/CloudOwner_RegionTwo/identity/v2.0/tokens",\r
+\r
+    "cloud-zone": "bm-2",\r
+\r
+    "complex-name": "complex-2",\r
+\r
+    "tenants": {\r
+\r
+        "tenant": [{\r
+\r
+            "tenant-id": "c236140a3dff4911bb4c7c86940616cc",\r
+\r
+            "tenant-name": "ONAP_Casablanca"\r
+\r
+        }]\r
+\r
+    },\r
+\r
+    "esr-system-info-list": {\r
+\r
+      "esr-system-info": [{\r
+\r
+        "esr-system-info-id": "1",\r
+\r
+        "system-name": "OpenStack-2",\r
+\r
+            "type": "vim",\r
+\r
+            "service-url": "http://XXX:5000/v3",\r
+\r
+            "user-name": "username",\r
+\r
+            "password": "password",\r
+\r
+            "system-type": "VIM",\r
+\r
+            "ssl-insecure": true,\r
+\r
+            "cloud-domain": "default",\r
+\r
+            "default-tenant": "ONAP_Casablanca"\r
+\r
+      }]\r
+\r
+    }\r
+\r
+}'\r
+\r
\ No newline at end of file
index 0d84829..a973bb1 100644 (file)
Binary files a/docs/images/SO_Architecture_1.png and b/docs/images/SO_Architecture_1.png differ
index 9c30c4d..1c1f76e 100644 (file)
Binary files a/docs/images/SO_Architecture_Internal.png and b/docs/images/SO_Architecture_Internal.png differ
diff --git a/docs/images/SO_VNFM_Adapter_Architecture_Dublin.png b/docs/images/SO_VNFM_Adapter_Architecture_Dublin.png
new file mode 100644 (file)
index 0000000..cb1a812
Binary files /dev/null and b/docs/images/SO_VNFM_Adapter_Architecture_Dublin.png differ
diff --git a/docs/images/SO_VNFM_Adapter_Runtime_Components.png b/docs/images/SO_VNFM_Adapter_Runtime_Components.png
new file mode 100644 (file)
index 0000000..0878f70
Binary files /dev/null and b/docs/images/SO_VNFM_Adapter_Runtime_Components.png differ
index 7adb7d1..a3fd37c 100644 (file)
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-       <modelVersion>4.0.0</modelVersion>
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
 
-       <parent>
-               <groupId>org.onap.so</groupId>
-               <artifactId>mso-api-handlers</artifactId>
-               <version>1.4.0-SNAPSHOT</version>
-       </parent>
+  <parent>
+    <groupId>org.onap.so</groupId>
+    <artifactId>mso-api-handlers</artifactId>
+    <version>1.4.0-SNAPSHOT</version>
+  </parent>
 
 
-       <artifactId>mso-api-handler-common</artifactId>
+  <artifactId>mso-api-handler-common</artifactId>
 
-       <name>mso-api-handler-common</name>
-       <description>ONAP SO API Handler Common Libraries</description>
-       <properties>
-               <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-               <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-               <swagger-version>1.3.0</swagger-version>
-               <jax-rs-version>1.1.1</jax-rs-version>
-               <json4s-jackson-version>3.6.0</json4s-jackson-version>
-               <json4s-core-version>3.6.0</json4s-core-version>
-               <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>
-                       <dependency>
-                               <!-- Import dependency management from Spring Boot -->
-                               <groupId>org.springframework.boot</groupId>
-                               <artifactId>spring-boot-dependencies</artifactId>
-                               <version>${springboot.version}</version>
-                               <type>pom</type>
-                               <scope>import</scope>
-                       </dependency>
-               </dependencies>
-       </dependencyManagement>
-       <dependencies>
-                       <!-- Dependencies on other MSO Projects -->
-               <dependency>
-                       <groupId>org.onap.so</groupId>
-                       <artifactId>mso-requests-db</artifactId>
-                       <version>${project.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-jersey</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>commons-lang</groupId>
-                       <artifactId>commons-lang</artifactId>
-                       <version>2.6</version>
-               </dependency>
-               <dependency>
-                       <groupId>antlr</groupId>
-                       <artifactId>antlr</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>javax.activation</groupId>
-                       <artifactId>activation</artifactId>
-                       <version>1.1.1</version>
-               </dependency>
-               <dependency>
-                       <groupId>javax.transaction</groupId>
-                       <artifactId>jta</artifactId>
-                       <version>1.1</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.json4s</groupId>
-                       <artifactId>json4s-jackson_2.12</artifactId>
-                       <version>${json4s-jackson-version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.json4s</groupId>
-                       <artifactId>json4s-core_2.12</artifactId>
-                       <version>${json4s-core-version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>javax.servlet</groupId>
-                       <artifactId>servlet-api</artifactId>
-                       <version>2.5</version>
-               </dependency>           
-               <dependency>
-                       <groupId>org.json</groupId>
-                       <artifactId>json</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-test</artifactId>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-configuration-processor</artifactId>
-                       <optional>true</optional>
-               </dependency>
-               <dependency>
-                       <groupId>com.googlecode.junit-toolbox</groupId>
-                       <artifactId>junit-toolbox</artifactId>
-                       <version>2.4</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.so</groupId>
-                       <artifactId>common</artifactId>
-                       <version>${project.version}</version>
-               </dependency>
-       </dependencies>
+  <name>mso-api-handler-common</name>
+  <description>ONAP SO API Handler Common Libraries</description>
+  <properties>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+    <swagger-version>1.3.0</swagger-version>
+    <jax-rs-version>1.1.1</jax-rs-version>
+    <json4s-jackson-version>3.6.0</json4s-jackson-version>
+    <json4s-core-version>3.6.0</json4s-core-version>
+    <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>
+      <dependency>
+        <!-- Import dependency management from Spring Boot -->
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-dependencies</artifactId>
+        <version>${springboot.version}</version>
+        <type>pom</type>
+        <scope>import</scope>
+      </dependency>
+    </dependencies>
+  </dependencyManagement>
+  <dependencies>
+    <!-- Dependencies on other MSO Projects -->
+    <dependency>
+      <groupId>org.onap.so</groupId>
+      <artifactId>mso-requests-db</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-jersey</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>commons-lang</groupId>
+      <artifactId>commons-lang</artifactId>
+      <version>2.6</version>
+    </dependency>
+    <dependency>
+      <groupId>antlr</groupId>
+      <artifactId>antlr</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>javax.activation</groupId>
+      <artifactId>activation</artifactId>
+      <version>1.1.1</version>
+    </dependency>
+    <dependency>
+      <groupId>javax.transaction</groupId>
+      <artifactId>jta</artifactId>
+      <version>1.1</version>
+    </dependency>
+    <dependency>
+      <groupId>org.json4s</groupId>
+      <artifactId>json4s-jackson_2.12</artifactId>
+      <version>${json4s-jackson-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.json4s</groupId>
+      <artifactId>json4s-core_2.12</artifactId>
+      <version>${json4s-core-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>javax.servlet</groupId>
+      <artifactId>servlet-api</artifactId>
+      <version>2.5</version>
+    </dependency>
+    <dependency>
+      <groupId>org.json</groupId>
+      <artifactId>json</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-test</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-configuration-processor</artifactId>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>com.googlecode.junit-toolbox</groupId>
+      <artifactId>junit-toolbox</artifactId>
+      <version>2.4</version>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so</groupId>
+      <artifactId>common</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+  </dependencies>
 
-       <build>
-               <finalName>${project.artifactId}-${project.version}</finalName>
-               <plugins>
-                       <plugin>
-                               <groupId>org.apache.maven.plugins</groupId>
-                               <artifactId>maven-surefire-plugin</artifactId>
-                               <executions>
-                                       <execution>
-                                               <id>default-test</id>
-                                               <goals>
-                                                       <goal>test</goal>
-                                               </goals>
-                                       </execution>
-                               </executions>
-                       </plugin>
-               </plugins>
-       </build>
-       <packaging>jar</packaging>
+  <build>
+    <finalName>${project.artifactId}-${project.version}</finalName>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>default-test</id>
+            <goals>
+              <goal>test</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+  <packaging>jar</packaging>
 </project>
index 1359a7f..dc665a9 100644 (file)
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-       <modelVersion>4.0.0</modelVersion>
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
 
-       <parent>
-               <groupId>org.onap.so</groupId>
-               <artifactId>mso-api-handlers</artifactId>
-               <version>1.4.0-SNAPSHOT</version>
-       </parent>
+  <parent>
+    <groupId>org.onap.so</groupId>
+    <artifactId>mso-api-handlers</artifactId>
+    <version>1.4.0-SNAPSHOT</version>
+  </parent>
 
 
-       <artifactId>mso-api-handler-infra</artifactId>
+  <artifactId>mso-api-handler-infra</artifactId>
 
-       <name>mso-api-handler-infra</name>
-       <description>ONAP SO API Handler Infra</description>
-       <properties>
-               <camunda.version>7.10.0</camunda.version>
-               <camunda.bpm.assert.version>1.2</camunda.bpm.assert.version>
-               <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-               <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-               <swagger-version>1.3.0</swagger-version>
-               <jax-rs-version>1.1.1</jax-rs-version>
-               <json4s-jackson-version>3.6.0</json4s-jackson-version>
-               <json4s-core-version>3.6.0</json4s-core-version>
-               <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>
-                       <dependency>
-                               <!-- Import dependency management from Spring Boot -->
-                               <groupId>org.springframework.boot</groupId>
-                               <artifactId>spring-boot-dependencies</artifactId>
-                               <version>${springboot.version}</version>
-                               <type>pom</type>
-                               <scope>import</scope>
-                       </dependency>
-                       <dependency>
-                               <!-- Import dependency management from camunda -->
-                               <groupId>org.camunda.bpm</groupId>
-                               <artifactId>camunda-bom</artifactId>
-                               <version>${camunda.version}</version>
-                               <scope>import</scope>
-                               <type>pom</type>
-                       </dependency>
-               </dependencies>
-       </dependencyManagement>
-       <dependencies>
-               <dependency>
-             <groupId>org.camunda.bpm</groupId>
-             <artifactId>camunda-engine</artifactId>
-           </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-web</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>io.swagger</groupId>
-                       <artifactId>swagger-jersey2-jaxrs</artifactId>
-                       <version>1.5.16</version>
-               </dependency>
-               <dependency>
-                       <groupId>com.h2database</groupId>
-                       <artifactId>h2</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.mariadb.jdbc</groupId>
-                       <artifactId>mariadb-java-client</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-actuator</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-jersey</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-data-jpa</artifactId>
-                       <exclusions>
-                       <exclusion>
-                           <groupId>org.apache.tomcat</groupId>
-                           <artifactId>tomcat-jdbc</artifactId>
-                        </exclusion>
-               </exclusions>
-               </dependency>
-               <dependency>
-                       <groupId>commons-lang</groupId>
-                       <artifactId>commons-lang</artifactId>
-                       <version>2.6</version>
-               </dependency>
-               <dependency>
-                       <groupId>javax.activation</groupId>
-                       <artifactId>activation</artifactId>
-                       <version>1.1.1</version>
-               </dependency>
-               <dependency>
-                       <groupId>javax.transaction</groupId>
-                       <artifactId>jta</artifactId>
-                       <version>1.1</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.json4s</groupId>
-                       <artifactId>json4s-jackson_2.12</artifactId>
-                       <version>${json4s-jackson-version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.json4s</groupId>
-                       <artifactId>json4s-core_2.12</artifactId>
-                       <version>${json4s-core-version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>javax.servlet</groupId>
-                       <artifactId>javax.servlet-api</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>javax.interceptor</groupId>
-                       <artifactId>javax.interceptor-api</artifactId>
-               </dependency>
+  <name>mso-api-handler-infra</name>
+  <description>ONAP SO API Handler Infra</description>
+  <properties>
+    <camunda.version>7.10.0</camunda.version>
+    <camunda.bpm.assert.version>1.2</camunda.bpm.assert.version>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+    <swagger-version>1.3.0</swagger-version>
+    <jax-rs-version>1.1.1</jax-rs-version>
+    <json4s-jackson-version>3.6.0</json4s-jackson-version>
+    <json4s-core-version>3.6.0</json4s-core-version>
+    <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>
+      <dependency>
+        <!-- Import dependency management from Spring Boot -->
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-dependencies</artifactId>
+        <version>${springboot.version}</version>
+        <type>pom</type>
+        <scope>import</scope>
+      </dependency>
+      <dependency>
+        <!-- Import dependency management from camunda -->
+        <groupId>org.camunda.bpm</groupId>
+        <artifactId>camunda-bom</artifactId>
+        <version>${camunda.version}</version>
+        <scope>import</scope>
+        <type>pom</type>
+      </dependency>
+    </dependencies>
+  </dependencyManagement>
+  <dependencies>
+    <dependency>
+      <groupId>org.camunda.bpm</groupId>
+      <artifactId>camunda-engine</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-web</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>io.swagger</groupId>
+      <artifactId>swagger-jersey2-jaxrs</artifactId>
+      <version>1.5.16</version>
+    </dependency>
+    <dependency>
+      <groupId>com.h2database</groupId>
+      <artifactId>h2</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.mariadb.jdbc</groupId>
+      <artifactId>mariadb-java-client</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-actuator</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-jersey</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-data-jpa</artifactId>
+      <exclusions>
+        <exclusion>
+          <groupId>org.apache.tomcat</groupId>
+          <artifactId>tomcat-jdbc</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>commons-lang</groupId>
+      <artifactId>commons-lang</artifactId>
+      <version>2.6</version>
+    </dependency>
+    <dependency>
+      <groupId>javax.activation</groupId>
+      <artifactId>activation</artifactId>
+      <version>1.1.1</version>
+    </dependency>
+    <dependency>
+      <groupId>javax.transaction</groupId>
+      <artifactId>jta</artifactId>
+      <version>1.1</version>
+    </dependency>
+    <dependency>
+      <groupId>org.json4s</groupId>
+      <artifactId>json4s-jackson_2.12</artifactId>
+      <version>${json4s-jackson-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.json4s</groupId>
+      <artifactId>json4s-core_2.12</artifactId>
+      <version>${json4s-core-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>javax.servlet</groupId>
+      <artifactId>javax.servlet-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>javax.interceptor</groupId>
+      <artifactId>javax.interceptor-api</artifactId>
+    </dependency>
 
-               <!-- Dependencies on other MSO Projects -->
-               <dependency>
-                       <groupId>org.onap.so</groupId>
-                       <artifactId>mso-requests-db</artifactId>
-                       <version>${project.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.so</groupId>
-                       <artifactId>mso-requests-db-repositories</artifactId>
-                       <version>${project.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.so</groupId>
-                       <artifactId>mso-catalog-db</artifactId>
-                       <version>${project.version}</version>
-               </dependency>
+    <!-- Dependencies on other MSO Projects -->
+    <dependency>
+      <groupId>org.onap.so</groupId>
+      <artifactId>mso-requests-db</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so</groupId>
+      <artifactId>mso-requests-db-repositories</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so</groupId>
+      <artifactId>mso-catalog-db</artifactId>
+      <version>${project.version}</version>
+    </dependency>
 
-               <!-- Test Dependencies -->
-               <dependency>
-                       <groupId>pl.pragmatists</groupId>
-                       <artifactId>JUnitParams</artifactId>
-                       <version>1.0.5</version>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>junit</groupId>
-                       <artifactId>junit</artifactId>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.sdc.sdc-distribution-client</groupId>
-                       <artifactId>sdc-distribution-client</artifactId>
-                       <version>1.3.0</version>
-                       <exclusions>
-                               <exclusion>
-                                       <groupId>org.slf4j</groupId>
-                                       <artifactId>slf4j-log4j12</artifactId>
-                               </exclusion>
-                       </exclusions>
-               </dependency>
-               <dependency>
-                       <groupId>com.github.java-json-tools</groupId>
-                       <artifactId>json-schema-core</artifactId>
-                       <version>1.2.8</version>
-               </dependency>
-               <dependency>
-                       <groupId>com.github.java-json-tools</groupId>
-                       <artifactId>json-schema-validator</artifactId>
-                       <version>2.2.8</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-test</artifactId>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>com.h2database</groupId>
-                       <artifactId>h2</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-configuration-processor</artifactId>
-                       <optional>true</optional>
-               </dependency>
-               <dependency>
-                       <groupId>ch.vorburger.mariaDB4j</groupId>
-                       <artifactId>mariaDB4j</artifactId>
-                       <version>2.2.3</version>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>com.googlecode.junit-toolbox</groupId>
-                       <artifactId>junit-toolbox</artifactId>
-                       <version>2.4</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.so</groupId>
-                       <artifactId>mso-api-handler-common</artifactId>
-                       <version>${project.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.cloud</groupId>
-                       <artifactId>spring-cloud-contract-wiremock</artifactId>
-                       <version>1.2.4.RELEASE</version>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>io.micrometer</groupId>
-                       <artifactId>micrometer-core</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>io.micrometer</groupId>
-                       <artifactId>micrometer-registry-prometheus</artifactId>
-               </dependency>
-       </dependencies>
+    <!-- Test Dependencies -->
+    <dependency>
+      <groupId>pl.pragmatists</groupId>
+      <artifactId>JUnitParams</artifactId>
+      <version>1.0.5</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.sdc.sdc-distribution-client</groupId>
+      <artifactId>sdc-distribution-client</artifactId>
+      <version>1.3.0</version>
+      <exclusions>
+        <exclusion>
+          <groupId>org.slf4j</groupId>
+          <artifactId>slf4j-log4j12</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>com.github.java-json-tools</groupId>
+      <artifactId>json-schema-core</artifactId>
+      <version>1.2.8</version>
+    </dependency>
+    <dependency>
+      <groupId>com.github.java-json-tools</groupId>
+      <artifactId>json-schema-validator</artifactId>
+      <version>2.2.8</version>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-test</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.h2database</groupId>
+      <artifactId>h2</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-configuration-processor</artifactId>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>ch.vorburger.mariaDB4j</groupId>
+      <artifactId>mariaDB4j</artifactId>
+      <version>2.2.3</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.googlecode.junit-toolbox</groupId>
+      <artifactId>junit-toolbox</artifactId>
+      <version>2.4</version>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so</groupId>
+      <artifactId>mso-api-handler-common</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.cloud</groupId>
+      <artifactId>spring-cloud-contract-wiremock</artifactId>
+      <version>1.2.4.RELEASE</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>io.micrometer</groupId>
+      <artifactId>micrometer-core</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>io.micrometer</groupId>
+      <artifactId>micrometer-registry-prometheus</artifactId>
+    </dependency>
+  </dependencies>
 
-       <build>
-               <finalName>${project.artifactId}-${project.version}</finalName>
-               <plugins>
-                       <plugin>
-                               <groupId>org.apache.maven.plugins</groupId>
-                               <artifactId>maven-surefire-plugin</artifactId>
-                               <executions>
-                                       <execution>
-                                               <id>default-test</id>
-                                               <goals>
-                                                       <goal>test</goal>
-                                               </goals>
-                                               <configuration>
-                                                       <includes>
-                                                               <include>**/AllTestsTestSuite.java</include>
-                                                       </includes>
-                                                       <parallel>suites</parallel>
-                                               </configuration>
-                                       </execution>
-                               </executions>
-                       </plugin>
-                       <plugin>
-                               <groupId>org.springframework.boot</groupId>
-                               <artifactId>spring-boot-maven-plugin</artifactId>
-                               <configuration>
-                                       <mainClass>org.onap.so.apihandlerinfra.ApiHandlerApplication</mainClass>
-                               </configuration>
-                               <executions>
-                                       <execution>
-                                               <goals>
-                                                       <goal>repackage</goal>
-                                               </goals>
-                                       </execution>
-                               </executions>
-                       </plugin>
-                       <plugin>
-                               <groupId>org.apache.maven.plugins</groupId>
-                               <artifactId>maven-dependency-plugin</artifactId>
-                               <executions>
-                                       <execution>
-                                               <id>extract-docker-file</id>
-                                       </execution>
-                               </executions>
-                       </plugin>
-                       <plugin>
-                               <groupId>org.apache.maven.plugins</groupId>
-                               <artifactId>maven-jar-plugin</artifactId>
-                               <executions>
-                                       <execution>
-                                               <id>original</id>
-                                       </execution>
-                               </executions>
-                       </plugin>
-                       <plugin>
-                               <groupId>io.fabric8</groupId>
-                               <artifactId>fabric8-maven-plugin</artifactId>
-                               <executions>
-                                       <execution>
-                                               <id>start</id>
-                                       </execution>
-                               </executions>
-                       </plugin>
-               </plugins>
-       </build>
-       <packaging>jar</packaging>
+  <build>
+    <finalName>${project.artifactId}-${project.version}</finalName>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>default-test</id>
+            <goals>
+              <goal>test</goal>
+            </goals>
+            <configuration>
+              <includes>
+                <include>**/AllTestsTestSuite.java</include>
+              </includes>
+              <parallel>suites</parallel>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-maven-plugin</artifactId>
+        <configuration>
+          <mainClass>org.onap.so.apihandlerinfra.ApiHandlerApplication</mainClass>
+        </configuration>
+        <executions>
+          <execution>
+            <goals>
+              <goal>repackage</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-dependency-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>extract-docker-file</id>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>original</id>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>io.fabric8</groupId>
+        <artifactId>fabric8-maven-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>start</id>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+  <packaging>jar</packaging>
 </project>
index da37be9..5da16f4 100644 (file)
@@ -28,10 +28,12 @@ import javax.transaction.Transactional;
 import org.junit.After;
 import org.junit.BeforeClass;
 import org.junit.runner.RunWith;
+import org.onap.so.db.request.client.RequestsDbClient;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.boot.test.mock.mockito.SpyBean;
 import org.springframework.boot.test.web.client.TestRestTemplate;
 import org.springframework.boot.web.server.LocalServerPort;
 import org.springframework.cloud.contract.wiremock.AutoConfigureWireMock;
@@ -52,6 +54,9 @@ public abstract class BaseTest {
     protected Logger logger = LoggerFactory.getLogger(BaseTest.class);
     protected TestRestTemplate restTemplate = new TestRestTemplate("test", "test");
 
+    @SpyBean
+    protected RequestsDbClient requestsDbClient;
+
     @Autowired
     protected Environment env;
 
index 1bb3932..db6273d 100644 (file)
@@ -55,6 +55,7 @@ import javax.ws.rs.core.Response;
 import org.apache.http.HttpStatus;
 import org.junit.Before;
 import org.junit.Test;
+import org.mockito.Mockito;
 import org.onap.logging.ref.slf4j.ONAPLogConstants;
 import org.onap.so.db.catalog.beans.Service;
 import org.onap.so.db.catalog.beans.ServiceRecipe;
@@ -124,6 +125,7 @@ public class ServiceInstancesTest extends BaseTest {
         }
         wireMockServer.stubFor(post(urlMatching(".*/infraActiveRequests.*")).willReturn(aResponse()
                 .withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON).withStatus(HttpStatus.SC_OK)));
+        Mockito.doReturn(null).when(requestsDbClient).getInfraActiveRequestbyRequestId(Mockito.any());
     }
 
     public String inputStream(String JsonInput) throws IOException {
index 2c03173..bc9003f 100644 (file)
@@ -283,6 +283,7 @@ DROP TABLE IF EXISTS `configuration_customization`;
 /*!40101 SET @saved_cs_client     = @@character_set_client */;
 /*!40101 SET character_set_client = utf8 */;
 CREATE TABLE `configuration_customization` (
+  `ID` int(11) NOT NULL AUTO_INCREMENT,
   `MODEL_CUSTOMIZATION_UUID` varchar(200) NOT NULL,
   `MODEL_INSTANCE_NAME` varchar(200) NOT NULL,
   `CONFIGURATION_TYPE` varchar(200) DEFAULT NULL,
@@ -291,29 +292,20 @@ CREATE TABLE `configuration_customization` (
   `CREATION_TIMESTAMP` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
   `CONFIGURATION_MODEL_UUID` varchar(200) NOT NULL,
   `SERVICE_PROXY_CUSTOMIZATION_MODEL_CUSTOMIZATION_UUID` varchar(200) DEFAULT NULL,
-  `CONFIGURATION_CUSTOMIZATION_MODEL_CUSTOMIZATION_UUID` varchar(200) DEFAULT NULL,
-  PRIMARY KEY (`MODEL_CUSTOMIZATION_UUID`),
-  KEY `fk_configuration_customization__configuration_idx` (`CONFIGURATION_MODEL_UUID`),
-  KEY `fk_configuration_customization__service_proxy_customization_idx` (`SERVICE_PROXY_CUSTOMIZATION_MODEL_CUSTOMIZATION_UUID`),
-  KEY `fk_configuration_customization__configuration_customization_idx` (`CONFIGURATION_CUSTOMIZATION_MODEL_CUSTOMIZATION_UUID`),
-  CONSTRAINT `fk_configuration_customization__configuration_customization1` FOREIGN KEY (`CONFIGURATION_CUSTOMIZATION_MODEL_CUSTOMIZATION_UUID`) REFERENCES `configuration_customization` (`MODEL_CUSTOMIZATION_UUID`) ON DELETE CASCADE ON UPDATE CASCADE,
-  CONSTRAINT `fk_configuration_resource_customization__configuration_resour1` FOREIGN KEY (`CONFIGURATION_MODEL_UUID`) REFERENCES `configuration` (`MODEL_UUID`) ON DELETE CASCADE ON UPDATE CASCADE
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Table structure for table `configuration_customization_to_service`
---
-
-DROP TABLE IF EXISTS `configuration_customization_to_service`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `configuration_customization_to_service` (
-  `SERVICE_MODEL_UUID` varchar(200) NOT NULL,
-  `RESOURCE_MODEL_CUSTOMIZATION_UUID` varchar(200) NOT NULL,
-  PRIMARY KEY (`SERVICE_MODEL_UUID`,`RESOURCE_MODEL_CUSTOMIZATION_UUID`)
+  `CONFIGURATION_CUSTOMIZATION_MODEL_CUSTOMIZATION_ID` int(11) DEFAULT NULL,
+  `SERVICE_MODEL_UUID` varchar(200),
+   PRIMARY KEY (`ID`),
+   KEY `fk_configuration_customization__configuration_idx` (`CONFIGURATION_MODEL_UUID`),
+   KEY `fk_configuration_customization__service_idx` (`SERVICE_MODEL_UUID`),
+   UNIQUE KEY `uk_configuration_customization`  (`MODEL_CUSTOMIZATION_UUID` ASC, `SERVICE_MODEL_UUID` ASC),
+   CONSTRAINT `fk_configuration_customization__configuration1` FOREIGN KEY (`CONFIGURATION_MODEL_UUID`)
+        REFERENCES `configuration` (`MODEL_UUID`)
+        ON DELETE CASCADE ON UPDATE CASCADE,
+   CONSTRAINT `fk_configuration_customization__service1` FOREIGN KEY (`SERVICE_MODEL_UUID`)
+        REFERENCES `service` (`MODEL_UUID`)
+        ON DELETE CASCADE ON UPDATE CASCADE
 ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
+/*!40101 SET character_set_client = @saved_cs_client */;/*!40101 SET character_set_client = @saved_cs_client */;
 
 --
 -- Table structure for table `controller_selection_reference`
index 954b9ee..f890dab 100644 (file)
@@ -1,55 +1,55 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-       <modelVersion>4.0.0</modelVersion>
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
 
-       <parent>
-               <groupId>org.onap.so</groupId>
-               <artifactId>mso-api-handlers</artifactId>
-               <version>1.4.0-SNAPSHOT</version>
-       </parent>
+  <parent>
+    <groupId>org.onap.so</groupId>
+    <artifactId>mso-api-handlers</artifactId>
+    <version>1.4.0-SNAPSHOT</version>
+  </parent>
 
-       <artifactId>mso-requests-db-repositories</artifactId>
+  <artifactId>mso-requests-db-repositories</artifactId>
 
-       <name>mso-requests-db-repositories</name>
-       <description>SO Request Database JPA Respositories</description>
-       <properties>
-               <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-               <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-       </properties>
-       <dependencies>          
-               <dependency>
-                       <groupId>org.onap.so</groupId>
-                       <artifactId>mso-requests-db</artifactId>
-                       <version>${project.version}</version>
-               </dependency>           
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-data-jpa</artifactId>
-                       <optional>true</optional>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-data-rest</artifactId>
-                       <optional>true</optional>
-               </dependency>
-               <dependency>
-                       <groupId>com.h2database</groupId>
-                       <artifactId>h2</artifactId>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.mariadb.jdbc</groupId>
-                       <artifactId>mariadb-java-client</artifactId>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-test</artifactId>
-                       <scope>test</scope>
-               </dependency>
-       </dependencies>
-       <packaging>jar</packaging>
-       <build>
-               <finalName>${project.artifactId}</finalName>            
-       </build>
+  <name>mso-requests-db-repositories</name>
+  <description>SO Request Database JPA Respositories</description>
+  <properties>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+  </properties>
+  <dependencies>
+    <dependency>
+      <groupId>org.onap.so</groupId>
+      <artifactId>mso-requests-db</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-data-jpa</artifactId>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-data-rest</artifactId>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>com.h2database</groupId>
+      <artifactId>h2</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.mariadb.jdbc</groupId>
+      <artifactId>mariadb-java-client</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-test</artifactId>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+  <packaging>jar</packaging>
+  <build>
+    <finalName>${project.artifactId}</finalName>
+  </build>
 </project>
index 82bf6af..651f35f 100644 (file)
@@ -1,39 +1,39 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-       <modelVersion>4.0.0</modelVersion>
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
 
-       <parent>
-               <groupId>org.onap.so</groupId>
-               <artifactId>mso-api-handlers</artifactId>
-               <version>1.4.0-SNAPSHOT</version>
-       </parent>
+  <parent>
+    <groupId>org.onap.so</groupId>
+    <artifactId>mso-api-handlers</artifactId>
+    <version>1.4.0-SNAPSHOT</version>
+  </parent>
 
-       <artifactId>mso-requests-db</artifactId>
-       <name>mso-requests-db</name>
-       <description>MSO Requests Database definition and Hibernate objects</description>
-       <properties>
-               <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-               <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>
-                       <version>${project.version}</version>
-               </dependency>           
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-test</artifactId>
-                       <scope>test</scope>
-               </dependency>
-       </dependencies>
-       <packaging>jar</packaging>
-       <build>
-               <finalName>${project.artifactId}</finalName>            
-       </build>
+  <artifactId>mso-requests-db</artifactId>
+  <name>mso-requests-db</name>
+  <description>MSO Requests Database definition and Hibernate objects</description>
+  <properties>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    <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>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-test</artifactId>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+  <packaging>jar</packaging>
+  <build>
+    <finalName>${project.artifactId}</finalName>
+  </build>
 </project>
index 3ed6ab7..b4d5c70 100644 (file)
@@ -1,37 +1,38 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-       <modelVersion>4.0.0</modelVersion>
-       <parent>
-               <groupId>org.onap.so</groupId>
-               <artifactId>so</artifactId>
-               <version>1.4.0-SNAPSHOT</version>
-       </parent>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.onap.so</groupId>
+    <artifactId>so</artifactId>
+    <version>1.4.0-SNAPSHOT</version>
+  </parent>
 
-       <artifactId>mso-api-handlers</artifactId>
-       <name>API Handler</name>
-       <description>API Handler for MSO</description>
-       <packaging>pom</packaging>
+  <artifactId>mso-api-handlers</artifactId>
+  <name>API Handler</name>
+  <description>API Handler for MSO</description>
+  <packaging>pom</packaging>
 
-       <modules>
-               <module>mso-requests-db</module>
-               <module>mso-requests-db-repositories</module>
-               <module>mso-api-handler-common</module>
-               <module>mso-api-handler-infra</module>
+  <modules>
+    <module>mso-requests-db</module>
+    <module>mso-requests-db-repositories</module>
+    <module>mso-api-handler-common</module>
+    <module>mso-api-handler-infra</module>
   </modules>
 
-       <dependencies>
-               <dependency>
-                       <groupId>org.apache.httpcomponents</groupId>
-                       <artifactId>httpcore</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.httpcomponents</groupId>
-                       <artifactId>httpclient</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>junit</groupId>
-                       <artifactId>junit</artifactId>                  
-                       <scope>test</scope>
-               </dependency>
-       </dependencies>
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.httpcomponents</groupId>
+      <artifactId>httpcore</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.httpcomponents</groupId>
+      <artifactId>httpclient</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
 </project>
index de88d29..08e9719 100644 (file)
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-       <modelVersion>4.0.0</modelVersion>
-       <parent>
-               <groupId>org.onap.so</groupId>
-               <artifactId>so</artifactId>
-               <version>1.4.0-SNAPSHOT</version>
-       </parent>
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.onap.so</groupId>
+    <artifactId>so</artifactId>
+    <version>1.4.0-SNAPSHOT</version>
+  </parent>
 
-       <artifactId>mso-catalog-db</artifactId>
-       <name>mso-catalog-db</name>
-       <description>MSO Catalog Database definition and Hibernate objects</description>
+  <artifactId>mso-catalog-db</artifactId>
+  <name>mso-catalog-db</name>
+  <description>MSO Catalog Database definition and Hibernate objects</description>
 
-       <build>
-               <finalName>${project.artifactId}</finalName>
-               <plugins>
-                       <plugin>
-                               <groupId>org.apache.maven.plugins</groupId>
-                               <artifactId>maven-jar-plugin</artifactId>
-                               <executions>
-                                       <execution>
-                                               <phase>package</phase>
-                                               <goals>
-                                                       <goal>jar</goal>
-                                               </goals>
-                                               <configuration>
-                                                       <classifier>beans</classifier>
-                                                       <includes>
-                                                               <include>**/beans/*</include>
-                                                               <include>**/macro/*</include>
-                                                               <include>**/utils/*</include>
-                                                       </includes>
-                                               </configuration>
-                                       </execution>
-                               </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>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.so</groupId>
-                       <artifactId>common</artifactId>
-                       <version>${project.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-data-jpa</artifactId>
-                       <optional>true</optional>
-               </dependency>
-               <dependency>
-                       <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>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>ch.vorburger.mariaDB4j</groupId>
-                       <artifactId>mariaDB4j</artifactId>
-                       <version>2.2.3</version>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-data-rest</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.data</groupId>
-                       <artifactId>spring-data-rest-hal-browser</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.ow2.asm</groupId>
-                       <artifactId>asm-xml</artifactId>
-                       <version>6.1</version>
-               </dependency>
-       </dependencies>
+  <build>
+    <finalName>${project.artifactId}</finalName>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+        <executions>
+          <execution>
+            <phase>package</phase>
+            <goals>
+              <goal>jar</goal>
+            </goals>
+            <configuration>
+              <classifier>beans</classifier>
+              <includes>
+                <include>**/beans/*</include>
+                <include>**/macro/*</include>
+                <include>**/utils/*</include>
+              </includes>
+            </configuration>
+          </execution>
+        </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>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so</groupId>
+      <artifactId>common</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-data-jpa</artifactId>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <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>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>ch.vorburger.mariaDB4j</groupId>
+      <artifactId>mariaDB4j</artifactId>
+      <version>2.2.3</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-data-rest</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.data</groupId>
+      <artifactId>spring-data-rest-hal-browser</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.ow2.asm</groupId>
+      <artifactId>asm-xml</artifactId>
+      <version>6.1</version>
+    </dependency>
+  </dependencies>
 </project>
index 059935f..1117648 100644 (file)
@@ -27,6 +27,8 @@ import javax.persistence.CascadeType;
 import javax.persistence.Column;
 import javax.persistence.Entity;
 import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.persistence.JoinColumn;
 import javax.persistence.ManyToOne;
@@ -52,8 +54,12 @@ public class ConfigurationResourceCustomization implements Serializable {
      */
     private static final long serialVersionUID = 1230671937560638856L;
 
-    @BusinessKey
     @Id
+    @BusinessKey
+    @Column(name = "ID")
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    private Integer id;
+
     @Column(name = "MODEL_CUSTOMIZATION_UUID")
     private String modelCustomizationUUID;
 
@@ -77,18 +83,30 @@ public class ConfigurationResourceCustomization implements Serializable {
     private String serviceProxyResourceCustomizationUUID;
 
     @OneToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
-    @JoinColumn(name = "CONFIGURATION_CUSTOMIZATION_MODEL_CUSTOMIZATION_UUID")
+    @JoinColumn(name = "CONFIGURATION_CUSTOMIZATION_MODEL_CUSTOMIZATION_ID")
     private ConfigurationResourceCustomization configResourceCustomization;
 
     @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
     @JoinColumn(name = "CONFIGURATION_MODEL_UUID")
     private ConfigurationResource configurationResource;
 
+    @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
+    @JoinColumn(name = "SERVICE_MODEL_UUID")
+    private Service service;
+
     @PrePersist
     protected void onCreate() {
         this.created = new Date();
     }
 
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
     public String getModelCustomizationUUID() {
         return modelCustomizationUUID;
     }
@@ -141,6 +159,7 @@ public class ConfigurationResourceCustomization implements Serializable {
         this.serviceProxyResourceCustomizationUUID = serviceProxyResourceCustomizationUUID;
     }
 
+
     @LinkedResource
     public ConfigurationResourceCustomization getConfigResourceCustomization() {
         return configResourceCustomization;
@@ -159,14 +178,22 @@ public class ConfigurationResourceCustomization implements Serializable {
         this.configurationResource = configurationResource;
     }
 
+    public Service getService() {
+        return service;
+    }
+
+    public void setService(Service service) {
+        this.service = service;
+    }
+
     @Override
     public String toString() {
-        return new ToStringBuilder(this).append("modelCustomizationUUID", modelCustomizationUUID)
+        return new ToStringBuilder(this).append("id", id).append("modelCustomizationUUID", modelCustomizationUUID)
                 .append("modelInstanceName", modelInstanceName).append("nfFunction", nfFunction)
                 .append("nfType", nfType).append("nfRole", nfRole).append("created", created)
                 // .append("serviceProxyResourceCustomization", serviceProxyResourceCustomization)
                 .append("configResourceCustomization", configResourceCustomization)
-                .append("configurationResource", configurationResource).toString();
+                .append("configurationResource", configurationResource).append("service", service).toString();
     }
 
     @Override
@@ -175,12 +202,12 @@ public class ConfigurationResourceCustomization implements Serializable {
             return false;
         }
         ConfigurationResourceCustomization castOther = (ConfigurationResourceCustomization) other;
-        return new EqualsBuilder().append(modelCustomizationUUID, castOther.modelCustomizationUUID).isEquals();
+        return new EqualsBuilder().append(id, castOther.id).isEquals();
     }
 
     @Override
     public int hashCode() {
-        return new HashCodeBuilder().append(modelCustomizationUUID).toHashCode();
+        return new HashCodeBuilder().append(id).toHashCode();
     }
 
 }
index c333033..ffcc8e9 100644 (file)
@@ -119,9 +119,7 @@ public class Service implements Serializable {
             inverseJoinColumns = @JoinColumn(name = "RESOURCE_MODEL_CUSTOMIZATION_UUID"))
     private List<ServiceProxyResourceCustomization> serviceProxyCustomizations;
 
-    @OneToMany(cascade = CascadeType.ALL)
-    @JoinTable(name = "configuration_customization_to_service", joinColumns = @JoinColumn(name = "SERVICE_MODEL_UUID"),
-            inverseJoinColumns = @JoinColumn(name = "RESOURCE_MODEL_CUSTOMIZATION_UUID"))
+    @OneToMany(cascade = CascadeType.ALL, mappedBy = "service")
     private List<ConfigurationResourceCustomization> configurationCustomizations;
 
     @OneToMany(cascade = CascadeType.ALL)
index a2ca4a3..1920046 100644 (file)
@@ -191,6 +191,7 @@ public class CatalogDbClient {
     private String findPnfResourceCustomizationByModelUuid = "/findPnfResourceCustomizationByModelUuid";
     private String findWorkflowByArtifactUUID = "/findByArtifactUUID";
     private String findWorkflowByModelUUID = "/findWorkflowByModelUUID";
+    private String findVnfResourceCustomizationByModelUuid = "/findVnfResourceCustomizationByModelUuid";
 
     private String serviceURI;
     private String vfModuleURI;
@@ -333,6 +334,9 @@ public class CatalogDbClient {
         findWorkflowByArtifactUUID = endpoint + WORKFLOW + SEARCH + findWorkflowByArtifactUUID;
         findWorkflowByModelUUID = endpoint + WORKFLOW + SEARCH + findWorkflowByModelUUID;
 
+        findVnfResourceCustomizationByModelUuid =
+                endpoint + VNF_RESOURCE_CUSTOMIZATION + SEARCH + findVnfResourceCustomizationByModelUuid;
+
         serviceURI = endpoint + SERVICE + URI_SEPARATOR;
         vfModuleURI = endpoint + VFMODULE + URI_SEPARATOR;
         vnfResourceURI = endpoint + VNF_RESOURCE + URI_SEPARATOR;
@@ -503,6 +507,12 @@ public class CatalogDbClient {
         }
     }
 
+    public List<VnfResourceCustomization> getVnfResourceCustomizationByModelUuid(String modelUuid) {
+        return this.getMultipleResources(vnfResourceCustomizationClient,
+                getUri(UriBuilder.fromUri(findVnfResourceCustomizationByModelUuid)
+                        .queryParam("SERVICE_MODEL_UUID", modelUuid).build().toString()));
+    }
+
     public PnfResource getPnfResourceByModelUUID(String modelUUID) {
         PnfResource PnfResource = this.getSingleResource(pnfResourceClient, getUri(pnfResourceURI + modelUUID));
         if (PnfResource != null) {
@@ -816,7 +826,7 @@ public class CatalogDbClient {
         return vfModuleCust.getCvnfcCustomization().stream().collect(Collectors.toList());
     }
 
-    private VnfResourceCustomization findVnfResourceCustomizationInList(String vnfCustomizationUUID,
+    public VnfResourceCustomization findVnfResourceCustomizationInList(String vnfCustomizationUUID,
             List<VnfResourceCustomization> vnfResourceCusts) {
         List<VnfResourceCustomization> filtered = vnfResourceCusts.stream()
                 .filter(vnfCustRes -> vnfCustomizationUUID.equals(vnfCustRes.getModelCustomizationUUID()))
@@ -1,42 +1,32 @@
 /*-
  * ============LICENSE_START=======================================================
- *  Copyright (C) 2019 Nordix Foundation.
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 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.
- *
- * SPDX-License-Identifier: Apache-2.0
  * ============LICENSE_END=========================================================
  */
 
-package org.onap.so.bpmn.infrastructure.pnf;
-
-import org.springframework.context.ApplicationEvent;
+package org.onap.so.db.catalog.data.repository;
 
-public class PnfNotificationEvent extends ApplicationEvent {
+import org.onap.so.db.catalog.beans.ActivitySpec;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.rest.core.annotation.RepositoryRestResource;
 
-    private String pnfCorrelationId;
+@RepositoryRestResource(collectionResourceRel = "activitySpec", path = "activitySpec")
+public interface ActivitySpecRepository extends JpaRepository<ActivitySpec, String> {
 
-    /**
-     * Create a new ApplicationEvent.
-     *
-     * @param source the object on which the event initially occurred (never {@code null})
-     */
-    public PnfNotificationEvent(Object source, String pnfCorrelationId) {
-        super(source);
-        this.pnfCorrelationId = pnfCorrelationId;
-    }
+    ActivitySpec findByName(String name);
 
-    public String getPnfCorrelationId() {
-        return pnfCorrelationId;
-    }
 }
index 4310498..74c4c8c 100644 (file)
@@ -26,6 +26,6 @@ import org.springframework.data.rest.core.annotation.RepositoryRestResource;
 @RepositoryRestResource(collectionResourceRel = "configurationResourceCustomization",
         path = "configurationResourceCustomization")
 public interface ConfigurationResourceCustomizationRepository
-        extends JpaRepository<ConfigurationResourceCustomization, String> {
+        extends JpaRepository<ConfigurationResourceCustomization, Integer> {
 
 }
index c72fade..c38ffcb 100644 (file)
@@ -40,4 +40,17 @@ public interface VnfCustomizationRepository extends JpaRepository<VnfResourceCus
             @Param("MODEL_INSTANCE_NAME") String modelInstanceName,
             @Param("VNF_RESOURCE_MODEL_UUID") String vnfResourceModelUUID);
 
+    /**
+     * Used to fetch the @{link VnfResourceCustomization} by the Model UUID.
+     *
+     * This operation is required by {@link org.onap.so.db.catalog.client.CatalogDbClient} to provide
+     * VnfResourceCustomization based on model UUID without projection.
+     *
+     * @param serviceModelUuid model UUID
+     * @return List of VnfResourceCustomization
+     */
+    @Query(value = "select * from vnf_resource_customization where SERVICE_MODEL_UUID = ?1", nativeQuery = true)
+    List<VnfResourceCustomization> findVnfResourceCustomizationByModelUuid(
+            @Param("SERVICE_MODEL_UUID") String serviceModelUuid);
+
 }
index 0b9d50f..4108464 100644 (file)
@@ -28,5 +28,5 @@ import org.springframework.data.rest.core.annotation.RepositoryRestResource;
 @RepositoryRestResource(collectionResourceRel = "vnfcInstanceGroupCustomization",
         path = "vnfcInstanceGroupCustomization")
 public interface VnfcInstanceGroupCustomizationRepository
-        extends JpaRepository<VnfcInstanceGroupCustomization, String> {
+        extends JpaRepository<VnfcInstanceGroupCustomization, Integer> {
 }
diff --git a/mso-catalog-db/src/test/java/org/onap/so/db/catalog/data/repository/ActivitySpecRepositoryTest.java b/mso-catalog-db/src/test/java/org/onap/so/db/catalog/data/repository/ActivitySpecRepositoryTest.java
new file mode 100644 (file)
index 0000000..024940f
--- /dev/null
@@ -0,0 +1,35 @@
+/*
+ * ============LICENSE_START======================================================= Copyright (C) 2019 Nordix
+ * Foundation. ================================================================================ 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0 ============LICENSE_END=========================================================
+ */
+
+package org.onap.so.db.catalog.data.repository;
+
+import java.util.List;
+import org.junit.Assert;
+import org.junit.Test;
+import org.onap.so.db.catalog.BaseTest;
+import org.onap.so.db.catalog.beans.ActivitySpec;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.CollectionUtils;
+
+public class ActivitySpecRepositoryTest extends BaseTest {
+
+    @Autowired
+    private ActivitySpecRepository activitySpecRepository;
+
+    @Test
+    public void findAllTest() throws Exception {
+        List<ActivitySpec> activitySpecList = activitySpecRepository.findAll();
+        Assert.assertFalse(CollectionUtils.isEmpty(activitySpecList));
+    }
+}
diff --git a/mso-catalog-db/src/test/java/org/onap/so/db/catalog/data/repository/VnfcInstanceGroupCustomizationRepositoryTest.java b/mso-catalog-db/src/test/java/org/onap/so/db/catalog/data/repository/VnfcInstanceGroupCustomizationRepositoryTest.java
new file mode 100644 (file)
index 0000000..8dcf89e
--- /dev/null
@@ -0,0 +1,46 @@
+/*-
+ * ============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.db.catalog.data.repository;
+
+import java.util.List;
+import org.junit.Assert;
+import org.junit.Test;
+import org.onap.so.db.catalog.BaseTest;
+import org.onap.so.db.catalog.beans.VnfcInstanceGroupCustomization;
+import org.onap.so.db.catalog.exceptions.NoEntityFoundException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.CollectionUtils;
+
+public class VnfcInstanceGroupCustomizationRepositoryTest extends BaseTest {
+    @Autowired
+    private VnfcInstanceGroupCustomizationRepository vnfcInstanceGroupCustomizationRepository;
+
+    @Test
+    public void findAllTest() throws Exception {
+        List<VnfcInstanceGroupCustomization> vnfcInstanceGroupCustomizationList =
+                vnfcInstanceGroupCustomizationRepository.findAll();
+        Assert.assertFalse(CollectionUtils.isEmpty(vnfcInstanceGroupCustomizationList));
+
+        VnfcInstanceGroupCustomization vnfcInstanceGroupCustomization = vnfcInstanceGroupCustomizationRepository
+                .findById(1450).orElseThrow(() -> new NoEntityFoundException("Cannot Find Operation"));
+        Assert.assertTrue(vnfcInstanceGroupCustomization.getFunction().equalsIgnoreCase("FUNCTION"));
+    }
+}
index 825b541..f6d0426 100644 (file)
@@ -100,9 +100,11 @@ insert into vnf_resource(orchestration_mode, description, creation_timestamp, mo
 ('HEAT', '1607 vSAMP10a - inherent network', '2017-04-14 21:46:28', 'ff2ae348-214a-11e7-93ae-92361f002672', '', '', '2fff5b20-214b-11e7-93ae-92361f002671', '2.0', 'vSAMP10a', 'VF', null);
 
 
-insert into vnf_resource_customization(model_customization_uuid, model_instance_name, min_instances, max_instances, availability_zone_max_count, nf_type, nf_role, nf_function, nf_naming_code, creation_timestamp, vnf_resource_model_uuid, multi_stage_design,SERVICE_MODEL_UUID) values
-('68dc9a92-214c-11e7-93ae-92361f002672', 'vSAMP10a 2', '0', '0', '0', 'vSAMP', 'vSAMP', 'vSAMP', 'vSAMP', '2017-05-26 15:08:24', 'ff2ae348-214a-11e7-93ae-92361f002672', null,'5df8b6de-2083-11e7-93ae-92361f002672');
+insert into vnf_resource_customization(id, model_customization_uuid, model_instance_name, min_instances, max_instances, availability_zone_max_count, nf_type, nf_role, nf_function, nf_naming_code, creation_timestamp, vnf_resource_model_uuid, multi_stage_design,SERVICE_MODEL_UUID) values
+('1429', '68dc9a92-214c-11e7-93ae-92361f002672', 'vSAMP10a 2', '0', '0', '0', 'vSAMP', 'vSAMP', 'vSAMP', 'vSAMP', '2017-05-26 15:08:24', 'ff2ae348-214a-11e7-93ae-92361f002672', null,'5df8b6de-2083-11e7-93ae-92361f002672');
 
+INSERT INTO vnfc_instance_group_customization (`ID`, `INSTANCE_GROUP_MODEL_UUID`, `FUNCTION`, `VNF_RESOURCE_CUSTOMIZATION_ID`) VALUES 
+('1450', '21e43a7c-d823-4f5b-a427-5235f63035ff', 'FUNCTION', '1429');
 
 
 
@@ -750,3 +752,178 @@ insert into activity_spec(name, description, version) values
 
 insert into workflow_activity_spec_sequence(workflow_id, activity_spec_id, seq_no) values
 (1, 1, 1);
+
+INSERT INTO activity_spec (NAME, DESCRIPTION, VERSION) 
+VALUES 
+('VNFSetInMaintFlagActivity','Activity to Set InMaint Flag in A&AI',1.0),
+('VNFCheckPserversLockedFlagActivity','Activity Check Pservers Locked Flag VNF',1.0),
+('VNFCheckInMaintFlagActivity','Activity CheckIn Maint Flag on VNF',1.0),
+('VNFCheckClosedLoopDisabledFlagActivity','Activity Check Closed Loop Disabled Flag on VNF',1.0),
+('VNFSetClosedLoopDisabledFlagActivity','Activity Set Closed Loop Disabled Flag on VNF',1.0),
+('VNFUnsetClosedLoopDisabledFlagActivity','Activity Unset Closed Loop Disabled Flag on VNF',1.0),
+('VNFLockActivity','Activity Lock on VNF',1.0),
+('VNFUnlockActivity','Activity UnLock on VNF',1.0),
+('VNFStopActivity','Activity Stop on VNF',1.0),
+('VNFStartActivity','Activity Start on VNF',1.0),
+('VNFSnapShotActivity','Activity Snap Shot on VNF',1.0),
+('FlowCompleteActivity','Activity Complete on VNF',1.0),
+('PauseForManualTaskActivity','Activity Pause For Manual Task on VNF',1.0),
+('DistributeTrafficActivity','Activity Distribute Traffic on VNF',1.0),
+('DistributeTrafficCheckActivity','Activity Distribute Traffic Check on VNF',1.0),
+('VNFHealthCheckActivity','Activity Health Check on VNF',1.0),
+('VNFQuiesceTrafficActivity','Activity Quiesce Traffic on VNF',1.0),
+('VNFResumeTrafficActivity','Activity Resume Traffic on VNF',1.0),
+('VNFUnsetInMaintFlagActivity','Activity Unset InMaint Flag on VNF',1.0),
+('VNFUpgradeBackupActivity','Activity Upgrade Backup on VNF',1.0),
+('VNFUpgradePostCheckActivity','Activity Upgrade Post Check on VNF',1.0),
+('VNFUpgradePreCheckActivity','Activity Upgrade PreCheck on VNF',1.0),
+('VNFUpgradeSoftwareActivity','Activity UpgradeS oftware on VNF',1.0),
+('VnfInPlaceSoftwareUpdate','Activity InPlace Software Update on VNF',1.0);
+
+INSERT INTO activity_spec_categories (NAME)
+VALUES ('VNF');
+
+INSERT INTO activity_spec_to_activity_spec_categories(ACTIVITY_SPEC_ID, ACTIVITY_SPEC_CATEGORIES_ID) 
+VALUES
+((select ID from activity_spec where NAME='VNFSetInMaintFlagActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFCheckPserversLockedFlagActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFCheckInMaintFlagActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFCheckClosedLoopDisabledFlagActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFSetClosedLoopDisabledFlagActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFUnsetClosedLoopDisabledFlagActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFLockActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFUnlockActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFStopActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFStartActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFSnapShotActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='FlowCompleteActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='PauseForManualTaskActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='DistributeTrafficActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='DistributeTrafficCheckActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFHealthCheckActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFQuiesceTrafficActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFResumeTrafficActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFUnsetInMaintFlagActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFUpgradeBackupActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFUpgradePostCheckActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFUpgradePreCheckActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VNFUpgradeSoftwareActivity' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF')),
+((select ID from activity_spec where NAME='VnfInPlaceSoftwareUpdate' and VERSION=1.0),
+(select ID from activity_spec_categories where NAME='VNF'));
+
+INSERT INTO activity_spec_parameters (NAME, TYPE, DIRECTION, DESCRIPTION) 
+VALUES('WorkflowException','WorkflowException','output','Description');
+
+INSERT INTO activity_spec_to_activity_spec_parameters( ACTIVITY_SPEC_ID, ACTIVITY_SPEC_PARAMETERS_ID) 
+VALUES
+((select ID from activity_spec where NAME='VNFSetInMaintFlagActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFCheckPserversLockedFlagActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFCheckInMaintFlagActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFCheckClosedLoopDisabledFlagActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFSetClosedLoopDisabledFlagActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFUnsetClosedLoopDisabledFlagActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFLockActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFUnlockActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFStopActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFStartActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFSnapShotActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='FlowCompleteActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='PauseForManualTaskActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='DistributeTrafficActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='DistributeTrafficCheckActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFHealthCheckActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFQuiesceTrafficActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFResumeTrafficActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFUnsetInMaintFlagActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFUpgradeBackupActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFUpgradePostCheckActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFUpgradePreCheckActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output')),
+((select ID from activity_spec where NAME='VNFUpgradeSoftwareActivity' and VERSION=1.0),
+(select ID from activity_spec_parameters where NAME='WorkflowException' and DIRECTION='output'));
+
+INSERT INTO `user_parameters`(`NAME`,`PAYLOAD_LOCATION`,`LABEL`,`TYPE`,`DESCRIPTION`,`IS_REQUIRED`,`MAX_LENGTH`,`ALLOWABLE_CHARS`)
+VALUES 
+('cloudOwner','cloudConfiguration','Cloud Owner','text','',1,7,''), 
+('operations_timeout','userParams','Operations Timeout','text','',1,50,''),
+('existing_software_version','userParams','Existing Software Version','text','',1,50,''),
+('tenantId','cloudConfiguration','Tenant/Project ID','text','',1,36,''),
+('new_software_version','userParams','New Software Version','text','',1,50,''),
+('lcpCloudRegionId','cloudConfiguration','Cloud Region ID','text','',1,7,'');
+
+INSERT INTO `activity_spec_to_user_parameters`(`ACTIVITY_SPEC_ID`,`USER_PARAMETERS_ID`)
+VALUES
+((select ID from activity_spec where NAME='VNFStopActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='lcpCloudRegionId')),
+((select ID from activity_spec where NAME='VNFStopActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='tenantId')),
+((select ID from activity_spec where NAME='VNFStartActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='lcpCloudRegionId')),
+((select ID from activity_spec where NAME='VNFStartActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='tenantId')),
+((select ID from activity_spec where NAME='VNFSnapShotActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='lcpCloudRegionId')),
+((select ID from activity_spec where NAME='VNFSnapShotActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='tenantId')),
+((select ID from activity_spec where NAME='VNFQuiesceTrafficActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='operations_timeout')),
+((select ID from activity_spec where NAME='VNFUpgradeBackupActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='existing_software_version')),
+((select ID from activity_spec where NAME='VNFUpgradeBackupActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='new_software_version')),
+((select ID from activity_spec where NAME='VNFUpgradePostCheckActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='existing_software_version')),
+((select ID from activity_spec where NAME='VNFUpgradePostCheckActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='new_software_version')),
+((select ID from activity_spec where NAME='VNFUpgradePreCheckActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='existing_software_version')),
+((select ID from activity_spec where NAME='VNFUpgradePreCheckActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='new_software_version')),
+((select ID from activity_spec where NAME='VNFUpgradeSoftwareActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='existing_software_version')),
+((select ID from activity_spec where NAME='VNFUpgradeSoftwareActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='new_software_version'));
index 92979f4..f5e7d52 100644 (file)
@@ -280,6 +280,7 @@ DROP TABLE IF EXISTS `configuration_customization`;
 /*!40101 SET @saved_cs_client     = @@character_set_client */;
 /*!40101 SET character_set_client = utf8 */;
 CREATE TABLE `configuration_customization` (
+  `ID` int(11) NOT NULL AUTO_INCREMENT,
   `MODEL_CUSTOMIZATION_UUID` varchar(200) NOT NULL,
   `MODEL_INSTANCE_NAME` varchar(200) NOT NULL,
   `CONFIGURATION_TYPE` varchar(200) DEFAULT NULL,
@@ -288,27 +289,18 @@ CREATE TABLE `configuration_customization` (
   `CREATION_TIMESTAMP` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
   `CONFIGURATION_MODEL_UUID` varchar(200) NOT NULL,
   `SERVICE_PROXY_CUSTOMIZATION_MODEL_CUSTOMIZATION_UUID` varchar(200) DEFAULT NULL,
-  `CONFIGURATION_CUSTOMIZATION_MODEL_CUSTOMIZATION_UUID` varchar(200) DEFAULT NULL,
-  PRIMARY KEY (`MODEL_CUSTOMIZATION_UUID`),
-  KEY `fk_configuration_customization__configuration_idx` (`CONFIGURATION_MODEL_UUID`),
-  KEY `fk_configuration_customization__service_proxy_customization_idx` (`SERVICE_PROXY_CUSTOMIZATION_MODEL_CUSTOMIZATION_UUID`),
-  KEY `fk_configuration_customization__configuration_customization_idx` (`CONFIGURATION_CUSTOMIZATION_MODEL_CUSTOMIZATION_UUID`),
-  CONSTRAINT `fk_configuration_customization__configuration_customization1` FOREIGN KEY (`CONFIGURATION_CUSTOMIZATION_MODEL_CUSTOMIZATION_UUID`) REFERENCES `configuration_customization` (`MODEL_CUSTOMIZATION_UUID`) ON DELETE CASCADE ON UPDATE CASCADE,
-  CONSTRAINT `fk_configuration_resource_customization__configuration_resour1` FOREIGN KEY (`CONFIGURATION_MODEL_UUID`) REFERENCES `configuration` (`MODEL_UUID`) ON DELETE CASCADE ON UPDATE CASCADE
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Table structure for table `configuration_customization_to_service`
---
-
-DROP TABLE IF EXISTS `configuration_customization_to_service`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `configuration_customization_to_service` (
-  `SERVICE_MODEL_UUID` varchar(200) NOT NULL,
-  `RESOURCE_MODEL_CUSTOMIZATION_UUID` varchar(200) NOT NULL,
-  PRIMARY KEY (`SERVICE_MODEL_UUID`,`RESOURCE_MODEL_CUSTOMIZATION_UUID`)
+  `CONFIGURATION_CUSTOMIZATION_MODEL_CUSTOMIZATION_ID` int(11) DEFAULT NULL,
+  `SERVICE_MODEL_UUID` varchar(200),
+   PRIMARY KEY (`ID`),
+   KEY `fk_configuration_customization__configuration_idx` (`CONFIGURATION_MODEL_UUID`),
+   KEY `fk_configuration_customization__service_idx` (`SERVICE_MODEL_UUID`),
+   UNIQUE KEY `uk_configuration_customization`  (`MODEL_CUSTOMIZATION_UUID` ASC, `SERVICE_MODEL_UUID` ASC),
+   CONSTRAINT `fk_configuration_customization__configuration1` FOREIGN KEY (`CONFIGURATION_MODEL_UUID`)
+        REFERENCES `configuration` (`MODEL_UUID`)
+        ON DELETE CASCADE ON UPDATE CASCADE,
+   CONSTRAINT `fk_configuration_customization__service1` FOREIGN KEY (`SERVICE_MODEL_UUID`)
+        REFERENCES `service` (`MODEL_UUID`)
+        ON DELETE CASCADE ON UPDATE CASCADE
 ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
 /*!40101 SET character_set_client = @saved_cs_client */;
 
@@ -1296,7 +1288,7 @@ ENGINE = InnoDB
 DEFAULT CHARACTER SET = latin1;
 
 CREATE TABLE IF NOT EXISTS `activity_spec_categories` (
-  `ID` INT(11) NOT NULL,
+  `ID` INT(11) NOT NULL AUTO_INCREMENT,
   `NAME` VARCHAR(200) NOT NULL,
   PRIMARY KEY (`ID`),
   UNIQUE INDEX `UK_activity_spec_categories` (`NAME` ASC))
@@ -1304,7 +1296,7 @@ ENGINE = InnoDB
 DEFAULT CHARACTER SET = latin1;
 
 CREATE TABLE IF NOT EXISTS `activity_spec_to_activity_spec_categories` (
-  `ID` INT(11) NOT NULL,
+  `ID` INT(11) NOT NULL AUTO_INCREMENT,
   `ACTIVITY_SPEC_ID` INT(11) NOT NULL,
   `ACTIVITY_SPEC_CATEGORIES_ID` INT(11) NOT NULL,
   PRIMARY KEY (`ID`),
@@ -1346,7 +1338,7 @@ ENGINE = InnoDB
 DEFAULT CHARACTER SET = latin1;
 
 CREATE TABLE IF NOT EXISTS `activity_spec_to_user_parameters` (
-  `ID` INT(11) NOT NULL,
+  `ID` INT(11) NOT NULL AUTO_INCREMENT,
   `ACTIVITY_SPEC_ID` INT(11) NOT NULL,
   `USER_PARAMETERS_ID` INT(11) NOT NULL,
   PRIMARY KEY (`ID`),
index da068c3..029fa3d 100644 (file)
@@ -1,37 +1,37 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-       <modelVersion>4.0.0</modelVersion>
-       <parent>
-               <groupId>org.onap.so</groupId>
-               <artifactId>so</artifactId>
-               <version>1.4.0-SNAPSHOT</version>
-       </parent>
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.onap.so</groupId>
+    <artifactId>so</artifactId>
+    <version>1.4.0-SNAPSHOT</version>
+  </parent>
 
-       <artifactId>packages</artifactId>
-       <packaging>pom</packaging>
-       <name>MSO Packages</name>
+  <artifactId>packages</artifactId>
+  <packaging>pom</packaging>
+  <name>MSO Packages</name>
 
 
-       <profiles>
-               <!-- DO NOT CHANGE THE *ORDER* IN WHICH THESE PROFILES ARE DEFINED! -->
+  <profiles>
+    <!-- DO NOT CHANGE THE *ORDER* IN WHICH THESE PROFILES ARE DEFINED! -->
 
-               <profile>
-                       <id>default</id>
-                       <activation>
-                               <activeByDefault>true</activeByDefault>
-                       </activation>
-               </profile>
+    <profile>
+      <id>default</id>
+      <activation>
+        <activeByDefault>true</activeByDefault>
+      </activation>
+    </profile>
 
     <!-- Those profile are exclusive, choose docker or with-integration-tests -->
-               <profile>
-                       <id>docker</id>
-                       <modules>                               
-                               <module>docker</module>
-                       </modules>
-                       <properties>
-                                       <!-- For this profile we probably don't want to skip the docker push (if deploy goal is specified) -->
-                                       <docker.skip.push>false</docker.skip.push>
-                       </properties>
-               </profile>
-       </profiles>
+    <profile>
+      <id>docker</id>
+      <modules>
+        <module>docker</module>
+      </modules>
+      <properties>
+        <!-- For this profile we probably don't want to skip the docker push (if deploy goal is specified) -->
+        <docker.skip.push>false</docker.skip.push>
+      </properties>
+    </profile>
+  </profiles>
 </project>
diff --git a/pom.xml b/pom.xml
index 8a954e1..90fa8d4 100644 (file)
--- a/pom.xml
+++ b/pom.xml
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-deploy-plugin</artifactId>
-        <version>2.8</version> <!-- This version supports the "deployAtEnd" parameter -->
+        <version>2.8</version>
+        <!-- This version supports the "deployAtEnd" parameter -->
         <configuration>
           <skip />
         </configuration>
               <sourceDirectory>${project.basedir}</sourceDirectory>
               <configXmlFile>${base-path}/project-configs/code-tools/pom-format.properties</configXmlFile>
               <includes>
-                <include>${project.basedir}/pom.xml</include>
+                <include>pom.xml</include>
               </includes>
             </configuration>
           </execution>
             <configuration>
               <skip>${format.skipValidate}</skip>
               <configFile>${base-path}/project-configs/code-tools/pom-format.properties</configFile>
-               <includes>
-                <include>${project.basedir}/pom.xml</include>
+              <includes>
+                <include>pom.xml</include>
               </includes>
             </configuration>
           </execution>
             <skip>${docker.skip}</skip>
             <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 -->
-            <certPath>${docker.host.cert.path}</certPath><!-- Add -Ddocker.host.cert.pat="path to your local certs directory" 
+            <dockerHost>${docker.newHost}</dockerHost>
+            <!-- 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 -->
-            <pushRegistry>${dockerPushRepo}</pushRegistry> <!-- 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 -->
+            <pushRegistry>${dockerPushRepo}</pushRegistry>
+            <!-- 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 -->
             <images>
               <image>
                 <alias>service</alias>
index 47ef60b..2430735 100644 (file)
 -->
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.onap.so</groupId>
-        <artifactId>so</artifactId>
-        <version>1.4.0-SNAPSHOT</version>
-    </parent>
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.onap.so</groupId>
+    <artifactId>so</artifactId>
+    <version>1.4.0-SNAPSHOT</version>
+  </parent>
 
-    <groupId>org.onap.so.monitoring</groupId>
-    <artifactId>so-monitoring</artifactId>
+  <groupId>org.onap.so.monitoring</groupId>
+  <artifactId>so-monitoring</artifactId>
 
-    <packaging>pom</packaging>
-    <name>${project.artifactId}</name>
+  <packaging>pom</packaging>
+  <name>${project.artifactId}</name>
 
-    <properties>
-        <java.version>1.8</java.version>
-        <version.java.compiler>1.8</version.java.compiler>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-    </properties>
+  <properties>
+    <java.version>1.8</java.version>
+    <version.java.compiler>1.8</version.java.compiler>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+  </properties>
 
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.springframework.boot</groupId>
-                <artifactId>spring-boot-maven-plugin</artifactId>
-            </plugin>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-maven-plugin</artifactId>
+      </plugin>
 
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <configuration>
-                    <source>${version.java.compiler}</source>
-                    <target>${version.java.compiler}</target>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <configuration>
+          <source>${version.java.compiler}</source>
+          <target>${version.java.compiler}</target>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
 
-    <modules>
-        <module>so-monitoring-ui</module>
-        <module>so-monitoring-handler</module>
-        <module>so-monitoring-service</module>
-    </modules>
+  <modules>
+    <module>so-monitoring-ui</module>
+    <module>so-monitoring-handler</module>
+    <module>so-monitoring-service</module>
+  </modules>
 </project>
index c045dd0..5954686 100644 (file)
 -->
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.onap.so.monitoring</groupId>
-        <artifactId>so-monitoring</artifactId>
-        <version>1.4.0-SNAPSHOT</version>
-    </parent>
-    <artifactId>so-monitoring-handler</artifactId>
-    <name>${project.artifactId}</name>
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.onap.so.monitoring</groupId>
+    <artifactId>so-monitoring</artifactId>
+    <version>1.4.0-SNAPSHOT</version>
+  </parent>
+  <artifactId>so-monitoring-handler</artifactId>
+  <name>${project.artifactId}</name>
 
-    <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>
+  <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>
 
 
-    <dependencies>
-        <dependency>
-            <groupId>com.google.guava</groupId>
-            <artifactId>guava</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-data-jpa</artifactId>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.apache.tomcat</groupId>
-                    <artifactId>tomcat-jdbc</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-ext</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.httpcomponents</groupId>
-            <artifactId>httpclient</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.httpcomponents</groupId>
-            <artifactId>httpcore</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-web</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-configuration-processor</artifactId>
-            <scope>compile</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-test</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>nl.jqno.equalsverifier</groupId>
-            <artifactId>equalsverifier</artifactId>
-            <version>2.5.1</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.onap.so</groupId>
-            <artifactId>common</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-    </dependencies>
+  <dependencies>
+    <dependency>
+      <groupId>com.google.guava</groupId>
+      <artifactId>guava</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-data-jpa</artifactId>
+      <exclusions>
+        <exclusion>
+          <groupId>org.apache.tomcat</groupId>
+          <artifactId>tomcat-jdbc</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-ext</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.httpcomponents</groupId>
+      <artifactId>httpclient</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.httpcomponents</groupId>
+      <artifactId>httpcore</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-web</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-configuration-processor</artifactId>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-test</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>nl.jqno.equalsverifier</groupId>
+      <artifactId>equalsverifier</artifactId>
+      <version>2.5.1</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.so</groupId>
+      <artifactId>common</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+  </dependencies>
 </project>
index fd46d09..ff70a77 100644 (file)
 -->
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.onap.so.monitoring</groupId>
-        <artifactId>so-monitoring</artifactId>
-        <version>1.4.0-SNAPSHOT</version>
-    </parent>
-    <artifactId>so-monitoring-service</artifactId>
-    <name>${project.artifactId}</name>
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.onap.so.monitoring</groupId>
+    <artifactId>so-monitoring</artifactId>
+    <version>1.4.0-SNAPSHOT</version>
+  </parent>
+  <artifactId>so-monitoring-service</artifactId>
+  <name>${project.artifactId}</name>
 
-    <dependencies>
-        <dependency>
-            <groupId>org.onap.so.monitoring</groupId>
-            <artifactId>so-monitoring-handler</artifactId>
-            <version>${project.version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.springframework.boot</groupId>
-                    <artifactId>spring-boot-starter-security</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.springframework.boot</groupId>
-                    <artifactId>spring-boot-starter-data-jpa</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
+  <dependencies>
+    <dependency>
+      <groupId>org.onap.so.monitoring</groupId>
+      <artifactId>so-monitoring-handler</artifactId>
+      <version>${project.version}</version>
+      <exclusions>
+        <exclusion>
+          <groupId>org.springframework.boot</groupId>
+          <artifactId>spring-boot-starter-security</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.springframework.boot</groupId>
+          <artifactId>spring-boot-starter-data-jpa</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
 
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-web</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-test</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-jersey</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-configuration-processor</artifactId>
-            <scope>compile</scope>
-        </dependency>
-    </dependencies>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-web</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-test</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-jersey</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-configuration-processor</artifactId>
+      <scope>compile</scope>
+    </dependency>
+  </dependencies>
 
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.springframework.boot</groupId>
-                <artifactId>spring-boot-maven-plugin</artifactId>
-                <version>${springboot.version}</version>
-                <configuration>
-                    <mainClass>org.onap.so.monitoring.rest.api.SoMonitoringApplication</mainClass>
-                </configuration>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>repackage</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.springframework.boot</groupId>
-                <artifactId>spring-boot-maven-plugin</artifactId>
-            </plugin>
-            <plugin>
-                <artifactId>maven-resources-plugin</artifactId>
-                <version>3.0.2</version>
-                <executions>
-                    <execution>
-                        <id>copy-resources</id>
-                        <phase>validate</phase>
-                        <goals>
-                            <goal>copy-resources</goal>
-                        </goals>
-                        <configuration>
-                            <outputDirectory>${project.basedir}/target/classes/static/</outputDirectory>
-                            <resources>
-                                <resource>
-                                    <directory>${project.basedir}/../so-monitoring-ui/src/main/frontend/dist/ONAP-SO-Monitor/</directory>
-                                </resource>
-                            </resources>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-maven-plugin</artifactId>
+        <version>${springboot.version}</version>
+        <configuration>
+          <mainClass>org.onap.so.monitoring.rest.api.SoMonitoringApplication</mainClass>
+        </configuration>
+        <executions>
+          <execution>
+            <goals>
+              <goal>repackage</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-maven-plugin</artifactId>
+      </plugin>
+      <plugin>
+        <artifactId>maven-resources-plugin</artifactId>
+        <version>3.0.2</version>
+        <executions>
+          <execution>
+            <id>copy-resources</id>
+            <phase>validate</phase>
+            <goals>
+              <goal>copy-resources</goal>
+            </goals>
+            <configuration>
+              <outputDirectory>${project.basedir}/target/classes/static/</outputDirectory>
+              <resources>
+                <resource>
+                  <directory>${project.basedir}/../so-monitoring-ui/src/main/frontend/dist/ONAP-SO-Monitor/</directory>
+                </resource>
+              </resources>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
 
 </project>
index cd5ad8b..a5f1a6c 100644 (file)
 -->
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.onap.so.monitoring</groupId>
-        <artifactId>so-monitoring</artifactId>
-        <version>1.4.0-SNAPSHOT</version>
-    </parent>
-    <artifactId>so-monitoring-ui</artifactId>
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.onap.so.monitoring</groupId>
+    <artifactId>so-monitoring</artifactId>
+    <version>1.4.0-SNAPSHOT</version>
+  </parent>
+  <artifactId>so-monitoring-ui</artifactId>
 
 
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>com.github.eirslett</groupId>
-                <artifactId>frontend-maven-plugin</artifactId>
-                <version>1.6</version>
-                <configuration>
-                    <workingDirectory>${project.basedir}/src/main/frontend</workingDirectory>
-                    <installDirectory>target</installDirectory>
-                </configuration>
-                <executions>
-                    <execution>
-                        <id>install node and yarn</id>
-                        <goals>
-                            <goal>install-node-and-yarn</goal>
-                        </goals>
-                        <phase>generate-resources</phase>
-                        <configuration>
-                            <nodeVersion>v10.8.0</nodeVersion>
-                            <yarnVersion>v1.7.0</yarnVersion>
-                        </configuration>
-                    </execution>
-                    <execution>
-                        <id>yarn install</id>
-                        <goals>
-                            <goal>yarn</goal>
-                        </goals>
-                        <configuration>
-                            <arguments>install</arguments>
-                        </configuration>
-                    </execution>
-                    <execution>
-                        <id>yarn run webpack build</id>
-                        <goals>
-                            <goal>yarn</goal>
-                        </goals>
-                        <configuration>
-                            <yarnInheritsProxyConfigFromMaven>false</yarnInheritsProxyConfigFromMaven>
-                            <arguments>build</arguments>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-clean-plugin</artifactId>
-                <version>3.0.0</version>
-                <configuration>
-                    <failOnError>false</failOnError>
-                    <filesets>
-                        <fileset>
-                            <directory>${project.basedir}/src/main/frontend/dist/</directory>
-                            <followSymlinks>false</followSymlinks>
-                        </fileset>
-                    </filesets>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>com.github.eirslett</groupId>
+        <artifactId>frontend-maven-plugin</artifactId>
+        <version>1.6</version>
+        <configuration>
+          <workingDirectory>${project.basedir}/src/main/frontend</workingDirectory>
+          <installDirectory>target</installDirectory>
+        </configuration>
+        <executions>
+          <execution>
+            <id>install node and yarn</id>
+            <goals>
+              <goal>install-node-and-yarn</goal>
+            </goals>
+            <phase>generate-resources</phase>
+            <configuration>
+              <nodeVersion>v10.8.0</nodeVersion>
+              <yarnVersion>v1.7.0</yarnVersion>
+            </configuration>
+          </execution>
+          <execution>
+            <id>yarn install</id>
+            <goals>
+              <goal>yarn</goal>
+            </goals>
+            <configuration>
+              <arguments>install</arguments>
+            </configuration>
+          </execution>
+          <execution>
+            <id>yarn run webpack build</id>
+            <goals>
+              <goal>yarn</goal>
+            </goals>
+            <configuration>
+              <yarnInheritsProxyConfigFromMaven>false</yarnInheritsProxyConfigFromMaven>
+              <arguments>build</arguments>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-clean-plugin</artifactId>
+        <version>3.0.0</version>
+        <configuration>
+          <failOnError>false</failOnError>
+          <filesets>
+            <fileset>
+              <directory>${project.basedir}/src/main/frontend/dist/</directory>
+              <followSymlinks>false</followSymlinks>
+            </fileset>
+          </filesets>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
 </project>
index 3923a3e..2f9f0cd 100644 (file)
@@ -1,43 +1,43 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-       <modelVersion>4.0.0</modelVersion>
-       <parent>
-               <groupId>org.onap.so</groupId>
-               <artifactId>so</artifactId>
-               <version>1.4.0-SNAPSHOT</version>
-       </parent>
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.onap.so</groupId>
+    <artifactId>so</artifactId>
+    <version>1.4.0-SNAPSHOT</version>
+  </parent>
 
-       <groupId>org.onap.so.vnfm</groupId>
-       <artifactId>vnfm-simulator</artifactId>
-       <version>1.4.0-SNAPSHOT</version>
-       <packaging>pom</packaging>
-       <name>${project.artifactId}</name>
+  <groupId>org.onap.so.vnfm</groupId>
+  <artifactId>vnfm-simulator</artifactId>
+  <version>1.4.0-SNAPSHOT</version>
+  <packaging>pom</packaging>
+  <name>${project.artifactId}</name>
 
-       <properties>
-               <springboot.version>2.0.5.RELEASE</springboot.version>
-               <version.java.compiler>1.8</version.java.compiler>
-       </properties>
+  <properties>
+    <springboot.version>2.0.5.RELEASE</springboot.version>
+    <version.java.compiler>1.8</version.java.compiler>
+  </properties>
 
-       <build>
-               <plugins>
-                       <plugin>
-                               <groupId>org.springframework.boot</groupId>
-                               <artifactId>spring-boot-maven-plugin</artifactId>
-                       </plugin>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-maven-plugin</artifactId>
+      </plugin>
 
-                       <plugin>
-                               <groupId>org.apache.maven.plugins</groupId>
-                               <artifactId>maven-compiler-plugin</artifactId>
-                               <configuration>
-                                       <source>${version.java.compiler}</source>
-                                       <target>${version.java.compiler}</target>
-                               </configuration>
-                       </plugin>
-               </plugins>
-       </build>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <configuration>
+          <source>${version.java.compiler}</source>
+          <target>${version.java.compiler}</target>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
 
-       <modules>
-               <module>vnfm-api</module>
-               <module>vnfm-service</module>
-       </modules>
+  <modules>
+    <module>vnfm-api</module>
+    <module>vnfm-service</module>
+  </modules>
 </project>
\ No newline at end of file
index 3bb6f4f..ee5ef03 100644 (file)
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.onap.so.vnfm</groupId>
-        <artifactId>vnfm-simulator</artifactId>
-       <version>1.4.0-SNAPSHOT</version>
-    </parent>
-    <artifactId>vnfm-api</artifactId>
-    <name>${project.artifactId}</name>
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-        <maven.compiler.source>1.8</maven.compiler.source>
-        <maven.compiler.target>1.8</maven.compiler.target>
-        <gson-fire-version>1.8.2</gson-fire-version>
-        <retrofit-version>2.3.0</retrofit-version>
-        <threetenbp-version>1.3.5</threetenbp-version>
-        <rxjava-version>2.0.0-RC1</rxjava-version>
-        <oltu-version>1.0.1</oltu-version>
-        <swagger-core-version>1.5.15</swagger-core-version>
-        <gson-version>2.8.5</gson-version>
-    </properties>
-    <description>VNFM Simulator adapter API</description>
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.onap.so.vnfm</groupId>
+    <artifactId>vnfm-simulator</artifactId>
+    <version>1.4.0-SNAPSHOT</version>
+  </parent>
+  <artifactId>vnfm-api</artifactId>
+  <name>${project.artifactId}</name>
+  <properties>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+    <maven.compiler.source>1.8</maven.compiler.source>
+    <maven.compiler.target>1.8</maven.compiler.target>
+    <gson-fire-version>1.8.2</gson-fire-version>
+    <retrofit-version>2.3.0</retrofit-version>
+    <threetenbp-version>1.3.5</threetenbp-version>
+    <rxjava-version>2.0.0-RC1</rxjava-version>
+    <oltu-version>1.0.1</oltu-version>
+    <swagger-core-version>1.5.15</swagger-core-version>
+    <gson-version>2.8.5</gson-version>
+  </properties>
+  <description>VNFM Simulator adapter API</description>
 
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>io.swagger</groupId>
-                <artifactId>swagger-codegen-maven-plugin</artifactId>
-                <version>2.3.1</version>
-                <executions>
-                    <execution>
-                        <id>vnfmsimulator</id>
-                        <phase>generate-sources</phase>
-                        <goals>
-                            <goal>generate</goal>
-                        </goals>
-                        <configuration>
-                            <inputSpec>${basedir}/src/main/resources/vnfm-sim-swagger.yaml</inputSpec>
-                            <language>java</language>
-                            <library>retrofit2</library>
-                            <output>${project.build.directory}/generated-sources/vnfmsimulator</output>
-                            <apiPackage>org.onap.vnfm.v1.api</apiPackage>
-                            <modelPackage>org.onap.vnfm.v1.model</modelPackage>
-                            <configOptions>
-                                <jackson>true</jackson>
-                                <sourceFolder>src/gen/java/main</sourceFolder>
-                                <withXml>true</withXml>
-                                <useRxJava2>true</useRxJava2>
-                            </configOptions>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-    <dependencies>
-        <dependency>
-            <groupId>io.swagger</groupId>
-            <artifactId>swagger-annotations</artifactId>
-            <version>${swagger-core-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.squareup.retrofit2</groupId>
-            <artifactId>converter-gson</artifactId>
-            <version>${retrofit-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.squareup.retrofit2</groupId>
-            <artifactId>retrofit</artifactId>
-            <version>${retrofit-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.squareup.retrofit2</groupId>
-            <artifactId>converter-scalars</artifactId>
-            <version>${retrofit-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.oltu.oauth2</groupId>
-            <artifactId>org.apache.oltu.oauth2.client</artifactId>
-            <version>${oltu-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>io.gsonfire</groupId>
-            <artifactId>gson-fire</artifactId>
-            <version>${gson-fire-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.threeten</groupId>
-            <artifactId>threetenbp</artifactId>
-            <version>${threetenbp-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>io.reactivex.rxjava2</groupId>
-            <artifactId>rxjava</artifactId>
-            <version>${rxjava-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.squareup.retrofit2</groupId>
-            <artifactId>adapter-rxjava2</artifactId>
-            <version>${retrofit-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.google.code.gson</groupId>
-            <artifactId>gson</artifactId>
-            <version>${gson-version}</version>
-        </dependency>
-    </dependencies>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>io.swagger</groupId>
+        <artifactId>swagger-codegen-maven-plugin</artifactId>
+        <version>2.3.1</version>
+        <executions>
+          <execution>
+            <id>vnfmsimulator</id>
+            <phase>generate-sources</phase>
+            <goals>
+              <goal>generate</goal>
+            </goals>
+            <configuration>
+              <inputSpec>${basedir}/src/main/resources/vnfm-sim-swagger.yaml</inputSpec>
+              <language>java</language>
+              <library>retrofit2</library>
+              <output>${project.build.directory}/generated-sources/vnfmsimulator</output>
+              <apiPackage>org.onap.vnfm.v1.api</apiPackage>
+              <modelPackage>org.onap.vnfm.v1.model</modelPackage>
+              <configOptions>
+                <jackson>true</jackson>
+                <sourceFolder>src/gen/java/main</sourceFolder>
+                <withXml>true</withXml>
+                <useRxJava2>true</useRxJava2>
+              </configOptions>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+  <dependencies>
+    <dependency>
+      <groupId>io.swagger</groupId>
+      <artifactId>swagger-annotations</artifactId>
+      <version>${swagger-core-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>com.squareup.retrofit2</groupId>
+      <artifactId>converter-gson</artifactId>
+      <version>${retrofit-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>com.squareup.retrofit2</groupId>
+      <artifactId>retrofit</artifactId>
+      <version>${retrofit-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>com.squareup.retrofit2</groupId>
+      <artifactId>converter-scalars</artifactId>
+      <version>${retrofit-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.oltu.oauth2</groupId>
+      <artifactId>org.apache.oltu.oauth2.client</artifactId>
+      <version>${oltu-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>io.gsonfire</groupId>
+      <artifactId>gson-fire</artifactId>
+      <version>${gson-fire-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.threeten</groupId>
+      <artifactId>threetenbp</artifactId>
+      <version>${threetenbp-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>io.reactivex.rxjava2</groupId>
+      <artifactId>rxjava</artifactId>
+      <version>${rxjava-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>com.squareup.retrofit2</groupId>
+      <artifactId>adapter-rxjava2</artifactId>
+      <version>${retrofit-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>com.google.code.gson</groupId>
+      <artifactId>gson</artifactId>
+      <version>${gson-version}</version>
+    </dependency>
+  </dependencies>
 </project>
\ No newline at end of file
index 7b74126..3f4f451 100644 (file)
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-       <modelVersion>4.0.0</modelVersion>
-       <parent>
-               <groupId>org.onap.so.vnfm</groupId>
-               <artifactId>vnfm-simulator</artifactId>
-               <version>1.4.0-SNAPSHOT</version>
-       </parent>
-       <artifactId>vnfm-service</artifactId>
-       <name>${project.artifactId}</name>
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.onap.so.vnfm</groupId>
+    <artifactId>vnfm-simulator</artifactId>
+    <version>1.4.0-SNAPSHOT</version>
+  </parent>
+  <artifactId>vnfm-service</artifactId>
+  <name>${project.artifactId}</name>
 
-       <properties>
-               <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-               <java.version>1.8</java.version>
-       </properties>
-       <dependencies>
-               <dependency>
-                       <groupId>org.onap.so.vnfm</groupId>
-                       <artifactId>vnfm-api</artifactId>
-                       <version>${project.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-web</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-data-jpa</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-actuator</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-starter-test</artifactId>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.boot</groupId>
-                       <artifactId>spring-boot-devtools</artifactId>
-                       <scope>runtime</scope>
-               </dependency>
-               <dependency>
-                       <groupId>junit</groupId>
-                       <artifactId>junit</artifactId>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>io.swagger</groupId>
-                       <artifactId>swagger-jaxrs</artifactId>
-                       <version>1.5.0</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.directory.studio</groupId>
-                       <artifactId>org.apache.commons.io</artifactId>
-                       <version>2.4</version>
-               </dependency>
-               <dependency>
-                       <groupId>com.googlecode.json-simple</groupId>
-                       <artifactId>json-simple</artifactId>
-                       <version>1.1.1</version>
-               </dependency>
+  <properties>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    <java.version>1.8</java.version>
+  </properties>
+  <dependencies>
+    <dependency>
+      <groupId>org.onap.so.vnfm</groupId>
+      <artifactId>vnfm-api</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-web</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-data-jpa</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-actuator</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-test</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-devtools</artifactId>
+      <scope>runtime</scope>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>io.swagger</groupId>
+      <artifactId>swagger-jaxrs</artifactId>
+      <version>1.5.0</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.directory.studio</groupId>
+      <artifactId>org.apache.commons.io</artifactId>
+      <version>2.4</version>
+    </dependency>
+    <dependency>
+      <groupId>com.googlecode.json-simple</groupId>
+      <artifactId>json-simple</artifactId>
+      <version>1.1.1</version>
+    </dependency>
 
-               <dependency>
-                       <groupId>io.springfox</groupId>
-                       <artifactId>springfox-swagger-ui</artifactId>
-                       <version>2.6.1</version>
-                       <scope>compile</scope>
-               </dependency>
-               <dependency>
-                       <groupId>io.springfox</groupId>
-                       <artifactId>springfox-swagger2</artifactId>
-                       <version>2.6.1</version>
-                       <scope>compile</scope>
-               </dependency>
-               <dependency>
-                       <groupId>com.fasterxml.jackson.core</groupId>
-                       <artifactId>jackson-databind</artifactId>
-                       <version>2.9.8</version>
-               </dependency>
-               <dependency>
-                       <groupId>com.h2database</groupId>
-                       <artifactId>h2</artifactId>
-               </dependency>
-               <!-- https://mvnrepository.com/artifact/commons-beanutils/commons-beanutils -->
-               <dependency>
-                       <groupId>commons-beanutils</groupId>
-                       <artifactId>commons-beanutils</artifactId>
-                       <version>1.9.3</version>
-               </dependency>
-       </dependencies>
-       <build>
-               <plugins>
-                       <plugin>
-                               <groupId>org.springframework.boot</groupId>
-                               <artifactId>spring-boot-maven-plugin</artifactId>
-                               <version>${springboot.version}</version>
-                               <configuration>
-                                       <mainClass>org.onap.svnfm.simulator.config.SvnfmApplication</mainClass>
-                               </configuration>
-                               <executions>
-                                       <execution>
-                                               <goals>
-                                                       <goal>repackage</goal>
-                                               </goals>
-                                       </execution>
-                               </executions>
-                       </plugin>
-                       <plugin>
-                               <groupId>org.springframework.boot</groupId>
-                               <artifactId>spring-boot-maven-plugin</artifactId>
-                       </plugin>
-               </plugins>
-       </build>
+    <dependency>
+      <groupId>io.springfox</groupId>
+      <artifactId>springfox-swagger-ui</artifactId>
+      <version>2.6.1</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>io.springfox</groupId>
+      <artifactId>springfox-swagger2</artifactId>
+      <version>2.6.1</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.fasterxml.jackson.core</groupId>
+      <artifactId>jackson-databind</artifactId>
+      <version>2.9.8</version>
+    </dependency>
+    <dependency>
+      <groupId>com.h2database</groupId>
+      <artifactId>h2</artifactId>
+    </dependency>
+    <!-- https://mvnrepository.com/artifact/commons-beanutils/commons-beanutils -->
+    <dependency>
+      <groupId>commons-beanutils</groupId>
+      <artifactId>commons-beanutils</artifactId>
+      <version>1.9.3</version>
+    </dependency>
+  </dependencies>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-maven-plugin</artifactId>
+        <version>${springboot.version}</version>
+        <configuration>
+          <mainClass>org.onap.svnfm.simulator.config.SvnfmApplication</mainClass>
+        </configuration>
+        <executions>
+          <execution>
+            <goals>
+              <goal>repackage</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-maven-plugin</artifactId>
+      </plugin>
+    </plugins>
+  </build>
 </project>
\ No newline at end of file