diff options
Diffstat (limited to 'appc-outbound/appc-aai-client/provider/src/main/java/org/onap/appc/aai/client/node/AAIResourceNode.java')
-rw-r--r-- | appc-outbound/appc-aai-client/provider/src/main/java/org/onap/appc/aai/client/node/AAIResourceNode.java | 72 |
1 files changed, 66 insertions, 6 deletions
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 5e25f576d..0e28727bc 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 @@ -2,22 +2,22 @@ * ============LICENSE_START======================================================= * ONAP : APPC * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. * ================================================================================ * Copyright (C) 2017 Amdocs * ============================================================================= * 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. - * + * * ECOMP is a trademark and service mark of AT&T Intellectual Property. * ============LICENSE_END========================================================= */ @@ -235,7 +235,7 @@ public class AAIResourceNode implements SvcLogicJavaPlugin { responsePrefix = StringUtils.isNotBlank(responsePrefix) ? (responsePrefix + ".") : ""; AaiService aai = getAaiService(); - //no:of vnfcs from the vnfc_reference table + //no:of vnfcs from the vnfc_reference table String vnfcRefLenStr = ctx.getAttribute("vnfcReference_length"); vnfcRefLen = trySetVnfcRefLen(vnfcRefLenStr); @@ -432,4 +432,64 @@ public class AAIResourceNode implements SvcLogicJavaPlugin { log.info("setVmParams()::setVmParamsVM level action:" + params.toString()); return params; } -}
\ No newline at end of file + + public void getVfModuleModelInfo(Map<String, String> inParams, SvcLogicContext ctx) throws SvcLogicException { + log.info("vfModuleInfo()::Retrieving vf-module information :" + inParams.toString()); + String responsePrefix = inParams.get(AppcAaiClientConstant.INPUT_PARAM_RESPONSE_PREFIX); + try { + responsePrefix = StringUtils.isNotBlank(responsePrefix) ? (responsePrefix + ".") : ""; + AaiService aaiService = getAaiService(); + processForVfModuleModelInfo(aaiService,inParams,ctx); + } 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 vfModuleInfo", e); + } + } + + public void processForVfModuleModelInfo(AaiService aaiService, Map<String, String> inParams, SvcLogicContext ctx) { + log.info("processForVfModuleModelInfo()::Retrieving vf-module information :" + inParams.toString()); + String responsePrefix = inParams.get(AppcAaiClientConstant.INPUT_PARAM_RESPONSE_PREFIX); + try { + responsePrefix = StringUtils.isNotBlank(responsePrefix) ? (responsePrefix + ".") : ""; + Map<String, String> params = new HashMap<>(); + params.put(AppcAaiClientConstant.INPUT_PARAM_RESPONSE_PREFIX, + inParams.get(AppcAaiClientConstant.INPUT_PARAM_RESPONSE_PREFIX)); + params.put("vnfId", inParams.get("vnf-id")); + params.put("vfModuleId", inParams.get("vf-module-id")); + SvcLogicContext vfModuleCtx = new SvcLogicContext(); + aaiService.getVfModuleInfo(params, vfModuleCtx); + + String modelInvariantId = vfModuleCtx.getAttribute(responsePrefix + "vfModule.model-invariant-id"); + String modelVersionId = vfModuleCtx.getAttribute(responsePrefix + "vfModule.model-version-id"); + log.info("processForVfModuleModelInfo()::modelInvariantId=" + modelInvariantId+",modelVersionId="+modelVersionId); + + Map<String, String> modelParams = new HashMap<>(); + modelParams.put(AppcAaiClientConstant.INPUT_PARAM_RESPONSE_PREFIX, + inParams.get(AppcAaiClientConstant.INPUT_PARAM_RESPONSE_PREFIX)); + SvcLogicContext modelCtx = new SvcLogicContext(); + if (StringUtils.isNotBlank(modelInvariantId) && StringUtils.isNotBlank(modelVersionId)) { + modelParams.put("model-invariant-id", modelInvariantId); + modelParams.put("model-version-id", modelVersionId); + + } else { + log.info("processForVfModuleModelInfo()::model-invariant-id or model-version-id is blank, not getting model info !!!!"); + return; + } + aaiService.getModelVersionInfo(modelParams,modelCtx); + String modelName = modelCtx.getAttribute(responsePrefix+"vfModule.model-name"); + log.info("processForVfModuleModelInfo()::modelName for vfModule:::"+modelName); + log.info("Setting context template-model-id as :::"+modelName); + ctx.setAttribute("template-model-id", modelName); + log.info("processForVfModuleModelInfo() ::: End"); + } + 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 vfModuleInfo", e); + } + +} +} |