diff options
Diffstat (limited to 'src/main/java/org/onap/nbi/apis/servicecatalog/ServiceSpecificationService.java')
-rw-r--r-- | src/main/java/org/onap/nbi/apis/servicecatalog/ServiceSpecificationService.java | 34 |
1 files changed, 30 insertions, 4 deletions
diff --git a/src/main/java/org/onap/nbi/apis/servicecatalog/ServiceSpecificationService.java b/src/main/java/org/onap/nbi/apis/servicecatalog/ServiceSpecificationService.java index 9fc0ec0..45a4f3f 100644 --- a/src/main/java/org/onap/nbi/apis/servicecatalog/ServiceSpecificationService.java +++ b/src/main/java/org/onap/nbi/apis/servicecatalog/ServiceSpecificationService.java @@ -17,13 +17,15 @@ package org.onap.nbi.apis.servicecatalog; import java.io.File; import java.io.IOException; import java.nio.file.Path; -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; +import java.util.*; + +import com.fasterxml.jackson.databind.ObjectMapper; import org.apache.commons.io.FileUtils; import org.onap.nbi.apis.servicecatalog.jolt.FindServiceSpecJsonTransformer; import org.onap.nbi.apis.servicecatalog.jolt.GetServiceSpecJsonTransformer; +import org.onap.nbi.apis.servicecatalog.jolt.PostServiceResponseSpecJsonTransformer; +import org.onap.nbi.apis.servicecatalog.jolt.PostServiceSpecJsonTransformer; +import org.onap.nbi.apis.servicecatalog.model.ServiceSpecificationRequest; import org.onap.nbi.apis.serviceorder.ServiceCatalogUrl; import org.onap.sdc.tosca.parser.exceptions.SdcToscaParserException; import org.slf4j.Logger; @@ -45,6 +47,13 @@ public class ServiceSpecificationService { @Autowired FindServiceSpecJsonTransformer findServiceSpecJsonTransformer; + // Change for processing POST request + @Autowired + PostServiceSpecJsonTransformer postServiceSpecJsonTransformer; + + @Autowired + PostServiceResponseSpecJsonTransformer postServiceResponseSpecJsonTransformer ; + @Autowired ToscaInfosProcessor toscaInfosProcessor; @@ -101,4 +110,21 @@ public class ServiceSpecificationService { return null; } } + + public Map create(String userId, ServiceSpecificationRequest specRequest) { + ObjectMapper mapper = new ObjectMapper(); + LinkedHashMap specRequestMap = mapper.convertValue(specRequest, LinkedHashMap.class); + HashMap<Object, Object> serviceCatalogInput = (HashMap) postServiceSpecJsonTransformer.transform(specRequestMap); + + //Call SDC Post API + Map sdcResponse = sdcClient.callPost(serviceCatalogInput,userId); + LOGGER.info("SDC response " + sdcResponse); + //Transform SDC Response + LinkedHashMap<Object,Object> serviceCatalogResponse =null; + if (!CollectionUtils.isEmpty(sdcResponse)) { + serviceCatalogResponse = (LinkedHashMap)postServiceResponseSpecJsonTransformer.transform(sdcResponse); + } + return serviceCatalogResponse; + } + } |