diff options
author | Balaji, Ramya (rb111y) <rb111y@att.com> | 2018-03-02 16:39:47 -0500 |
---|---|---|
committer | Balaji, Ramya (rb111y) <rb111y@att.com> | 2018-03-05 08:20:24 -0500 |
commit | 2a65f44fc463f204ef51367dff9a894ce0acceb8 (patch) | |
tree | 0e4adf86c37d8e325cf2db28880920b14c065a8a /appc-outbound/appc-aai-client/provider/src/main | |
parent | 84919d3230ad04b6a78f52e37449ba5d34c9a033 (diff) |
Code changes to retrieve template-id
Functionality to retrieve vf-module
and associated model information
from A&AI
Issue-ID: APPC-623
Change-Id: I9d2e12748641978c689566756a6301808e41b69a
Signed-off-by: Balaji, Ramya (rb111y) <rb111y@att.com>
Diffstat (limited to 'appc-outbound/appc-aai-client/provider/src/main')
2 files changed, 104 insertions, 7 deletions
diff --git a/appc-outbound/appc-aai-client/provider/src/main/java/org/onap/appc/aai/client/aai/AaiService.java b/appc-outbound/appc-aai-client/provider/src/main/java/org/onap/appc/aai/client/aai/AaiService.java index a3e274c1c..cb439ee16 100644 --- a/appc-outbound/appc-aai-client/provider/src/main/java/org/onap/appc/aai/client/aai/AaiService.java +++ b/appc-outbound/appc-aai-client/provider/src/main/java/org/onap/appc/aai/client/aai/AaiService.java @@ -2,7 +2,7 @@ * ============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 * ============================================================================= @@ -644,4 +644,41 @@ public class AaiService { updateResource("generic-vnf", resourceKey, vnfParams); } + + public void getVfModuleInfo(Map<String, String> params, SvcLogicContext vfModuleCtx) throws Exception { + log.info("Received getVfModuleInfo call with params : " + params); + String prefix = params.get(AppcAaiClientConstant.INPUT_PARAM_RESPONSE_PREFIX); + prefix = StringUtils.isNotBlank(prefix) ? (prefix + ".") : ""; + + String vnfId = params.get("vnfId"); + String vfModuleId = params.get("vfModuleId"); + String resourceKey = "generic-vnf.vnf-id = '" + vnfId + + "' AND vf-module.vf-module-id = '" + vfModuleId + "'"; + String queryPrefix = "vfModuleInfo"; + String resourceType = "vf-module"; + SvcLogicContext vfmCtx = readResource(resourceKey, queryPrefix, resourceType); + String modelInvariantId=vfmCtx.getAttribute("vfModuleInfo.model-invariant-id"); + log.info("getVfModuleInfo():::modelInvariant="+modelInvariantId); + vfModuleCtx.setAttribute(prefix+"vfModule.model-invariant-id", vfmCtx.getAttribute("vfModuleInfo.model-invariant-id")); + vfModuleCtx.setAttribute(prefix+"vfModule.model-version-id", vfmCtx.getAttribute("vfModuleInfo.model-version-id")); + log.info("End - getVfModuleInfo"); + } + + public void getModelVersionInfo(Map<String, String> modelParams, SvcLogicContext modelCtx) throws Exception { + log.info("Received getModelVersionInfo call with params : " + modelParams); + String prefix = modelParams.get(AppcAaiClientConstant.INPUT_PARAM_RESPONSE_PREFIX); + prefix = StringUtils.isNotBlank(prefix) ? (prefix + ".") : ""; + + String modelInvariantId = modelParams.get("model-invariant-id"); + String modelVersionId = modelParams.get("model-version-id"); + String resourceKey = "model.model-invariant-id = '" + modelInvariantId + + "' AND model-ver.model-version-id = '" + modelVersionId + "'"; + String queryPrefix = "modelInfo"; + String resourceType = "model-ver"; + SvcLogicContext vfmCtx = readResource(resourceKey, queryPrefix, resourceType); + log.info("getModelVersionInfo():::modelname="+vfmCtx.getAttribute("modelInfo.model-name")); + modelCtx.setAttribute(prefix+"vfModule.model-name", vfmCtx.getAttribute("modelInfo.model-name")); + log.info("End - getModelVersionInfo"); + + } } 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); + } + +} +} |