aboutsummaryrefslogtreecommitdiffstats
path: root/appc-outbound/appc-aai-client/provider/src/main
diff options
context:
space:
mode:
authorBalaji, Ramya (rb111y) <rb111y@att.com>2018-03-02 16:39:47 -0500
committerBalaji, Ramya (rb111y) <rb111y@att.com>2018-03-05 08:20:24 -0500
commit2a65f44fc463f204ef51367dff9a894ce0acceb8 (patch)
tree0e4adf86c37d8e325cf2db28880920b14c065a8a /appc-outbound/appc-aai-client/provider/src/main
parent84919d3230ad04b6a78f52e37449ba5d34c9a033 (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')
-rw-r--r--appc-outbound/appc-aai-client/provider/src/main/java/org/onap/appc/aai/client/aai/AaiService.java39
-rw-r--r--appc-outbound/appc-aai-client/provider/src/main/java/org/onap/appc/aai/client/node/AAIResourceNode.java72
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);
+ }
+
+}
+}