From 78cc8df2d203e32296e15e5564d9f809734c2e26 Mon Sep 17 00:00:00 2001 From: Jakub Dudycz Date: Thu, 22 Feb 2018 11:57:32 +0100 Subject: [PATCH] AAIResourceNode sonar fixes Change-Id: I1e7a6442b041138b0261973acc4181b56904c80e Issue-ID: APPC-659 Signed-off-by: Jakub Dudycz --- .../onap/appc/aai/client/node/AAIResourceNode.java | 441 +++++++-------------- .../client/node/ResourceNodeInternalException.java | 26 ++ 2 files changed, 170 insertions(+), 297 deletions(-) create mode 100644 appc-outbound/appc-aai-client/provider/src/main/java/org/onap/appc/aai/client/node/ResourceNodeInternalException.java diff --git a/appc-outbound/appc-aai-client/provider/src/main/java/org/onap/appc/aai/client/node/AAIResourceNode.java b/appc-outbound/appc-aai-client/provider/src/main/java/org/onap/appc/aai/client/node/AAIResourceNode.java index 8f5947488..5e25f576d 100644 --- a/appc-outbound/appc-aai-client/provider/src/main/java/org/onap/appc/aai/client/node/AAIResourceNode.java +++ b/appc-outbound/appc-aai-client/provider/src/main/java/org/onap/appc/aai/client/node/AAIResourceNode.java @@ -24,39 +24,45 @@ package org.onap.appc.aai.client.node; -import java.io.IOException; +import com.att.eelf.configuration.EELFLogger; +import com.att.eelf.configuration.EELFManager; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; - +import java.util.Map.Entry; import org.apache.commons.lang3.StringUtils; - import org.onap.appc.aai.client.AppcAaiClientConstant; import org.onap.appc.aai.client.aai.AaiService; - - -import com.att.eelf.configuration.EELFLogger; -import com.att.eelf.configuration.EELFManager; - 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.fasterxml.jackson.databind.ObjectMapper; - - public class AAIResourceNode implements SvcLogicJavaPlugin { private static final EELFLogger log = EELFManager.getInstance().getLogger(AAIResourceNode.class); + private static final String STR_VSERVER_ID = "].vserver-id"; + private static final String STR_TENANT_ID = "].tenant-id"; + private static final String STR_CLOUD_OWNER = "].cloud-owner"; + private static final String STR_CLOUD_REGION_ID = "].cloud-region-id"; + private static final String STR_TMP_VNF_INFO = "tmp.vnfInfo.vm["; + + private static final String PARAM_VSERVER_ID = "vserverId"; + private static final String PARAM_TENANT_ID = "tenantId"; + private static final String PARAM_CLOUD_OWNER = "cloudOwner"; + private static final String PARAM_CLOUD_REGION_ID = "cloudRegionId"; + private static final String PARAM_VSERVER_NAME = "vserver-name"; + private static final String PARAM_VNFC_NAME = "vnfcName"; + + private static final String ATTR_VNF_VM_COUNT = "vnf.vm-count"; public AaiService getAaiService() { return new AaiService(); } + /* Gets VNF Info and All VServers associated with Vnf */ public void getVnfInfo(Map inParams, SvcLogicContext ctx) throws SvcLogicException { @@ -66,18 +72,18 @@ public class AAIResourceNode implements SvcLogicJavaPlugin { try { - responsePrefix = StringUtils.isNotBlank(responsePrefix) ? (responsePrefix+".") : ""; + responsePrefix = StringUtils.isNotBlank(responsePrefix) ? (responsePrefix + ".") : ""; AaiService aai = getAaiService(); - aai.getGenericVnfInfo(inParams,ctx); + aai.getGenericVnfInfo(inParams, ctx); ctx.setAttribute(responsePrefix + AppcAaiClientConstant.OUTPUT_PARAM_STATUS, - AppcAaiClientConstant.OUTPUT_STATUS_SUCCESS); + AppcAaiClientConstant.OUTPUT_STATUS_SUCCESS); log.info("getVnfInfo Successful "); } catch (Exception e) { ctx.setAttribute(responsePrefix + AppcAaiClientConstant.OUTPUT_PARAM_STATUS, - AppcAaiClientConstant.OUTPUT_STATUS_FAILURE); + AppcAaiClientConstant.OUTPUT_STATUS_FAILURE); ctx.setAttribute(responsePrefix + AppcAaiClientConstant.OUTPUT_PARAM_ERROR_MESSAGE, e.getMessage()); - log.error("Failed in getVnfInfo " + e.getMessage()); + log.error("Failed in getVnfInfo", e); throw new SvcLogicException(e.getMessage()); } @@ -91,86 +97,81 @@ public class AAIResourceNode implements SvcLogicJavaPlugin { String responsePrefix = inParams.get(AppcAaiClientConstant.INPUT_PARAM_RESPONSE_PREFIX); try { - responsePrefix = StringUtils.isNotBlank(responsePrefix) ? (responsePrefix+".") : ""; + responsePrefix = StringUtils.isNotBlank(responsePrefix) ? (responsePrefix + ".") : ""; AaiService aai = getAaiService(); - - - ArrayList> vservers = new ArrayList>(); + ArrayList> vservers = new ArrayList<>(); int vmWithNoVnfcsCount = 0; - String vmCountStr = ctx.getAttribute(responsePrefix + "vm-count"); + String vmCountStr = ctx.getAttribute(responsePrefix + "vm-count"); - if ( vmCountStr == null ) - throw new Exception("Unable to get VServers for the VNF"); + if (vmCountStr == null) { + throw new ResourceNodeInternalException("Unable to get VServers for the VNF"); + } int vmCount = Integer.parseInt(vmCountStr); - for ( int i = 0; i < vmCount; i++ ) { + for (int i = 0; i < vmCount; i++) { SvcLogicContext vmServerCtx = new SvcLogicContext(); Map paramsVm = new HashMap(); - paramsVm.put("vserverId", ctx.getAttribute(responsePrefix + "vm[" + i + "].vserver-id")); - paramsVm.put("tenantId", ctx.getAttribute(responsePrefix +"vm[" + i + "].tenant-id")); - paramsVm.put("cloudOwner", ctx.getAttribute(responsePrefix +"vm[" + i + "].cloud-owner")); - paramsVm.put("cloudRegionId", ctx.getAttribute(responsePrefix +"vm[" + i + "].cloud-region-id")); - paramsVm.put(AppcAaiClientConstant.INPUT_PARAM_RESPONSE_PREFIX, inParams.get(AppcAaiClientConstant.INPUT_PARAM_RESPONSE_PREFIX)); - - + paramsVm.put(PARAM_VSERVER_ID, ctx.getAttribute(responsePrefix + "vm[" + i + STR_VSERVER_ID)); + paramsVm.put(PARAM_TENANT_ID, ctx.getAttribute(responsePrefix + "vm[" + i + STR_TENANT_ID)); + paramsVm.put(PARAM_CLOUD_OWNER, ctx.getAttribute(responsePrefix + "vm[" + i + STR_CLOUD_OWNER)); + paramsVm.put(PARAM_CLOUD_REGION_ID, ctx.getAttribute(responsePrefix + "vm[" + i + STR_CLOUD_REGION_ID)); + paramsVm.put(AppcAaiClientConstant.INPUT_PARAM_RESPONSE_PREFIX, + inParams.get(AppcAaiClientConstant.INPUT_PARAM_RESPONSE_PREFIX)); aai.getVMInfo(paramsVm, vmServerCtx); HashMap vserverMap = new HashMap(); - vserverMap.put("vserver-id", ctx.getAttribute(responsePrefix + "vm[" + i + "].vserver-id")); - vserverMap.put("tenant-id", ctx.getAttribute(responsePrefix +"vm[" + i + "].tenant-id")); - vserverMap.put("cloud-owner", ctx.getAttribute(responsePrefix +"vm[" + i + "].cloud-owner")); - vserverMap.put("cloud-region-id", ctx.getAttribute(responsePrefix +"vm[" + i + "].cloud-region-id")); + vserverMap.put("vserver-id", ctx.getAttribute(responsePrefix + "vm[" + i + STR_VSERVER_ID)); + vserverMap.put("tenant-id", ctx.getAttribute(responsePrefix + "vm[" + i + STR_TENANT_ID)); + vserverMap.put("cloud-owner", ctx.getAttribute(responsePrefix + "vm[" + i + STR_CLOUD_OWNER)); + vserverMap.put("cloud-region-id", ctx.getAttribute(responsePrefix + "vm[" + i + STR_CLOUD_REGION_ID)); // Parameters returned by getVMInfo - vserverMap.put("vserver-name", vmServerCtx.getAttribute(responsePrefix + "vm.vserver-name")); + vserverMap.put(PARAM_VSERVER_NAME, vmServerCtx.getAttribute(responsePrefix + "vm.vserver-name")); vserverMap.put("vf-module-id", vmServerCtx.getAttribute(responsePrefix + "vm.vf-module-id")); - // as Per 17.07 requirements we are supporting only one VNFC per VM. String vnfcName = vmServerCtx.getAttribute(responsePrefix + "vm.vnfc[0].vnfc-name"); vserverMap.put("vnfc-name", vnfcName); - String vnfcCount = vmServerCtx.getAttribute(responsePrefix + "vm.vnfc-count"); - if ( vnfcCount == null ) + if (vnfcCount == null) { vnfcCount = "0"; + } vserverMap.put("vnfc-count", vnfcCount); - if ( vnfcName != null ) { + if (vnfcName != null) { Map paramsVnfc = new HashMap(); - paramsVnfc.put("vnfcName", vnfcName); + paramsVnfc.put(PARAM_VNFC_NAME, vnfcName); - paramsVnfc.put(AppcAaiClientConstant.INPUT_PARAM_RESPONSE_PREFIX, inParams.get(AppcAaiClientConstant.INPUT_PARAM_RESPONSE_PREFIX)); + paramsVnfc.put(AppcAaiClientConstant.INPUT_PARAM_RESPONSE_PREFIX, + inParams.get(AppcAaiClientConstant.INPUT_PARAM_RESPONSE_PREFIX)); SvcLogicContext vnfcCtx = new SvcLogicContext(); aai.getVnfcInfo(paramsVnfc, vnfcCtx); vserverMap.put("vnfc-type", vnfcCtx.getAttribute(responsePrefix + "vnfc.vnfc-type")); - vserverMap.put("vnfc-function-code", vnfcCtx.getAttribute(responsePrefix + "vnfc.vnfc-function-code")); + vserverMap + .put("vnfc-function-code", vnfcCtx.getAttribute(responsePrefix + "vnfc.vnfc-function-code")); vserverMap.put("group-notation", vnfcCtx.getAttribute(responsePrefix + "vnfc.group-notation")); - vserverMap.put("vnfc-ipaddress-v4-oam-vip", vnfcCtx.getAttribute(responsePrefix + "vnfc.ipaddress-v4-oam-vip")); + vserverMap.put("vnfc-ipaddress-v4-oam-vip", + vnfcCtx.getAttribute(responsePrefix + "vnfc.ipaddress-v4-oam-vip")); - } - else + } else { vmWithNoVnfcsCount++; + } vservers.add(vserverMap); } // vmCount - Collections.sort(vservers, new Comparator>() { - @Override - public int compare(Map o1, Map o2) { - return o1.get("vserver-name").compareTo(o2.get("vserver-name")); - } - }); + Collections.sort(vservers, Comparator.comparing(o -> o.get(PARAM_VSERVER_NAME))); log.info("SORTED VSERVERS " + vservers.toString()); @@ -178,152 +179,123 @@ public class AAIResourceNode implements SvcLogicJavaPlugin { log.info("VMCOUNT IN GETALLVSERVERS " + vmCount); log.info("VMSWITHNOVNFCSCOUNT IN GETALLVSERVERS " + vmWithNoVnfcsCount); - ctx.setAttribute(responsePrefix+"vnf.vm-count", String.valueOf(vmCount)); - ctx.setAttribute(responsePrefix+"vnf.vm-with-no-vnfcs-count", String.valueOf(vmWithNoVnfcsCount)); + ctx.setAttribute(responsePrefix + ATTR_VNF_VM_COUNT, String.valueOf(vmCount)); + ctx.setAttribute(responsePrefix + "vnf.vm-with-no-vnfcs-count", String.valueOf(vmWithNoVnfcsCount)); } catch (Exception e) { ctx.setAttribute(responsePrefix + AppcAaiClientConstant.OUTPUT_PARAM_STATUS, - AppcAaiClientConstant.OUTPUT_STATUS_FAILURE); + AppcAaiClientConstant.OUTPUT_STATUS_FAILURE); ctx.setAttribute(responsePrefix + AppcAaiClientConstant.OUTPUT_PARAM_ERROR_MESSAGE, e.getMessage()); - log.error("Failed in getAllVServersVnfcsInfo " + e.getMessage()); + log.error("Failed in getAllVServersVnfcsInfo", e); throw new SvcLogicException(e.getMessage()); } } - public void populateContext(ArrayList> vservers, SvcLogicContext ctx, String prefix) { - + public void populateContext(List> vservers, SvcLogicContext ctx, String prefix) { log.info("Populating Final Context"); - int ctr = 0; - - for (Map entry : vservers) { - for (String key : entry.keySet()) { - String value = entry.get(key); + int counter = 0; - ctx.setAttribute(prefix+ "vm[" + ctr + "]."+ key, value); - log.info("Populating Context Key = " + prefix+ "vm[" + ctr + "]."+ key + " Value = " + value); + for (Map input : vservers) { + for (Entry entry : input.entrySet()) { + ctx.setAttribute(prefix + "vm[" + counter + "]." + entry.getKey(), entry.getValue()); + log.info("Populating Context Key = " + prefix + "vm[" + counter + "]." + entry.getKey() + " Value = " + entry.getValue()); } - ctr++; + counter++; } String firstVServerName = null; - for ( int i =0; i < ctr; i++ ) { + for (int i = 0; i < counter; i++) { String vnfcName = ctx.getAttribute(prefix + "vm[" + i + "].vnfc-name"); log.info("VNFCNAME " + i + vnfcName); - if ( vnfcName == null && firstVServerName == null ) { - firstVServerName = ctx.getAttribute(prefix + "vm[" + i + "].vserver-name"); - ctx.setAttribute("vm-name" , firstVServerName); - log.info("Populating Context Key = " + "vm-name" + " Value = " + firstVServerName); + if (vnfcName == null && firstVServerName == null) { + firstVServerName = ctx.getAttribute(prefix + "vm[" + i + "].vserver-name"); + ctx.setAttribute("vm-name", firstVServerName); + log.info("Populating Context Key = " + "vm-name" + " Value = " + firstVServerName); } } } - public void addVnfcs(Map inParams, SvcLogicContext ctx) throws SvcLogicException { log.info("Received addVnfcs call with params : " + inParams); String responsePrefix = inParams.get(AppcAaiClientConstant.INPUT_PARAM_RESPONSE_PREFIX); - int vnfcRefLen =0 ; - int vmCount = 0; + int vnfcRefLen; + int vmCount; int vmWithNoVnfcCount = 0; try { - responsePrefix = StringUtils.isNotBlank(responsePrefix) ? (responsePrefix+".") : ""; + responsePrefix = StringUtils.isNotBlank(responsePrefix) ? (responsePrefix + ".") : ""; AaiService aai = getAaiService(); //no:of vnfcs from the vnfc_reference table String vnfcRefLenStr = ctx.getAttribute("vnfcReference_length"); - if ( vnfcRefLenStr == null) { - log.info("Vnfc Reference data is missing"); - throw new Exception("Vnfc Reference data is missing"); - - } - else - vnfcRefLen = Integer.parseInt(vnfcRefLenStr); + vnfcRefLen = trySetVnfcRefLen(vnfcRefLenStr); //Vms without vnfc from A&AI - String vmWithNoVnfcCountStr = ctx.getAttribute(responsePrefix+"vnf.vm-with-no-vnfcs-count"); - - //Commented for backward compatibility - - /*if ( vmWithNoVnfcCountStr == null) { - throw new Exception("VNFCs to be added data from A&AI is missing"); - //log.info("VNFCs to be added data from A&AI is missing"); - } - else - vmWithNoVnfcCount = Integer.parseInt(vmWithNoVnfcCountStr); - - if ( vmWithNoVnfcCount!= vnfcRefLen ) - throw new Exception("Unable to Add Vnfcs to A&AI. Reference data mismatch."); - - String vmCountStr = ctx.getAttribute(responsePrefix+"vnf.vm-count"); - - if ( vmCountStr == null) - throw new Exception("VM data from A&AI is missing"); - else - vmCount = Integer.parseInt(vmCountStr); - - - log.info("VMCOUNT " + vmCount); - log.info("VNFCREFLEN " + vnfcRefLen); - aai.insertVnfcs(inParams,ctx, vnfcRefLen, vmCount); - - */ - + String vmWithNoVnfcCountStr = ctx.getAttribute(responsePrefix + "vnf.vm-with-no-vnfcs-count"); - // Modified for 1710 - - if ( vmWithNoVnfcCountStr == null) { + // Modified for 1710 + if (vmWithNoVnfcCountStr == null) { log.info("Parameter VM without VNFCs(vmWithNoVnfcCountStr) from A&AI is Null"); - } - else + } else { vmWithNoVnfcCount = Integer.parseInt(vmWithNoVnfcCountStr); + } - log.info("No of VM without VNFCs(vmWithNoVnfcCount) from A&AI is " +vmWithNoVnfcCount); + log.info("No of VM without VNFCs(vmWithNoVnfcCount) from A&AI is " + vmWithNoVnfcCount); - String vmCountStr = ctx.getAttribute(responsePrefix+"vnf.vm-count"); + String vmCountStr = ctx.getAttribute(responsePrefix + ATTR_VNF_VM_COUNT); - if ( vmCountStr == null) - throw new Exception("VM data from A&AI is missing"); - else + if (vmCountStr == null) { + throw new ResourceNodeInternalException("VM data from A&AI is missing"); + } else { vmCount = Integer.parseInt(vmCountStr); - if(vmCount inParams, SvcLogicContext ctx) throws SvcLogicException { @@ -331,180 +303,55 @@ public class AAIResourceNode implements SvcLogicJavaPlugin { String responsePrefix = inParams.get(AppcAaiClientConstant.INPUT_PARAM_RESPONSE_PREFIX); - - int vmCount = 0; - + int vmCount; try { - responsePrefix = StringUtils.isNotBlank(responsePrefix) ? (responsePrefix+".") : ""; + responsePrefix = StringUtils.isNotBlank(responsePrefix) ? (responsePrefix + ".") : ""; AaiService aai = getAaiService(); + String vmCountStr = ctx.getAttribute(responsePrefix + ATTR_VNF_VM_COUNT); - - String vmCountStr = ctx.getAttribute(responsePrefix+"vnf.vm-count"); - - if ( vmCountStr == null) - throw new Exception("VM data from A&AI is missing"); - else + if (vmCountStr == null) { + throw new ResourceNodeInternalException("VM data from A&AI is missing"); + } else { vmCount = Integer.parseInt(vmCountStr); - + } log.info("VMCOUNT " + vmCount); - aai.updateVnfStatus(inParams, ctx); - aai.updateVServerStatus(inParams,ctx, vmCount); + aai.updateVServerStatus(inParams, ctx, vmCount); ctx.setAttribute(responsePrefix + AppcAaiClientConstant.OUTPUT_PARAM_STATUS, - AppcAaiClientConstant.OUTPUT_STATUS_SUCCESS); + AppcAaiClientConstant.OUTPUT_STATUS_SUCCESS); log.info("updateVnfAndVServerStatus Successful "); } catch (Exception e) { ctx.setAttribute(responsePrefix + AppcAaiClientConstant.OUTPUT_PARAM_STATUS, - AppcAaiClientConstant.OUTPUT_STATUS_FAILURE); + AppcAaiClientConstant.OUTPUT_STATUS_FAILURE); ctx.setAttribute(responsePrefix + AppcAaiClientConstant.OUTPUT_PARAM_ERROR_MESSAGE, e.getMessage()); - log.error("Failed in updateVnfAndVServerStatus " + e.getMessage()); + log.error("Failed in updateVnfAndVServerStatus", e); throw new SvcLogicException(e.getMessage()); } } - /*public void getDummyValues(Map inParams, SvcLogicContext ctx) throws SvcLogicException { - - log.info("Received getDummyValues call with params : " + inParams); - - String responsePrefix = inParams.get(AppcAaiClientConstant.INPUT_PARAM_RESPONSE_PREFIX); - - try { - - responsePrefix = StringUtils.isNotBlank(responsePrefix) ? (responsePrefix+".") : ""; - String instarKeys = inParams.get("instarKeys"); - ObjectMapper mapper = new ObjectMapper(); - if ( instarKeys != null ) { - - List keyList = mapper.readValue(instarKeys, ArrayList.class); - - Map instarParams =new HashMap(); - if(keyList != null){ - //System.out.println(keyList.toString()); - - - for(int i=0;i"+keyList.get(i)); - - //ctx.setAttribute(keyList.get(i), "test" + i); - - instarParams.put( keyList.get(i), "test" + i); - } - - } - log.info("INSTARPARAMMAP " + instarParams); - String jsonString = mapper.writeValueAsString(instarParams); - log.info(jsonString); - ctx.setAttribute(responsePrefix + "configuration-parameters", jsonString); - - } - - log.info("getDummyValues Successful "); - } catch (Exception e) { - ctx.setAttribute(responsePrefix + AppcAaiClientConstant.OUTPUT_PARAM_STATUS, - AppcAaiClientConstant.OUTPUT_STATUS_FAILURE); - ctx.setAttribute(responsePrefix + AppcAaiClientConstant.OUTPUT_PARAM_ERROR_MESSAGE, e.getMessage()); - log.error("Failed in getDummyValues " + e.getMessage()); - - throw new SvcLogicException(e.getMessage()); - } - - } - - */ - /*public void getRequestKeys(Map inParams, SvcLogicContext ctx) throws SvcLogicException { - - log.info("Received getRequestKeys call with params : " + inParams); - - String responsePrefix = inParams.get(AppcAaiClientConstant.INPUT_PARAM_RESPONSE_PREFIX); - - try { - - responsePrefix = StringUtils.isNotBlank(responsePrefix) ? (responsePrefix+".") : ""; - String instarKeys = inParams.get("instarKeys"); - - ObjectMapper mapper = new ObjectMapper(); - if ( instarKeys != null ) { - - List keyList = mapper.readValue(instarKeys, ArrayList.class); - - //Map instarParams =new HashMap(); - if(keyList != null){ - - - for(int i=0;i"+keyList.get(i)); - - - String instarParameter = ctx.getAttribute("INSTAR." + keyList.get(i)); - log.info("INSTARPARAMETER " + instarParameter); - Parameter param = parseParameterContent(instarParameter); - - log.info("PARAMETER KEY SIZE " + param.getRequestKeys().size()); - log.info("RULE TYPE " + param.getClassType()); - - for ( int j =0 ; j < param.getRequestKeys().size() ; j++ ) { - - log.info(" PARAM KEY NAME " + param.getRequestKeys().get(j).getKeyName()); - log.info(" PARAM KEY VALUE " + param.getRequestKeys().get(j).getKeyValue()); - } - - // instarParams.put( keyList.get(i), "test" + i); - } - - } - //log.info("INSTARPARAMMAP " + instarParams); - //String jsonString = mapper.writeValueAsString(instarParams); - //log.info(jsonString); - //ctx.setAttribute(responsePrefix + "configuration-parameters", jsonString); - - } - - log.info("getRequestKeys Successful "); - } catch (Exception e) { - ctx.setAttribute(responsePrefix + AppcAaiClientConstant.OUTPUT_PARAM_STATUS, - AppcAaiClientConstant.OUTPUT_STATUS_FAILURE); - ctx.setAttribute(responsePrefix + AppcAaiClientConstant.OUTPUT_PARAM_ERROR_MESSAGE, e.getMessage()); - log.error("Failed in getRequestKeys " + e.getMessage()); - - throw new SvcLogicException(e.getMessage()); - } - - } - - - public Parameter parseParameterContent(String parameter) throws JsonParseException, JsonMappingException, IOException{ - Parameter parameterDefinition = null; - if(StringUtils.isNotBlank(parameter)){ - ObjectMapper mapper = new ObjectMapper(); - parameterDefinition = mapper.readValue(parameter, Parameter.class); - } - return parameterDefinition; - }*/ public void getVserverInfo(Map inParams, SvcLogicContext ctx) throws SvcLogicException { log.info("getVserverInfo()::Retrieving vm and vnfc information for vserver:" + inParams.toString()); String responsePrefix = inParams.get(AppcAaiClientConstant.INPUT_PARAM_RESPONSE_PREFIX); try { responsePrefix = StringUtils.isNotBlank(responsePrefix) ? (responsePrefix + ".") : ""; AaiService aaiService = getAaiService(); - String vServerId = inParams.get("vserverId"); + String vServerId = inParams.get(PARAM_VSERVER_ID); Map params = setVmParams(ctx, vServerId); - Map vnfcParams = new HashMap(); + Map vnfcParams = new HashMap<>(); if (null == params) { log.error("getVserverInfo()::No Vm Info found!!"); throw new SvcLogicException("No Vm Info in Context"); } params.put(AppcAaiClientConstant.INPUT_PARAM_RESPONSE_PREFIX, - inParams.get(AppcAaiClientConstant.INPUT_PARAM_RESPONSE_PREFIX)); + inParams.get(AppcAaiClientConstant.INPUT_PARAM_RESPONSE_PREFIX)); SvcLogicContext newVmCtx = new SvcLogicContext(); aaiService.getVMInfo(params, newVmCtx); @@ -512,7 +359,7 @@ public class AAIResourceNode implements SvcLogicJavaPlugin { log.info("getVnfcFunctionCodeForVserver()::vnfcName=" + vnfcName); SvcLogicContext newVnfcCtx = new SvcLogicContext(); if (StringUtils.isNotBlank(vnfcName)) { - vnfcParams.put("vnfcName", vnfcName); + vnfcParams.put(PARAM_VNFC_NAME, vnfcName); } else { log.info("getVserverInfo()::vnfc Name is blank, not setting vnfc info !!!!"); return; @@ -520,18 +367,18 @@ public class AAIResourceNode implements SvcLogicJavaPlugin { getVnfcInformationForVserver(vnfcParams, newVnfcCtx, inParams, ctx, aaiService, responsePrefix); } catch (Exception e) { ctx.setAttribute(responsePrefix + AppcAaiClientConstant.OUTPUT_PARAM_STATUS, - AppcAaiClientConstant.OUTPUT_STATUS_FAILURE); + AppcAaiClientConstant.OUTPUT_STATUS_FAILURE); ctx.setAttribute(responsePrefix + AppcAaiClientConstant.OUTPUT_PARAM_ERROR_MESSAGE, e.getMessage()); - log.error("Failed in getVserverInfo " + e.getMessage()); + log.error("Failed in getVserverInfo", e); } } - public void getVnfcInformationForVserver(Map vnfcParams, SvcLogicContext newVnfcCtx, - Map inParams, SvcLogicContext ctx, AaiService aaiService, String responsePrefix) - throws Exception { + private void getVnfcInformationForVserver(Map vnfcParams, SvcLogicContext newVnfcCtx, + Map inParams, SvcLogicContext ctx, AaiService aaiService, String responsePrefix) + throws Exception { log.info("getVnfcInformationForVserver()::vnfcParams:" + vnfcParams.toString()); vnfcParams.put(AppcAaiClientConstant.INPUT_PARAM_RESPONSE_PREFIX, - inParams.get(AppcAaiClientConstant.INPUT_PARAM_RESPONSE_PREFIX)); + inParams.get(AppcAaiClientConstant.INPUT_PARAM_RESPONSE_PREFIX)); aaiService.getVnfcInfo(vnfcParams, newVnfcCtx); @@ -541,28 +388,29 @@ public class AAIResourceNode implements SvcLogicJavaPlugin { String vnfcV4OamIp = newVnfcCtx.getAttribute(responsePrefix + "vnfc.ipaddress-v4-oam-vip"); if (StringUtils.isBlank(vnfcType) || StringUtils.isBlank(vnfcFunctionCode) - || StringUtils.isBlank(vnfcGroupNotation) || StringUtils.isBlank(vnfcV4OamIp)) { + || StringUtils.isBlank(vnfcGroupNotation) || StringUtils.isBlank(vnfcV4OamIp)) { log.info("getVnfcInformationForVserver()::Some vnfc parameters are blank!!!!"); } log.info("getVnfcInformationForVserver()::vnfcType=" + vnfcType + ",vnfcFunctionCode=" + vnfcFunctionCode, - ", vnfc-ipaddress-v4-oam-vip=" + vnfcV4OamIp); - ctx.setAttribute(responsePrefix + "vm.vnfc.vnfc-name", vnfcParams.get("vnfcName")); + ", vnfc-ipaddress-v4-oam-vip=" + vnfcV4OamIp); + ctx.setAttribute(responsePrefix + "vm.vnfc.vnfc-name", vnfcParams.get(PARAM_VNFC_NAME)); ctx.setAttribute(responsePrefix + "vm.vnfc.vnfc-type", vnfcType); ctx.setAttribute(responsePrefix + "vm.vnfc.vnfc-function-code", vnfcFunctionCode); ctx.setAttribute(responsePrefix + "vm.vnfc.vnfc-group-notation", vnfcGroupNotation); ctx.setAttribute(responsePrefix + "vm.vnfc.vnfc-ipaddress-v4-oam-vip", vnfcV4OamIp); - } - public Map setVmParams(SvcLogicContext ctx, String vServerId) { + private Map setVmParams(SvcLogicContext ctx, String vServerId) { log.info("setVmParams()::setVmParamsVM level action:" + vServerId); - Map params = new HashMap(); - int vmCount = 0, arrayIndex = -1; + Map params = new HashMap<>(); + int vmCount = 0; + int arrayIndex = -1; String vmCountStr = ctx.getAttribute("tmp.vnfInfo.vm-count"); - if (StringUtils.isNotBlank(vmCountStr)) + if (StringUtils.isNotBlank(vmCountStr)) { vmCount = Integer.parseInt(vmCountStr); + } for (int cnt = 0; cnt < vmCount; cnt++) { - String vsId = ctx.getAttribute("tmp.vnfInfo.vm[" + cnt + "].vserver-id"); + String vsId = ctx.getAttribute(STR_TMP_VNF_INFO + cnt + STR_VSERVER_ID); log.info("setVmParams():::vserver details::" + cnt + ":" + vsId); if (StringUtils.equals(vServerId, vsId)) { arrayIndex = cnt; @@ -572,17 +420,16 @@ public class AAIResourceNode implements SvcLogicJavaPlugin { log.info("setVmParams()::VserverId not found in context!! Returning null for params!!"); return null; } - String tenantId = ctx.getAttribute("tmp.vnfInfo.vm[" + arrayIndex + "].tenant-id"); - String cloudOwner = ctx.getAttribute("tmp.vnfInfo.vm[" + arrayIndex + "].cloud-owner"); - String cloudRegionId = ctx.getAttribute("tmp.vnfInfo.vm[" + arrayIndex + "].cloud-region-id"); + String tenantId = ctx.getAttribute(STR_TMP_VNF_INFO + arrayIndex + STR_TENANT_ID); + String cloudOwner = ctx.getAttribute(STR_TMP_VNF_INFO + arrayIndex + STR_CLOUD_OWNER); + String cloudRegionId = ctx.getAttribute(STR_TMP_VNF_INFO + arrayIndex + STR_CLOUD_REGION_ID); log.info("setVmParams()::tenantId=" + tenantId + " cloudOwner=" + cloudOwner + " cloudRegiodId= " - + cloudRegionId); - params.put("vserverId", vServerId); - params.put("tenantId", tenantId); - params.put("cloudOwner", cloudOwner); - params.put("cloudRegionId", cloudRegionId); + + cloudRegionId); + params.put(PARAM_VSERVER_ID, vServerId); + params.put(PARAM_TENANT_ID, tenantId); + params.put(PARAM_CLOUD_OWNER, cloudOwner); + params.put(PARAM_CLOUD_REGION_ID, cloudRegionId); log.info("setVmParams()::setVmParamsVM level action:" + params.toString()); return params; - } -} +} \ No newline at end of file diff --git a/appc-outbound/appc-aai-client/provider/src/main/java/org/onap/appc/aai/client/node/ResourceNodeInternalException.java b/appc-outbound/appc-aai-client/provider/src/main/java/org/onap/appc/aai/client/node/ResourceNodeInternalException.java new file mode 100644 index 000000000..e49839354 --- /dev/null +++ b/appc-outbound/appc-aai-client/provider/src/main/java/org/onap/appc/aai/client/node/ResourceNodeInternalException.java @@ -0,0 +1,26 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP : APPC + * ============================================================================= + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.appc.aai.client.node; + +public class ResourceNodeInternalException extends Exception { + + public ResourceNodeInternalException(String message) { + super(message); + } +} -- 2.16.6