*/
package org.onap.usecaseui.intentanalysis.clldeliveryIntentmgt.clldeliverymodule;
+import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.onap.usecaseui.intentanalysis.adapters.so.SOService;
import org.onap.usecaseui.intentanalysis.bean.models.*;
import java.util.UUID;
@Component
+@Slf4j
public class CLLDeliveryActuationModule extends ActuationModule {
@Autowired
public void updateIntentOperationInfo(Intent originIntent, IntentGoalBean intentGoalBean){
Intent subIntent = intentGoalBean.getIntent();
- if (subIntent.getIntentName().contains("delivery")){
+ if (StringUtils.containsIgnoreCase(subIntent.getIntentName(),"delivery")) {
List<Expectation> deliveryIntentExpectationList = intentGoalBean.getIntent().getIntentExpectations();
List<Expectation> originIntentExpectationList = originIntent.getIntentExpectations();
ExpectationObject deliveryExpectationObject = deliveryIntentExpectationList.get(0).getExpectationObject();
for (Expectation originExpectation : originIntentExpectationList) {
ExpectationObject originExpectationObject = originExpectation.getExpectationObject();
originExpectationObject.setObjectInstance(objectInstance);
+ expectationObjectService.updateExpectationObject(originExpectationObject,originExpectation.getExpectationId());
}
}
- intentService.updateIntent(originIntent);
- }
-
+ }
}
}
- @Override
- public void saveIntentToDb(Intent intent){
- List<Context> intentContexts = intent.getIntentContexts();
- if (CollectionUtils.isEmpty(intentContexts)) {
- intentContexts = new ArrayList<>();
- }
- Context ownerInfoCon = new Context();
- ownerInfoCon.setContextId(CommonUtil.getUUid());
- ownerInfoCon.setContextName("ownerInfo");
- List<Condition> conditionList = new ArrayList<>();
- Condition condition = new Condition();
- condition.setConditionId(CommonUtil.getUUid());
- condition.setConditionName("ownerName");
- condition.setOperator(OperatorType.EQUALTO);
- condition.setConditionValue(FormatIntentInputManagementFunction.class.getSimpleName());
- conditionList.add(condition);
- ownerInfoCon.setContextConditions(conditionList);
- intentContexts.add(ownerInfoCon);
- //ownerId intentId=parent intent id
- Context ownerIdContext = new Context();
- ownerIdContext.setContextId(CommonUtil.getUUid());
- ownerIdContext.setContextName("ownerId");
- List<Condition> idConditionList = new ArrayList<>();
- Condition idCondition = new Condition();
- idCondition.setConditionId(CommonUtil.getUUid());
- idCondition.setConditionName("intentId");
- idCondition.setOperator(OperatorType.EQUALTO);
- idCondition.setConditionValue(intent.getIntentId());
- idConditionList.add(idCondition);
- ownerIdContext.setContextConditions(idConditionList);
- intentContexts.add(ownerIdContext);
- intent.setIntentContexts(intentContexts);
- intentService.createIntent(intent);
- }
public void updateIntentOperationInfo(Intent originIntent, IntentGoalBean intentGoalBean){
}
}
}
-
+ intent.setIntentExpectations(intentExpectationList);
}
@Override
*/
package org.onap.usecaseui.intentanalysis.intentBaseService.contextService;
-import java.util.ArrayList;
-import java.util.List;
+import org.apache.commons.collections.CollectionUtils;
import org.onap.usecaseui.intentanalysis.bean.enums.OperatorType;
import org.onap.usecaseui.intentanalysis.bean.models.Condition;
import org.onap.usecaseui.intentanalysis.bean.models.Context;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Service;
+import java.util.ArrayList;
+import java.util.List;
+
@Service
public class IntentContextService {
public void updateChindIntentContext(Intent originIntent, Intent intent){
List<Context> contextList = intent.getIntentContexts();
-
+ if (CollectionUtils.isEmpty(contextList)) {
+ contextList = new ArrayList<>();
+ }
Condition condition1 = new Condition();
condition1.setConditionId(CommonUtil.getUUid());
condition1.setConditionName(originIntent.getIntentName() + "id");
conditionList.add(condition1);
context.setContextConditions(conditionList);
contextList.add(context);
+ intent.setIntentContexts(contextList);
+
}
public void updateParentIntentContext(Intent originIntent, Intent intent){
List<Context> contextList = originIntent.getIntentContexts();
+ if (CollectionUtils.isEmpty(contextList)) {
+ contextList = new ArrayList<>();
+ }
Condition condition1 = new Condition();
condition1.setConditionId(CommonUtil.getUUid());
for (Context context : contextList) {
if (context.getContextName().contains("subIntent info")){
List<Condition> conditionList = context.getContextConditions();
+ if (CollectionUtils.isEmpty(conditionList)) {
+ conditionList = new ArrayList<>();
+ }
conditionList.add(condition1);
+ context.setContextConditions(conditionList);
isSubIntentInfoExist = true;
}
}
conditionList.add(condition1);
context.setContextConditions(conditionList);
contextList.add(context);
-
+ originIntent.setIntentContexts(contextList);
}
}
public void updateIntentOwnerHandlerContext(Intent intent, IntentManagementFunction intentOwner, IntentManagementFunction intentHandler){
List<Context> contextList = intent.getIntentContexts();
+ if (CollectionUtils.isEmpty(contextList)){
+ contextList = new ArrayList<>();
+ }
Condition condition1 = new Condition();
condition1.setConditionId(CommonUtil.getUUid());
conditionList2.add(condition2);
context2.setContextConditions(conditionList2);
contextList.add(context2);
+
+ intent.setIntentContexts(contextList);
}
public List<Intent> getSubIntentInfoFromContext(Intent originIntent){
-
List<Intent> subIntentList = new ArrayList<>();
- List<Context> contextList = originIntent.getIntentContexts();
-
+ //form db
+ // List<Context> contextList = originIntent.getIntentContexts();
+ Intent dbIntent = intentService.getIntent(originIntent.getIntentId());
+ List<Context> contextList = dbIntent.getIntentContexts();
for (Context context : contextList) {
if (context.getContextName().contains("subIntent info")){
List<Condition> conditionList = context.getContextConditions();
}
}
}
-
return subIntentList;
}
import org.onap.usecaseui.intentanalysis.bean.models.*;
import org.onap.usecaseui.intentanalysis.intentBaseService.IntentManagementFunction;
import org.onap.usecaseui.intentanalysis.util.CommonUtil;
+import org.springframework.beans.BeanUtils;
import java.util.ArrayList;
import java.util.Collections;
public abstract IntentManagementFunction exploreIntentHandlers(IntentGoalBean intentGoalBean);
public Intent intentDefinition(Intent originIntent, Intent intent) {
- intent.setIntentId(CommonUtil.getUUid());
+ Intent newIntent = new Intent();
+ newIntent.setIntentId(CommonUtil.getUUid());
+ newIntent.setIntentName(intent.getIntentName());
+
List<Expectation> originalExpectationList = intent.getIntentExpectations();
- List<Expectation> newExpectationList = getNewExpectationList(originalExpectationList);
- intent.setIntentExpectations(newExpectationList);
- return intent;
+ List<Expectation> newExpectationList = new ArrayList<>();
+ for (Expectation exp:originalExpectationList) {
+ Expectation expectation = new Expectation();
+ BeanUtils.copyProperties(exp,expectation);
+ newExpectationList.add(expectation);
+ }
+ List<Expectation> newIdExpectationList = getNewExpectationList(newExpectationList);
+ newIntent.setIntentExpectations(newIdExpectationList);
+ return newIntent;
}
public abstract void decideSuitableAction();
expectation.setExpectationObject(newExpectationObject);
//ExpectationTarget
List<ExpectationTarget> expectationTargets = expectation.getExpectationTargets();
+ List<ExpectationTarget> newExpTargetList = new ArrayList<>();
if (CollectionUtils.isNotEmpty(expectationTargets)) {
for (ExpectationTarget expectationTarget : expectationTargets) {
- expectationTarget.setTargetId(CommonUtil.getUUid());
+ ExpectationTarget expTarget =new ExpectationTarget();
+ BeanUtils.copyProperties(expectationTarget,expTarget);
+ expTarget.setTargetId(CommonUtil.getUUid());
//targetContexts
List<Context> targetContexts = expectationTarget.getTargetContexts();
if (CollectionUtils.isNotEmpty(targetContexts)) {
List<Context> newTargetContexts = new ArrayList<>();
for (Context context : targetContexts) {
- Context newContext = getNewContext(context);
+ Context con=new Context();
+ BeanUtils.copyProperties(context,con);
+ Context newContext = getNewContext(con);
newTargetContexts.add(newContext);
}
- expectationTarget.setTargetContexts(newTargetContexts);
+ expTarget.setTargetContexts(newTargetContexts);
}
//targetConditions
List<Condition> targetConditions = expectationTarget.getTargetConditions();
if (CollectionUtils.isNotEmpty(targetConditions)) {
List<Condition> newTargetConditions = new ArrayList<>();
for (Condition condition : targetConditions) {
- Condition newCondition = getNewCondition(condition);
+ Condition con =new Condition();
+ BeanUtils.copyProperties(condition,con);
+ Condition newCondition = getNewCondition(con);
newTargetConditions.add(newCondition);
}
- expectationTarget.setTargetConditions(newTargetConditions);
+ expTarget.setTargetConditions(newTargetConditions);
}
+ newExpTargetList.add(expTarget);
}
+ expectation.setExpectationTargets(newExpTargetList);
}
//expectationContexts
List<Context> expectationContexts = expectation.getExpectationContexts();
if (CollectionUtils.isNotEmpty(contextConditions)) {
List<Condition> newConditionList = new ArrayList<>();
for (Condition condition : contextConditions) {
- newConditionList.add(getNewCondition(condition));
+ Condition con =new Condition();
+ BeanUtils.copyProperties(condition,con);
+ newConditionList.add(getNewCondition(con));
}
context.setContextConditions(newConditionList);
}
import org.onap.usecaseui.intentanalysis.intentBaseService.contextService.IntentContextService;
import org.onap.usecaseui.intentanalysis.intentBaseService.intentModule.ActuationModule;
import org.onap.usecaseui.intentanalysis.intentBaseService.intentModule.DecisionModule;
+import org.onap.usecaseui.intentanalysis.service.IntentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Autowired
public IntentContextService intentContextService;
+ @Autowired
+ public IntentService intentService;
public void setIntentRole(IntentManagementFunction intentOwner, IntentManagementFunction intentHandler) {
if (intentOwner != null) {
}
}
- public void definitionPorcess(Intent originIntent, Map.Entry<IntentGoalBean, IntentManagementFunction> entry) {
+ public IntentGoalBean definitionPorcess(Intent originIntent, Map.Entry<IntentGoalBean, IntentManagementFunction> entry) {
DecisionModule intentDecisionModule = intentOwner.getDecisionModule();
ActuationModule intentActuationModule = intentOwner.getActuationModule();
intentContextService.updateParentIntentContext(originIntent, newIdIntent);
intentContextService.updateChindIntentContext(originIntent, newIdIntent);
intentActuationModule.saveIntentToDb(newIdIntent);//id type
+ return new IntentGoalBean(newIdIntent,IntentGoalType.CREATE);
}
if (newIntentGoalBean.getIntentGoalType() == IntentGoalType.UPDATE){
intentActuationModule.updateIntentToDb(newIntentGoalBean.getIntent());
}
-
if (newIntentGoalBean.getIntentGoalType() == IntentGoalType.DELETE){
intentActuationModule.deleteIntentToDb(newIntentGoalBean.getIntent());
}
-
+ return newIntentGoalBean;
}
}
intentDetectionService.setIntentRole(intentOwner, intentHandler);
IntentGoalBean newIntentGoalBean = intentDetectionService.detectionProcess(originIntentGoalBean);
- //investigation process
+ //investigation process Decomposition
intentInvestigationService.setIntentRole(intentOwner, intentHandler);
LinkedHashMap<IntentGoalBean, IntentManagementFunction> intentMap =
intentInvestigationService.investigationProcess(newIntentGoalBean);
while (iterator.hasNext()) {
Map.Entry<IntentGoalBean, IntentManagementFunction> next = iterator.next();
//definition process save subintent
- intentDefinitionService.setIntentRole(intentOwner, intentHandler);
- intentDefinitionService.definitionPorcess(originIntentGoalBean.getIntent(), next);
+ intentDefinitionService.setIntentRole(intentOwner, next.getValue());
+ //obtain newID IntentGoalBean
+ IntentGoalBean newIdIntentGoalBean = intentDefinitionService.definitionPorcess(originIntentGoalBean.getIntent(), next);
//distribution process
intentDistributionService.setIntentRole(intentOwner, intentHandler);
intentDistributionService.distributionProcess(next);
intentOperationService.setIntentRole(intentOwner, next.getValue());
- intentOperationService.operationProcess(originIntentGoalBean.getIntent(), next.getKey());
+ intentOperationService.operationProcess(originIntentGoalBean.getIntent(), newIdIntentGoalBean);
}
-
return newIntentGoalBean;
}
-
-
}
-- ----------------------------
-- Records of intent_management_function_reg_info
-- ----------------------------
-INSERT INTO intent_management_function_reg_info(imfr_info_id, imfr_info_description, support_area, support_model, support_interfaces, handle_name, intent_function_type) VALUES ('CLLBusinessId','CLLBusiness','CLLBUSINESS',null,'CREATE,DELETE,UPDATE,SEARCH','CLLBusinessIntentManagementFunction','INTERNALFUNCTION');
-INSERT INTO intent_management_function_reg_info(imfr_info_id, imfr_info_description, support_area, support_model, support_interfaces, handle_name, intent_function_type) VALUES ('CLLDeliveryId','CLLDelivery','CLLBUSINESS,DELIVERY',null,'CREATE,DELETE,UPDATE,SEARCH','CLLDeliveryIntentManagementFunction','INTERNALFUNCTION');
-INSERT INTO intent_management_function_reg_info(imfr_info_id, imfr_info_description, support_area, support_model, support_interfaces, handle_name, intent_function_type) VALUES ('CLLAssuranceId','CLLAssurance','CLLBUSINESS,ASSURANCE',null,'CREATE,DELETE,UPDATE,SEARCH','CLLAssuranceIntentManagementFunction','INTERNALFUNCTION');
+
+insert into intent_management_function_reg_info(imfr_info_id, imfr_info_description, support_area, support_model, support_interfaces, handle_name, intent_function_type) select 'CLLBusinessId','CLLBusiness','CLLBUSINESS',null,'CREATE,DELETE,UPDATE,SEARCH','CLLBusinessIntentManagementFunction','INTERNALFUNCTION' where not exists(select * from intent_management_function_reg_info where imfr_info_id='CLLBusinessId' )
+insert into intent_management_function_reg_info(imfr_info_id, imfr_info_description, support_area, support_model, support_interfaces, handle_name, intent_function_type) select 'CLLDeliveryId','CLLDelivery','CLLBUSINESS,DELIVERY',null,'CREATE,DELETE,UPDATE,SEARCH','CLLDeliveryIntentManagementFunction','INTERNALFUNCTION' where not exists(select * from intent_management_function_reg_info where imfr_info_id='CLLDeliveryId' )
+insert into intent_management_function_reg_info(imfr_info_id, imfr_info_description, support_area, support_model, support_interfaces, handle_name, intent_function_type) select 'CLLAssuranceId','CLLAssurance','CLLBUSINESS,ASSURANCE',null,'CREATE,DELETE,UPDATE,SEARCH','CLLAssuranceIntentManagementFunction','INTERNALFUNCTION' where not exists(select * from intent_management_function_reg_info where imfr_info_id='CLLAssuranceId' )
+