summaryrefslogtreecommitdiffstats
path: root/appc-outbound/appc-aai-client/provider/src/main/java/org/onap/appc/aai/client/node/AAIResourceNode.java
diff options
context:
space:
mode:
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.java72
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);
+ }
+
+}
+}