From 9600bc37864e33e503001a4740fd5628a1069678 Mon Sep 17 00:00:00 2001 From: subhash kumar singh Date: Thu, 15 Nov 2018 21:15:06 +0530 Subject: Fix invocation of resource receipe Fix invocation of resource receipe. Change-Id: I4ab14fa4924d7480b167138091de33f657286dde Issue-ID: SO-689 Signed-off-by: subhash kumar singh --- .../java/org/onap/so/bpmn/common/resource/ResourceRequestBuilder.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bpmn/MSOCommonBPMN/src/main/java/org') diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/resource/ResourceRequestBuilder.java b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/resource/ResourceRequestBuilder.java index 0cce8b3f94..1989ca8cf9 100644 --- a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/resource/ResourceRequestBuilder.java +++ b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/resource/ResourceRequestBuilder.java @@ -266,7 +266,7 @@ public class ResourceRequestBuilder { HashMap map = new Gson().fromJson(value, new TypeToken>() {}.getType()); - String filePath = System.getProperty("mso.config.path") + "ASDC/" + map.get("version") + "/" + map.get("name"); + String filePath = System.getProperty("mso.config.path") + "/ASDC/" + map.get("version") + "/" + map.get("name"); File csarFile = new File(filePath); -- cgit From c9bdf8cf227a76d1130c327f6497a455f779955e Mon Sep 17 00:00:00 2001 From: subhash kumar singh Date: Sat, 17 Nov 2018 12:45:58 +0530 Subject: Fix request resource building Fix request resource building. Change-Id: I64161359ae1b3d36ef3647382fab615d6afd6647 Issue-ID: SO-689 Signed-off-by: subhash kumar singh --- .../bpmn/common/resource/ResourceRequestBuilder.java | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'bpmn/MSOCommonBPMN/src/main/java/org') diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/resource/ResourceRequestBuilder.java b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/resource/ResourceRequestBuilder.java index 1989ca8cf9..b4851ee7a4 100644 --- a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/resource/ResourceRequestBuilder.java +++ b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/resource/ResourceRequestBuilder.java @@ -233,14 +233,16 @@ public class ResourceRequestBuilder { private static Object getValue(Object value, Map serviceInputs, List servInputs) { if(value instanceof Map) { - Map valueMap = new HashMap<>(); - - Map propertyMap = (Map)value; - - for(String key : propertyMap.keySet()) { - valueMap.put(key, getValue(propertyMap.get(key), serviceInputs, servInputs)); - } - return valueMap; // return if the value is nested hashmap + // currently this logic handles only one level of nesting. +// Map valueMap = new HashMap<>(); +// +// Map propertyMap = (Map)value; +// +// for(String key : propertyMap.keySet()) { +// valueMap.put(key, getValue(propertyMap.get(key), serviceInputs, servInputs)); +// } +// return valueMap; // return if the value is nested hashmap + return ((LinkedHashMap) value).values().toArray()[0]; } else if(value instanceof GetInput) { String inputName = ((GetInput)value).getInputName(); -- cgit From e5aae68146ed7311698358a50da39d8aa2198c7b Mon Sep 17 00:00:00 2001 From: seshukm Date: Wed, 28 Nov 2018 20:06:29 +0800 Subject: Correct the http client auth issue Issue-ID: SO-1257 Change-Id: Iac3cf2cf594b9b3224b5741d8589c7d3b9c5e205 Signed-off-by: seshukm --- .../common/resource/ResourceRequestBuilder.java | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) (limited to 'bpmn/MSOCommonBPMN/src/main/java/org') diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/resource/ResourceRequestBuilder.java b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/resource/ResourceRequestBuilder.java index b4851ee7a4..5e05637bca 100644 --- a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/resource/ResourceRequestBuilder.java +++ b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/resource/ResourceRequestBuilder.java @@ -47,6 +47,9 @@ import org.onap.so.bpmn.core.json.JsonUtils; import org.onap.so.client.HttpClient; import org.onap.so.logger.MessageEnum; import org.onap.so.logger.MsoLogger; +import org.onap.so.rest.APIResponse; +import org.onap.so.rest.RESTClient; +import org.onap.so.rest.RESTConfig; import org.onap.so.utils.TargetEntity; import com.fasterxml.jackson.core.JsonProcessingException; @@ -261,10 +264,20 @@ public class ResourceRequestBuilder { private static String getCsarFromUuid(String uuid) throws Exception { String catalogEndPoint = UrnPropertiesReader.getVariable("mso.catalog.db.endpoint"); - HttpClient client = new HttpClient(UriBuilder.fromUri(catalogEndPoint).path(SERVICE_URL_TOSCA_CSAR).queryParam("serviceModelUuid", uuid).build().toURL(), "application/json", TargetEntity.CATALOG_DB); - - Response response = client.get(); - String value = response.readEntity(String.class); + + RESTClient restClient = new RESTClient(new RESTConfig( + UriBuilder.fromUri(catalogEndPoint) + .path(SERVICE_URL_TOSCA_CSAR) + .queryParam("serviceModelUuid", uuid) + .build().toURL().toString() + )); + + restClient.addHeader("Accept", "application/json"); + restClient.addAuthorizationHeader(UrnPropertiesReader.getVariable("mso.db.auth")); + + APIResponse apiResponse = restClient.httpGet(); + + String value = apiResponse.getResponseBodyAsString(); HashMap map = new Gson().fromJson(value, new TypeToken>() {}.getType()); -- cgit From 17078f031da59e4a3b7a4e18cf5b23daf9ddac56 Mon Sep 17 00:00:00 2001 From: Marcus G K Williams Date: Wed, 28 Nov 2018 12:37:54 -0800 Subject: Fix alacarte homing flows This fix adds homingInstance bean and stores homing info in the database. It then retreves that info when homing ala carte and populates homingSiteId and oofDirectives. SO-1254 Issue-ID: SO-1258 Change-Id: I6f8d5d3aff9ebeb669064a02926c779886dc59dd Signed-off-by: Marcus G K Williams --- .../onap/so/bpmn/common/util/OofInfraUtils.java | 103 +++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/util/OofInfraUtils.java (limited to 'bpmn/MSOCommonBPMN/src/main/java/org') diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/util/OofInfraUtils.java b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/util/OofInfraUtils.java new file mode 100644 index 0000000000..b62d8be281 --- /dev/null +++ b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/util/OofInfraUtils.java @@ -0,0 +1,103 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2018. Intel Corp. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ +package org.onap.so.bpmn.common.util; + +import org.camunda.bpm.engine.delegate.DelegateExecution; +import org.onap.so.bpmn.core.UrnPropertiesReader; +import org.onap.so.db.catalog.beans.CloudSite; +import org.onap.so.db.catalog.beans.HomingInstance; +import org.onap.so.db.catalog.client.CatalogDbClient; +import org.onap.so.logger.MsoLogger; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.Arrays; +import java.util.Optional; + +public class OofInfraUtils { + + private static final MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL, OofInfraUtils.class); + + /** + * This method creates a cloudsite in catalog database. + * + * @param cloudSite + * + * @return void + */ + public void createCloudSite(CloudSite cloudSite, DelegateExecution execution) { + String endpoint = UrnPropertiesReader.getVariable("mso.catalog.db.spring.endpoint", execution); + String auth = UrnPropertiesReader.getVariable("mso.db.auth", execution); + Optional optCloudsite = Optional.empty(); + + CatalogDbClient client = new CatalogDbClient(endpoint, auth); + try { + optCloudsite = Optional.ofNullable(client.getCloudSite(cloudSite.getId(), endpoint + "/cloudSite/")); + } catch (Exception e) { + LOGGER.debug("Could not find cloudsite : " + cloudSite.getId()); + LOGGER.debug("Creating cloudSite: " + cloudSite.toString()); + } + if (optCloudsite.isPresent() && (cloudSite.getId()) != optCloudsite.get().getId()) { + client.postCloudSite(cloudSite); + } + } + + /** + * This method creates a HomingInstance in catalog database. + * + * @param homingInstance + * + * @return void + */ + public void createHomingInstance(HomingInstance homingInstance, DelegateExecution execution) { + String endpoint = UrnPropertiesReader.getVariable("mso.catalog.db.spring.endpoint", execution); + String auth = UrnPropertiesReader.getVariable("mso.db.auth", execution); + + CatalogDbClient client = new CatalogDbClient(endpoint, auth); + try { + client.postHomingInstance(homingInstance); + } catch (Exception exception) { + LOGGER.debug("Could not create HomingInstance : " + homingInstance.getServiceInstanceId()); + LOGGER.debug("HomingInstance Creation Error: " + exception); + } + + } + + /** + * This method gets a HomingInstance in catalog database. + * + * @param serviceInstanceId + * + * @return HomingInstance + */ + public HomingInstance getHomingInstance(String serviceInstanceId, DelegateExecution execution) { + String endpoint = UrnPropertiesReader.getVariable("mso.catalog.db.spring.endpoint", execution); + String auth = UrnPropertiesReader.getVariable("mso.db.auth", execution); + + CatalogDbClient client = new CatalogDbClient(endpoint, auth); + try { + return client.getHomingInstance(serviceInstanceId, endpoint + "/homingInstance/"); + } catch (Exception exception) { + LOGGER.debug("Could not get HomingInstance for serviceInstanceId : " + serviceInstanceId); + LOGGER.debug("Get HomingInstance Error: " + exception); + } + return null; + } +} -- cgit From 8d05d604f0f0ea81d835d29b2379a1417a689f32 Mon Sep 17 00:00:00 2001 From: Marcus G K Williams Date: Fri, 30 Nov 2018 13:38:15 -0800 Subject: Fix cloudSite creation in homing This change fixes the use of optional in OofInfraUtils.java, so that cloudSites can be created if one is not found in catalogDB. Issue-ID: SO-1262 Change-Id: Ifec9083950758c650a369e9c5ebd386715ed9df8 Signed-off-by: Marcus G K Williams --- .../onap/so/bpmn/common/util/OofInfraUtils.java | 27 ++++++++++++++-------- 1 file changed, 18 insertions(+), 9 deletions(-) (limited to 'bpmn/MSOCommonBPMN/src/main/java/org') diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/util/OofInfraUtils.java b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/util/OofInfraUtils.java index b62d8be281..df7b57f3a3 100644 --- a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/util/OofInfraUtils.java +++ b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/util/OofInfraUtils.java @@ -45,18 +45,27 @@ public class OofInfraUtils { public void createCloudSite(CloudSite cloudSite, DelegateExecution execution) { String endpoint = UrnPropertiesReader.getVariable("mso.catalog.db.spring.endpoint", execution); String auth = UrnPropertiesReader.getVariable("mso.db.auth", execution); - Optional optCloudsite = Optional.empty(); - - CatalogDbClient client = new CatalogDbClient(endpoint, auth); try { - optCloudsite = Optional.ofNullable(client.getCloudSite(cloudSite.getId(), endpoint + "/cloudSite/")); + CloudSite getCloudsite; + + CatalogDbClient client = new CatalogDbClient(endpoint, auth); + + getCloudsite = Optional.ofNullable(client.getCloudSite(cloudSite.getId(), endpoint + "/cloudSite/")).orElse(new CloudSite()); + if (!cloudSite.getId().equals(getCloudsite.getId())) { + client.postCloudSite(cloudSite); + LOGGER.debug("Did not findd cloudsite : " + cloudSite.getId()); + LOGGER.debug("Will create cloudSite: " + cloudSite.toString()); + } + else { + LOGGER.debug("Found cloudsite : " + cloudSite.getId()); + LOGGER.debug("Will not create cloudSite: " + cloudSite.toString()); + } } catch (Exception e) { - LOGGER.debug("Could not find cloudsite : " + cloudSite.getId()); - LOGGER.debug("Creating cloudSite: " + cloudSite.toString()); - } - if (optCloudsite.isPresent() && (cloudSite.getId()) != optCloudsite.get().getId()) { - client.postCloudSite(cloudSite); + LOGGER.debug("Error looking up or creating cloudsite : " + cloudSite.getId()); + LOGGER.debug("CloudSite Lookup/Creation Error: " + e); } + + } /** -- cgit From 15d604e15fe34a729ef92acf2cc7feb2f8c79f51 Mon Sep 17 00:00:00 2001 From: subhash kumar singh Date: Sun, 16 Dec 2018 23:38:07 +0530 Subject: Enable use of resource order and input Enable use of resource order and input. Change-Id: I4d5b29997068447fc1bc657a6e5ae067d3b43496 Issue-ID: SO-1248 Signed-off-by: subhash kumar singh --- .../common/resource/ResourceRequestBuilder.java | 227 ++++++++------------- 1 file changed, 88 insertions(+), 139 deletions(-) (limited to 'bpmn/MSOCommonBPMN/src/main/java/org') diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/resource/ResourceRequestBuilder.java b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/resource/ResourceRequestBuilder.java index 5e05637bca..7259c56b6c 100644 --- a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/resource/ResourceRequestBuilder.java +++ b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/resource/ResourceRequestBuilder.java @@ -22,12 +22,16 @@ package org.onap.so.bpmn.common.resource; import java.io.File; import java.io.IOException; +import java.lang.reflect.Type; +import java.net.MalformedURLException; import java.util.ArrayList; +import java.util.Arrays; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Optional; +import java.util.logging.Logger; import javax.ws.rs.core.Response; import javax.ws.rs.core.UriBuilder; @@ -60,86 +64,35 @@ import com.google.gson.reflect.TypeToken; public class ResourceRequestBuilder { - private static String CUSTOMIZATION_UUID = "customizationUUID"; + private static String CUSTOMIZATION_UUID = "cuserviceResourcesstomizationUUID"; private static String SERVICE_URL_TOSCA_CSAR = "/v3/serviceToscaCsar"; + private static String SERVICE_URL_SERVICE_INSTANCE = "/v3/serviceResources"; private static MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.RA, ResourceRequestBuilder.class); static JsonUtils jsonUtil = new JsonUtils(); - public static List getResourceSequence(Execution execution, String serviceUuid) { - List resouceSequence = new ArrayList(); - List resultList = new ArrayList(); - String csarpath = null; - try { - csarpath = getCsarFromUuid(serviceUuid); - - SdcToscaParserFactory toscaParser = SdcToscaParserFactory.getInstance(); - ISdcCsarHelper iSdcCsarHelper = toscaParser.getSdcCsarHelper(csarpath, false); - List nodeTemplates = iSdcCsarHelper.getServiceNodeTemplates(); - List nodes = new ArrayList(); - nodes.addAll(nodeTemplates); - - for (NodeTemplate nodeTemplate : nodeTemplates) { - RequirementAssignments requirement = iSdcCsarHelper.getRequirementsOf(nodeTemplate); - - if (requirement == null || requirement.getAll() == null || requirement.getAll().isEmpty()) { - resultList.add(nodeTemplate); - nodes.remove(nodeTemplate); - } - } - - resultList = getRequirementList(resultList, nodes, iSdcCsarHelper); - - for (NodeTemplate node : resultList) { - String templateName = node.getMetaData().getValue("name"); - if (!resouceSequence.contains(templateName)) { - resouceSequence.add(templateName); - } - } - - } catch (SdcToscaParserException toscarParserE) { - LOGGER.debug("sdc tosca parser failed for csar: " + csarpath, toscarParserE); - return resouceSequence; - } catch (Exception e) { - LOGGER.debug("csar file is not available for service uuid:" + serviceUuid, e); - return resouceSequence; - } - - return resouceSequence; - } + public static List getResourceSequence(String serviceUuid) { + + List resourceSequence = new ArrayList(); + try { + Map serviceResponse = getServiceInstnace(serviceUuid); + + if (serviceResponse.containsKey("serviceResources")) { + Map serviceResources = (Map) serviceResponse.get("serviceResources"); - private static List getRequirementList(List resultList, List nodeTemplates, - ISdcCsarHelper iSdcCsarHelper) { - - List nodes = new ArrayList(); - nodes.addAll(nodeTemplates); - - for (NodeTemplate nodeTemplate : nodeTemplates) { - RequirementAssignments requirement = iSdcCsarHelper.getRequirementsOf(nodeTemplate); - List reqAs = requirement.getAll(); - for (RequirementAssignment ra : reqAs) { - String reqNode = ra.getNodeTemplateName(); - for (NodeTemplate rNode : resultList) { - if (rNode.getName().equals(reqNode)) { - if(!resultList.contains(nodeTemplate)) { - resultList.add(nodeTemplate); - } - if(nodes.contains(nodeTemplate)) { - nodes.remove(nodeTemplate); - } - break; - } - } - } - } - - if (!nodes.isEmpty()) { - getRequirementList(resultList, nodes, iSdcCsarHelper); - } - - return resultList; + if (serviceResources.containsKey("resourceOrder")) { + String resourceOrder = (String) serviceResources.get("resourceOrder"); + if (resourceOrder!= null) { + resourceSequence.addAll(Arrays.asList(resourceOrder.split(","))); + } + } + } + } catch (Exception e) { + LOGGER.error("not able to retrieve service order."); + } + return resourceSequence; } /* build the resource Parameters detail. @@ -186,12 +139,8 @@ public class ResourceRequestBuilder { resourceInputsFromUuiMap = new HashMap(); } - try { - Map resourceInputsFromServiceDeclaredLevel = buildResouceRequest(serviceUuid, resourceCustomizationUuid, serviceInput); - resourceInputsFromUuiMap.putAll(resourceInputsFromServiceDeclaredLevel); - } catch(SdcToscaParserException e) { - LOGGER.error("SdcToscaParserException", e); - } + Map resourceInputsFromServiceDeclaredLevel = buildResouceRequest(serviceUuid, resourceCustomizationUuid, serviceInput); + resourceInputsFromUuiMap.putAll(resourceInputsFromServiceDeclaredLevel); String resourceInputsStr = getJsonString(resourceInputsFromUuiMap); String result = "{\n" + "\"locationConstraints\":" + locationConstraints +",\n" @@ -200,74 +149,82 @@ public class ResourceRequestBuilder { return result; } - public static Map buildResouceRequest(String serviceUuid, String resourceCustomizationUuid, Map serviceInputs) - throws SdcToscaParserException { + @SuppressWarnings("unchecked") + public static Map buildResouceRequest(String serviceUuid, String resourceCustomizationUuid, Map serviceInputs) { + try { + Map serviceInstnace = getServiceInstnace(serviceUuid); - Map resouceRequest = new HashMap<>(); + // find match of customization uuid in vnf + Map> serviceResources = (Map>) serviceInstnace.get("serviceResources"); - String csarpath = null; - try { - csarpath = getCsarFromUuid(serviceUuid); - } catch(Exception e) { - LOGGER.debug("csar file is not available for service uuid:" + serviceUuid, e); - return resouceRequest; - } + List> serviceVnfCust = (List>) serviceResources.get("serviceVnfs"); + String resourceInputStr = getResourceInputStr(serviceVnfCust, resourceCustomizationUuid); - SdcToscaParserFactory toscaParser = SdcToscaParserFactory.getInstance(); - ISdcCsarHelper iSdcCsarHelper = toscaParser.getSdcCsarHelper(csarpath, false); + // find match in network resource + if (resourceInputStr == null) { + List> serviceNetworkCust = (List>) serviceResources.get("serviceNetworks"); + resourceInputStr = getResourceInputStr(serviceNetworkCust, resourceCustomizationUuid); - List serInput = iSdcCsarHelper.getServiceInputs(); - Optional nodeTemplateOpt = iSdcCsarHelper.getServiceNodeTemplates().stream() - .filter(e -> e.getMetaData().getValue(CUSTOMIZATION_UUID).equals(resourceCustomizationUuid)).findFirst(); + // find match in AR resource + if (resourceInputStr == null) { + List> serviceArCust = (List>) serviceResources.get("serviceAllottedResources"); + resourceInputStr = getResourceInputStr(serviceArCust, resourceCustomizationUuid); + } + } - if(nodeTemplateOpt.isPresent()) { - NodeTemplate nodeTemplate = nodeTemplateOpt.get(); - LinkedHashMap resourceProperties = nodeTemplate.getProperties(); + if (resourceInputStr != null || !resourceInputStr.equals("")) { + return getResourceInput(resourceInputStr, serviceInputs); + } - for(String key : resourceProperties.keySet()) { - Property property = resourceProperties.get(key); + } catch (Exception e) { + LOGGER.error("not able to retrieve service instance"); + } + return new HashMap(); + } - Object value = getValue(property.getValue(), serviceInputs, serInput); - resouceRequest.put(key, value); + private static String getResourceInputStr(List> resources, String resCustomizationUuid) { + + for (Map resource : resources) { + Map modelInfo = (Map) resource.get("modelInfo"); + + if (modelInfo.get("modelCustomizationUuid").equalsIgnoreCase(resCustomizationUuid)) { + return (String) resource.get("resourceInput"); } } - return resouceRequest; + return null; } - private static Object getValue(Object value, Map serviceInputs, List servInputs) { - if(value instanceof Map) { - // currently this logic handles only one level of nesting. -// Map valueMap = new HashMap<>(); -// -// Map propertyMap = (Map)value; -// -// for(String key : propertyMap.keySet()) { -// valueMap.put(key, getValue(propertyMap.get(key), serviceInputs, servInputs)); -// } -// return valueMap; // return if the value is nested hashmap - return ((LinkedHashMap) value).values().toArray()[0]; - } else if(value instanceof GetInput) { - String inputName = ((GetInput)value).getInputName(); - - if(serviceInputs.get(inputName) != null) { - value = serviceInputs.get(inputName); - } else { - for(Input input : servInputs) { - if(input.getName().equals(inputName)) { - return input.getDefault(); // return default value - } + // this method combines resource input with service input + private static Map getResourceInput(String resourceInputStr, Map serviceInputs) { + Gson gson = new Gson(); + Type type = new TypeToken>(){}.getType(); + Map resourceInput = gson.fromJson(resourceInputStr, type); + + // replace value if key is available in service input + for (String key: resourceInput.keySet()) { + String value = (String) resourceInput.get(key); + + if (value.contains("|")) { + // node it type of getinput + String[] split = value.split("\\|"); + String tmpKey = split[0]; + if (serviceInputs.containsKey(tmpKey)) { + value = (String) serviceInputs.get(tmpKey); + } else { + value = split[1]; } } + resourceInput.put(key,value); } - return value; // return property value + return resourceInput; } - private static String getCsarFromUuid(String uuid) throws Exception { - String catalogEndPoint = UrnPropertiesReader.getVariable("mso.catalog.db.endpoint"); + public static Map getServiceInstnace(String uuid) throws Exception { + String catalogEndPoint = UrnPropertiesReader.getVariable("mso.catalog.db.endpoint"); RESTClient restClient = new RESTClient(new RESTConfig( UriBuilder.fromUri(catalogEndPoint) - .path(SERVICE_URL_TOSCA_CSAR) + .path(SERVICE_URL_SERVICE_INSTANCE) .queryParam("serviceModelUuid", uuid) .build().toURL().toString() )); @@ -279,19 +236,11 @@ public class ResourceRequestBuilder { String value = apiResponse.getResponseBodyAsString(); - HashMap map = new Gson().fromJson(value, new TypeToken>() {}.getType()); - - String filePath = System.getProperty("mso.config.path") + "/ASDC/" + map.get("version") + "/" + map.get("name"); - - File csarFile = new File(filePath); - - if(!csarFile.exists()) { - throw new Exception("csar file does not exist."); - } - - return csarFile.getAbsolutePath(); + ObjectMapper objectMapper = new ObjectMapper(); + HashMap map = objectMapper.readValue(value, HashMap.class); + return map; } - + public static T getJsonObject(String jsonstr, Class type) { ObjectMapper mapper = new ObjectMapper(); mapper.configure(SerializationFeature.WRAP_ROOT_VALUE, true); -- cgit From a5d213aa479f5ae16b57563caf7801220baf5bec Mon Sep 17 00:00:00 2001 From: subhash kumar singh Date: Wed, 16 Jan 2019 18:13:48 +0530 Subject: Fix url for catalog query Fix url for catalog query. Change-Id: I694284b9c3b354a5d0e4340b7f7e78744096c80f Issue-ID: SO-1398 Signed-off-by: subhash kumar singh --- .../java/org/onap/so/bpmn/common/resource/ResourceRequestBuilder.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'bpmn/MSOCommonBPMN/src/main/java/org') diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/resource/ResourceRequestBuilder.java b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/resource/ResourceRequestBuilder.java index 7259c56b6c..44559443a7 100644 --- a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/resource/ResourceRequestBuilder.java +++ b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/resource/ResourceRequestBuilder.java @@ -66,8 +66,7 @@ public class ResourceRequestBuilder { private static String CUSTOMIZATION_UUID = "cuserviceResourcesstomizationUUID"; - private static String SERVICE_URL_TOSCA_CSAR = "/v3/serviceToscaCsar"; - private static String SERVICE_URL_SERVICE_INSTANCE = "/v3/serviceResources"; + private static String SERVICE_URL_SERVICE_INSTANCE = "/v2/serviceResources"; private static MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.RA, ResourceRequestBuilder.class); -- cgit