diff options
Diffstat (limited to 'intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/clldeliveryIntentmgt/clldeliverymodule')
-rw-r--r-- | intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/clldeliveryIntentmgt/clldeliverymodule/CLLDeliveryActuationModule.java | 69 |
1 files changed, 60 insertions, 9 deletions
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/clldeliveryIntentmgt/clldeliverymodule/CLLDeliveryActuationModule.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/clldeliveryIntentmgt/clldeliverymodule/CLLDeliveryActuationModule.java index cca03fe..641ecaf 100644 --- a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/clldeliveryIntentmgt/clldeliverymodule/CLLDeliveryActuationModule.java +++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/clldeliveryIntentmgt/clldeliverymodule/CLLDeliveryActuationModule.java @@ -15,21 +15,32 @@ */ package org.onap.usecaseui.intentanalysis.clldeliveryIntentmgt.clldeliverymodule; -import java.util.List; -import org.onap.usecaseui.intentanalysis.bean.models.Expectation; -import org.onap.usecaseui.intentanalysis.bean.models.ExpectationObject; -import org.onap.usecaseui.intentanalysis.bean.models.Intent; -import org.onap.usecaseui.intentanalysis.bean.models.IntentGoalBean; +import org.apache.commons.lang.StringUtils; +import org.onap.usecaseui.intentanalysis.adapters.so.SOService; +import org.onap.usecaseui.intentanalysis.bean.models.*; import org.onap.usecaseui.intentanalysis.intentBaseService.IntentManagementFunction; import org.onap.usecaseui.intentanalysis.intentBaseService.intentModule.ActuationModule; +import org.onap.usecaseui.intentanalysis.service.ExpectationObjectService; import org.onap.usecaseui.intentanalysis.service.IntentService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.UUID; + @Component public class CLLDeliveryActuationModule extends ActuationModule { + + @Autowired + private SOService soService; + + @Autowired + private ExpectationObjectService expectationObjectService; + @Autowired - IntentService intentService; + private IntentService intentService; @Override public void toNextIntentHandler(IntentGoalBean intentGoalBean, IntentManagementFunction IntentHandler) { @@ -37,8 +48,37 @@ public class CLLDeliveryActuationModule extends ActuationModule { } @Override - public void directOperation() { - + public void directOperation(IntentGoalBean intentGoalBean) { + Intent intent = intentGoalBean.getIntent(); + if (StringUtils.equalsIgnoreCase("create", intentGoalBean.getIntentGoalType().name())) { + Map<String, Object> params = new HashMap<>(); + Map<String, String> accessPointOne = new HashMap<>(); + List<ExpectationTarget> targetList = intent.getIntentExpectations().get(0).getExpectationTargets(); + for (ExpectationTarget target : targetList) { + String conditionName = target.getTargetConditions().get(0).getConditionName(); + String conditionValue = target.getTargetConditions().get(0).getConditionValue(); + if (StringUtils.containsIgnoreCase(conditionName, "source")) { + accessPointOne.put("name", conditionValue); + } else if (StringUtils.containsIgnoreCase(conditionName, "destination")) { + params.put("cloudPointName", conditionValue); + } else if (StringUtils.containsIgnoreCase(conditionName, "bandwidth")) { + accessPointOne.put("bandwidth", conditionValue); + } + } + params.put("accessPointOne", accessPointOne); + params.put("instanceId", getInstanceId()); + params.put("name", "cll-" + params.get("instanceId")); + params.put("protect", false); + soService.createIntentInstance(params); + String expectationId = intent.getIntentExpectations().get(0).getExpectationId(); + ExpectationObject expectationObject = expectationObjectService.getExpectationObject(expectationId); + expectationObject.setObjectInstance((String) params.get("name")); + expectationObjectService.updateExpectationObject(expectationObject, expectationId); + } else { + String instanceId = intent.getIntentExpectations().get(0).getExpectationObject().getObjectInstance(); + soService.deleteIntentInstance(instanceId); + intentService.deleteIntent(intent.getIntentId()); + } } @Override @@ -48,7 +88,18 @@ public class CLLDeliveryActuationModule extends ActuationModule { @Override public void fulfillIntent(IntentGoalBean intentGoalBean, IntentManagementFunction intentHandler) { - this.directOperation(); + this.directOperation(intentGoalBean); + } + + public String getInstanceId() { + int random = (int) (Math.random() * 9 + 1); + + String randomString = String.valueOf(random); + int hashCode = UUID.randomUUID().toString().hashCode(); + if (hashCode < 0) { + hashCode = -hashCode; + } + return randomString + String.format("%015d", hashCode); } public void updateIntentOperationInfo(Intent originIntent, IntentGoalBean intentGoalBean){ |