ConvertNode sonar fixes 07/31707/3
authorJakub Dudycz <jakub.dudycz@nokia.com>
Wed, 14 Feb 2018 11:45:29 +0000 (12:45 +0100)
committerPatrick Brady <pb071s@att.com>
Wed, 14 Feb 2018 20:15:23 +0000 (20:15 +0000)
Change-Id: I1b8f19f57e90c1be5cec2bdd37d7db4216221710
Issue-ID: APPC-631
Signed-off-by: Jakub Dudycz <jakub.dudycz@nokia.com>
appc-config/appc-config-generator/provider/src/main/java/org/onap/sdnc/config/generator/ConfigGeneratorConstant.java
appc-config/appc-config-generator/provider/src/main/java/org/onap/sdnc/config/generator/convert/ConvertNode.java
appc-config/appc-config-generator/provider/src/main/java/org/onap/sdnc/config/generator/convert/InvalidParameterException.java [new file with mode: 0644]

index a8d5cb6..bfeef35 100644 (file)
@@ -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";
 
 }
index ccc0d90..d3ea34f 100644 (file)
 
 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<String, String> 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<String> blockKeys = new ArrayList<String>();
+                List<String> 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<String, String> 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<String, String> entry) {
+        if (entry != null && entry.getKey() != null) {
+            ctx.setAttribute(entry.getKey(), entry.getValue());
+        }
+    }
+
 
     public void escapeData(Map<String, String> 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<String, String> 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<String, String> 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 (file)
index 0000000..7ac67b0
--- /dev/null
@@ -0,0 +1,8 @@
+package org.onap.sdnc.config.generator.convert;
+
+public class InvalidParameterException extends Exception{
+
+    public InvalidParameterException(String message) {
+        super(message);
+    }
+}