Merge "Async vnf adapter response not getting to bpmn"
diff --git a/asdc-controller/src/main/java/org/onap/so/asdc/activity/DeployActivitySpecs.java b/asdc-controller/src/main/java/org/onap/so/asdc/activity/DeployActivitySpecs.java
index 7f1c196..d60c377 100644
--- a/asdc-controller/src/main/java/org/onap/so/asdc/activity/DeployActivitySpecs.java
+++ b/asdc-controller/src/main/java/org/onap/so/asdc/activity/DeployActivitySpecs.java
@@ -65,7 +65,7 @@
             logger.warn("The hostname for SDC activities deployment is not configured in SO");
             return;
         }
-        if (!checkHttpOk(hostname)) {
+        if (!checkHttpServerUp(hostname)) {
             logger.warn("The sdc end point is not alive");
             return;
         }
@@ -144,21 +144,22 @@
         return;
     }
 
-    public boolean checkHttpOk(String host) {
+    public boolean checkHttpServerUp(String host) {
         URL url = null;
-        boolean isOk = false;
+        boolean isUp = false;
 
         int responseCode = 0;
         try {
             url = new URL(host);
             HttpURLConnection connection = (HttpURLConnection) url.openConnection();
+            connection.setConnectTimeout(5000);
             responseCode = connection.getResponseCode();
         } catch (Exception e) {
             logger.warn("Exception on connecting to SDC WFD endpoint: " + e.getMessage());
         }
-        if (responseCode == HttpStatus.SC_OK) {
-            isOk = true;
+        if (responseCode == HttpStatus.SC_OK || responseCode == HttpStatus.SC_NOT_FOUND) {
+            isUp = true;
         }
-        return isOk;
+        return isUp;
     }
 }
diff --git a/asdc-controller/src/main/java/org/onap/so/asdc/installer/heat/ToscaResourceInstaller.java b/asdc-controller/src/main/java/org/onap/so/asdc/installer/heat/ToscaResourceInstaller.java
index ac78dfa..b2dbcb4 100644
--- a/asdc-controller/src/main/java/org/onap/so/asdc/installer/heat/ToscaResourceInstaller.java
+++ b/asdc-controller/src/main/java/org/onap/so/asdc/installer/heat/ToscaResourceInstaller.java
@@ -2792,7 +2792,7 @@
                 + vfModuleStructure.getVfModuleMetadata().getVfModuleModelName();
     }
 
-    protected List<IEntityDetails> getEntityDetails(ToscaResourceStructure toscaResourceStruct,
+    public List<IEntityDetails> getEntityDetails(ToscaResourceStructure toscaResourceStruct,
             EntityQueryBuilder entityType, TopologyTemplateQueryBuilder topologyTemplateBuilder, boolean nestedSearch) {
 
         EntityQuery entityQuery = entityType.build();
@@ -2804,7 +2804,7 @@
 
     }
 
-    protected String getLeafPropertyValue(IEntityDetails entityDetails, String propName) {
+    public String getLeafPropertyValue(IEntityDetails entityDetails, String propName) {
 
         Property leafProperty = entityDetails.getProperties().get(propName);
 
diff --git a/asdc-controller/src/main/java/org/onap/so/asdc/util/ASDCNotificationLogging.java b/asdc-controller/src/main/java/org/onap/so/asdc/util/ASDCNotificationLogging.java
index 4b069e6..07eca56 100644
--- a/asdc-controller/src/main/java/org/onap/so/asdc/util/ASDCNotificationLogging.java
+++ b/asdc-controller/src/main/java/org/onap/so/asdc/util/ASDCNotificationLogging.java
@@ -26,15 +26,16 @@
 import org.onap.sdc.api.notification.IArtifactInfo;
 import org.onap.sdc.api.notification.INotificationData;
 import org.onap.sdc.api.notification.IResourceInstance;
+import org.onap.sdc.tosca.parser.api.IEntityDetails;
 import org.onap.sdc.tosca.parser.api.ISdcCsarHelper;
+import org.onap.sdc.tosca.parser.elements.queries.EntityQuery;
+import org.onap.sdc.tosca.parser.elements.queries.TopologyTemplateQuery;
 import org.onap.sdc.tosca.parser.enums.SdcTypes;
 import org.onap.sdc.tosca.parser.impl.SdcPropertyNames;
-import org.onap.sdc.toscaparser.api.Group;
-import org.onap.sdc.toscaparser.api.NodeTemplate;
 import org.onap.sdc.toscaparser.api.elements.Metadata;
 import org.onap.so.asdc.installer.IVfModuleData;
 import org.onap.so.asdc.installer.ToscaResourceStructure;
-import org.onap.so.db.catalog.beans.NetworkResourceCustomization;
+import org.onap.so.asdc.installer.heat.ToscaResourceInstaller;
 
 public class ASDCNotificationLogging {
 
@@ -63,7 +64,7 @@
             return "NULL";
         }
 
-
+        ToscaResourceInstaller toscaResourceInstaller = new ToscaResourceInstaller();
         StringBuilder buffer = new StringBuilder("CSAR Notification:");
         buffer.append(System.lineSeparator());
         buffer.append(System.lineSeparator());
@@ -103,33 +104,33 @@
         buffer.append(System.lineSeparator());
 
 
-        List<NodeTemplate> serviceProxyResourceList =
-                toscaResourceStructure.getSdcCsarHelper().getServiceNodeTemplateBySdcType(SdcTypes.SERVICE_PROXY);
+        List<IEntityDetails> serviceProxyResourceList = toscaResourceInstaller.getEntityDetails(toscaResourceStructure,
+                EntityQuery.newBuilder(SdcTypes.SERVICE_PROXY), TopologyTemplateQuery.newBuilder(SdcTypes.SERVICE),
+                true);
+
 
         if (serviceProxyResourceList != null) {
 
-            for (NodeTemplate serviceProxyNodeTemplate : serviceProxyResourceList) {
+            for (IEntityDetails serviceProxyEntity : serviceProxyResourceList) {
 
                 buffer.append(System.lineSeparator());
                 buffer.append(System.lineSeparator());
                 buffer.append("Service Proxy Properties:");
                 buffer.append(System.lineSeparator());
                 buffer.append("Model Name:");
-                buffer.append(serviceProxyNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME));
+                buffer.append(serviceProxyEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_NAME));
                 buffer.append(System.lineSeparator());
                 buffer.append("Model UUID:");
-                buffer.append(serviceProxyNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID));
+                buffer.append(serviceProxyEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_UUID));
                 buffer.append(System.lineSeparator());
                 buffer.append("Description:");
-                buffer.append(
-                        serviceProxyNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION));
+                buffer.append(serviceProxyEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION));
                 buffer.append(System.lineSeparator());
                 buffer.append("Version:");
-                buffer.append(serviceProxyNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION));
+                buffer.append(serviceProxyEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION));
                 buffer.append(System.lineSeparator());
                 buffer.append("InvariantUuid:");
-                buffer.append(
-                        serviceProxyNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID));
+                buffer.append(serviceProxyEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID));
                 buffer.append(System.lineSeparator());
 
                 buffer.append(System.lineSeparator());
@@ -138,31 +139,31 @@
                 buffer.append(System.lineSeparator());
 
                 buffer.append("Model Customization UUID:");
-                buffer.append(serviceProxyNodeTemplate.getMetaData()
-                        .getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID));
+                buffer.append(
+                        serviceProxyEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID));
                 buffer.append(System.lineSeparator());
                 buffer.append("Model Instance Name:");
-                buffer.append(serviceProxyNodeTemplate.getName());
+                buffer.append(serviceProxyEntity.getName());
                 buffer.append(System.lineSeparator());
                 buffer.append("Tosca Node Type:");
