Change the model to fix TCA
[clamp.git] / src / main / java / org / onap / clamp / clds / client / req / SdcReq.java
index 93c5626..32846ed 100644 (file)
@@ -26,7 +26,6 @@ package org.onap.clamp.clds.client.req;
 import com.att.eelf.configuration.EELFLogger;
 import com.att.eelf.configuration.EELFManager;
 import com.fasterxml.jackson.core.JsonParseException;
-import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.JsonMappingException;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
@@ -46,12 +45,10 @@ import java.util.Map.Entry;
 import org.apache.commons.codec.digest.DigestUtils;
 import org.camunda.bpm.engine.delegate.DelegateExecution;
 import org.onap.clamp.clds.client.SdcCatalogServices;
-import org.onap.clamp.clds.exception.SdcCommunicationException;
 import org.onap.clamp.clds.model.CldsSdcResource;
 import org.onap.clamp.clds.model.CldsSdcServiceDetail;
 import org.onap.clamp.clds.model.prop.Global;
 import org.onap.clamp.clds.model.prop.ModelProperties;
-import org.onap.clamp.clds.model.prop.StringMatch;
 import org.onap.clamp.clds.model.prop.Tca;
 import org.onap.clamp.clds.model.refprop.RefProp;
 
@@ -89,85 +86,16 @@ public class SdcReq {
         String yamlvalue = getYamlvalue(docText);
 
         String updatedBlueprint = "";
-        StringMatch stringMatch = prop.getType(StringMatch.class);
         Tca tca = prop.getType(Tca.class);
-        if (stringMatch.isFound()) {
-            prop.setCurrentModelElementId(stringMatch.getId());
-            ObjectMapper objectMapper = new ObjectMapper();
-            ObjectNode serviceConfigurations = objectMapper.createObjectNode();
-
-            StringMatchPolicyReq.appendServiceConfigurations(refProp, service, serviceConfigurations, stringMatch,
-                    prop);
-            logger.info("Value of serviceConfigurations:" + serviceConfigurations);
-            ObjectNode servConfNode = (ObjectNode) serviceConfigurations.get("serviceConfigurations");
-
-            // get updated blueprint by attaching service Conf from
-            // globalProperties
-            updatedBlueprint = getUpdatedBlueprintWithServiceConf(refProp, prop, yamlvalue, servConfNode);
-        } else if (tca.isFound()) {
-            prop.setCurrentModelElementId(tca.getId());
-            ObjectNode rootNode = (ObjectNode) refProp.getJsonTemplate("tca.template", service);
-            ObjectNode content = rootNode.with("content");
-            TcaMPolicyReq.appendSignatures(refProp, service, content, tca, prop);
-            logger.info("Value of content:" + content);
-            // ObjectNode servConfNode =
-            // (ObjectNode)signatures.get("signatures");
-
-            // get updated blueprint by attaching service Conf from
-            // globalProperties
-            updatedBlueprint = getUpdatedBlueprintWithConfiguration(refProp, prop, yamlvalue, content);
-        }
-
+        if (tca.isFound()) {
+               updatedBlueprint = TcaRequestFormatter.updatedBlueprintWithConfiguration(refProp, prop, yamlvalue);
+        } 
         logger.info("value of blueprint:" + updatedBlueprint);
         return updatedBlueprint;
     }
 
