MergeNode sonar fixes
[appc.git] / appc-config / appc-config-generator / provider / src / main / java / org / onap / sdnc / config / generator / merge / MergeNode.java
index 48814ce..2c4c061 100644 (file)
@@ -24,6 +24,8 @@
 
 package org.onap.sdnc.config.generator.merge;
 
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
 import java.nio.charset.Charset;
 import java.util.Map;
 import org.apache.commons.io.IOUtils;
@@ -35,118 +37,108 @@ import org.onap.sdnc.config.generator.ConfigGeneratorConstant;
 import org.onap.sdnc.config.generator.tool.EscapeUtils;
 import org.onap.sdnc.config.generator.tool.JSONTool;
 import org.onap.sdnc.config.generator.tool.MergeTool;
-import com.att.eelf.configuration.EELFLogger;
-import com.att.eelf.configuration.EELFManager;
 
 public class MergeNode implements SvcLogicJavaPlugin {
 
     private static final EELFLogger log = EELFManager.getInstance().getLogger(MergeNode.class);
 
     public void mergeDataOnTemplate(Map<String, String> inParams, SvcLogicContext ctx)
-            throws SvcLogicException {
-
-    }
+        throws SvcLogicException { /* TODO implement this method */ }
 
     public void mergeJsonDataOnTemplate(Map<String, String> inParams, SvcLogicContext ctx)
-            throws SvcLogicException {
+        throws SvcLogicException {
         log.info("Received mergeJsonDataOnTemplate call with params : " + inParams);
         String responsePrefix = inParams.get(ConfigGeneratorConstant.INPUT_PARAM_RESPONSE_PRIFIX);
         try {
             responsePrefix = StringUtils.isNotBlank(responsePrefix) ? (responsePrefix + ".") : "";
             String jsonData = inParams.get(ConfigGeneratorConstant.INPUT_PARAM_JSON_DATA);
             if (StringUtils.isBlank(jsonData)) {
-                throw new Exception("JSON Data is missing");
+                throw new ParameterMissingException("JSON Data is missing");
             }
 
             String templateData = inParams.get(ConfigGeneratorConstant.INPUT_PARAM_TEMPLATE_DATA);
             String templateFile = inParams.get(ConfigGeneratorConstant.INPUT_PARAM_TEMPLATE_FILE);
 
             if (StringUtils.isBlank(templateData) && StringUtils.isBlank(templateFile)) {
-                throw new Exception("Template data or Template file is missing");
+                throw new ParameterMissingException("Template data or Template file is missing");
             }
             if (StringUtils.isBlank(templateData)) {
-                String path = MergeNode.class.getClassLoader().getResource(".").toString();
                 templateData = IOUtils.toString(
-                        MergeNode.class.getClassLoader().getResourceAsStream(templateFile));
+                    MergeNode.class.getClassLoader().getResourceAsStream(templateFile), "UTF-8");
             }
 
-            String templateType = inParams.get(ConfigGeneratorConstant.INPUT_PARAM_TEMPLATE_TYPE);
-
             Map<String, String> dataMap = JSONTool.convertToProperties(jsonData);
             log.info("Data Maps created :" + dataMap);
-            if (dataMap != null) {
-                String mergedData = MergeTool.mergeMap2TemplateData(templateData, dataMap);
-                if (mergedData != null) {
-                    // Changed for E2E defect 266908 Quote issue
-                    // ctx.setAttribute(responsePrefix +
-                    // ConfigGeneratorConstant.OUTPUT_PARAM_MERGED_DATA,mergedData);
-                    ctx.setAttribute(
-                            responsePrefix + ConfigGeneratorConstant.OUTPUT_PARAM_MERGED_DATA,
-                            EscapeUtils.unescapeSql(mergedData));
-                }
-            }
+            trySetContextAttribute(ctx, responsePrefix, templateData, dataMap);
             ctx.setAttribute(responsePrefix + ConfigGeneratorConstant.OUTPUT_PARAM_STATUS,
-                    ConfigGeneratorConstant.OUTPUT_STATUS_SUCCESS);
+                ConfigGeneratorConstant.OUTPUT_STATUS_SUCCESS);
             log.info("Data Merge Successful :" + ctx);
         } 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 merging data to template " + e.getMessage());
+                e.getMessage());
+            log.error("Failed in merging data to template", e);
             throw new SvcLogicException(e.getMessage());
         }
     }
 