-                buffer.append(serviceProxyNodeTemplate.getType());
+                buffer.append(serviceProxyEntity.getToscaType());
                 buffer.append(System.lineSeparator());
                 buffer.append("Version:");
-                buffer.append(serviceProxyNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION));
+                buffer.append(serviceProxyEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION));
                 buffer.append(System.lineSeparator());
                 buffer.append("InvariantUuid:");
-                buffer.append(
-                        serviceProxyNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID));
+                buffer.append(serviceProxyEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID));
                 buffer.append(System.lineSeparator());
 
             }
         }
 
-        List<NodeTemplate> configurationNodeTemplatesList =
-                toscaResourceStructure.getSdcCsarHelper().getServiceNodeTemplateBySdcType(SdcTypes.CONFIGURATION);
+        List<IEntityDetails> configurationList = toscaResourceInstaller.getEntityDetails(toscaResourceStructure,
+                EntityQuery.newBuilder(SdcTypes.CONFIGURATION), TopologyTemplateQuery.newBuilder(SdcTypes.SERVICE),
+                true);
 
-        if (configurationNodeTemplatesList != null) {
-            for (NodeTemplate configNodeTemplate : configurationNodeTemplatesList) {
+        if (configurationList != null) {
+            for (IEntityDetails configEntity : configurationList) {
 
                 buffer.append(System.lineSeparator());
                 buffer.append(System.lineSeparator());
@@ -170,22 +171,22 @@
                 buffer.append(System.lineSeparator());
 
                 buffer.append("Model Name:");
-                buffer.append(configNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME));
+                buffer.append(configEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_NAME));
                 buffer.append(System.lineSeparator());
                 buffer.append("Model UUID:");
-                buffer.append(configNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID));
+                buffer.append(configEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_UUID));
                 buffer.append(System.lineSeparator());
                 buffer.append("Description:");
-                buffer.append(configNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION));
+                buffer.append(configEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION));
                 buffer.append(System.lineSeparator());
                 buffer.append("Version:");
-                buffer.append(configNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION));
+                buffer.append(configEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION));
                 buffer.append(System.lineSeparator());
                 buffer.append("InvariantUuid:");
-                buffer.append(configNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID));
+                buffer.append(configEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID));
                 buffer.append(System.lineSeparator());
                 buffer.append("Tosca Node Type:");
-                buffer.append(configNodeTemplate.getType());
+                buffer.append(configEntity.getToscaType());
 
                 buffer.append(System.lineSeparator());
                 buffer.append(System.lineSeparator());
@@ -193,62 +194,63 @@
                 buffer.append(System.lineSeparator());
 
                 buffer.append("Model Customization UUID:");
-                buffer.append(
-                        configNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID));
+                buffer.append(configEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID));
                 buffer.append(System.lineSeparator());
                 buffer.append("Model Instance Name:");
-                buffer.append(configNodeTemplate.getName());
+                buffer.append(configEntity.getName());
                 buffer.append(System.lineSeparator());
                 buffer.append("NFFunction:");
-                buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(
-                        configNodeTemplate, SdcPropertyNames.PROPERTY_NAME_NFFUNCTION));
+                buffer.append(toscaResourceInstaller.getLeafPropertyValue(configEntity,
+                        SdcPropertyNames.PROPERTY_NAME_NFFUNCTION));
                 buffer.append(System.lineSeparator());
                 buffer.append("NFRole:");
-                buffer.append(toscaResourceStructure.getSdcCsarHelper()
-                        .getNodeTemplatePropertyLeafValue(configNodeTemplate, SdcPropertyNames.PROPERTY_NAME_NFROLE));
+                buffer.append(toscaResourceInstaller.getLeafPropertyValue(configEntity,
+                        SdcPropertyNames.PROPERTY_NAME_NFROLE));
                 buffer.append(System.lineSeparator());
                 buffer.append("NFType:");
-                buffer.append(toscaResourceStructure.getSdcCsarHelper()
-                        .getNodeTemplatePropertyLeafValue(configNodeTemplate, SdcPropertyNames.PROPERTY_NAME_NFTYPE));
+                buffer.append(toscaResourceInstaller.getLeafPropertyValue(configEntity,
+                        SdcPropertyNames.PROPERTY_NAME_NFTYPE));
                 buffer.append(System.lineSeparator());
 
             }
         }
 
-        List<NodeTemplate> vfNodeTemplatesList = toscaResourceStructure.getSdcCsarHelper().getServiceVfList();
-        for (NodeTemplate vfNodeTemplate : vfNodeTemplatesList) {
+        List<IEntityDetails> vfEntityList = toscaResourceInstaller.getEntityDetails(toscaResourceStructure,
+                EntityQuery.newBuilder(SdcTypes.VF), TopologyTemplateQuery.newBuilder(SdcTypes.SERVICE), false);
+
+
+        for (IEntityDetails vfEntity : vfEntityList) {
 
             buffer.append(System.lineSeparator());
             buffer.append(System.lineSeparator());
             buffer.append("VNF Properties:");
             buffer.append(System.lineSeparator());
             buffer.append("Model Name:");
-            buffer.append(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME)));
+            buffer.append(testNull(vfEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_NAME)));
             buffer.append(System.lineSeparator());
             buffer.append("Model UUID:");
-            buffer.append(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID)));
+            buffer.append(testNull(vfEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_UUID)));
             buffer.append(System.lineSeparator());
             buffer.append("Description:");
-            buffer.append(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION)));
+            buffer.append(testNull(vfEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION)));
             buffer.append(System.lineSeparator());
             buffer.append("Version:");
-            buffer.append(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION)));
+            buffer.append(testNull(vfEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION)));
             buffer.append(System.lineSeparator());
             buffer.append("Type:");
-            buffer.append(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_TYPE)));
+            buffer.append(testNull(vfEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_TYPE)));
             buffer.append(System.lineSeparator());
             buffer.append("Category:");
-            buffer.append(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CATEGORY)));
+            buffer.append(testNull(vfEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_CATEGORY)));
             buffer.append(System.lineSeparator());
             buffer.append("InvariantUuid:");
-            buffer.append(
-                    testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID)));
+            buffer.append(testNull(vfEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID)));
             buffer.append(System.lineSeparator());
             buffer.append("Max Instances:");
-            buffer.append(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_MAXINSTANCES));
+            buffer.append(vfEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_MAXINSTANCES));
             buffer.append(System.lineSeparator());
             buffer.append("Min Instances:");
-            buffer.append(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_MININSTANCES));
+            buffer.append(vfEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_MININSTANCES));
             buffer.append(System.lineSeparator());
 
             buffer.append(System.lineSeparator());
@@ -256,37 +258,35 @@
             buffer.append(System.lineSeparator());
 
             buffer.append("Customization UUID:");
-            buffer.append(
-                    testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID)));
+            buffer.append(testNull(vfEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID)));
             buffer.append(System.lineSeparator());
             buffer.append("NFFunction:");
-            buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(vfNodeTemplate,
-                    SdcPropertyNames.PROPERTY_NAME_NFFUNCTION));
+            buffer.append(
+                    toscaResourceInstaller.getLeafPropertyValue(vfEntity, SdcPropertyNames.PROPERTY_NAME_NFFUNCTION));
             buffer.append(System.lineSeparator());
             buffer.append("NFCode:");
-            buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(vfNodeTemplate,
-                    "nf_naming_code"));
+            buffer.append(toscaResourceInstaller.getLeafPropertyValue(vfEntity, "nf_naming_code"));
             buffer.append(System.lineSeparator());
             buffer.append("NFRole:");
