Sonar fixes in RestServiceNode Part2 97/30497/2
authorwejs <maciej.wejs@nokia.com>
Tue, 6 Feb 2018 16:14:35 +0000 (17:14 +0100)
committerTakamune Cho <tc012c@att.com>
Wed, 7 Feb 2018 18:26:59 +0000 (18:26 +0000)
Additionally lesser changes in
JsonParsingNone and FlowGenerator

Change-Id: Id4a31df9c3c902d33522114c7e2d82654e60a352
Issue-ID: APPC-525
Signed-off-by: wejs <maciej.wejs@nokia.com>
appc-config/appc-flow-controller/provider/src/main/java/org/onap/appc/flow/controller/node/FlowGenerator.java
appc-config/appc-flow-controller/provider/src/main/java/org/onap/appc/flow/controller/node/JsonParsingNode.java
appc-config/appc-flow-controller/provider/src/main/java/org/onap/appc/flow/controller/node/RestServiceNode.java

index fe894c9..74a513f 100644 (file)
@@ -45,7 +45,7 @@ public class FlowGenerator {
         
         log.debug("Data in context"  + ctx.getAttributeKeySet() );
         Transactions transactions  = new Transactions();
-        List<Transaction> transactionList = new ArrayList<Transaction>();            
+        List<Transaction> transactionList = new ArrayList<>();
         Transaction singleTransaction = new Transaction();        
         
         singleTransaction.setTransactionId(1);
@@ -54,10 +54,7 @@ public class FlowGenerator {
         singleTransaction.setPayload(ctx.getAttribute(FlowControllerConstants.PAYLOAD));
         singleTransaction.setActionLevel(ctx.getAttribute(FlowControllerConstants.ACTION_LEVEL));
 
-        
-        
-        
-        List<Response> responseList  = new ArrayList<Response>();                
+        List<Response> responseList  = new ArrayList<>();
         Response response = new Response();
                 
         ResponseAction ra = new ResponseAction();                    
@@ -70,7 +67,7 @@ public class FlowGenerator {
         
         transactions.setTransactions(transactionList);
 
-        log.debug("Sequence String" + transactions.toString());
+        log.debug(fn + " Sequence String" + transactions.toString());
         
         return transactions;
     }
index 7952c1c..d6d3ee1 100644 (file)
@@ -21,7 +21,6 @@
 package org.onap.appc.flow.controller.node;
 
 import java.io.IOException;
-import java.util.HashMap;
 import java.util.Map;
 import java.util.Map.Entry;
 
@@ -40,53 +39,45 @@ import com.fasterxml.jackson.databind.ObjectMapper;
 
 public class JsonParsingNode implements SvcLogicJavaPlugin{
 
-
     private static final  EELFLogger log = EELFManager.getInstance().getLogger(JsonParsingNode.class);
-    private static final String SDNC_CONFIG_DIR_VAR = "SDNC_CONFIG_DIR";
 
     public void parse(Map<String, String> inParams, SvcLogicContext ctx) throws SvcLogicException {
         String fn = "RestServiceNode.sendRequest";
         log.info("Received processParamKeys call with params : " + inParams);
         String responsePrefix = inParams.get(FlowControllerConstants.INPUT_PARAM_RESPONSE_PRIFIX);
-        try
-        {
-            responsePrefix = StringUtils.isNotBlank(responsePrefix) ? (responsePrefix+".") : "";        
+        responsePrefix = StringUtils.isNotBlank(responsePrefix) ? (responsePrefix+".") : "";
+        try {
             //Remove below for Block
-            if(isValidJSON(inParams.get("data")) !=null){
-                JsonNode jnode = isValidJSON(inParams.get("data"));
-                ObjectMapper mapper = new ObjectMapper();
-                Map<String, Object> map = new HashMap<String, Object>();
-                map = mapper.readValue(jnode.toString(), new TypeReference<Map<String, String>>(){});                
+            JsonNode jnode = isValidJSON(inParams.get("data"));
+            if(jnode != null) {
+                Map<String, Object> map = new ObjectMapper().readValue(jnode.toString(), new TypeReference<Map<String, String>>(){});
                 for (Entry<String, Object> entry : map.entrySet())
                 {
                     ctx.setAttribute(responsePrefix + entry.getKey(),(String) entry.getValue());
                 }
-            
             }
             ctx.setAttribute(responsePrefix + FlowControllerConstants.OUTPUT_PARAM_STATUS, FlowControllerConstants.OUTPUT_STATUS_SUCCESS);
             
         } catch (Exception e) {
             ctx.setAttribute(responsePrefix + FlowControllerConstants.OUTPUT_PARAM_STATUS, FlowControllerConstants.OUTPUT_STATUS_FAILURE);
             ctx.setAttribute(responsePrefix + FlowControllerConstants.OUTPUT_PARAM_ERROR_MESSAGE, e.getMessage());
-            e.printStackTrace();
-            log.error("Error Message : "  + e.getMessage());
+            log.error(fn + " Error Message : " + e.getMessage(), e);
             throw new SvcLogicException(e.getMessage());
         }
     }
 
-    public JsonNode isValidJSON(String json) throws IOException {
-        JsonNode output = null;     
+    private JsonNode isValidJSON(String json) throws IOException {
+        JsonNode output;
         log.info("Received response from Interface " + json);
-        if(json ==null  || json.isEmpty())
+        if(json == null  || json.isEmpty())
             return null;
-        try
+        try {
             ObjectMapper objectMapper = new ObjectMapper();
             output = objectMapper.readTree(json);
-        } catch(JsonProcessingException e){
-            log.warn("Response received from interface is not a valid JSON block" + json);
+        } catch(JsonProcessingException e) {
+            log.warn("Response received from interface is not a valid JSON block" + json, e);
             return null;
-        }    
-        
+        }
         return output;
     }
 }
index aa01e5b..f3b9b04 100644 (file)
@@ -43,7 +43,6 @@ import com.fasterxml.jackson.databind.ObjectMapper;
 
 public class RestServiceNode implements SvcLogicJavaPlugin{
 
-
     private static final  EELFLogger log = EELFManager.getInstance().getLogger(RestServiceNode.class);
     private static final String SDNC_CONFIG_DIR_VAR = "SDNC_CONFIG_DIR";
 
@@ -51,8 +50,7 @@ public class RestServiceNode implements SvcLogicJavaPlugin{
         String fn = "RestServiceNode.sendRequest";
         log.info("Received processParamKeys call with params : " + inParams);
         String responsePrefix = inParams.get(FlowControllerConstants.INPUT_PARAM_RESPONSE_PRIFIX);
-        try
-        {
+        try {
             responsePrefix = StringUtils.isNotBlank(responsePrefix) ? (responsePrefix+".") : "";        
             //Remove below for Block
             for (Object key : ctx.getAttributeKeySet()) {
@@ -67,14 +65,13 @@ public class RestServiceNode implements SvcLogicJavaPlugin{
         } catch (Exception e) {
             ctx.setAttribute(responsePrefix + FlowControllerConstants.OUTPUT_PARAM_STATUS, FlowControllerConstants.OUTPUT_STATUS_FAILURE);
             ctx.setAttribute(responsePrefix + FlowControllerConstants.OUTPUT_PARAM_ERROR_MESSAGE, e.getMessage());
-            e.printStackTrace();
-            log.error("Error Message : "  + e.getMessage());
+            log.error("Error Message : "  + e.getMessage(), e);
             throw new SvcLogicException(e.getMessage());
         }
     }
 
-    public void send(SvcLogicContext ctx, Map<String, String> inParams) throws Exception{        
-    try{
+    private void send(SvcLogicContext ctx, Map<String, String> inParams) throws Exception {
+        try {
             Properties prop = loadProperties();
             log.info("Loaded Properties " + prop.toString());
             String responsePrefix = inParams.get(FlowControllerConstants.INPUT_PARAM_RESPONSE_PRIFIX);    
@@ -82,32 +79,31 @@ public class RestServiceNode implements SvcLogicJavaPlugin{
             String resourceUri = "";
             if(ctx.getAttribute(FlowControllerConstants.INPUT_URL) != null && !(ctx.getAttribute(FlowControllerConstants.INPUT_URL).isEmpty()))
                 resourceUri = ctx.getAttribute(FlowControllerConstants.INPUT_URL);
-            else{
+            else {
                 resourceUri = resourceUri.concat(FlowControllerConstants.HTTP);
                 log.info("resourceUri=  " + resourceUri );
                 resourceUri = resourceUri.concat(ctx.getAttribute(FlowControllerConstants.INPUT_HOST_IP_ADDRESS));
                 resourceUri = resourceUri.concat(":");
                 resourceUri = resourceUri.concat(ctx.getAttribute(FlowControllerConstants.INPUT_PORT_NUMBER));
-                
+
                 if(ctx.getAttribute(FlowControllerConstants.INPUT_CONTEXT) != null && !ctx.getAttribute(FlowControllerConstants.INPUT_CONTEXT).isEmpty()){
                     resourceUri = resourceUri.concat("/").concat(ctx.getAttribute(FlowControllerConstants.INPUT_CONTEXT));
                     log.info("resourceUri= " + resourceUri );
                 }
                 else if(prop.getProperty(ctx.getAttribute(FlowControllerConstants.INPUT_REQUEST_ACTION).concat(".context")) != null ){
-                    log.info("resourceUri = " + resourceUri );        
+                    log.info("resourceUri = " + resourceUri );
                     resourceUri = resourceUri.concat("/").concat(prop.getProperty(ctx.getAttribute(FlowControllerConstants.INPUT_REQUEST_ACTION).concat(".context")));
-                }
-                else 
+                } else {
                     throw new Exception("Could Not found the context for operation " + ctx.getAttribute(FlowControllerConstants.INPUT_REQUEST_ACTION));
-
+                }
 
                 if(ctx.getAttribute(FlowControllerConstants.INPUT_SUB_CONTEXT) != null && !ctx.getAttribute(FlowControllerConstants.INPUT_SUB_CONTEXT).isEmpty()){
-                    resourceUri = resourceUri.concat("/").concat(ctx.getAttribute(FlowControllerConstants.INPUT_SUB_CONTEXT)); 
-                    log.info("resourceUri" + resourceUri );        
+                    resourceUri = resourceUri.concat("/").concat(ctx.getAttribute(FlowControllerConstants.INPUT_SUB_CONTEXT));
+                    log.info("resourceUri" + resourceUri );
                 }
                 else if(prop.getProperty(ctx.getAttribute(FlowControllerConstants.INPUT_REQUEST_ACTION).concat(".sub-context")) != null ){
-                    resourceUri = resourceUri.concat("/").concat(prop.getProperty(ctx.getAttribute(FlowControllerConstants.INPUT_REQUEST_ACTION).concat(".sub-context"))); 
-                    log.info("resourceUri" + resourceUri );        
+                    resourceUri = resourceUri.concat("/").concat(prop.getProperty(ctx.getAttribute(FlowControllerConstants.INPUT_REQUEST_ACTION).concat(".sub-context")));
+                    log.info("resourceUri" + resourceUri );
                 }
             }
 
@@ -123,16 +119,15 @@ public class RestServiceNode implements SvcLogicJavaPlugin{
                 throw new Exception("Dont know request-action " + transaction.getAction());
 
             //This code need to get changed to get the UserID and pass from a common place.
-            if(transaction.getuId() == null )
+            if(transaction.getuId() == null)
                 transaction.setuId(prop.getProperty(ctx.getAttribute(FlowControllerConstants.INPUT_REQUEST_ACTION).concat(".default-rest-user")));
             if(transaction.getPswd() == null)
                 transaction.setPswd(prop.getProperty(ctx.getAttribute(FlowControllerConstants.INPUT_REQUEST_ACTION).concat(".default-rest-pass")));    
 
             HashMap<String, String> output = restRequestExecutor.execute(transaction, ctx);
 
-            if(output.get("restResponse") !=null && isValidJSON(output.get("restResponse")) != null)
-            {
-                    ctx.setAttribute(responsePrefix + "." + FlowControllerConstants.OUTPUT_STATUS_MESSAGE , output.get("restResponse"));
+            if(isValidJSON(output.get("restResponse")) != null) {
+                ctx.setAttribute(responsePrefix + "." + FlowControllerConstants.OUTPUT_STATUS_MESSAGE , output.get("restResponse"));
 //                JsonNode restResponse = isValidJSON(output.get("restResponse"));
 //                for (String key : inParams.keySet()) {
 //                    if(key !=null &&  key.startsWith("output-")){
@@ -148,11 +143,9 @@ public class RestServiceNode implements SvcLogicJavaPlugin{
 //                }                
             }
             log.info("Response from Rest :" );
-        }
-        catch(Exception e)
-        {
-            e.printStackTrace();
-            log.error("Error Message " + e.getMessage());
+
+        } catch(Exception e) {
+            log.error("Error Message: " + e.getMessage(), e);
             throw e;
         }
     }
@@ -163,8 +156,7 @@ public class RestServiceNode implements SvcLogicJavaPlugin{
         if (propDir == null)
             throw new Exception("Cannot find Property file -" + SDNC_CONFIG_DIR_VAR);
         String propFile = propDir + FlowControllerConstants.APPC_FLOW_CONTROLLER;
-        InputStream propStream = new FileInputStream(propFile);        
-        try
+        try (InputStream propStream = new FileInputStream(propFile))
         {
             props.load(propStream);
         }
@@ -172,35 +164,22 @@ public class RestServiceNode implements SvcLogicJavaPlugin{
         {
             throw new Exception("Could not load properties file " + propFile, e);
         }
-        finally
-        {
-            try
-            {
-                propStream.close();
-            }
-            catch (Exception e)
-            {
-                log.warn("Could not close FileInputStream", e);
-            }
-        }
-        // TODO Auto-generated method stub
         return props;
     }
-    
-    public JsonNode isValidJSON(String json) throws IOException {
-        JsonNode output = null;     
+
+    private JsonNode isValidJSON(String json) throws IOException {
+        JsonNode output;
         log.info("Received response from Interface " + json);
-        if(json ==null  || json.isEmpty())
+        if(json == null  || json.isEmpty())
             return null;
-        try
+        try {
             ObjectMapper objectMapper = new ObjectMapper();
             output = objectMapper.readTree(json);
-        } catch(JsonProcessingException e){
-            log.warn("Response received from interface is not a valid JSON block" + json);
+        } catch(JsonProcessingException e) {
+            log.warn("Response received from interface is not a valid JSON block" + json, e);
             return null;
-        }    
+        }
         log.info("state is " + output.findValue("state"));
-        
         return output;
     }
 }