d93f3f5c727d28110a23766e2286dbad22ce8fe6
[usecase-ui/intent-analysis.git] /
1 /*
2  * Copyright (C) 2022 CMCC, Inc. and others. All rights reserved.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 package org.onap.usecaseui.intentanalysis.cllBusinessIntentMgt.cllBusinessModule;
17
18 import org.apache.commons.collections.CollectionUtils;
19 import org.onap.usecaseui.intentanalysis.bean.enums.IntentGoalType;
20 import org.onap.usecaseui.intentanalysis.bean.models.IntentGoalBean;
21 import org.onap.usecaseui.intentanalysis.bean.models.Expectation;
22 import org.onap.usecaseui.intentanalysis.bean.models.ExpectationTarget;
23 import org.onap.usecaseui.intentanalysis.bean.models.Intent;
24 import org.onap.usecaseui.intentanalysis.intentBaseService.intentModule.KnowledgeModule;
25 import org.onap.usecaseui.intentanalysis.intentBaseService.intentProcessService.IntentDetectionService;
26 import org.onap.usecaseui.intentanalysis.service.IntentService;
27 import org.slf4j.Logger;
28 import org.slf4j.LoggerFactory;
29 import org.springframework.beans.factory.annotation.Autowired;
30 import org.springframework.stereotype.Service;
31
32 import java.util.ArrayList;
33 import java.util.List;
34 import java.util.stream.Collectors;
35
36 @Service
37 public class CLLBusinessKnowledgeModule extends KnowledgeModule {
38     private static Logger LOGGER = LoggerFactory.getLogger(CLLBusinessKnowledgeModule.class);
39
40     @Autowired
41     IntentService intentService;
42     @Autowired
43     IntentDetectionService intentDetectionService;
44
45     @Override
46     public IntentGoalBean intentCognition(Intent intent) {
47         List<String> intendIdList = intentResolution(intent);
48         getSystemStatus();
49         return determineDetectionGoal(intent, intendIdList);
50     }
51
52     @Override
53     public boolean recieveCreateIntent() {
54         return false;
55     }
56
57     @Override
58     public boolean recieveUpdateIntent() {
59         return false;
60     }
61
62     @Override
63     public boolean recieveDeleteIntent() {
64         return false;
65     }
66
67     void intentReportResolution() {
68     }
69
70     /**
71      * query the implementation of intent requirements in the system
72      */
73     void getSystemStatus() {
74     }
75
76
77     void interactWithIntentOwner() {
78     }
79
80     /**
81      * Determine add, delete, modify according to theobject,target and context of the expectation
82      */
83     public IntentGoalBean determineDetectionGoal(Intent intent, List<String> intentIdList) {
84         int size = intentIdList.size();
85         if (size == 0) {
86             return new IntentGoalBean(intent, IntentGoalType.CREATE);
87         } else {
88             return new IntentGoalBean(intent, IntentGoalType.UPDATE);
89         }
90     }
91
92 }