-            buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(vfNodeTemplate,
-                    SdcPropertyNames.PROPERTY_NAME_NFROLE));
+            buffer.append(toscaResourceInstaller.getLeafPropertyValue(vfEntity, SdcPropertyNames.PROPERTY_NAME_NFROLE));
             buffer.append(System.lineSeparator());
             buffer.append("NFType:");
-            buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(vfNodeTemplate,
-                    SdcPropertyNames.PROPERTY_NAME_NFTYPE));
+            buffer.append(toscaResourceInstaller.getLeafPropertyValue(vfEntity, SdcPropertyNames.PROPERTY_NAME_NFTYPE));
             buffer.append(System.lineSeparator());
             buffer.append("MultiStageDesign:");
-            buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(vfNodeTemplate,
-                    "multi_stage_design"));
+            buffer.append(toscaResourceInstaller.getLeafPropertyValue(vfEntity, "multi_stage_design"));
             buffer.append(System.lineSeparator());
 
-            List<Group> groupList =
-                    toscaResourceStructure.getSdcCsarHelper().getGroupsOfOriginOfNodeTemplateByToscaGroupType(
-                            vfNodeTemplate, "org.openecomp.groups.VfcInstanceGroup");
 
-            if (groupList != null) {
-                for (Group group : groupList) {
-                    Metadata instanceMetadata = group.getMetadata();
+            List<IEntityDetails> vfcInstanceEntityList = toscaResourceInstaller.getEntityDetails(toscaResourceStructure,
+                    EntityQuery.newBuilder("org.openecomp.groups.VfcInstanceGroup"),
+                    TopologyTemplateQuery.newBuilder(SdcTypes.VF)
+                            .customizationUUID(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID),
+                    false);
+
+            if (vfcInstanceEntityList != null) {
+                for (IEntityDetails vfcEntity : vfcInstanceEntityList) {
+                    Metadata instanceMetadata = vfcEntity.getMetadata();
 
                     buffer.append(System.lineSeparator());
                     buffer.append(System.lineSeparator());
@@ -300,7 +300,7 @@
                     buffer.append(instanceMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_VERSION));
                     buffer.append(System.lineSeparator());
                     buffer.append("Type:");
-                    buffer.append(vfNodeTemplate.getType());
+                    buffer.append(vfcEntity.getToscaType());
                     buffer.append(System.lineSeparator());
                     buffer.append("InvariantUuid:");
                     buffer.append(instanceMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID));
@@ -309,43 +309,43 @@
 
             }
 
+            List<IEntityDetails> vfModuleEntityList = toscaResourceInstaller.getEntityDetails(toscaResourceStructure,
+                    EntityQuery.newBuilder("org.openecomp.groups.VfModule"),
+                    TopologyTemplateQuery.newBuilder(SdcTypes.SERVICE)
+                            .customizationUUID(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID),
+                    false);
 
-            List<Group> vfGroups = toscaResourceStructure.getSdcCsarHelper().getVfModulesByVf(
-                    testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID)));
 
-            for (Group group : vfGroups) {
+            for (IEntityDetails vfModuleEntity : vfModuleEntityList) {
 
-                Metadata vfMetadata = group.getMetadata();
+                Metadata vfMetadata = vfModuleEntity.getMetadata();
 
                 buffer.append(System.lineSeparator());
                 buffer.append(System.lineSeparator());
                 buffer.append("VF Module Properties:");
                 buffer.append(System.lineSeparator());
                 buffer.append("ModelInvariantUuid:");
-                buffer.append(testNull(toscaResourceStructure.getSdcCsarHelper().getMetadataPropertyValue(vfMetadata,
-                        SdcPropertyNames.PROPERTY_NAME_VFMODULEMODELINVARIANTUUID)));
+                buffer.append(testNull(vfMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_VFMODULEMODELINVARIANTUUID)));
                 buffer.append(System.lineSeparator());
                 buffer.append("ModelName:");
-                buffer.append(testNull(toscaResourceStructure.getSdcCsarHelper().getMetadataPropertyValue(vfMetadata,
-                        SdcPropertyNames.PROPERTY_NAME_VFMODULEMODELNAME)));
+                buffer.append(testNull(vfMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_VFMODULEMODELNAME)));
                 buffer.append(System.lineSeparator());
                 buffer.append("ModelUuid:");
-                buffer.append(testNull(toscaResourceStructure.getSdcCsarHelper().getMetadataPropertyValue(vfMetadata,
-                        SdcPropertyNames.PROPERTY_NAME_VFMODULEMODELUUID)));
+                buffer.append(testNull(vfMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_VFMODULEMODELUUID)));
                 buffer.append(System.lineSeparator());
                 buffer.append("ModelVersion:");
-                buffer.append(testNull(toscaResourceStructure.getSdcCsarHelper().getMetadataPropertyValue(vfMetadata,
-                        SdcPropertyNames.PROPERTY_NAME_VFMODULEMODELVERSION)));
+                buffer.append(testNull(vfMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_VFMODULEMODELVERSION)));
                 buffer.append(System.lineSeparator());
                 buffer.append("Description:");
-                buffer.append(testNull(toscaResourceStructure.getSdcCsarHelper().getMetadataPropertyValue(vfMetadata,
-                        SdcPropertyNames.PROPERTY_NAME_DESCRIPTION)));
+                buffer.append(testNull(vfMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION)));
                 buffer.append(System.lineSeparator());
 
-                List<NodeTemplate> groupMembers =
-                        toscaResourceStructure.getSdcCsarHelper().getMembersOfVfModule(vfNodeTemplate, group);
+                List<IEntityDetails> groupMembers = toscaResourceInstaller.getEntityDetails(toscaResourceStructure,
+                        EntityQuery.newBuilder("org.openecomp.groups.VfModule")
+                                .uUID(SdcPropertyNames.PROPERTY_NAME_VFMODULEMODELUUID),
+                        TopologyTemplateQuery.newBuilder(SdcTypes.VF), false);
 
-                for (NodeTemplate node : groupMembers) {
+                for (IEntityDetails node : groupMembers) {
                     buffer.append("Member Name:");
                     buffer.append(testNull(node.getName()));
                     buffer.append(System.lineSeparator());
@@ -355,17 +355,18 @@
                 buffer.append("VF Module Customization Properties:");
                 buffer.append(System.lineSeparator());
                 buffer.append("Model Customization UUID:");
-                buffer.append(testNull(toscaResourceStructure.getSdcCsarHelper().getMetadataPropertyValue(vfMetadata,
+                buffer.append(testNull(toscaResourceInstaller.getLeafPropertyValue(vfModuleEntity,
                         SdcPropertyNames.PROPERTY_NAME_VFMODULECUSTOMIZATIONUUID)));
                 buffer.append(System.lineSeparator());
 
             }
 
-            List<NodeTemplate> vfConfigList = toscaResourceStructure.getSdcCsarHelper()
-                    .getNodeTemplateBySdcType(vfNodeTemplate, SdcTypes.CONFIGURATION);
+            List<IEntityDetails> fabricEntityList = toscaResourceInstaller.getEntityDetails(toscaResourceStructure,
+                    EntityQuery.newBuilder(SdcTypes.CONFIGURATION), TopologyTemplateQuery.newBuilder(SdcTypes.VF),
+                    false);
 
-            if (vfConfigList != null) {
-                for (NodeTemplate configNodeTemplate : vfConfigList) {
+            if (fabricEntityList != null) {
+                for (IEntityDetails configEntity : fabricEntityList) {
 
                     buffer.append(System.lineSeparator());
                     buffer.append(System.lineSeparator());
@@ -373,24 +374,22 @@
                     buffer.append(System.lineSeparator());
 
                     buffer.append("Model Name:");
-                    buffer.append(configNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME));
+                    buffer.append(configEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_NAME));
                     buffer.append(System.lineSeparator());
                     buffer.append("Model UUID:");
-                    buffer.append(configNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID));
+                    buffer.append(configEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_UUID));
                     buffer.append(System.lineSeparator());
                     buffer.append("Description:");
-                    buffer.append(
-                            configNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION));
+                    buffer.append(configEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION));
                     buffer.append(System.lineSeparator());
                     buffer.append("Version:");
-                    buffer.append(configNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION));
+                    buffer.append(configEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION));
                     buffer.append(System.lineSeparator());
                     buffer.append("InvariantUuid:");
