diff options
author | wejs <maciej.wejs@nokia.com> | 2018-02-06 17:14:35 +0100 |
---|---|---|
committer | Takamune Cho <tc012c@att.com> | 2018-02-07 18:26:59 +0000 |
commit | abb2c4d57e885e1e22bddb6734883309666783f7 (patch) | |
tree | e1a264b8fd20329986be9d94863cb7ccad2a07b4 /appc-config/appc-flow-controller | |
parent | 840883031392a45d57f3c30ac44cbd92a0053164 (diff) |
Sonar fixes in RestServiceNode Part2
Additionally lesser changes in
JsonParsingNone and FlowGenerator
Change-Id: Id4a31df9c3c902d33522114c7e2d82654e60a352
Issue-ID: APPC-525
Signed-off-by: wejs <maciej.wejs@nokia.com>
Diffstat (limited to 'appc-config/appc-flow-controller')
3 files changed, 44 insertions, 77 deletions
diff --git a/appc-config/appc-flow-controller/provider/src/main/java/org/onap/appc/flow/controller/node/FlowGenerator.java b/appc-config/appc-flow-controller/provider/src/main/java/org/onap/appc/flow/controller/node/FlowGenerator.java index fe894c955..74a513fc8 100644 --- a/appc-config/appc-flow-controller/provider/src/main/java/org/onap/appc/flow/controller/node/FlowGenerator.java +++ b/appc-config/appc-flow-controller/provider/src/main/java/org/onap/appc/flow/controller/node/FlowGenerator.java @@ -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; } diff --git a/appc-config/appc-flow-controller/provider/src/main/java/org/onap/appc/flow/controller/node/JsonParsingNode.java b/appc-config/appc-flow-controller/provider/src/main/java/org/onap/appc/flow/controller/node/JsonParsingNode.java index 7952c1cfb..d6d3ee120 100644 --- a/appc-config/appc-flow-controller/provider/src/main/java/org/onap/appc/flow/controller/node/JsonParsingNode.java +++ b/appc-config/appc-flow-controller/provider/src/main/java/org/onap/appc/flow/controller/node/JsonParsingNode.java @@ -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; } } diff --git a/appc-config/appc-flow-controller/provider/src/main/java/org/onap/appc/flow/controller/node/RestServiceNode.java b/appc-config/appc-flow-controller/provider/src/main/java/org/onap/appc/flow/controller/node/RestServiceNode.java index aa01e5ba9..f3b9b0495 100644 --- a/appc-config/appc-flow-controller/provider/src/main/java/org/onap/appc/flow/controller/node/RestServiceNode.java +++ b/appc-config/appc-flow-controller/provider/src/main/java/org/onap/appc/flow/controller/node/RestServiceNode.java @@ -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; } } |