+    private void trySetContextAttribute(SvcLogicContext ctx, String responsePrefix, String templateData,
+        Map<String, String> dataMap) {
+        if (dataMap != null) {
+            String mergedData = MergeTool.mergeMap2TemplateData(templateData, dataMap);
+            if (mergedData != null) {
+                // Changed for E2E defect 266908 Quote issue
+                ctx.setAttribute(
+                    responsePrefix + ConfigGeneratorConstant.OUTPUT_PARAM_MERGED_DATA,
+                    EscapeUtils.unescapeSql(mergedData));
+            }
+        }
+    }
+
     public void mergeComplexJsonDataOnTemplate(Map<String, String> inParams, SvcLogicContext ctx)
-            throws SvcLogicException {
-        // log.info("Received mergeJsonComplexDataOnTemplate call with params : " + inParams);
+        throws SvcLogicException {
         String responsePrefix = inParams.get(ConfigGeneratorConstant.INPUT_PARAM_RESPONSE_PRIFIX);
         try {
             responsePrefix = StringUtils.isNotBlank(responsePrefix) ? (responsePrefix + ".") : "";
             String jsonData = inParams.get(ConfigGeneratorConstant.INPUT_PARAM_JSON_DATA);
             if (StringUtils.isBlank(jsonData)) {
-                throw new Exception("JSON Data is missing");
+                throw new ParameterMissingException("JSON Data is missing");
             }
 
             String templateData = inParams.get(ConfigGeneratorConstant.INPUT_PARAM_TEMPLATE_DATA);
             String templateFile = inParams.get(ConfigGeneratorConstant.INPUT_PARAM_TEMPLATE_FILE);
 
             if (StringUtils.isBlank(templateData) && StringUtils.isBlank(templateFile)) {
-                throw new Exception("Template data or Template file is missing");
+                throw new ParameterMissingException("Template data or Template file is missing");
             }
             if (StringUtils.isBlank(templateData)) {
-                // String path = MergeNode.class.getClassLoader().getResource(".").toString();
                 templateData = IOUtils.toString(
-                        MergeNode.class.getClassLoader().getResourceAsStream(templateFile),
-                        Charset.defaultCharset());
+                    MergeNode.class.getClassLoader().getResourceAsStream(templateFile),
+                    Charset.defaultCharset());
             }
 
             String templateType = inParams.get(ConfigGeneratorConstant.INPUT_PARAM_TEMPLATE_TYPE);
             String doPrettyOutput =
-                    inParams.get(ConfigGeneratorConstant.INPUT_PARAM_DO_PRETTY_OUTPUT);
+                inParams.get(ConfigGeneratorConstant.INPUT_PARAM_DO_PRETTY_OUTPUT);
 
             String mergedData = MergeTool.mergeJson2TemplateData(templateData, jsonData,
-                    templateType, doPrettyOutput);
+                templateType, doPrettyOutput);
             ctx.setAttribute(responsePrefix + ConfigGeneratorConstant.OUTPUT_PARAM_MERGED_DATA,
-                    mergedData);
+                mergedData);
 
             ctx.setAttribute(responsePrefix + ConfigGeneratorConstant.OUTPUT_PARAM_STATUS,
-                    ConfigGeneratorConstant.OUTPUT_STATUS_SUCCESS);
-            // log.info("Data Merge Successful :" + ctx);
+                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 merging data to template " + e.getMessage());
+                e.getMessage());
+            log.error("Failed in merging data to template", e);
             throw new SvcLogicException(e.getMessage());
         }
     }
 
     public void mergeYamlDataOnTemplate(Map<String, String> inParams, SvcLogicContext ctx)
-            throws SvcLogicException {
-
-    }
-
+        throws SvcLogicException { /* TODO implement this method */}
 }