-                    buffer.append(
-                            configNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID));
+                    buffer.append(configEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID));
                     buffer.append(System.lineSeparator());
                     buffer.append("Tosca Node Type:");
-                    buffer.append(configNodeTemplate.getType());
+                    buffer.append(configEntity.getToscaType());
 
                     buffer.append(System.lineSeparator());
                     buffer.append(System.lineSeparator());
@@ -398,95 +397,96 @@
                     buffer.append(System.lineSeparator());
 
                     buffer.append("Model Customization UUID:");
-                    buffer.append(configNodeTemplate.getMetaData()
-                            .getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID));
+                    buffer.append(
+                            configEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID));
                     buffer.append(System.lineSeparator());
                     buffer.append("Model Instance Name:");
-                    buffer.append(configNodeTemplate.getName());
+                    buffer.append(configEntity.getName());
                     buffer.append(System.lineSeparator());
                     buffer.append("NFFunction:");
-                    buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(
-                            configNodeTemplate, SdcPropertyNames.PROPERTY_NAME_NFFUNCTION));
+                    buffer.append(toscaResourceInstaller.getLeafPropertyValue(configEntity,
+                            SdcPropertyNames.PROPERTY_NAME_NFFUNCTION));
                     buffer.append(System.lineSeparator());
                     buffer.append("NFRole:");
-                    buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(
-                            configNodeTemplate, SdcPropertyNames.PROPERTY_NAME_NFROLE));
+                    buffer.append(toscaResourceInstaller.getLeafPropertyValue(configEntity,
+                            SdcPropertyNames.PROPERTY_NAME_NFROLE));
                     buffer.append(System.lineSeparator());
                     buffer.append("NFType:");
-                    buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(
-                            configNodeTemplate, SdcPropertyNames.PROPERTY_NAME_NFTYPE));
+                    buffer.append(toscaResourceInstaller.getLeafPropertyValue(configEntity,
+                            SdcPropertyNames.PROPERTY_NAME_NFTYPE));
                     buffer.append(System.lineSeparator());
 
                 }
             }
 
-            List<NodeTemplate> cvfcList =
-                    toscaResourceStructure.getSdcCsarHelper().getNodeTemplateBySdcType(vfNodeTemplate, SdcTypes.CVFC);
+            List<IEntityDetails> cvnfcEntityList = toscaResourceInstaller.getEntityDetails(toscaResourceStructure,
+                    EntityQuery.newBuilder(SdcTypes.CVFC), TopologyTemplateQuery.newBuilder(SdcTypes.VF), false);
 
-            for (NodeTemplate cvfcTemplate : cvfcList) {
+            for (IEntityDetails cvnfcEntity : cvnfcEntityList) {
 
                 buffer.append(System.lineSeparator());
                 buffer.append(System.lineSeparator());
                 buffer.append("CVNFC Properties:");
                 buffer.append(System.lineSeparator());
                 buffer.append("ModelCustomizationUuid:");
-                buffer.append(testNull(
-                        cvfcTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID)));
+                buffer.append(
+                        testNull(cvnfcEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID)));
                 buffer.append(System.lineSeparator());
                 buffer.append("ModelInvariantUuid:");
                 buffer.append(
-                        testNull(cvfcTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID)));
+                        testNull(cvnfcEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID)));
                 buffer.append(System.lineSeparator());
                 buffer.append("ModelName:");
-                buffer.append(testNull(cvfcTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME)));
+                buffer.append(testNull(cvnfcEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_NAME)));
                 buffer.append(System.lineSeparator());
                 buffer.append("ModelUuid:");
-                buffer.append(testNull(cvfcTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID)));
+                buffer.append(testNull(cvnfcEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_UUID)));
                 buffer.append(System.lineSeparator());
                 buffer.append("ModelVersion:");
-                buffer.append(testNull(cvfcTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION)));
+                buffer.append(testNull(cvnfcEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION)));
                 buffer.append(System.lineSeparator());
                 buffer.append("Description:");
-                buffer.append(
-                        testNull(cvfcTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION)));
+                buffer.append(testNull(cvnfcEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION)));
                 buffer.append(System.lineSeparator());
                 buffer.append("Template Name:");
-                buffer.append(testNull(cvfcTemplate.getName()));
+                buffer.append(testNull(cvnfcEntity.getName()));
                 buffer.append(System.lineSeparator());
 
+                List<IEntityDetails> vfcEntityList = toscaResourceInstaller.getEntityDetails(toscaResourceStructure,
+                        EntityQuery.newBuilder(SdcTypes.VFC),
+                        TopologyTemplateQuery.newBuilder(SdcTypes.CVFC).customizationUUID(
+                                cvnfcEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID)),
+                        false);
 
-                List<NodeTemplate> vfcList =
-                        toscaResourceStructure.getSdcCsarHelper().getNodeTemplateBySdcType(cvfcTemplate, SdcTypes.VFC);
-
-                for (NodeTemplate vfcTemplate : vfcList) {
+                for (IEntityDetails vfcEntity : vfcEntityList) {
                     buffer.append(System.lineSeparator());
                     buffer.append(System.lineSeparator());
                     buffer.append("VNFC Properties:");
                     buffer.append(System.lineSeparator());
                     buffer.append("ModelCustomizationUuid:");
                     buffer.append(testNull(
-                            vfcTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID)));
+                            vfcEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID)));
                     buffer.append(System.lineSeparator());
                     buffer.append("ModelInvariantUuid:");
                     buffer.append(
-                            testNull(vfcTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID)));
+                            testNull(vfcEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID)));
                     buffer.append(System.lineSeparator());
                     buffer.append("ModelName:");
-                    buffer.append(testNull(vfcTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME)));
+                    buffer.append(testNull(vfcEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_NAME)));
                     buffer.append(System.lineSeparator());
                     buffer.append("ModelUuid:");
-                    buffer.append(testNull(vfcTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID)));
+                    buffer.append(testNull(vfcEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_UUID)));
                     buffer.append(System.lineSeparator());
                     buffer.append("ModelVersion:");
-                    buffer.append(testNull(vfcTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION)));
+                    buffer.append(testNull(vfcEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION)));
                     buffer.append(System.lineSeparator());
                     buffer.append("Description:");
                     buffer.append(
-                            testNull(vfcTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION)));
+                            testNull(vfcEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION)));
                     buffer.append(System.lineSeparator());
                     buffer.append("Sub Category:");
                     buffer.append(
-                            testNull(vfcTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_SUBCATEGORY)));
+                            testNull(vfcEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_SUBCATEGORY)));
                     buffer.append(System.lineSeparator());
 
                 }
@@ -495,41 +495,40 @@
 
         }
 
+        List<IEntityDetails> vlEntityList = toscaResourceInstaller.getEntityDetails(toscaResourceStructure,
+                EntityQuery.newBuilder(SdcTypes.VL), TopologyTemplateQuery.newBuilder(SdcTypes.SERVICE), false);
 
