- public Map get(String serviceSpecId) {
- Map sdcResponse = sdcClient.callGet(serviceSpecId);
- 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 Map get(String serviceSpecId) {
+ Map sdcResponse = sdcClient.callGet(serviceSpecId);
+ LinkedHashMap serviceCatalogResponse =
+ (LinkedHashMap) getServiceSpecJsonTransformer.transform(sdcResponse);
+ String toscaModelUrl = (String) sdcResponse.get("toscaModelURL");
+ String serviceId = (String) sdcResponse.get("id");
+ File toscaFile = sdcClient.callGetWithAttachment(toscaModelUrl);
+ Path pathToToscaCsar = toscaFile.toPath().toAbsolutePath();
+ try {
+ toscaInfosProcessor.buildResponseWithSdcToscaParser(pathToToscaCsar, serviceCatalogResponse);
+ } catch (SdcToscaParserException e) {
+ LOGGER.debug("unable to build response from tosca csar using sdc-parser, partial response : "
+ + pathToToscaCsar.toString() + " " + e.getMessage());