5d4a5dcc8a3a9b4c3b635287171bff31e4cf519b
[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.intentBaseService.intentProcessService;
17
18 import org.onap.usecaseui.intentanalysis.bean.models.Intent;
19 import org.onap.usecaseui.intentanalysis.bean.models.IntentGoalBean;
20 import org.onap.usecaseui.intentanalysis.intentBaseService.IntentManagementFunction;
21 import org.springframework.beans.factory.annotation.Autowired;
22 import org.springframework.stereotype.Service;
23
24 import java.util.List;
25 import java.util.Map;
26
27 @Service
28 public class IntentProcessService {
29     @Autowired
30     IntentDetectionService intentDetectionService;
31     @Autowired
32     IntentInvestigationService intentInvestigationService;
33     @Autowired
34     IntentDefinitionService intentDefinitionService;
35     @Autowired
36     IntentDistributionService intentDistributionService;
37     @Autowired
38     IntentOperationService intentOperationService;
39
40     private IntentManagementFunction intentOwner;
41     private IntentManagementFunction intentHandler;
42
43
44     public void setIntentRole(IntentManagementFunction intentOwner, IntentManagementFunction intentHandler){
45         if (intentOwner!= null){
46             this.intentOwner = intentOwner;
47         }
48         if (intentHandler!= null){
49             this.intentHandler= intentHandler;
50         }
51     }
52     public void intentProcess(Intent intent) {
53         intentDetectionService.setIntentRole(intentOwner,intentHandler);
54         IntentGoalBean intentGoalBean = intentDetectionService.detectionProcess(intent);
55
56         //investigation process
57         intentInvestigationService.setIntentRole(intentOwner,intentHandler);
58         List<Map<IntentGoalBean,IntentManagementFunction>> intentListMap =
59                 intentInvestigationService.investigationProcess(intentGoalBean);
60
61
62         for (Map<IntentGoalBean,IntentManagementFunction> map : intentListMap) {
63             //definition process  save subintent
64             intentDefinitionService.setIntentRole(intentOwner,intentHandler);
65             intentDefinitionService.definitionPorcess(intentListMap);
66
67             //distribution process
68             intentDistributionService.setIntentRole(intentOwner,intentHandler);
69             intentDistributionService.distributionProcess(map);
70
71             //operation process
72             intentOperationService.setIntentRole(intentOwner,intentHandler);
73             intentOperationService.operationProcess();
74         }
75     }
76
77
78 }