+        if (vlEntityList != null) {
 
-        List<NodeTemplate> nodeTemplatesVLList = toscaResourceStructure.getSdcCsarHelper().getServiceVlList();
-
-        if (nodeTemplatesVLList != null) {
-
-            for (NodeTemplate vlNode : nodeTemplatesVLList) {
+            for (IEntityDetails vlEntity : vlEntityList) {
 
                 buffer.append(System.lineSeparator());
                 buffer.append(System.lineSeparator());
                 buffer.append("NETWORK Level Properties:");
                 buffer.append(System.lineSeparator());
                 buffer.append("Model Name:");
-                buffer.append(testNull(vlNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME)));
+                buffer.append(testNull(vlEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_NAME)));
                 buffer.append(System.lineSeparator());
                 buffer.append("Model InvariantUuid:");
-                buffer.append(testNull(vlNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID)));
+                buffer.append(testNull(vlEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID)));
                 buffer.append(System.lineSeparator());
                 buffer.append("Model UUID:");
-                buffer.append(testNull(vlNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID)));
+                buffer.append(testNull(vlEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_UUID)));
                 buffer.append(System.lineSeparator());
                 buffer.append("Model Version:");
-                buffer.append(testNull(vlNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION)));
+                buffer.append(testNull(vlEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION)));
                 buffer.append(System.lineSeparator());
                 buffer.append("AIC Max Version:");
-                buffer.append(testNull(vlNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_MAXINSTANCES)));
+                buffer.append(testNull(vlEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_MAXINSTANCES)));
                 buffer.append(System.lineSeparator());
                 buffer.append("AIC Min Version:");
-                buffer.append(testNull(vlNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_MININSTANCES)));
+                buffer.append(testNull(vlEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_MININSTANCES)));
                 buffer.append(System.lineSeparator());
                 buffer.append("Tosca Node Type:");
-                buffer.append(testNull(vlNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_TYPE)));
+                buffer.append(testNull(vlEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_TYPE)));
                 buffer.append(System.lineSeparator());
                 buffer.append("Description:");
-                buffer.append(testNull(vlNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION)));
+                buffer.append(testNull(vlEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION)));
                 buffer.append(System.lineSeparator());
 
 
@@ -537,22 +536,22 @@
                 buffer.append("NETWORK Customization Properties:");
                 buffer.append(System.lineSeparator());
                 buffer.append("CustomizationUUID:");
-                buffer.append(vlNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID));
+                buffer.append(vlEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID));
                 buffer.append(System.lineSeparator());
                 buffer.append("Network Technology:");
-                buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(vlNode,
+                buffer.append(toscaResourceInstaller.getLeafPropertyValue(vlEntity,
                         SdcPropertyNames.PROPERTY_NAME_NETWORKTECHNOLOGY));
                 buffer.append(System.lineSeparator());
                 buffer.append("Network Type:");
-                buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(vlNode,
+                buffer.append(toscaResourceInstaller.getLeafPropertyValue(vlEntity,
                         SdcPropertyNames.PROPERTY_NAME_NETWORKTYPE));
                 buffer.append(System.lineSeparator());
                 buffer.append("Network Role:");
-                buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(vlNode,
+                buffer.append(toscaResourceInstaller.getLeafPropertyValue(vlEntity,
                         SdcPropertyNames.PROPERTY_NAME_NETWORKROLE));
                 buffer.append(System.lineSeparator());
                 buffer.append("Network Scope:");
-                buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(vlNode,
+                buffer.append(toscaResourceInstaller.getLeafPropertyValue(vlEntity,
                         SdcPropertyNames.PROPERTY_NAME_NETWORKSCOPE));
                 buffer.append(System.lineSeparator());
 
@@ -560,52 +559,55 @@
 
         }
 
+        List<IEntityDetails> crEntityList = toscaResourceInstaller.getEntityDetails(toscaResourceStructure,
+                EntityQuery.newBuilder(SdcTypes.CR), TopologyTemplateQuery.newBuilder(SdcTypes.SERVICE), false);
 
-        List<NodeTemplate> networkCollectionList =
-                toscaResourceStructure.getSdcCsarHelper().getServiceNodeTemplateBySdcType(SdcTypes.CR);
-
-        if (networkCollectionList != null) {
-            for (NodeTemplate crNode : networkCollectionList) {
+        if (crEntityList != null) {
+            for (IEntityDetails crEntity : crEntityList) {
                 buffer.append(System.lineSeparator());
                 buffer.append("Network Collection Properties:");
                 buffer.append(System.lineSeparator());
                 buffer.append("Model Name:");
-                buffer.append(crNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME));
+                buffer.append(crEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_NAME));
                 buffer.append(System.lineSeparator());
                 buffer.append("Model UUID:");
-                buffer.append(crNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID));
+                buffer.append(crEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_UUID));
+                buffer.append(System.lineSeparator());
+                buffer.append("Customization UUID:");
+                buffer.append(crEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID));
                 buffer.append(System.lineSeparator());
                 buffer.append("InvariantUuid:");
-                buffer.append(crNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID));
+                buffer.append(crEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID));
                 buffer.append(System.lineSeparator());
                 buffer.append("Description:");
-                buffer.append(crNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION));
+                buffer.append(crEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION));
                 buffer.append(System.lineSeparator());
                 buffer.append("Version:");
-                buffer.append(crNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION));
+                buffer.append(crEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION));
                 buffer.append(System.lineSeparator());
                 buffer.append("Tosca Node Type:");
-                buffer.append(crNode.getType());
+                buffer.append(crEntity.getToscaType());
                 buffer.append(System.lineSeparator());
                 buffer.append("CR Function:");
-                buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(crNode,
-                        "cr_function"));
+                buffer.append(toscaResourceInstaller.getLeafPropertyValue(crEntity, "cr_function"));
                 buffer.append(System.lineSeparator());
                 buffer.append("CR Role:");
-                buffer.append(
-                        toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(crNode, "cr_role"));
+                buffer.append(toscaResourceInstaller.getLeafPropertyValue(crEntity, "cr_role"));
                 buffer.append(System.lineSeparator());
                 buffer.append("CR Type:");
-                buffer.append(
-                        toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(crNode, "cr_type"));
+                buffer.append(toscaResourceInstaller.getLeafPropertyValue(crEntity, "cr_type"));
                 buffer.append(System.lineSeparator());
 
-                List<NodeTemplate> vlNodeList =
-                        toscaResourceStructure.getSdcCsarHelper().getNodeTemplateBySdcType(crNode, SdcTypes.VL);
+                List<IEntityDetails> networkEntityList = toscaResourceInstaller.getEntityDetails(toscaResourceStructure,
+                        EntityQuery.newBuilder(SdcTypes.VL),
+                        TopologyTemplateQuery.newBuilder(SdcTypes.CR).customizationUUID(
+                                crEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID)),
+                        false);
 
-                for (NodeTemplate vlNodeTemplate : vlNodeList) {
 
-                    Metadata vlMetadata = vlNodeTemplate.getMetaData();
+                for (IEntityDetails vlEntity : networkEntityList) {
+
+                    Metadata vlMetadata = vlEntity.getMetadata();
 
                     buffer.append(System.lineSeparator());
                     buffer.append(System.lineSeparator());
@@ -631,19 +633,20 @@
                     buffer.append(vlMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION));
                     buffer.append(System.lineSeparator());
                     buffer.append("Tosca Node Type:");
-                    buffer.append(vlNodeTemplate.getType());
+                    buffer.append(vlEntity.getToscaType());
                     buffer.append(System.lineSeparator());
 
                 }
 
