From accb33e6c6c0f6020f4ea7995389dfd2b76ab80d Mon Sep 17 00:00:00 2001 From: Jakub Dudycz Date: Wed, 14 Feb 2018 12:45:29 +0100 Subject: ConvertNode sonar fixes Change-Id: I1b8f19f57e90c1be5cec2bdd37d7db4216221710 Issue-ID: APPC-631 Signed-off-by: Jakub Dudycz --- .../config/generator/ConfigGeneratorConstant.java | 4 +- .../sdnc/config/generator/convert/ConvertNode.java | 157 +++++++++++---------- .../convert/InvalidParameterException.java | 8 ++ 3 files changed, 93 insertions(+), 76 deletions(-) create mode 100644 appc-config/appc-config-generator/provider/src/main/java/org/onap/sdnc/config/generator/convert/InvalidParameterException.java diff --git a/appc-config/appc-config-generator/provider/src/main/java/org/onap/sdnc/config/generator/ConfigGeneratorConstant.java b/appc-config/appc-config-generator/provider/src/main/java/org/onap/sdnc/config/generator/ConfigGeneratorConstant.java index a8d5cb6f1..bfeef35f4 100644 --- a/appc-config/appc-config-generator/provider/src/main/java/org/onap/sdnc/config/generator/ConfigGeneratorConstant.java +++ b/appc-config/appc-config-generator/provider/src/main/java/org/onap/sdnc/config/generator/ConfigGeneratorConstant.java @@ -66,7 +66,7 @@ public class ConfigGeneratorConstant { public static final String OUTPUT_STATUS_SUCCESS = "success"; public static final String OUTPUT_STATUS_FAILURE = "failure"; - public static final Object INPUT_PARAM_CONTEXT_KEY = "contextKey"; - public static final Object INPUT_PARAM_JSON_CONTENT = "jsonContent"; + public static final String INPUT_PARAM_CONTEXT_KEY = "contextKey"; + public static final String INPUT_PARAM_JSON_CONTENT = "jsonContent"; } diff --git a/appc-config/appc-config-generator/provider/src/main/java/org/onap/sdnc/config/generator/convert/ConvertNode.java b/appc-config/appc-config-generator/provider/src/main/java/org/onap/sdnc/config/generator/convert/ConvertNode.java index ccc0d900d..d3ea34f9a 100644 --- a/appc-config/appc-config-generator/provider/src/main/java/org/onap/sdnc/config/generator/convert/ConvertNode.java +++ b/appc-config/appc-config-generator/provider/src/main/java/org/onap/sdnc/config/generator/convert/ConvertNode.java @@ -24,10 +24,15 @@ package org.onap.sdnc.config.generator.convert; +import com.att.eelf.configuration.EELFLogger; +import com.att.eelf.configuration.EELFManager; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.node.ObjectNode; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; +import java.util.Map.Entry; import java.util.Set; import org.apache.commons.lang.StringEscapeUtils; import org.apache.commons.lang3.StringUtils; @@ -37,17 +42,14 @@ import org.onap.ccsdk.sli.core.sli.SvcLogicJavaPlugin; import org.onap.sdnc.config.generator.ConfigGeneratorConstant; import org.onap.sdnc.config.generator.tool.EscapeUtils; import org.onap.sdnc.config.generator.tool.JSONTool; -import com.att.eelf.configuration.EELFLogger; -import com.att.eelf.configuration.EELFManager; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.node.ObjectNode; public class ConvertNode implements SvcLogicJavaPlugin { private static final EELFLogger log = EELFManager.getInstance().getLogger(ConvertNode.class); + private static final String DATA_TYPE_STR = " Datatype ("; public void convertJson2DGContext(Map inParams, SvcLogicContext ctx) - throws SvcLogicException { + throws SvcLogicException { log.trace("Received convertJson2DGContext call with params : " + inParams); String responsePrefix = inParams.get(ConfigGeneratorConstant.INPUT_PARAM_RESPONSE_PRIFIX); try { @@ -57,11 +59,11 @@ public class ConvertNode implements SvcLogicJavaPlugin { responsePrefix = StringUtils.isNotBlank(responsePrefix) ? (responsePrefix + ".") : ""; if (StringUtils.isNotBlank(jsonData)) { - if (StringUtils.isNotBlank(isEscaped) && isEscaped.equalsIgnoreCase("Y")) { + if (StringUtils.isNotBlank(isEscaped) && "Y".equalsIgnoreCase(isEscaped)) { jsonData = StringEscapeUtils.unescapeJavaScript(jsonData); } - List blockKeys = new ArrayList(); + List blockKeys = new ArrayList<>(); if (blockKey != null) { blockKeys = Arrays.asList(blockKey.split(",")); } @@ -70,27 +72,31 @@ public class ConvertNode implements SvcLogicJavaPlugin { log.trace("DG Context Populated:" + dgContext); for (Map.Entry entry : dgContext.entrySet()) { - if (entry != null && entry.getKey() != null) { - ctx.setAttribute(entry.getKey(), entry.getValue()); - } + trySetContextAttribute(ctx, entry); } } ctx.setAttribute(responsePrefix + ConfigGeneratorConstant.OUTPUT_PARAM_STATUS, - ConfigGeneratorConstant.OUTPUT_STATUS_SUCCESS); + ConfigGeneratorConstant.OUTPUT_STATUS_SUCCESS); } catch (Exception e) { ctx.setAttribute(responsePrefix + ConfigGeneratorConstant.OUTPUT_PARAM_STATUS, - ConfigGeneratorConstant.OUTPUT_STATUS_FAILURE); + ConfigGeneratorConstant.OUTPUT_STATUS_FAILURE); ctx.setAttribute(responsePrefix + ConfigGeneratorConstant.OUTPUT_PARAM_ERROR_MESSAGE, - e.getMessage()); - log.error("Failed in JSON to DGContext Conversion" + e.getMessage()); + e.getMessage()); + log.error("Failed in JSON to DGContext Conversion", e); throw new SvcLogicException(e.getMessage()); } } + private void trySetContextAttribute(SvcLogicContext ctx, Entry entry) { + if (entry != null && entry.getKey() != null) { + ctx.setAttribute(entry.getKey(), entry.getValue()); + } + } + public void escapeData(Map inParams, SvcLogicContext ctx) - throws SvcLogicException { + throws SvcLogicException { log.trace("Received escapeData call with params : " + inParams); String responsePrefix = inParams.get(ConfigGeneratorConstant.INPUT_PARAM_RESPONSE_PRIFIX); try { @@ -98,90 +104,93 @@ public class ConvertNode implements SvcLogicJavaPlugin { String unEscapeData = inParams.get(ConfigGeneratorConstant.INPUT_PARAM_UNESCAPE_DATA); String dataType = inParams.get(ConfigGeneratorConstant.INPUT_PARAM_DATA_TYPE); - if (StringUtils.isBlank(unEscapeData)) { - throw new Exception("Unescape (" + ConfigGeneratorConstant.INPUT_PARAM_UNESCAPE_DATA - + ") param is missing for escapeData conversion." + unEscapeData); - } - - if (StringUtils.isBlank(dataType)) { - throw new Exception(" Datatype (" + ConfigGeneratorConstant.INPUT_PARAM_DATA_TYPE - + ")param is missing for escapeData conversion."); - } - - String escapedData = null; - if (ConfigGeneratorConstant.DATA_TYPE_JSON.equalsIgnoreCase(dataType)) { - escapedData = StringEscapeUtils.escapeJavaScript(unEscapeData); - } else if (ConfigGeneratorConstant.DATA_TYPE_XML.equalsIgnoreCase(dataType)) { - escapedData = StringEscapeUtils.escapeXml(unEscapeData); - } else if (ConfigGeneratorConstant.DATA_TYPE_SQL.equalsIgnoreCase(dataType)) { - escapedData = EscapeUtils.escapeSql(unEscapeData); - } else { - throw new Exception(" Datatype (" + ConfigGeneratorConstant.INPUT_PARAM_DATA_TYPE - + ") param value (" + dataType - + ")is not supported for escapeData conversion."); - } + String escapedData = tryFetchEscapedData(unEscapeData, dataType); ctx.setAttribute(responsePrefix + ConfigGeneratorConstant.OUTPUT_PARAM_ESCAPE_DATA, - escapedData); + escapedData); ctx.setAttribute(responsePrefix + ConfigGeneratorConstant.OUTPUT_PARAM_STATUS, - ConfigGeneratorConstant.OUTPUT_STATUS_SUCCESS); + ConfigGeneratorConstant.OUTPUT_STATUS_SUCCESS); log.trace("Data escapeData Successfully :" + ctx.getAttributeKeySet()); } catch (Exception e) { ctx.setAttribute(responsePrefix + ConfigGeneratorConstant.OUTPUT_PARAM_STATUS, - ConfigGeneratorConstant.OUTPUT_STATUS_FAILURE); + ConfigGeneratorConstant.OUTPUT_STATUS_FAILURE); ctx.setAttribute(responsePrefix + ConfigGeneratorConstant.OUTPUT_PARAM_ERROR_MESSAGE, - e.getMessage()); - log.error("Failed in escapeData Conversion" + e.getMessage()); + e.getMessage()); + log.error("Failed in escapeData Conversion", e); throw new SvcLogicException(e.getMessage()); } } + private String tryFetchEscapedData(String unEscapeData, String dataType) throws InvalidParameterException { + if (StringUtils.isBlank(unEscapeData)) { + throw new InvalidParameterException("Unescape (" + ConfigGeneratorConstant.INPUT_PARAM_UNESCAPE_DATA + + ") param is missing for escapeData conversion." + unEscapeData); + } + if (StringUtils.isBlank(dataType)) { + throw new InvalidParameterException(DATA_TYPE_STR + ConfigGeneratorConstant.INPUT_PARAM_DATA_TYPE + + ")param is missing for escapeData conversion."); + } + if (ConfigGeneratorConstant.DATA_TYPE_JSON.equalsIgnoreCase(dataType)) { + return StringEscapeUtils.escapeJavaScript(unEscapeData); + } else if (ConfigGeneratorConstant.DATA_TYPE_XML.equalsIgnoreCase(dataType)) { + return StringEscapeUtils.escapeXml(unEscapeData); + } else if (ConfigGeneratorConstant.DATA_TYPE_SQL.equalsIgnoreCase(dataType)) { + return EscapeUtils.escapeSql(unEscapeData); + } else { + throw new InvalidParameterException(DATA_TYPE_STR + ConfigGeneratorConstant.INPUT_PARAM_DATA_TYPE + + ") param value (" + dataType + + ")is not supported for escapeData conversion."); + } + } + public void unEscapeData(Map inParams, SvcLogicContext ctx) - throws SvcLogicException { + throws SvcLogicException { log.trace("Received unEscapeData call with params : " + inParams); String responsePrefix = inParams.get(ConfigGeneratorConstant.INPUT_PARAM_RESPONSE_PRIFIX); try { responsePrefix = StringUtils.isNotBlank(responsePrefix) ? (responsePrefix + ".") : ""; String escapeData = inParams.get(ConfigGeneratorConstant.INPUT_PARAM_ESCAPE_DATA); String dataType = inParams.get(ConfigGeneratorConstant.INPUT_PARAM_DATA_TYPE); + String unEscapedData = tryFetchUnescapedData(escapeData, dataType); - if (StringUtils.isBlank(escapeData)) { - throw new Exception("Escape (" + ConfigGeneratorConstant.INPUT_PARAM_ESCAPE_DATA - + ") param is missing for escapeData conversion."); - } - - if (StringUtils.isBlank(dataType)) { - throw new Exception(" Datatype (" + ConfigGeneratorConstant.INPUT_PARAM_DATA_TYPE - + ")param is missing for escapeData conversion."); - } - - String unEscapedData = null; - if (ConfigGeneratorConstant.DATA_TYPE_JSON.equalsIgnoreCase(dataType)) { - unEscapedData = StringEscapeUtils.unescapeJavaScript(escapeData); - } else if (ConfigGeneratorConstant.DATA_TYPE_XML.equalsIgnoreCase(dataType)) { - unEscapedData = StringEscapeUtils.unescapeXml(escapeData); - } else { - throw new Exception(" Datatype (" + ConfigGeneratorConstant.INPUT_PARAM_DATA_TYPE - + ") param value (" + dataType - + ")is not supported for unEscapeData conversion."); - } ctx.setAttribute(responsePrefix + ConfigGeneratorConstant.OUTPUT_PARAM_UNESCAPE_DATA, - unEscapedData); + unEscapedData); ctx.setAttribute(responsePrefix + ConfigGeneratorConstant.OUTPUT_PARAM_STATUS, - ConfigGeneratorConstant.OUTPUT_STATUS_SUCCESS); + ConfigGeneratorConstant.OUTPUT_STATUS_SUCCESS); log.trace("Converted unEscapeData Successfully :" + ctx.getAttributeKeySet()); } catch (Exception e) { ctx.setAttribute(responsePrefix + ConfigGeneratorConstant.OUTPUT_PARAM_STATUS, - ConfigGeneratorConstant.OUTPUT_STATUS_FAILURE); + ConfigGeneratorConstant.OUTPUT_STATUS_FAILURE); ctx.setAttribute(responsePrefix + ConfigGeneratorConstant.OUTPUT_PARAM_ERROR_MESSAGE, - e.getMessage()); - log.error("Failed in unEscapeData Conversion" + e.getMessage()); + e.getMessage()); + log.error("Failed in unEscapeData Conversion", e); throw new SvcLogicException(e.getMessage()); } } + private String tryFetchUnescapedData(String escapeData, String dataType) throws InvalidParameterException { + if (StringUtils.isBlank(escapeData)) { + throw new InvalidParameterException("Escape (" + ConfigGeneratorConstant.INPUT_PARAM_ESCAPE_DATA + + ") param is missing for escapeData conversion."); + } + + if (StringUtils.isBlank(dataType)) { + throw new InvalidParameterException(DATA_TYPE_STR + ConfigGeneratorConstant.INPUT_PARAM_DATA_TYPE + + ")param is missing for escapeData conversion."); + } + if (ConfigGeneratorConstant.DATA_TYPE_JSON.equalsIgnoreCase(dataType)) { + return StringEscapeUtils.unescapeJavaScript(escapeData); + } else if (ConfigGeneratorConstant.DATA_TYPE_XML.equalsIgnoreCase(dataType)) { + return StringEscapeUtils.unescapeXml(escapeData); + } else { + throw new InvalidParameterException(DATA_TYPE_STR + ConfigGeneratorConstant.INPUT_PARAM_DATA_TYPE + + ") param value (" + dataType + + ")is not supported for unEscapeData conversion."); + } + } + public void convertContextToJson(Map inParams, SvcLogicContext ctx) - throws SvcLogicException { + throws SvcLogicException { log.trace("Received convertContextToJson call with params : " + inParams); String responsePrefix = inParams.get(ConfigGeneratorConstant.INPUT_PARAM_RESPONSE_PRIFIX); String contextKey = inParams.get(ConfigGeneratorConstant.INPUT_PARAM_CONTEXT_KEY); @@ -200,16 +209,16 @@ public class ConvertNode implements SvcLogicJavaPlugin { } } ctx.setAttribute(responsePrefix + ConfigGeneratorConstant.INPUT_PARAM_JSON_CONTENT, - objectNode.toString()); + objectNode.toString()); ctx.setAttribute(responsePrefix + ConfigGeneratorConstant.OUTPUT_PARAM_STATUS, - ConfigGeneratorConstant.OUTPUT_STATUS_SUCCESS); + ConfigGeneratorConstant.OUTPUT_STATUS_SUCCESS); log.trace("convertContextToJson Successful"); } catch (Exception e) { ctx.setAttribute(responsePrefix + ConfigGeneratorConstant.OUTPUT_PARAM_STATUS, - ConfigGeneratorConstant.OUTPUT_STATUS_FAILURE); + ConfigGeneratorConstant.OUTPUT_STATUS_FAILURE); ctx.setAttribute(responsePrefix + ConfigGeneratorConstant.OUTPUT_PARAM_ERROR_MESSAGE, - e.getMessage()); - log.error("Failed in convertContextToJson" + e.getMessage()); + e.getMessage()); + log.error("Failed in convertContextToJson", e); throw new SvcLogicException(e.getMessage()); } } diff --git a/appc-config/appc-config-generator/provider/src/main/java/org/onap/sdnc/config/generator/convert/InvalidParameterException.java b/appc-config/appc-config-generator/provider/src/main/java/org/onap/sdnc/config/generator/convert/InvalidParameterException.java new file mode 100644 index 000000000..7ac67b041 --- /dev/null +++ b/appc-config/appc-config-generator/provider/src/main/java/org/onap/sdnc/config/generator/convert/InvalidParameterException.java @@ -0,0 +1,8 @@ +package org.onap.sdnc.config.generator.convert; + +public class InvalidParameterException extends Exception{ + + public InvalidParameterException(String message) { + super(message); + } +} -- cgit 1.2.3-korg