aboutsummaryrefslogtreecommitdiffstats
path: root/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/clldeliveryIntentmgt/clldeliverymodule/CLLDeliveryActuationModule.java
diff options
context:
space:
mode:
Diffstat (limited to 'intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/clldeliveryIntentmgt/clldeliverymodule/CLLDeliveryActuationModule.java')
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/clldeliveryIntentmgt/clldeliverymodule/CLLDeliveryActuationModule.java69
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){