rollback EXTAPI-108 call tosca
[externalapi/nbi.git] / src / main / java / org / onap / nbi / apis / servicecatalog / ServiceSpecificationService.java
index 3094f7b..69e4a51 100644 (file)
@@ -23,6 +23,8 @@ import org.apache.commons.collections.CollectionUtils;
 import org.onap.nbi.apis.servicecatalog.jolt.FindServiceSpecJsonTransformer;
 import org.onap.nbi.apis.servicecatalog.jolt.GetServiceSpecJsonTransformer;
 import org.onap.nbi.apis.serviceorder.ServiceCatalogUrl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.MultiValueMap;
@@ -45,16 +47,23 @@ public class ServiceSpecificationService {
     @Autowired
     private ServiceCatalogUrl serviceCatalogUrl;
 
-    private static final String SERVICE_SPEC_INPUT_SCHEMA = "serviceSpecInputSchema";
+
+    private static final Logger LOGGER = LoggerFactory.getLogger(ServiceSpecificationService.class);
 
 
     public Map get(String serviceSpecId) {
         Map sdcResponse = sdcClient.callGet(serviceSpecId);
-        sdcResponse.put(SERVICE_SPEC_INPUT_SCHEMA,serviceCatalogUrl.getServiceCatalogUrl()+serviceSpecId+"/"+SERVICE_SPEC_INPUT_SCHEMA);
-        return (LinkedHashMap) getServiceSpecJsonTransformer.transform(sdcResponse);
+        LinkedHashMap serviceCatalogResponse = (LinkedHashMap) getServiceSpecJsonTransformer.transform(sdcResponse);
+        Map toscaInfosTopologyTemplate = toscaInfosProcessor.getToscaInfos(serviceCatalogResponse);
+        if (toscaInfosTopologyTemplate != null) {
+            LOGGER.debug("tosca file found, retrieving informations");
+            toscaInfosProcessor.buildResponseWithToscaInfos(toscaInfosTopologyTemplate, serviceCatalogResponse);
+        } else {
+            LOGGER.debug("no tosca file found, partial response");
+        }
+        return serviceCatalogResponse;
     }
 
-
     public List<LinkedHashMap> find(MultiValueMap<String, String> parametersMap) {
         List<LinkedHashMap> sdcResponse = sdcClient.callFind(parametersMap);
         List<LinkedHashMap> serviceCatalogResponse = new ArrayList<>();