CheckStyle corrections only 03/31603/2
authorwejs <maciej.wejs@nokia.com>
Tue, 13 Feb 2018 15:43:59 +0000 (16:43 +0100)
committerPatrick Brady <pb071s@att.com>
Wed, 14 Feb 2018 20:15:45 +0000 (20:15 +0000)
Files from module:
appc-config-flow-controller-provider

Change-Id: I8eb7b99642b8b7f58ceda384593b750344c79392
Issue-ID: APPC-618
Signed-off-by: wejs <maciej.wejs@nokia.com>
appc-config/appc-flow-controller/provider/src/main/java/org/onap/appc/flow/controller/interfaces/FlowExecutorInterface.java
appc-config/appc-flow-controller/provider/src/main/java/org/onap/appc/flow/controller/node/FlowControlNode.java
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 2949f8d..b122f58 100644 (file)
 
 package org.onap.appc.flow.controller.interfaces;
 
+import java.util.Map;
 import org.onap.appc.flow.controller.data.Transaction;
 import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
 
-import java.util.Map;
-
 @FunctionalInterface
 public interface FlowExecutorInterface {
 
index 8b088e1..b8ace76 100644 (file)
@@ -19,6 +19,7 @@
  * ECOMP is a trademark and service mark of AT&T Intellectual Property.
  * ============LICENSE_END=========================================================
  */
+
 package org.onap.appc.flow.controller.node;
 
 import com.att.eelf.configuration.EELFLogger;
@@ -48,7 +49,16 @@ import org.onap.appc.flow.controller.dbervices.FlowControlDBService;
 import org.onap.appc.flow.controller.executorImpl.GraphExecutor;
 import org.onap.appc.flow.controller.executorImpl.NodeExecutor;
 import org.onap.appc.flow.controller.executorImpl.RestExecutor;
-import org.onap.appc.flow.controller.interfaceData.*;
+import org.onap.appc.flow.controller.interfaceData.ActionIdentifier;
+import org.onap.appc.flow.controller.interfaceData.Capabilities;
+import org.onap.appc.flow.controller.interfaceData.DependencyInfo;
+import org.onap.appc.flow.controller.interfaceData.Input;
+import org.onap.appc.flow.controller.interfaceData.InventoryInfo;
+import org.onap.appc.flow.controller.interfaceData.RequestInfo;
+import org.onap.appc.flow.controller.interfaceData.Vm;
+import org.onap.appc.flow.controller.interfaceData.VnfInfo;
+import org.onap.appc.flow.controller.interfaceData.Vnfcs;
+import org.onap.appc.flow.controller.interfaceData.Vnfcslist;
 import org.onap.appc.flow.controller.interfaces.FlowExecutorInterface;
 import org.onap.appc.flow.controller.utils.EncryptionTool;
 import org.onap.appc.flow.controller.utils.FlowControllerConstants;
@@ -56,7 +66,7 @@ import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
 import org.onap.ccsdk.sli.core.sli.SvcLogicException;
 import org.onap.ccsdk.sli.core.sli.SvcLogicJavaPlugin;
 
-public class FlowControlNode implements SvcLogicJavaPlugin{
+public class FlowControlNode implements SvcLogicJavaPlugin {
 
     private static final EELFLogger log = EELFManager.getInstance().getLogger(FlowControlNode.class);
     private static final String SDNC_CONFIG_DIR_VAR = "SDNC_CONFIG_DIR";
@@ -65,15 +75,23 @@ public class FlowControlNode implements SvcLogicJavaPlugin{
         log.debug("Received processParamKeys call with params : " + inParams);
         String responsePrefix = inParams.get(FlowControllerConstants.INPUT_PARAM_RESPONSE_PRIFIX);
         try {
-            responsePrefix = StringUtils.isNotBlank(responsePrefix) ? (responsePrefix+".") : "";
-            FlowControlDBService dbservice = FlowControlDBService.initialise();
+            responsePrefix = StringUtils.isNotBlank(responsePrefix) ? (responsePrefix + ".") : "";
             SvcLogicContext localContext = new SvcLogicContext();
-            localContext.setAttribute(FlowControllerConstants.REQUEST_ID, ctx.getAttribute(FlowControllerConstants.REQUEST_ID));
-            localContext.setAttribute(FlowControllerConstants.VNF_TYPE, ctx.getAttribute(FlowControllerConstants.VNF_TYPE));
-            localContext.setAttribute(FlowControllerConstants.REQUEST_ACTION, ctx.getAttribute(FlowControllerConstants.REQUEST_ACTION));
-            localContext.setAttribute(FlowControllerConstants.ACTION_LEVEL, ctx.getAttribute(FlowControllerConstants.ACTION_LEVEL));
-            localContext.setAttribute(FlowControllerConstants.RESPONSE_PREFIX, responsePrefix);
-            ctx.setAttribute(FlowControllerConstants.RESPONSE_PREFIX, responsePrefix);
+
+            localContext.setAttribute(FlowControllerConstants.REQUEST_ID,
+                ctx.getAttribute(FlowControllerConstants.REQUEST_ID));
+            localContext.setAttribute(FlowControllerConstants.VNF_TYPE,
+                ctx.getAttribute(FlowControllerConstants.VNF_TYPE));
+            localContext.setAttribute(FlowControllerConstants.REQUEST_ACTION,
+                ctx.getAttribute(FlowControllerConstants.REQUEST_ACTION));
+            localContext.setAttribute(FlowControllerConstants.ACTION_LEVEL,
+                ctx.getAttribute(FlowControllerConstants.ACTION_LEVEL));
+            localContext.setAttribute(FlowControllerConstants.RESPONSE_PREFIX,
+                responsePrefix);
+            ctx.setAttribute(FlowControllerConstants.RESPONSE_PREFIX,
+                responsePrefix);
+
+            FlowControlDBService dbservice = FlowControlDBService.initialise();
             dbservice.getFlowReferenceData(ctx, inParams, localContext);
 
             for (Object key : localContext.getAttributeKeySet()) {
@@ -83,19 +101,26 @@ public class FlowControlNode implements SvcLogicJavaPlugin{
 
             }
             processFlowSequence(inParams, ctx, localContext);
-            if(!ctx.getAttribute(responsePrefix + FlowControllerConstants.OUTPUT_PARAM_STATUS).equals(FlowControllerConstants.OUTPUT_STATUS_SUCCESS))
-                throw new SvcLogicException(ctx.getAttribute(responsePrefix +  FlowControllerConstants.OUTPUT_STATUS_MESSAGE));
+            if (!ctx.getAttribute(responsePrefix + FlowControllerConstants.OUTPUT_PARAM_STATUS)
+                .equals(FlowControllerConstants.OUTPUT_STATUS_SUCCESS)) {
+
+                throw new SvcLogicException(
+                    ctx.getAttribute(responsePrefix + FlowControllerConstants.OUTPUT_STATUS_MESSAGE));
+            }
 
         } catch (Exception e) {
-            ctx.setAttribute(responsePrefix + FlowControllerConstants.OUTPUT_PARAM_STATUS, FlowControllerConstants.OUTPUT_STATUS_FAILURE);
-            ctx.setAttribute(responsePrefix + FlowControllerConstants.OUTPUT_PARAM_ERROR_MESSAGE, e.getMessage());
+            ctx.setAttribute(responsePrefix + FlowControllerConstants.OUTPUT_PARAM_STATUS,
+                FlowControllerConstants.OUTPUT_STATUS_FAILURE);
+            ctx.setAttribute(responsePrefix + FlowControllerConstants.OUTPUT_PARAM_ERROR_MESSAGE,
+                e.getMessage());
             log.error("Error occured in processFlow ", e);
             throw new SvcLogicException(e.getMessage());
         }
     }
 
-    private void processFlowSequence(Map<String, String> inParams, SvcLogicContext ctx, SvcLogicContext localContext) throws Exception
-    {
+    private void processFlowSequence(Map<String, String> inParams, SvcLogicContext ctx, SvcLogicContext localContext)
+        throws Exception {
+
         String fn = "FlowExecutorNode.processflowSequence";
         log.debug(fn + "Received model for flow : " + localContext.toString());
         FlowControlDBService dbservice = FlowControlDBService.initialise();
@@ -106,83 +131,103 @@ public class FlowControlNode implements SvcLogicJavaPlugin{
             log.debug(parmName +  "="  + parmValue);
 
         }
-        if(localContext.getAttribute(FlowControllerConstants.SEQUENCE_TYPE) !=null){
-
-            if(localContext.getAttribute(FlowControllerConstants.GENERATION_NODE) != null){
+        if (localContext.getAttribute(FlowControllerConstants.SEQUENCE_TYPE) != null) {
+            if (localContext.getAttribute(FlowControllerConstants.GENERATION_NODE) != null) {
                 GraphExecutor transactionExecutor = new GraphExecutor();
-                Boolean generatorExists = transactionExecutor.hasGraph("APPC_COMMOM", localContext.getAttribute(FlowControllerConstants.GENERATION_NODE), null, "sync");
-                if(generatorExists){
-                    flowSequnce = transactionExecutor.executeGraph("APPC_COMMOM", localContext.getAttribute(FlowControllerConstants.GENERATION_NODE),
-                        null, "sync", null).getProperty(FlowControllerConstants.FLOW_SEQUENCE);
+                Boolean generatorExists = transactionExecutor.hasGraph(
+                    "APPC_COMMOM",
+                    localContext.getAttribute(FlowControllerConstants.GENERATION_NODE),
+                    null,
+                    "sync");
+
+                if (generatorExists) {
+                    flowSequnce = transactionExecutor.executeGraph(
+                        "APPC_COMMOM",
+                        localContext.getAttribute(FlowControllerConstants.GENERATION_NODE),
+                        null, "sync", null)
+                        .getProperty(FlowControllerConstants.FLOW_SEQUENCE);
+                } else {
+                    throw new Exception("Can not find Custom defined Flow Generator for "
+                        + localContext.getAttribute(FlowControllerConstants.GENERATION_NODE));
                 }
-                else
-                    throw new Exception("Can not find Custom defined Flow Generator for " + localContext.getAttribute(FlowControllerConstants.GENERATION_NODE));
-            }
-            else if((localContext.getAttribute(FlowControllerConstants.SEQUENCE_TYPE)).equalsIgnoreCase(FlowControllerConstants.DESINGTIME)){
-                localContext.setAttribute(FlowControllerConstants.VNFC_TYPE, ctx.getAttribute(FlowControllerConstants.VNFC_TYPE));
+
+            } else if ((localContext.getAttribute(FlowControllerConstants.SEQUENCE_TYPE))
+                .equalsIgnoreCase(FlowControllerConstants.DESINGTIME)) {
+
+                localContext.setAttribute(FlowControllerConstants.VNFC_TYPE,
+                    ctx.getAttribute(FlowControllerConstants.VNFC_TYPE));
                 flowSequnce = dbservice.getDesignTimeFlowModel(localContext);
-                if(flowSequnce == null)
-                    throw new Exception("Flow Sequence is not found User Desinged VNF " + ctx.getAttribute(FlowControllerConstants.VNF_TYPE));
-            }
-            else if((localContext.getAttribute(FlowControllerConstants.SEQUENCE_TYPE)).equalsIgnoreCase(FlowControllerConstants.RUNTIME)){
+
+                if (flowSequnce == null) {
+                    throw new Exception("Flow Sequence is not found User Desinged VNF "
+                        + ctx.getAttribute(FlowControllerConstants.VNF_TYPE));
+                }
+
+            } else if ((localContext.getAttribute(FlowControllerConstants.SEQUENCE_TYPE))
+                .equalsIgnoreCase(FlowControllerConstants.RUNTIME)) {
 
                 Transaction transaction = new Transaction();
                 String input = collectInputParams(ctx,transaction);
-                log.info("CollectInputParamsData-Input: " + input );
+                log.info("CollectInputParamsData-Input: " + input);
 
                 RestExecutor restExe = new RestExecutor();
-                Map<String,String>flowSeq= restExe.execute(transaction, localContext);
+                Map<String,String> flowSeq = restExe.execute(transaction, localContext);
 
                 JSONObject sequence = new JSONObject(flowSeq.get("restResponse"));
-                if(sequence.has("output"))
+                if (sequence.has("output")) {
                     flowSequnce = sequence.getJSONObject("output").toString();
-                log.info("MultistepSequenceGenerator-Output: "+flowSequnce);
+                }
+                log.info("MultistepSequenceGenerator-Output: " + flowSequnce);
 
-                if(flowSequnce == null)
-                    throw new Exception("Failed to get the Flow Sequece runtime for VNF type" + ctx.getAttribute(FlowControllerConstants.VNF_TYPE));
+                if (flowSequnce == null) {
+                    throw new Exception("Failed to get the Flow Sequece runtime for VNF type"
+                        + ctx.getAttribute(FlowControllerConstants.VNF_TYPE));
+                }
 
-            }
-            else if((localContext.getAttribute(FlowControllerConstants.SEQUENCE_TYPE)).equalsIgnoreCase(FlowControllerConstants.EXTERNAL)){
+            } else if ((localContext.getAttribute(FlowControllerConstants.SEQUENCE_TYPE))
+                .equalsIgnoreCase(FlowControllerConstants.EXTERNAL)) {
                 //String input = collectInputParams(localContext);
                 //    flowSequnce = ""; //get it from the External interface calling the Rest End point - TBD
                 //if(flowSequnce == null)
-                throw new Exception("Flow Sequence not found for " + ctx.getAttribute(FlowControllerConstants.VNF_TYPE));
-            }
-            else
-            {
-                //No other type of model supported...in Future can get flowModel from other generators which will be included here
+
+                throw new Exception("Flow Sequence not found for "
+                    + ctx.getAttribute(FlowControllerConstants.VNF_TYPE));
+
+            } else {
+                //No other type of model supported...
+                //in Future can get flowModel from other generators which will be included here
                 throw new Exception("No information found for sequence Owner Design-Time Vs Run-Time" );
             }
-        }
-        else{
+
+        } else {
             FlowGenerator flowGenerator = new FlowGenerator();
             Transactions trans = flowGenerator.createSingleStepModel(inParams,ctx);
             ObjectMapper mapper = new ObjectMapper();
             flowSequnce = mapper.writeValueAsString(trans);
-            log.debug("Single step Flow Sequence : " +  flowSequnce);
+            log.debug("Single step Flow Sequence : " + flowSequnce);
         }
-        log.debug("Received Flow Sequence : " +  flowSequnce);
 
+        log.debug("Received Flow Sequence : " + flowSequnce);
         HashMap<Integer, Transaction> transactionMap = createTransactionMap(flowSequnce, localContext);
         exeuteAllTransaction(transactionMap, ctx);
         log.info("Executed all the transacstion successfully");
     }
 
-    private void exeuteAllTransaction(HashMap<Integer, Transaction> transactionMap, SvcLogicContext ctx) throws Exception {
+    private void exeuteAllTransaction(HashMap<Integer, Transaction> transactionMap, SvcLogicContext ctx)
+        throws Exception {
 
         String fn = "FlowExecutorNode.exeuteAllTransaction ";
         int retry = 0;
         FlowExecutorInterface flowExecutor;
-        for (int key = 1; key <= transactionMap.size() ; key++)
-        {
+        for (int key = 1; key <= transactionMap.size() ; key++) {
             log.debug(fn + "Starting transactions ID " + key + " :)=" + retry);
             Transaction transaction = transactionMap.get(key);
-            if(!preProcessor(transactionMap, transaction)){
+            if (!preProcessor(transactionMap, transaction)) {
                 log.info("Skipping Transaction ID " +  transaction.getTransactionId());
                 continue;
             }
-            if(transaction.getExecutionType() != null){
-                switch (transaction.getExecutionType()){
+            if (transaction.getExecutionType() != null) {
+                switch (transaction.getExecutionType()) {
                     case FlowControllerConstants.GRAPH :
                         flowExecutor = new GraphExecutor();
                         break;
@@ -196,33 +241,31 @@ public class FlowControlNode implements SvcLogicJavaPlugin{
                         throw new Exception("No Executor found for transaction ID" + transaction.getTransactionId());
                 }
                 flowExecutor.execute(transaction, ctx);
-                ResponseAction responseAction= handleResponse(transaction);
+                ResponseAction responseAction = handleResponse(transaction);
 
-                if(responseAction.getWait() != null && Integer.parseInt(responseAction.getWait()) > 0){
+                if (responseAction.getWait() != null && Integer.parseInt(responseAction.getWait()) > 0) {
                     log.debug(fn + "Going to Sleep .... " + responseAction.getWait());
-                    Thread.sleep(Integer.parseInt(responseAction.getWait())*1000L);
+                    Thread.sleep(Integer.parseInt(responseAction.getWait()) * 1000L);
                 }
-
-                if(responseAction.isIntermediateMessage()){
+                if (responseAction.isIntermediateMessage()) {
                     log.debug(fn + "Sending Intermediate Message back  .... ");
                     sendIntermediateMessage();
                 }
-                if(responseAction.getRetry() != null && Integer.parseInt(responseAction.getRetry()) > retry ){
+                if (responseAction.getRetry() != null && Integer.parseInt(responseAction.getRetry()) > retry ) {
                     log.debug(fn + "Ooppss!!! We will retry again ....... ");
                     key--;
                     retry++;
                     log.debug(fn + "key =" +  key +  "retry =" + retry);
-
                 }
-                if(responseAction.isIgnore()){
+                if (responseAction.isIgnore()) {
                     log.debug(fn + "Ignoring this Error and moving ahead  ....... ");
                     continue;
                 }
-                if(responseAction.isStop()){
+                if (responseAction.isStop()) {
                     log.debug(fn + "Need to Stop  ....... ");
                     break;
                 }
-                if(responseAction.getJump() != null && Integer.parseInt(responseAction.getJump()) > 0 ){
+                if (responseAction.getJump() != null && Integer.parseInt(responseAction.getJump()) > 0 ) {
                     key = Integer.parseInt(responseAction.getJump());
                     key --;
                 }
@@ -234,6 +277,7 @@ public class FlowControlNode implements SvcLogicJavaPlugin{
         }
 
     }
+
     private void sendIntermediateMessage() {
         // TODO Auto-generated method stub
     }
@@ -244,62 +288,72 @@ public class FlowControlNode implements SvcLogicJavaPlugin{
         return defaultHandler.handlerResponse(transaction);
     }
 
-    private boolean preProcessor(HashMap<Integer, Transaction> transactionMap, Transaction transaction) throws IOException {
+    private boolean preProcessor(HashMap<Integer, Transaction> transactionMap, Transaction transaction)
+        throws IOException {
+
         log.debug("Starting Preprocessing Logic ");
         boolean runthisStep = false;
         try {
-            if(transaction.getPrecheck() != null && transaction.getPrecheck().getPrecheckOptions() != null
-                && !transaction.getPrecheck().getPrecheckOptions().isEmpty()){
+            if (transaction.getPrecheck() != null
+                && transaction.getPrecheck().getPrecheckOptions() != null
+                && !transaction.getPrecheck().getPrecheckOptions().isEmpty()) {
+
                 List<PrecheckOption> precheckOptions  = transaction.getPrecheck().getPrecheckOptions();
-                for(PrecheckOption precheck : precheckOptions){
+                for (PrecheckOption precheck : precheckOptions) {
                     Transaction trans = transactionMap.get(precheck.getpTransactionID());
                     ObjectMapper mapper = new ObjectMapper();
                     log.info("Mapper= " + mapper.writeValueAsString(trans));
                     HashMap trmap = mapper.readValue(mapper.writeValueAsString(trans), HashMap.class);
-                    if(trmap.get(precheck.getParamName()) != null &&
-                        ((String) trmap.get(precheck.getParamName())).equalsIgnoreCase(precheck.getParamValue()))
+                    if (trmap.get(precheck.getParamName()) != null
+                        && ((String) trmap.get(precheck.getParamName())).equalsIgnoreCase(precheck.getParamValue())) {
                         runthisStep = true;
-                    else
+                    } else {
                         runthisStep = false;
+                    }
 
-                    if(("any").equalsIgnoreCase(transaction.getPrecheck().getPrecheckOperator()) && runthisStep)
+                    if (("any").equalsIgnoreCase(transaction.getPrecheck().getPrecheckOperator()) && runthisStep) {
                         break;
+                    }
                 }
             } else {
                 log.debug("No Pre check defined for transaction ID " + transaction.getTransactionId());
                 runthisStep = true;
             }
-        }
-        catch(Exception e)
-        {
+        } catch(Exception e) {
             log.error("Error occured when Preprocessing Logic ", e);
             throw e;
         }
         log.debug("Returing process current Transaction = " + runthisStep);
-
         return runthisStep ;
     }
 
-    private HashMap<Integer, Transaction> createTransactionMap(String flowSequnce, SvcLogicContext localContext) throws Exception {
+    private HashMap<Integer, Transaction> createTransactionMap(String flowSequnce, SvcLogicContext localContext)
+        throws Exception {
+
         ObjectMapper mapper = new ObjectMapper();
         Transactions transactions = mapper.readValue(flowSequnce,Transactions.class);
         HashMap<Integer, Transaction> transMap = new HashMap<>();
-        for(Transaction transaction : transactions.getTransactions()){
+        for (Transaction transaction : transactions.getTransactions()) {
             compileFlowDependencies(transaction, localContext);
-            //loadTransactionIntoStatus(transactions, ctx); //parse the Transactions Object and create records in process_flow_status table
+            //parse the Transactions Object and create records in process_flow_status table
+            //loadTransactionIntoStatus(transactions, ctx);
             transMap.put(transaction.getTransactionId(), transaction);
         }
         return transMap;
     }
 
     private void compileFlowDependencies(Transaction transaction, SvcLogicContext localContext) throws Exception {
+
         FlowControlDBService dbservice = FlowControlDBService.initialise();
         dbservice.populateModuleAndRPC(transaction, localContext.getAttribute(FlowControllerConstants.VNF_TYPE));
         ObjectMapper mapper = new ObjectMapper();
         log.debug("Indivisual Transaction Details :" + transaction.toString());
-        if((localContext.getAttribute(FlowControllerConstants.SEQUENCE_TYPE) == null) ||
-            (localContext.getAttribute(FlowControllerConstants.SEQUENCE_TYPE) != null &&
-                ! localContext.getAttribute(FlowControllerConstants.SEQUENCE_TYPE).equalsIgnoreCase(FlowControllerConstants.DESINGTIME))){
+
+        if ((localContext.getAttribute(FlowControllerConstants.SEQUENCE_TYPE) == null)
+            || (localContext.getAttribute(FlowControllerConstants.SEQUENCE_TYPE) != null
+            && ! localContext.getAttribute(FlowControllerConstants.SEQUENCE_TYPE)
+            .equalsIgnoreCase(FlowControllerConstants.DESINGTIME))) {
+
             localContext.setAttribute("artifact-content", mapper.writeValueAsString(transaction));
             dbservice.loadSequenceIntoDB(localContext);
         }
@@ -321,7 +375,6 @@ public class FlowControlNode implements SvcLogicJavaPlugin{
         }
 
         try {
-
             ActionIdentifier actionIdentifier = new ActionIdentifier();
             log.debug("Enter ActionIdentifier");
             if (StringUtils.isNotBlank(vnfId)) {
@@ -397,7 +450,7 @@ public class FlowControlNode implements SvcLogicJavaPlugin{
             List<Vnfcs> vnfclist = Arrays.asList(mapper.readValue(vnfcData.toString(), Vnfcs[].class));
             dependencyInfo.getVnfcs().addAll(vnfclist);
 
-            log.info("Dependency Output:"+ dependencyInfo.toString());
+            log.info("Dependency Output:" + dependencyInfo.toString());
         }
         return dependencyInfo;
     }
@@ -421,7 +474,6 @@ public class FlowControlNode implements SvcLogicJavaPlugin{
             List<String> vnfsList = new ArrayList<>();
             if (vnfs != null) {
                 for (int i = 0; i < vnfs.size(); i++) {
-
                     String vnf = vnfs.get(i).asText();
                     vnfsList.add(vnf);
                 }
@@ -431,7 +483,6 @@ public class FlowControlNode implements SvcLogicJavaPlugin{
             List<String> vfModulesList = new ArrayList<>();
             if (vfModules != null) {
                 for (int i = 0; i < vfModules.size(); i++) {
-
                     String vfModule = vfModules.get(i).asText();
                     vfModulesList.add(vfModule);
                 }
@@ -441,18 +492,15 @@ public class FlowControlNode implements SvcLogicJavaPlugin{
             List<String> vnfcsList = new ArrayList<>();
             if (vnfcs != null) {
                 for (int i = 0; i < vnfcs.size(); i++) {
-
                     String vnfc1 = vnfcs.get(i).asText();
                     vnfcsList.add(vnfc1);
                 }
             }
 
             JsonNode vms = capabilitiesNode.findValue(FlowControllerConstants.VM);
-
             List<String> vmList = new ArrayList<>();
             if (vms != null) {
                 for (int i = 0; i < vms.size(); i++) {
-
                     String vm1 = vms.get(i).asText();
                     vmList.add(vm1);
                 }
@@ -463,12 +511,12 @@ public class FlowControlNode implements SvcLogicJavaPlugin{
             capabilities.getVfModule().addAll(vfModulesList);
             capabilities.getVm().addAll(vmList);
 
-            log.info("Capabilities Output:"+ capabilities.toString());
+            log.info("Capabilities Output:" + capabilities.toString());
         }
         return capabilities;
     }
 
-    private InventoryInfo getInventoryInfo(SvcLogicContext ctx, String vnfId) throws Exception{
+    private InventoryInfo getInventoryInfo(SvcLogicContext ctx, String vnfId) throws Exception {
         String fn = "FlowExecutorNode.getInventoryInfo";
 
         VnfInfo vnfInfo = new VnfInfo();
@@ -477,18 +525,16 @@ public class FlowControlNode implements SvcLogicJavaPlugin{
         vnfInfo.setVnfType(ctx.getAttribute("tmp.vnfInfo.vnf.vnf-type"));
 
         String vmcount = ctx.getAttribute("tmp.vnfInfo.vm-count");
-        if(StringUtils.isNotBlank(vmcount)){
+        if (StringUtils.isNotBlank(vmcount)) {
             int vmCount = Integer.parseInt(vmcount);
-            log.info(fn +"vmcount:"+ vmCount);
+            log.info(fn + "vmcount:" + vmCount);
 
             Vm vm = new Vm();
             Vnfcslist vnfc = new Vnfcslist();
             for (int i = 0; i < vmCount; i++) {
-
                 vm.setVserverId(ctx.getAttribute("tmp.vnfInfo.vm[" + i + "].vserver-id"));
                 String vnfccount = ctx.getAttribute("tmp.vnfInfo.vm[" + i + "].vnfc-count");
                 int vnfcCount = Integer.parseInt(vnfccount);
-
                 if (vnfcCount > 0) {
                     vnfc.setVnfcName(ctx.getAttribute("tmp.vnfInfo.vm[" + i + "].vnfc-name"));
                     vnfc.setVnfcType(ctx.getAttribute("tmp.vnfInfo.vm[" + i + "].vnfc-type"));
@@ -499,7 +545,7 @@ public class FlowControlNode implements SvcLogicJavaPlugin{
         }
         InventoryInfo inventoryInfo = new InventoryInfo();
         inventoryInfo.setVnfInfo(vnfInfo);
-        log.info(fn + "Inventory Output:" +inventoryInfo.toString());
+        log.info(fn + "Inventory Output:" + inventoryInfo.toString());
 
         return inventoryInfo;
     }
@@ -507,15 +553,15 @@ public class FlowControlNode implements SvcLogicJavaPlugin{
     private static Properties loadProperties() throws Exception {
         Properties props = new Properties();
         String propDir = System.getenv(SDNC_CONFIG_DIR_VAR);
-        if (propDir == null)
+        if (propDir == null) {
             throw new Exception("Cannot find Property file -" + SDNC_CONFIG_DIR_VAR);
+        }
         String propFile = propDir + FlowControllerConstants.APPC_FLOW_CONTROLLER;
-        try (InputStream propStream = new FileInputStream(propFile))
-        {
+        try (InputStream propStream = new FileInputStream(propFile)) {
+
             props.load(propStream);
-        }
-        catch (Exception e)
-        {
+
+        } catch (Exception e) {
             throw new Exception("Could not load properties file " + propFile, e);
         }
         return props;
index b6491e9..e4372c0 100644 (file)
 
 package org.onap.appc.flow.controller.node;
 
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
-
 import org.onap.appc.flow.controller.data.Response;
 import org.onap.appc.flow.controller.data.ResponseAction;
 import org.onap.appc.flow.controller.data.Transaction;
@@ -33,26 +34,20 @@ import org.onap.appc.flow.controller.data.Transactions;
 import org.onap.appc.flow.controller.utils.FlowControllerConstants;
 import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
 
-import com.att.eelf.configuration.EELFLogger;
-import com.att.eelf.configuration.EELFManager;
-
 public class FlowGenerator {
     
     private static final  EELFLogger log = EELFManager.getInstance().getLogger(FlowGenerator.class);
 
     public Transactions createSingleStepModel(Map<String, String> inParams, SvcLogicContext ctx) {
 
-        String fn = "FlowGenerator.createSingleStepModel";
         log.debug("Starting generating single Step flow" );
-        
         log.debug("Data in context"  + ctx.getAttributeKeySet() );
-        Transactions transactions  = new Transactions();
-        List<Transaction> transactionList = new ArrayList<>();
-        Transaction singleTransaction = new Transaction();        
-        
+
+        Transaction singleTransaction = new Transaction();
         singleTransaction.setTransactionId(1);
         singleTransaction.setAction(ctx.getAttribute(FlowControllerConstants.REQUEST_ACTION));
-        singleTransaction.setActionLevel(FlowControllerConstants.VNF); //Need to discuss how to get action level if not in request
+        //Need to discuss how to get action level if not in request
+        singleTransaction.setActionLevel(FlowControllerConstants.VNF);
         singleTransaction.setPayload(ctx.getAttribute(FlowControllerConstants.PAYLOAD));
         singleTransaction.setActionLevel(ctx.getAttribute(FlowControllerConstants.ACTION_LEVEL));
 
@@ -64,16 +59,16 @@ public class FlowGenerator {
         response.setResponseAction(ra);
         
         responseList.add(response);
-        singleTransaction.setResponses(responseList);        
+        singleTransaction.setResponses(responseList);
+
+        List<Transaction> transactionList = new ArrayList<>();
         transactionList.add(singleTransaction);
-        
+
+        Transactions transactions = new Transactions();
         transactions.setTransactions(transactionList);
 
-        log.debug(fn + " Sequence String" + transactions.toString());
+        log.debug("FlowGenerator.createSingleStepModel Sequence String" + transactions.toString());
         
         return transactions;
     }
-    
-    
-
 }
index 861f0dd..6a987df 100644 (file)
 
 package org.onap.appc.flow.controller.node;
 
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import java.io.IOException;
 import java.util.Map;
 import java.util.Map.Entry;
-
 import org.apache.commons.lang3.StringUtils;
 import org.onap.appc.flow.controller.utils.FlowControllerConstants;
 import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
 import org.onap.ccsdk.sli.core.sli.SvcLogicException;
 import org.onap.ccsdk.sli.core.sli.SvcLogicJavaPlugin;
 
-import com.att.eelf.configuration.EELFLogger;
-import com.att.eelf.configuration.EELFManager;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.core.type.TypeReference;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-public class JsonParsingNode implements SvcLogicJavaPlugin{
+public class JsonParsingNode implements SvcLogicJavaPlugin {
 
     private static final  EELFLogger log = EELFManager.getInstance().getLogger(JsonParsingNode.class);
 
@@ -47,36 +45,40 @@ public class JsonParsingNode implements SvcLogicJavaPlugin{
         String fn = "RestServiceNode.sendRequest";
         log.info("Received processParamKeys call with params : " + inParams);
         String responsePrefix = inParams.get(FlowControllerConstants.INPUT_PARAM_RESPONSE_PRIFIX);
-        responsePrefix = StringUtils.isNotBlank(responsePrefix) ? (responsePrefix+".") : "";
+        responsePrefix = StringUtils.isNotBlank(responsePrefix) ? (responsePrefix + ".") : "";
         try {
             //Remove below for Block
-            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())
-                {
+            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);
+            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());
+            ctx.setAttribute(responsePrefix + FlowControllerConstants.OUTPUT_PARAM_STATUS,
+                FlowControllerConstants.OUTPUT_STATUS_FAILURE);
+            ctx.setAttribute(responsePrefix + FlowControllerConstants.OUTPUT_PARAM_ERROR_MESSAGE,
+                e.getMessage());
             log.error(fn + " Error Message : " + e.getMessage(), e);
             throw new SvcLogicException(e.getMessage());
         }
     }
 
-    private JsonNode isValidJSON(String json) throws IOException {
+    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 {
             ObjectMapper objectMapper = new ObjectMapper();
             output = objectMapper.readTree(json);
-        } catch(JsonProcessingException e) {
+        } catch (JsonProcessingException e) {
             log.warn("Response received from interface is not a valid JSON block" + json, e);
             return null;
         }
index b3c2fe2..d931e47 100644 (file)
@@ -27,6 +27,11 @@ import com.att.eelf.configuration.EELFManager;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Map;
+import java.util.Properties;
 import org.apache.commons.lang3.StringUtils;
 import org.onap.appc.flow.controller.data.Transaction;
 import org.onap.appc.flow.controller.executorImpl.RestExecutor;
@@ -35,13 +40,7 @@ import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
 import org.onap.ccsdk.sli.core.sli.SvcLogicException;
 import org.onap.ccsdk.sli.core.sli.SvcLogicJavaPlugin;
 
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Map;
-import java.util.Properties;
-
-public class RestServiceNode implements SvcLogicJavaPlugin{
+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,7 +50,7 @@ public class RestServiceNode implements SvcLogicJavaPlugin{
         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 + ".") : "";
             //Remove below for Block
             for (Object key : ctx.getAttributeKeySet()) {
                 String parmName = (String) key;
@@ -60,11 +59,14 @@ public class RestServiceNode implements SvcLogicJavaPlugin{
             }
             
             send(ctx, inParams);
-            ctx.setAttribute(responsePrefix + FlowControllerConstants.OUTPUT_PARAM_STATUS, FlowControllerConstants.OUTPUT_STATUS_SUCCESS);
+            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());
+            ctx.setAttribute(responsePrefix + FlowControllerConstants.OUTPUT_PARAM_STATUS,
+                FlowControllerConstants.OUTPUT_STATUS_FAILURE);
+            ctx.setAttribute(responsePrefix + FlowControllerConstants.OUTPUT_PARAM_ERROR_MESSAGE,
+                e.getMessage());
             log.error("Error Message : "  + e.getMessage(), e);
             throw new SvcLogicException(e.getMessage());
         }
@@ -74,61 +76,87 @@ public class RestServiceNode implements SvcLogicJavaPlugin{
         try {
             Properties prop = loadProperties();
             log.info("Loaded Properties " + prop.toString());
-            String responsePrefix = inParams.get(FlowControllerConstants.INPUT_PARAM_RESPONSE_PRIFIX);    
-            RestExecutor restRequestExecutor = new RestExecutor();
+            String responsePrefix = inParams.get(FlowControllerConstants.INPUT_PARAM_RESPONSE_PRIFIX);
             String resourceUri = "";
-            if(ctx.getAttribute(FlowControllerConstants.INPUT_URL) != null && !(ctx.getAttribute(FlowControllerConstants.INPUT_URL).isEmpty()))
+            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));
+                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 ){
+
+                } else if (prop.getProperty(ctx.getAttribute(FlowControllerConstants.INPUT_REQUEST_ACTION)
+                    .concat(".context")) != null ) {
                     log.info("resourceUri = " + resourceUri );
-                    resourceUri = resourceUri.concat("/").concat(prop.getProperty(ctx.getAttribute(FlowControllerConstants.INPUT_REQUEST_ACTION).concat(".context")));
+                    resourceUri = resourceUri
+                        .concat("/")
+                        .concat(prop.getProperty(ctx.getAttribute(FlowControllerConstants.INPUT_REQUEST_ACTION)
+                            .concat(".context")));
+
                 } else {
-                    throw new Exception("Could Not found the context for operation " + ctx.getAttribute(FlowControllerConstants.INPUT_REQUEST_ACTION));
+                    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));
+                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 );
-                }
-                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")));
+
+                } 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 );
                 }
             }
-
             log.info("Rest Constructed URL : " + resourceUri);
-            Transaction transaction = new Transaction();
 
+            Transaction transaction = new Transaction();
             transaction.setExecutionEndPoint(resourceUri);
             transaction.setExecutionRPC(ctx.getAttribute(FlowControllerConstants.INPUT_REQUEST_ACTION_TYPE));
             transaction.setAction(FlowControllerConstants.INPUT_REQUEST_ACTION);
-            if(ctx.getAttribute(FlowControllerConstants.INPUT_REQUEST_ACTION_TYPE) == null || ctx.getAttribute(FlowControllerConstants.INPUT_REQUEST_ACTION_TYPE).isEmpty())
+            if (ctx.getAttribute(FlowControllerConstants.INPUT_REQUEST_ACTION_TYPE) == null
+                || ctx.getAttribute(FlowControllerConstants.INPUT_REQUEST_ACTION_TYPE).isEmpty()) {
                 throw new Exception("Dont know REST operation for Action " + transaction.getExecutionRPC());
-            if(ctx.getAttribute(FlowControllerConstants.INPUT_REQUEST_ACTION) == null || ctx.getAttribute(FlowControllerConstants.INPUT_REQUEST_ACTION).isEmpty())
+            }
+            if (ctx.getAttribute(FlowControllerConstants.INPUT_REQUEST_ACTION) == null
+                || ctx.getAttribute(FlowControllerConstants.INPUT_REQUEST_ACTION).isEmpty()) {
                 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)
-                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")));    
+            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")));
+            }
 
+            RestExecutor restRequestExecutor = new RestExecutor();
             Map<String, String> output = restRequestExecutor.execute(transaction, ctx);
 
-            if(isValidJSON(output.get("restResponse")) != null) {
-                ctx.setAttribute(responsePrefix + "." + FlowControllerConstants.OUTPUT_STATUS_MESSAGE , output.get("restResponse"));
-//                JsonNode restResponse = isValidJSON(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-")){
 //                            log.info("Found Key = " + key);
@@ -153,25 +181,26 @@ public class RestServiceNode implements SvcLogicJavaPlugin{
     private Properties loadProperties() throws Exception {
         Properties props = new Properties();
         String propDir = System.getenv(SDNC_CONFIG_DIR_VAR);
-        if (propDir == null)
+        if (propDir == null) {
             throw new Exception("Cannot find Property file -" + SDNC_CONFIG_DIR_VAR);
+        }
         String propFile = propDir + FlowControllerConstants.APPC_FLOW_CONTROLLER;
-        try (InputStream propStream = new FileInputStream(propFile))
-        {
+        try (InputStream propStream = new FileInputStream(propFile)) {
+
             props.load(propStream);
         }
-        catch (Exception e)
-        {
+        catch (Exception e) {
             throw new Exception("Could not load properties file " + propFile, e);
         }
         return props;
     }
 
-    private JsonNode isValidJSON(String json) throws IOException {
+    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 {
             ObjectMapper objectMapper = new ObjectMapper();
             output = objectMapper.readTree(json);