+                List<IEntityDetails> ncEntityList = toscaResourceInstaller.getEntityDetails(toscaResourceStructure,
+                        EntityQuery.newBuilder("org.openecomp.groups.NetworkCollection"),
+                        TopologyTemplateQuery.newBuilder(SdcTypes.CR).customizationUUID(
+                                crEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID)),
+                        false);
 
-                List<Group> groupList =
-                        toscaResourceStructure.getSdcCsarHelper().getGroupsOfOriginOfNodeTemplateByToscaGroupType(
-                                crNode, "org.openecomp.groups.NetworkCollection");
-
-                if (groupList != null) {
-                    for (Group group : groupList) {
-                        Metadata instanceMetadata = group.getMetadata();
+                if (ncEntityList != null) {
+                    for (IEntityDetails ncEntity : ncEntityList) {
+                        Metadata instanceMetadata = ncEntity.getMetadata();
                         buffer.append(System.lineSeparator());
                         buffer.append(System.lineSeparator());
                         buffer.append("Network Instance Group Properties:");
@@ -670,96 +673,172 @@
                 buffer.append(System.lineSeparator());
 
                 buffer.append("Model Customization UUID:");
-                buffer.append(crNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID));
+                buffer.append(crEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID));
                 buffer.append(System.lineSeparator());
                 buffer.append("Model Instance Name:");
-                buffer.append(crNode.getName());
+                buffer.append(crEntity.getName());
                 buffer.append(System.lineSeparator());
                 buffer.append("Network Scope:");
-                buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(crNode,
+                buffer.append(toscaResourceInstaller.getLeafPropertyValue(crEntity,
                         SdcPropertyNames.PROPERTY_NAME_NETWORKSCOPE));
                 buffer.append(System.lineSeparator());
                 buffer.append("Network Role:");
-                buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(crNode,
+                buffer.append(toscaResourceInstaller.getLeafPropertyValue(crEntity,
                         SdcPropertyNames.PROPERTY_NAME_NETWORKROLE));
                 buffer.append(System.lineSeparator());
                 buffer.append("Network Type:");
-                buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(crNode,
+                buffer.append(toscaResourceInstaller.getLeafPropertyValue(crEntity,
                         SdcPropertyNames.PROPERTY_NAME_NETWORKTYPE));
                 buffer.append(System.lineSeparator());
                 buffer.append("Network Technology:");
-                buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(crNode,
+                buffer.append(toscaResourceInstaller.getLeafPropertyValue(crEntity,
                         SdcPropertyNames.PROPERTY_NAME_NETWORKTECHNOLOGY));
                 buffer.append(System.lineSeparator());
 
             }
         }
 
-        List<NodeTemplate> allottedResourceList = toscaResourceStructure.getSdcCsarHelper().getAllottedResources();
+        List<IEntityDetails> arEntityList = toscaResourceInstaller.getEntityDetails(toscaResourceStructure,
+                EntityQuery.newBuilder(SdcTypes.VF), TopologyTemplateQuery.newBuilder(SdcTypes.SERVICE), false);
 
-        if (allottedResourceList != null) {
+        if (arEntityList != null) {
 
             buffer.append(System.lineSeparator());
-            buffer.append("Allotted Resource Properties:");
+            buffer.append("VF Allotted Resource Properties:");
             buffer.append(System.lineSeparator());
 
-            for (NodeTemplate allottedNode : allottedResourceList) {
+            for (IEntityDetails arEntity : arEntityList) {
 
-                buffer.append("Model Name:");
-                buffer.append(testNull(allottedNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME)));
-                buffer.append(System.lineSeparator());
-                buffer.append("Model Name:");
-                buffer.append(testNull(allottedNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME)));
-                buffer.append(System.lineSeparator());
-                buffer.append("Model InvariantUuid:");
-                buffer.append(
-                        testNull(allottedNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID)));
-                buffer.append(System.lineSeparator());
-                buffer.append("Model Version:");
-                buffer.append(testNull(allottedNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION)));
-                buffer.append(System.lineSeparator());
-                buffer.append("Model UUID:");
-                buffer.append(testNull(allottedNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID)));
-                buffer.append(System.lineSeparator());
-                buffer.append("Model Subcategory:");
-                buffer.append(allottedNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_SUBCATEGORY));
-                buffer.append(System.lineSeparator());
-                buffer.append("Model Category:");
-                buffer.append(allottedNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CATEGORY));
-                buffer.append(System.lineSeparator());
-                buffer.append("Model Description:");
-                buffer.append(allottedNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION));
-                buffer.append(System.lineSeparator());
+                Metadata metadata = arEntity.getMetadata();
+                String category = metadata.getValue(SdcPropertyNames.PROPERTY_NAME_CATEGORY);
+
+                if ("Allotted Resource".equalsIgnoreCase(category)) {
+
+                    buffer.append("Model Name:");
+                    buffer.append(testNull(arEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_NAME)));
+                    buffer.append(System.lineSeparator());
+                    buffer.append("Model Name:");
+                    buffer.append(testNull(arEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_NAME)));
+                    buffer.append(System.lineSeparator());
+                    buffer.append("Model InvariantUuid:");
+                    buffer.append(
+                            testNull(arEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID)));
+                    buffer.append(System.lineSeparator());
+                    buffer.append("Model Version:");
+                    buffer.append(testNull(arEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION)));
+                    buffer.append(System.lineSeparator());
+                    buffer.append("Model UUID:");
+                    buffer.append(testNull(arEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_UUID)));
+                    buffer.append(System.lineSeparator());
+                    buffer.append("Model Subcategory:");
+                    buffer.append(arEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_SUBCATEGORY));
+                    buffer.append(System.lineSeparator());
+                    buffer.append("Model Category:");
+                    buffer.append(arEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_CATEGORY));
+                    buffer.append(System.lineSeparator());
+                    buffer.append("Model Description:");
+                    buffer.append(arEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION));
+                    buffer.append(System.lineSeparator());
 
 
-                buffer.append("Allotted Resource Customization Properties:");
-                buffer.append(System.lineSeparator());
+                    buffer.append("Allotted Resource Customization Properties:");
+                    buffer.append(System.lineSeparator());
 
-                buffer.append("Model Cutomization UUID:");
-                buffer.append(testNull(
-                        allottedNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID)));
-                buffer.append(System.lineSeparator());
-                buffer.append("NFFunction:");
-                buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(allottedNode,
-                        SdcPropertyNames.PROPERTY_NAME_NFFUNCTION));
-                buffer.append(System.lineSeparator());
-                buffer.append("NFCode:");
-                buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(allottedNode,
-                        "nf_naming_code"));
-                buffer.append(System.lineSeparator());
-                buffer.append("NFRole:");
-                buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(allottedNode,
-                        SdcPropertyNames.PROPERTY_NAME_NFROLE));
-                buffer.append(System.lineSeparator());
-                buffer.append("NFType:");
-                buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(allottedNode,
-                        SdcPropertyNames.PROPERTY_NAME_NFTYPE));
-                buffer.append(System.lineSeparator());
-
+                    buffer.append("Model Cutomization UUID:");
+                    buffer.append(testNull(
+                            arEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID)));
+                    buffer.append(System.lineSeparator());
+                    buffer.append("NFFunction:");
+                    buffer.append(toscaResourceInstaller.getLeafPropertyValue(arEntity,
+                            SdcPropertyNames.PROPERTY_NAME_NFFUNCTION));
+                    buffer.append(System.lineSeparator());
+                    buffer.append("NFCode:");
+                    buffer.append(toscaResourceInstaller.getLeafPropertyValue(arEntity, "nf_naming_code"));
+                    buffer.append(System.lineSeparator());
+                    buffer.append("NFRole:");
+                    buffer.append(toscaResourceInstaller.getLeafPropertyValue(arEntity,
+                            SdcPropertyNames.PROPERTY_NAME_NFROLE));
+                    buffer.append(System.lineSeparator());
+                    buffer.append("NFType:");
+                    buffer.append(toscaResourceInstaller.getLeafPropertyValue(arEntity,
+                            SdcPropertyNames.PROPERTY_NAME_NFTYPE));
+                    buffer.append(System.lineSeparator());
+                }
 
             }
         }
 
