- 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))){
- localContext.setAttribute("artifact-content", mapper.writeValueAsString(transaction));
- dbservice.loadSequenceIntoDB(localContext);
- }
- //get a field in transction class as transactionhandle interface and register the Handler here for each trnactions
- }
-
- private String collectInputParams(SvcLogicContext ctx,Transaction transaction) throws Exception {
-
- String fn = "FlowExecuteNode.collectInputParams";
- Properties prop = loadProperties();
- log.info("Loaded Properties " + prop.toString());
-
- String vnfId = ctx.getAttribute(FlowControllerConstants.VNF_ID);
- String inputData = null;
- log.debug(fn + "vnfId :" + vnfId);
-
- if (StringUtils.isBlank(vnfId)) {
- throw new Exception("VnfId is missing");
- }
-
- try {
-
- ActionIdentifier actionIdentifier = new ActionIdentifier();
- log.debug("Enter ActionIdentifier");
- if (StringUtils.isNotBlank(vnfId)) {
- actionIdentifier.setVnfId(vnfId);
- }
- if (StringUtils.isNotBlank(ctx.getAttribute(FlowControllerConstants.VSERVER_ID))) {
- actionIdentifier.setVserverId(ctx.getAttribute(FlowControllerConstants.VSERVER_ID));
- }
- if (StringUtils.isNotBlank(ctx.getAttribute(FlowControllerConstants.VNFC_NAME))) {
- actionIdentifier.setVnfcName(ctx.getAttribute(FlowControllerConstants.VNFC_NAME));
- }
- log.info("ActionIdentifierData" + actionIdentifier.toString());
-
- RequestInfo requestInfo = new RequestInfo();
- log.info("Enter RequestInfo");
- requestInfo.setAction(ctx.getAttribute(FlowControllerConstants.REQUEST_ACTION));
- requestInfo.setActionLevel(ctx.getAttribute(FlowControllerConstants.ACTION_LEVEL));
- requestInfo.setPayload(ctx.getAttribute(FlowControllerConstants.PAYLOAD));
- requestInfo.setActionIdentifier(actionIdentifier);
- log.debug("RequestInfo: " + requestInfo.toString());
-
- InventoryInfo inventoryInfo = getInventoryInfo(ctx, vnfId);
- DependencyInfo dependencyInfo = getDependencyInfo(ctx);
- Capabilities capabilites = getCapabilitesData(ctx);
-
- Input input = new Input();
- log.info("Enter InputData");
- input.setRequestInfo(requestInfo);
- input.setInventoryInfo(inventoryInfo);
- input.setDependencyInfo(dependencyInfo);
- input.setCapabilities(capabilites);
- log.info(fn + "Input parameters:" + input.toString());
-
- ObjectMapper mapper = new ObjectMapper();
- mapper.setSerializationInclusion(Include.NON_NULL);
- mapper.configure(SerializationFeature.WRAP_ROOT_VALUE, true);
- inputData = mapper.writeValueAsString(input);
- log.info("InputDataJson:" + inputData);
-
- } catch (Exception e) {
- log.error("Error occured in " + fn, e);
- }
-
- String resourceUri = prop.getProperty(FlowControllerConstants.SEQ_GENERATOR_URL);
- log.info(fn + "resourceUri= " + resourceUri);
-
- EncryptionTool et = EncryptionTool.getInstance();
- String pass = et.decrypt(prop.getProperty(FlowControllerConstants.SEQ_GENERATOR_PWD));
-
- transaction.setPayload(inputData);
- transaction.setExecutionRPC("POST");
- transaction.setuId(prop.getProperty(FlowControllerConstants.SEQ_GENERATOR_UID));
- transaction.setPswd(pass);
- transaction.setExecutionEndPoint(resourceUri);
-
- return inputData;
- }
-
- private DependencyInfo getDependencyInfo(SvcLogicContext ctx) throws Exception {
-
- String fn = "FlowExecutorNode.getDependencyInfo";
- DependencyInfo dependencyInfo = new DependencyInfo();
- FlowControlDBService dbservice = FlowControlDBService.initialise();
- String dependencyData = dbservice.getDependencyInfo(ctx);
- log.info(fn + "dependencyDataInput:" + dependencyData);
-
- if (dependencyData != null) {
- ObjectMapper mapper = new ObjectMapper();
- mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES,false);
- mapper.enable(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY);
- //JsonNode dependencyInfoData = mapper.readTree(dependencyData).get("dependencyInfo");
- JsonNode vnfcData = mapper.readTree(dependencyData).get("vnfcs");
- List<Vnfcs> vnfclist = Arrays.asList(mapper.readValue(vnfcData.toString(), Vnfcs[].class));
- dependencyInfo.getVnfcs().addAll(vnfclist);
-
- log.info("Dependency Output:"+ dependencyInfo.toString());
- }
- return dependencyInfo;
- }
-
- private Capabilities getCapabilitesData(SvcLogicContext ctx) throws Exception {
-
- String fn = "FlowExecutorNode.getCapabilitesData";
- Capabilities capabilities = new Capabilities();
- FlowControlDBService dbservice = FlowControlDBService.initialise();
- String capabilitiesData = dbservice.getCapabilitiesData(ctx);
- log.info(fn + "capabilitiesDataInput:" + capabilitiesData);
-
- if (capabilitiesData != null) {
- ObjectMapper mapper = new ObjectMapper();
- mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES,false);
- mapper.enable(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY);
- JsonNode capabilitiesNode = mapper.readValue(capabilitiesData,JsonNode.class);
- log.info("capabilitiesNode:" + capabilitiesNode.toString());
-
- JsonNode vnfs = capabilitiesNode.findValue(FlowControllerConstants.VNF);
- 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);
- }
- }