aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/org/onap/nbi/apis/servicecatalog/ServiceSpecificationService.java
diff options
context:
space:
mode:
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.java34
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;
+ }
+
}