+        List<IEntityDetails> pnfAREntityList = toscaResourceInstaller.getEntityDetails(toscaResourceStructure,
+                EntityQuery.newBuilder(SdcTypes.PNF), TopologyTemplateQuery.newBuilder(SdcTypes.SERVICE), false);
+
+        if (pnfAREntityList != null) {
+
+            buffer.append(System.lineSeparator());
+            buffer.append("PNF Allotted Resource Properties:");
+            buffer.append(System.lineSeparator());
+
+            for (IEntityDetails pnfAREntity : pnfAREntityList) {
+
+                Metadata metadata = pnfAREntity.getMetadata();
+                String category = metadata.getValue(SdcPropertyNames.PROPERTY_NAME_CATEGORY);
+
+                if ("Allotted Resource".equalsIgnoreCase(category)) {
+
+                    buffer.append("Model Name:");
+                    buffer.append(testNull(pnfAREntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_NAME)));
+                    buffer.append(System.lineSeparator());
+                    buffer.append("Model Name:");
+                    buffer.append(testNull(pnfAREntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_NAME)));
+                    buffer.append(System.lineSeparator());
+                    buffer.append("Model InvariantUuid:");
+                    buffer.append(
+                            testNull(pnfAREntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID)));
+                    buffer.append(System.lineSeparator());
+                    buffer.append("Model Version:");
+                    buffer.append(testNull(pnfAREntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION)));
+                    buffer.append(System.lineSeparator());
+                    buffer.append("Model UUID:");
+                    buffer.append(testNull(pnfAREntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_UUID)));
+                    buffer.append(System.lineSeparator());
+                    buffer.append("Model Subcategory:");
+                    buffer.append(pnfAREntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_SUBCATEGORY));
+                    buffer.append(System.lineSeparator());
+                    buffer.append("Model Category:");
+                    buffer.append(pnfAREntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_CATEGORY));
+                    buffer.append(System.lineSeparator());
+                    buffer.append("Model Description:");
+                    buffer.append(pnfAREntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION));
+                    buffer.append(System.lineSeparator());
+
+
+                    buffer.append("Allotted Resource Customization Properties:");
+                    buffer.append(System.lineSeparator());
+
+                    buffer.append("Model Cutomization UUID:");
+                    buffer.append(testNull(
+                            pnfAREntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID)));
+                    buffer.append(System.lineSeparator());
+                    buffer.append("NFFunction:");
+                    buffer.append(toscaResourceInstaller.getLeafPropertyValue(pnfAREntity,
+                            SdcPropertyNames.PROPERTY_NAME_NFFUNCTION));
+                    buffer.append(System.lineSeparator());
+                    buffer.append("NFCode:");
+                    buffer.append(toscaResourceInstaller.getLeafPropertyValue(pnfAREntity, "nf_naming_code"));
+                    buffer.append(System.lineSeparator());
+                    buffer.append("NFRole:");
+                    buffer.append(toscaResourceInstaller.getLeafPropertyValue(pnfAREntity,
+                            SdcPropertyNames.PROPERTY_NAME_NFROLE));
+                    buffer.append(System.lineSeparator());
+                    buffer.append("NFType:");
+                    buffer.append(toscaResourceInstaller.getLeafPropertyValue(pnfAREntity,
+                            SdcPropertyNames.PROPERTY_NAME_NFTYPE));
+                    buffer.append(System.lineSeparator());
+                }
+
+            }
+        }
+
+
 
         return buffer.toString();
     }
diff --git a/asdc-controller/src/test/java/org/onap/asdc/activity/DeployActivitySpecsITTest.java b/asdc-controller/src/test/java/org/onap/asdc/activity/DeployActivitySpecsITTest.java
index b41fbaf..75ab089 100644
--- a/asdc-controller/src/test/java/org/onap/asdc/activity/DeployActivitySpecsITTest.java
+++ b/asdc-controller/src/test/java/org/onap/asdc/activity/DeployActivitySpecsITTest.java
@@ -29,7 +29,9 @@
 import static org.junit.Assert.assertTrue;
 import static org.mockito.Mockito.when;
 import org.junit.Test;
+import org.mockito.InjectMocks;
 import org.mockito.Mock;
+import org.mockito.Spy;
 import org.onap.so.asdc.BaseTest;
 import org.onap.so.asdc.activity.DeployActivitySpecs;
 import org.onap.so.asdc.activity.beans.ActivitySpecCreateResponse;
@@ -50,6 +52,10 @@
     @Autowired
     private DeployActivitySpecs deployActivitySpecs;
 
+    @InjectMocks
+    @Spy
+    DeployActivitySpecs deployActivitySpecsM;
+
     @Test
     public void deployActivitySpecsIT_Test() throws Exception {
         ActivitySpecCreateResponse activitySpecCreateResponse = new ActivitySpecCreateResponse();
@@ -100,7 +106,9 @@
                 put(urlPathMatching(urlPath)).willReturn(aResponse().withHeader("Content-Type", "application/json")
                         .withStatus(org.springframework.http.HttpStatus.OK.value())));
 
-        deployActivitySpecs.deployActivities();
+        String host = "http://localhost:8090";
+        when(deployActivitySpecsM.checkHttpServerUp(host)).thenReturn(false);
+        deployActivitySpecsM.deployActivities();
         verify(0, putRequestedFor(urlEqualTo(urlPath)));
     }
 
diff --git a/asdc-controller/src/test/java/org/onap/asdc/activity/DeployActivitySpecsTest.java b/asdc-controller/src/test/java/org/onap/asdc/activity/DeployActivitySpecsTest.java
index 7a876a6..6d88ab6 100644
--- a/asdc-controller/src/test/java/org/onap/asdc/activity/DeployActivitySpecsTest.java
+++ b/asdc-controller/src/test/java/org/onap/asdc/activity/DeployActivitySpecsTest.java
@@ -71,7 +71,7 @@
                 new ArrayList<org.onap.so.db.catalog.beans.ActivitySpec>();
         catalogActivitySpecList.add(catalogActivitySpec);
         when(env.getProperty("mso.asdc.config.activity.endpoint")).thenReturn("http://testEndpoint");
-        doReturn(true).when(deployActivitySpecs).checkHttpOk("http://testEndpoint");
+        doReturn(true).when(deployActivitySpecs).checkHttpServerUp("http://testEndpoint");
         when(activitySpecRepository.findAll()).thenReturn(catalogActivitySpecList);
         doReturn("testActivityId").when(activitySpecsActions).createActivitySpec(Mockito.any(), Mockito.any());
         doReturn(true).when(activitySpecsActions).certifyActivitySpec(Mockito.any(), Mockito.any());
diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/appc/tasks/AppcRunTasks.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/appc/tasks/AppcRunTasks.java
index 9c72d22..79ccd92 100644
--- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/appc/tasks/AppcRunTasks.java
+++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/appc/tasks/AppcRunTasks.java
@@ -24,6 +24,7 @@
 
 import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.Optional;
 import org.onap.so.logger.LoggingAnchor;
 import org.json.JSONArray;
