From 09940a4aacf2fb32eddc85dd49f5a17dedff9de0 Mon Sep 17 00:00:00 2001 From: "Benjamin, Max (mb388a)" Date: Fri, 1 Mar 2019 12:48:00 -0500 Subject: vnf spin up gr api vnf s base module fails map object representations of json back to json strings marshal all objects to json strings before sending all input params converted to Map Updated userParams map from HashMap to Map as HashMap userParams was causing VNF spin up to fail. Input json in Userparams was not accepted as a valid json format. Updated other files that were affected by this change. Change-Id: I0c00fc00c4c11b54ace4df7be8d5bfc80d41d130 Issue-ID: SO-1582 Signed-off-by: Benjamin, Max (mb388a) --- .../org/onap/so/adapters/vnf/MsoVnfAdapter.java | 8 ++--- .../onap/so/adapters/vnf/MsoVnfAdapterAsync.java | 4 +-- .../so/adapters/vnf/MsoVnfAdapterAsyncImpl.java | 4 +-- .../onap/so/adapters/vnf/MsoVnfAdapterImpl.java | 36 +++++++++++----------- .../so/adapters/vnf/MsoVnfCloudifyAdapterImpl.java | 12 ++++---- .../so/adapters/vnf/MsoVnfPluginAdapterImpl.java | 18 +++++------ 6 files changed, 41 insertions(+), 41 deletions(-) (limited to 'adapters/mso-openstack-adapters/src/main') diff --git a/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfAdapter.java b/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfAdapter.java index 7c49c9f948..c54b067a78 100644 --- a/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfAdapter.java +++ b/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfAdapter.java @@ -50,7 +50,7 @@ public interface MsoVnfAdapter @WebParam(name="vnfName") @XmlElement(required=true) String vnfName, @WebParam(name="requestType") @XmlElement(required=false) String requestType, @WebParam(name="volumeGroupHeatStackId") @XmlElement(required=false) String volumeGroupHeatStackId, - @WebParam(name="inputs") Map inputs, + @WebParam(name="inputs") Map inputs, @WebParam(name="failIfExists") Boolean failIfExists, @WebParam(name="backout") Boolean backout, @WebParam(name="enableBridge") Boolean enableBridge, @@ -68,7 +68,7 @@ public interface MsoVnfAdapter @WebParam(name="vnfName") @XmlElement(required=true) String vnfName, @WebParam(name="requestType") @XmlElement(required=false) String requestType, @WebParam(name="volumeGroupHeatStackId") @XmlElement(required=false) String volumeGroupHeatStackId, - @WebParam(name="inputs") Map inputs, + @WebParam(name="inputs") Map inputs, @WebParam(name="request") MsoRequest msoRequest, @WebParam(name="outputs", mode=Mode.OUT) Holder> outputs, @WebParam(name="rollback", mode=Mode.OUT) Holder rollback ) @@ -109,7 +109,7 @@ public interface MsoVnfAdapter @WebParam(name="volumeGroupHeatStackId") @XmlElement(required=false) String volumeGroupHeatStackId, @WebParam(name="baseVfHeatStackId") @XmlElement(required=false) String baseVfHeatStackId, @WebParam(name = "modelCustomizationUuid") @XmlElement(required = false) String modelCustomizationUuid, - @WebParam(name="inputs") Map inputs, + @WebParam(name="inputs") Map inputs, @WebParam(name="failIfExists") Boolean failIfExists, @WebParam(name="backout") Boolean backout, @WebParam(name="enableBridge") Boolean enableBridge, @@ -138,7 +138,7 @@ public interface MsoVnfAdapter @WebParam(name="baseVfHeatStackId") @XmlElement(required=false) String baseVfHeatStackId, @WebParam(name="vfModuleStackId") @XmlElement(required=false) String vfModuleStackId, @WebParam(name = "modelCustomizationUuid") @XmlElement(required = false) String modelCustomizationUuid, - @WebParam(name="inputs") Map inputs, + @WebParam(name="inputs") Map inputs, @WebParam(name="request") MsoRequest msoRequest, @WebParam(name="outputs", mode=Mode.OUT) Holder> outputs, @WebParam(name="rollback", mode=Mode.OUT) Holder rollback ) diff --git a/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfAdapterAsync.java b/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfAdapterAsync.java index b67a412c3e..6f61f0292c 100644 --- a/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfAdapterAsync.java +++ b/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfAdapterAsync.java @@ -53,7 +53,7 @@ public interface MsoVnfAdapterAsync @WebParam(name="vnfName") @XmlElement(required=true) String vnfName, @WebParam(name="requestType") @XmlElement(required=false) String requestType, @WebParam(name="volumeGroupHeatStackId") @XmlElement(required=false) String volumeGroupHeatStackId, - @WebParam(name="inputs") Map inputs, + @WebParam(name="inputs") Map inputs, @WebParam(name="failIfExists") Boolean failIfExists, @WebParam(name="backout") Boolean backout, @WebParam(name="enableBridge") Boolean enableBridge, @@ -70,7 +70,7 @@ public interface MsoVnfAdapterAsync @WebParam(name="vnfName") @XmlElement(required=true) String vnfName, @WebParam(name="requestType") @XmlElement(required=false) String requestType, @WebParam(name="volumeGroupHeatStackId") @XmlElement(required=false) String volumeGroupHeatStackId, - @WebParam(name="inputs") Map inputs, + @WebParam(name="inputs") Map inputs, @WebParam(name="messageId") @XmlElement(required=true) String messageId, @WebParam(name="request") MsoRequest msoRequest, @WebParam(name="notificationUrl") @XmlElement(required=true) String notificationUrl ); diff --git a/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfAdapterAsyncImpl.java b/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfAdapterAsyncImpl.java index 6340f76388..2c9d3776a7 100644 --- a/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfAdapterAsyncImpl.java +++ b/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfAdapterAsyncImpl.java @@ -125,7 +125,7 @@ public class MsoVnfAdapterAsyncImpl implements MsoVnfAdapterAsync { String vnfName, String requestType, String volumeGroupHeatStackId, - Map inputs, + Map inputs, Boolean failIfExists, Boolean backout, Boolean enableBridge, @@ -214,7 +214,7 @@ public class MsoVnfAdapterAsyncImpl implements MsoVnfAdapterAsync { String vnfName, String requestType, String volumeGroupHeatStackId, - Map inputs, + Map inputs, String messageId, MsoRequest msoRequest, String notificationUrl) { diff --git a/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfAdapterImpl.java b/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfAdapterImpl.java index 94434cd781..96160760fd 100644 --- a/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfAdapterImpl.java +++ b/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfAdapterImpl.java @@ -180,7 +180,7 @@ public class MsoVnfAdapterImpl implements MsoVnfAdapter { String vnfName, String requestType, String volumeGroupHeatStackId, - Map inputs, + Map inputs, Boolean failIfExists, Boolean backout, Boolean enableBridge, @@ -265,7 +265,7 @@ public class MsoVnfAdapterImpl implements MsoVnfAdapter { String vnfName, String requestType, String volumeGroupHeatStackId, - Map inputs, + Map inputs, MsoRequest msoRequest, Holder > outputs, Holder rollback) throws VnfException { @@ -474,7 +474,7 @@ public class MsoVnfAdapterImpl implements MsoVnfAdapter { return stringOutputs; } - private Map copyStringInputs (Map stringInputs) { + private Map copyStringInputs (Map stringInputs) { return new HashMap <> (stringInputs); } @@ -579,7 +579,7 @@ public class MsoVnfAdapterImpl implements MsoVnfAdapter { String volumeGroupHeatStackId, String baseVfHeatStackId, String modelCustomizationUuid, - Map inputs, + Map inputs, Boolean failIfExists, Boolean backout, Boolean enableBridge, @@ -1343,7 +1343,7 @@ public class MsoVnfAdapterImpl implements MsoVnfAdapter { String baseVfHeatStackId, String vfModuleStackId, String modelCustomizationUuid, - Map inputs, + Map inputs, MsoRequest msoRequest, Holder > outputs, Holder rollback) throws VnfException { @@ -1794,8 +1794,8 @@ public class MsoVnfAdapterImpl implements MsoVnfAdapter { hasJson = true; String jsonString = null; try { - jsonString = inputs.get(parm.getParamName()); - jsonNode = new ObjectMapper().readTree(jsonString); + jsonString = JSON_MAPPER.writeValueAsString(inputs.get(parm.getParamName())); + jsonNode = JSON_MAPPER.readTree(jsonString); } catch (JsonParseException jpe) { //TODO - what to do here? //for now - send the error to debug, but just leave it as a String @@ -1816,8 +1816,8 @@ public class MsoVnfAdapterImpl implements MsoVnfAdapter { hasJson = true; String jsonString = null; try { - jsonString = inputs.get(parm.getParamAlias()); - jsonNode = new ObjectMapper().readTree(jsonString); + jsonString = (String)inputs.get(parm.getParamAlias()); + jsonNode = JSON_MAPPER.readTree(jsonString); } catch (JsonParseException jpe) { //TODO - what to do here? //for now - send the error to debug, but just leave it as a String @@ -1847,7 +1847,7 @@ public class MsoVnfAdapterImpl implements MsoVnfAdapter { // They've submitted using an alias name. Remove that from inputs, and add back using real name. String realParamName = parm.getParamName (); String alias = parm.getParamAlias (); - String value = inputs.get (alias); + Object value = inputs.get (alias); LOGGER.debug ("*Found an Alias: paramName=" + realParamName + ",alias=" + alias @@ -1911,9 +1911,9 @@ public class MsoVnfAdapterImpl implements MsoVnfAdapter { Map inputsTwo = null; if (hasJson && jsonParams.size() > 0) { inputsTwo = new HashMap<>(); - for (Map.Entry entry : inputs.entrySet()) { + for (Map.Entry entry : inputs.entrySet()) { String keyParamName = entry.getKey(); - String value = entry.getValue(); + Object value = entry.getValue(); if (jsonParams.containsKey(keyParamName)) { inputsTwo.put(keyParamName, jsonParams.get(keyParamName)); } else { @@ -2085,7 +2085,7 @@ public class MsoVnfAdapterImpl implements MsoVnfAdapter { */ private boolean valetCreateRequest(String cloudSiteId, String tenantId, Map heatFilesObjects, Map nestedTemplatesChecked, String vfModuleName, boolean backout, HeatTemplate heatTemplate, String newEnvironmentString, Map goldenInputs, - MsoRequest msoRequest, Map inputs, boolean failRequestOnValetFailure, Holder> valetModifiedParamsHolder) throws VnfException { + MsoRequest msoRequest, Map inputs, boolean failRequestOnValetFailure, Holder> valetModifiedParamsHolder) throws VnfException { boolean valetSucceeded = false; String valetErrorMessage = "more detail not available"; try { @@ -2095,8 +2095,8 @@ public class MsoVnfAdapterImpl implements MsoVnfAdapter { HeatRequest heatRequest = new HeatRequest(vfModuleName, backout, heatTemplate.getTimeoutMinutes(), heatTemplate.getTemplateBody(), newEnvironmentString, files, goldenInputs); GenericValetResponse createReq = this.vci.callValetCreateRequest(msoRequest.getRequestId(), - cloudSiteId, tenantId, msoRequest.getServiceInstanceId(), inputs.get("vnf_id"), - inputs.get("vnf_name"), inputs.get("vf_module_id"), inputs.get("vf_module_name"), keystoneUrl, + cloudSiteId, tenantId, msoRequest.getServiceInstanceId(), (String)inputs.get("vnf_id"), + (String)inputs.get("vnf_name"), (String)inputs.get("vf_module_id"), (String)inputs.get("vf_module_name"), keystoneUrl, heatRequest); ValetCreateResponse vcr = createReq.getReturnObject(); if (vcr != null && createReq.getStatusCode() == 200) { @@ -2145,7 +2145,7 @@ public class MsoVnfAdapterImpl implements MsoVnfAdapter { private boolean valetUpdateRequest(String cloudSiteId, String tenantId, Map heatFilesObjects, Map nestedTemplatesChecked, String vfModuleName, boolean backout, HeatTemplate heatTemplate, String newEnvironmentString, - Map goldenInputs, MsoRequest msoRequest, Map inputs, + Map goldenInputs, MsoRequest msoRequest, Map inputs, boolean failRequestOnValetFailure, Holder> valetModifiedParamsHolder) throws VnfException { boolean valetSucceeded = false; @@ -2158,8 +2158,8 @@ public class MsoVnfAdapterImpl implements MsoVnfAdapter { heatTemplate.getTemplateBody(), newEnvironmentString, files, goldenInputs); // vnf name is not sent to MSO on update requests - so we will set it to the vf module name for now GenericValetResponse updateReq = this.vci.callValetUpdateRequest(msoRequest.getRequestId(), - cloudSiteId, tenantId, msoRequest.getServiceInstanceId(), inputs.get("vnf_id"), - vfModuleName, inputs.get("vf_module_id"), vfModuleName, keystoneUrl, + cloudSiteId, tenantId, msoRequest.getServiceInstanceId(), (String)inputs.get("vnf_id"), + vfModuleName, (String)inputs.get("vf_module_id"), vfModuleName, keystoneUrl, heatRequest); ValetUpdateResponse vur = updateReq.getReturnObject(); if (vur != null && updateReq.getStatusCode() == 200) { diff --git a/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfCloudifyAdapterImpl.java b/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfCloudifyAdapterImpl.java index 00e72373dd..f34a79491e 100644 --- a/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfCloudifyAdapterImpl.java +++ b/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfCloudifyAdapterImpl.java @@ -132,7 +132,7 @@ public class MsoVnfCloudifyAdapterImpl implements MsoVnfAdapter { String vnfName, String requestType, String volumeGroupHeatStackId, - Map inputs, + Map inputs, Boolean failIfExists, Boolean backout, Boolean enableBridge, @@ -160,7 +160,7 @@ public class MsoVnfCloudifyAdapterImpl implements MsoVnfAdapter { String vnfName, String requestType, String volumeGroupHeatStackId, - Map inputs, + Map inputs, MsoRequest msoRequest, Holder > outputs, Holder rollback) @@ -428,7 +428,7 @@ public class MsoVnfCloudifyAdapterImpl implements MsoVnfAdapter { return; } - private void sendMapToDebug(Map inputs) { + private void sendMapToDebug(Map inputs) { int i = 0; StringBuilder sb = new StringBuilder("inputs:"); if (inputs == null) { @@ -567,7 +567,7 @@ public class MsoVnfCloudifyAdapterImpl implements MsoVnfAdapter { String volumeGroupId, String baseVfModuleId, String modelCustomizationUuid, - Map inputs, + Map inputs, Boolean failIfExists, Boolean backout, Boolean enableBridge, @@ -605,7 +605,7 @@ public class MsoVnfCloudifyAdapterImpl implements MsoVnfAdapter { if (inputs == null) { // Create an empty set of inputs - inputs = new HashMap(); + inputs = new HashMap<>(); LOGGER.debug("inputs == null - setting to empty"); } else { this.sendMapToDebug(inputs); @@ -1212,7 +1212,7 @@ public class MsoVnfCloudifyAdapterImpl implements MsoVnfAdapter { String baseVfHeatStackId, String vfModuleStackId, String modelCustomizationUuid, - Map inputs, + Map inputs, MsoRequest msoRequest, Holder > outputs, Holder rollback) throws VnfException diff --git a/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfPluginAdapterImpl.java b/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfPluginAdapterImpl.java index 09ee0cde04..13212be74a 100644 --- a/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfPluginAdapterImpl.java +++ b/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfPluginAdapterImpl.java @@ -155,7 +155,7 @@ public class MsoVnfPluginAdapterImpl implements MsoVnfAdapter { String vnfName, String requestType, String volumeGroupHeatStackId, - Map inputs, + Map inputs, Boolean failIfExists, Boolean backout, Boolean enableBridge, @@ -183,7 +183,7 @@ public class MsoVnfPluginAdapterImpl implements MsoVnfAdapter { String vnfName, String requestType, String volumeGroupHeatStackId, - Map inputs, + Map inputs, MsoRequest msoRequest, Holder > outputs, Holder rollback) @@ -379,14 +379,14 @@ public class MsoVnfPluginAdapterImpl implements MsoVnfAdapter { * Normalize an input value to an Object, based on the target parameter type. * If the type is not recognized, it will just be returned unchanged (as a string). */ - private Object convertInputValue (String inputValue, HeatTemplateParam templateParam) + private Object convertInputValue (Object inputValue, HeatTemplateParam templateParam) { String type = templateParam.getParamType(); LOGGER.debug("Parameter: " + templateParam.getParamName() + " is of type " + type); if (type.equalsIgnoreCase("number")) { try { - return Integer.valueOf(inputValue); + return Integer.valueOf(inputValue.toString()); } catch (Exception e) { LOGGER.debug("Unable to convert " + inputValue + " to an integer!" , e); @@ -394,7 +394,7 @@ public class MsoVnfPluginAdapterImpl implements MsoVnfAdapter { } } else if (type.equalsIgnoreCase("json")) { try { - JsonNode jsonNode = new ObjectMapper().readTree(inputValue); + JsonNode jsonNode = JSON_MAPPER.readTree(JSON_MAPPER.writeValueAsString(inputValue)); return jsonNode; } catch (Exception e) { @@ -402,7 +402,7 @@ public class MsoVnfPluginAdapterImpl implements MsoVnfAdapter { return null; } } else if (type.equalsIgnoreCase("boolean")) { - return new Boolean(inputValue); + return new Boolean(inputValue.toString()); } // Nothing else matched. Return the original string @@ -471,7 +471,7 @@ public class MsoVnfPluginAdapterImpl implements MsoVnfAdapter { return; } - private void sendMapToDebug(Map inputs) { + private void sendMapToDebug(Map inputs) { int i = 0; StringBuilder sb = new StringBuilder("inputs:"); if (inputs == null) { @@ -608,7 +608,7 @@ public class MsoVnfPluginAdapterImpl implements MsoVnfAdapter { String volumeGroupId, String baseVfModuleId, String modelCustomizationUuid, - Map inputs, + Map inputs, Boolean failIfExists, Boolean backout, Boolean enableBridge, @@ -1212,7 +1212,7 @@ public class MsoVnfPluginAdapterImpl implements MsoVnfAdapter { String baseVfHeatStackId, String vfModuleStackId, String modelCustomizationUuid, - Map inputs, + Map inputs, MsoRequest msoRequest, Holder > outputs, Holder rollback) throws VnfException -- cgit 1.2.3-korg