-    private static String getUpdatedBlueprintWithServiceConf(RefProp refProp, ModelProperties prop, String yamlValue,
-            ObjectNode serviceConf) throws IOException {
-        Yaml yaml = new Yaml();
-
-        // Serialiaze Yaml file
-        Map<String, Map> loadedYaml = (Map<String, Map>) yaml.load(yamlValue);
-        // Get node templates information from Yaml
-        Map<String, Map> nodeTemplates = loadedYaml.get("node_templates");
-        logger.info("value of NodeTemplates:" + nodeTemplates);
-
-        // Get StringMatch Object information from node templates of Yaml
-        Map<String, Map> smObject = nodeTemplates.get("SM");
-        logger.info("value of StringMatch:" + smObject);
-
-        // Get Properties Object information from stringmatch of Yaml
-        Map<String, String> propsObject = smObject.get("properties");
-        logger.info("value of PropsObject:" + propsObject);
-
-        String deploymentJsonObject = propsObject.get("deployment_JSON");
-        logger.info("value of deploymentJson:" + deploymentJsonObject);
-
-        ObjectMapper mapper = new ObjectMapper();
-        ObjectNode deployJsonNode = (ObjectNode) mapper.readTree(deploymentJsonObject);
-        ObjectNode configurationObjectNode = (ObjectNode) deployJsonNode.get("configuration");
-
-        // "policyName":"example_model06.ClosedLoop_FRWL_SIG_0538e6f2_8c1b_4656_9999_3501b3c59ad7_StringMatch_",
-        String policyNamePrefix = refProp.getStringValue("policy.ms.policyNamePrefix");
-        String policyName = prop.getCurrentPolicyScopeAndFullPolicyName(policyNamePrefix);
-        configurationObjectNode.put("policyName", policyName);
-
-        // "closedLoopControlName":"ClosedLoop-FRWL-SIG-0538e6f2-8c1b-4656-9999-3501b3c59ad7",
-        configurationObjectNode.put("closedLoopControlName", prop.getControlName());
-        configurationObjectNode.put("messageReaderConsumerGroup", prop.getModelName());
-        configurationObjectNode.set("serviceConfigurations", serviceConf);
-        propsObject.put("deployment_JSON", deployJsonNode.toString());
-        String blueprint = yaml.dump(loadedYaml);
-        logger.info("value of updated Yaml File:" + blueprint);
-
-        blueprint = yaml.dump(loadedYaml);
-        logger.info("value of updated Yaml File:" + blueprint);
-
-        return blueprint;
-    }
-
     private static String getUpdatedBlueprintWithConfiguration(RefProp refProp, ModelProperties prop, String yamlValue,
-            ObjectNode serviceConf) throws JsonProcessingException, IOException {
+            ObjectNode serviceConf) throws IOException {
         String blueprint = "";
         Yaml yaml = new Yaml();
         // Serialiaze Yaml file
@@ -251,13 +179,12 @@ public class SdcReq {
      * @param baseUrl
      * @param sdcCatalogServices
      * @return
-     * @throws Exception
      */
     public static List<String> getSdcReqUrlsList(ModelProperties prop, String baseUrl,
             SdcCatalogServices sdcCatalogServices, DelegateExecution execution) {
         // TODO : refact and regroup with very similar code
         List<String> urlList = new ArrayList<>();
-        try {
+
         Global globalProps = prop.getGlobal();
         if (globalProps != null) {
             if (globalProps.getService() != null) {
@@ -266,30 +193,28 @@ public class SdcReq {
                 List<String> resourceVfList = globalProps.getResourceVf();
                 String serviceUUID = sdcCatalogServices.getServiceUuidFromServiceInvariantId(serviceInvariantUUID);
                 String sdcServicesInformation = sdcCatalogServices.getSdcServicesInformation(serviceUUID);
-                CldsSdcServiceDetail CldsSdcServiceDetail = sdcCatalogServices
+                CldsSdcServiceDetail cldsSdcServiceDetail = sdcCatalogServices
                         .getCldsSdcServiceDetailFromJson(sdcServicesInformation);
-                if (CldsSdcServiceDetail != null && resourceVfList != null) {
-                    List<CldsSdcResource> CldsSdcResourcesList = CldsSdcServiceDetail.getResources();
-                        if (CldsSdcResourcesList != null && !CldsSdcResourcesList.isEmpty()) {
-                        for (CldsSdcResource CldsSdcResource : CldsSdcResourcesList) {
+                if (cldsSdcServiceDetail != null && resourceVfList != null) {
+                    List<CldsSdcResource> cldsSdcResourcesList = cldsSdcServiceDetail.getResources();
+                    if (cldsSdcResourcesList != null && !cldsSdcResourcesList.isEmpty()) {
+                        for (CldsSdcResource CldsSdcResource : cldsSdcResourcesList) {
                             if (CldsSdcResource != null && CldsSdcResource.getResoucreType() != null
-                                    && CldsSdcResource.getResoucreType().equalsIgnoreCase("VF")) {
-                                if (resourceVfList.contains(CldsSdcResource.getResourceInvariantUUID())) {
-                                    String normalizedResourceInstanceName = normalizeResourceInstanceName(
-                                            CldsSdcResource.getResourceInstanceName());
-                                    String svcUrl = baseUrl + "/" + serviceUUID + "/resourceInstances/"
-                                            + normalizedResourceInstanceName + "/artifacts";
-                                    urlList.add(svcUrl);
-                                }
+                                    && CldsSdcResource.getResoucreType().equalsIgnoreCase("VF")
+                                    && resourceVfList.contains(CldsSdcResource.getResourceInvariantUUID())) {
+                                String normalizedResourceInstanceName = normalizeResourceInstanceName(
+                                        CldsSdcResource.getResourceInstanceName());
+                                String svcUrl = baseUrl + "/" + serviceUUID + "/resourceInstances/"
+                                        + normalizedResourceInstanceName + "/artifacts";
+                                urlList.add(svcUrl);
+
                             }
                         }
                     }
                 }
             }
         }
-        } catch (IOException e) {
-            throw new SdcCommunicationException("Exception occurred during the SDC communication",e);
-        }
+
         return urlList;
     }