@@ -31,6 +32,7 @@
 import org.onap.aai.domain.yang.Vserver;
 import org.onap.appc.client.lcm.model.Action;
 import org.onap.so.bpmn.common.BuildingBlockExecution;
+import org.onap.so.bpmn.core.json.JsonUtils;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule;
 import org.onap.so.bpmn.servicedecomposition.entities.GeneralBuildingBlock;
@@ -166,6 +168,10 @@
                 String pay = requestParameters.getPayload();
                 if (pay != null) {
                     payload = Optional.of(pay);
+                } else {
+                    String payloadFromUserParams =
+                            buildPayloadFromUserParams(gBBInput.getRequestContext().getUserParams());
+                    payload = Optional.of(payloadFromUserParams);
                 }
             }
             logger.debug("Running APP-C action: {}", action.toString());
@@ -221,6 +227,21 @@
         return payloadInfo;
     }
 
+    protected String buildPayloadFromUserParams(Map<String, Object> userParams) {
+        if (userParams == null || userParams.size() == 0) {
+            return null;
+        }
+
+        String payload = "{}";
+        for (Map.Entry<String, Object> entry : userParams.entrySet()) {
+            payload = JsonUtils.addJsonValue(payload, entry.getKey(), (String) entry.getValue());
+        }
+
+        payload = payload.replaceAll("\"", "\\\\\"");
+        payload = payload.replaceAll("\n", "");
+        return payload;
+    }
+
     protected void getVserversForAppc(BuildingBlockExecution execution, GenericVnf vnf) throws Exception {
         AAIResultWrapper aaiRW = aaiVnfResources.queryVnfWrapperById(vnf);
 
diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasks.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasks.java
index d579815..f5bbcf5 100644
--- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasks.java
+++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasks.java
@@ -38,6 +38,7 @@
 import org.onap.so.bpmn.servicedecomposition.entities.WorkflowResourceIds;
 import org.onap.so.bpmn.servicedecomposition.tasks.BBInputSetupUtils;
 import org.onap.so.client.aai.AAIObjectType;
+import org.onap.so.client.aai.entities.Configuration;
 import org.onap.so.client.exception.ExceptionBuilder;
 import org.onap.so.db.catalog.beans.CvnfcConfigurationCustomization;
 import org.onap.so.db.catalog.client.CatalogDbClient;
@@ -398,7 +399,7 @@
                 if (fabricConfig != null && fabricConfig.getConfigurationResource() != null
                         && fabricConfig.getConfigurationResource().getToscaNodeType() != null
                         && fabricConfig.getConfigurationResource().getToscaNodeType().contains(FABRIC_CONFIGURATION)) {
-                    String configurationId = UUID.randomUUID().toString();
+                    String configurationId = getConfigurationId(vnfc);
                     ConfigurationResourceKeys configurationResourceKeys = new ConfigurationResourceKeys();
                     configurationResourceKeys.setCvnfcCustomizationUUID(modelCustomizationId);
                     configurationResourceKeys.setVfModuleCustomizationUUID(vfModuleCustomizationUUID);
@@ -429,6 +430,17 @@
         }
     }
 
+    protected String getConfigurationId(Vnfc vnfc) {
+        List<Configuration> configurations =
+                workflowAction.getRelatedResourcesInVnfc(vnfc, Configuration.class, AAIObjectType.CONFIGURATION);
+        if (!configurations.isEmpty()) {
+            Configuration configuration = configurations.get(0);
+            return configuration.getConfigurationId();
+        } else {
+            return UUID.randomUUID().toString();
+        }
+    }
+
     protected ExecuteBuildingBlock getExecuteBBForConfig(String bbName, ExecuteBuildingBlock ebb,
             String configurationId, ConfigurationResourceKeys configurationResourceKeys) {
         ExecuteBuildingBlock configBB = new ExecuteBuildingBlock();
diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/appc/tasks/AppcRunTasksTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/appc/tasks/AppcRunTasksTest.java
index cc25689..f0c3330 100644
--- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/appc/tasks/AppcRunTasksTest.java
+++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/appc/tasks/AppcRunTasksTest.java
@@ -33,6 +33,8 @@
 import static org.mockito.Mockito.when;
 import java.nio.file.Files;
 import java.nio.file.Paths;
+import java.util.HashMap;
+import java.util.Map;
 import java.util.Optional;
 import org.junit.Test;
 import org.mockito.InjectMocks;
@@ -168,6 +170,21 @@
         assertEquals(vmIdList, expectedVmIdList);
     }
 
+    @Test
+    public void testUserParams() throws Exception {
+        Map<String, Object> userParams = new HashMap<String, Object>();
+        userParams.put("existing_software_version", "3.1");
+        userParams.put("new_software_version", "3.2");
+        userParams.put("operations_timeout", "150000");
+
+        String actualPayload = appcRunTasks.buildPayloadFromUserParams(userParams);
+        System.out.println(actualPayload);
+        String expectedPayload =
+                "{\\\"operations_timeout\\\":\\\"150000\\\",\\\"existing_software_version\\\":\\\"3.1\\\",\\\"new_software_version\\\":\\\"3.2\\\"}";
+        assertEquals(expectedPayload, actualPayload.replaceAll(" ", ""));
+
+    }
+
     private void mockReferenceResponse() {
         ControllerSelectionReference reference = new ControllerSelectionReference();
         reference.setControllerName("TEST-CONTROLLER-NAME");
diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasksTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasksTest.java
index aac09b4..1df4ad7 100644
--- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasksTest.java
+++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasksTest.java
@@ -417,4 +417,22 @@
         workflowActionBBTasks.updateInstanceId(execution);
         Mockito.verify(reqMock, Mockito.times(1)).setServiceInstanceId(instanceId);
     }
+
+    @Test
+    public void getConfigurationId() {
+        org.onap.aai.domain.yang.Vnfc vnfc = new org.onap.aai.domain.yang.Vnfc();
+        vnfc.setModelInvariantId("modelInvariantId");
+        vnfc.setVnfcName("testVnfcName");
+        List<org.onap.aai.domain.yang.Configuration> configurations =
+                new ArrayList<org.onap.aai.domain.yang.Configuration>();
+        org.onap.aai.domain.yang.Configuration configuration = new org.onap.aai.domain.yang.Configuration();
+        configuration.setConfigurationId("configurationId");
+        configuration.setModelCustomizationId("modelCustimizationId");
+        configuration.setConfigurationName("testConfigurationName");
+        configurations.add(configuration);
+        doReturn(configurations.get(0).getConfigurationId()).when(workflowActionBBTasks).getConfigurationId(vnfc);
+        assertEquals(workflowActionBBTasks.getConfigurationId(vnfc), "configurationId");
+    }
+
+
 }
diff --git a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/infra/rest/handler/VnfRestHandler.java b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/infra/rest/handler/VnfRestHandler.java
index e157d92..1011454 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/infra/rest/handler/VnfRestHandler.java
+++ b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/infra/rest/handler/VnfRestHandler.java
@@ -3,6 +3,7 @@
  * ONAP - SO
  * ================================================================================
  * Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (C) 2019 IBM.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -100,8 +101,7 @@
         checkDuplicateRequest(instanceIdMap, ModelType.vnf, instanceName, requestId);
     }
 
-    public Recipe findVnfModuleRecipe(String modelCustomizationId, String modelType, String action)
-            throws NoRecipeException {
+    public Recipe findVnfModuleRecipe(String modelCustomizationId, String modelType, String action) {
         VnfRecipe recipe = new VnfRecipe();
         recipe.setOrchestrationUri("/mso/async/services/WorkflowActionBB");
         return recipe;