7c01c81f742a09cfeff4dea6b6b58ec74f68fa9e
[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;
17
18
19 import lombok.Data;
20 import org.onap.usecaseui.intentanalysis.bean.models.FulfillmentInfo;
21 import org.onap.usecaseui.intentanalysis.bean.models.Intent;
22 import org.onap.usecaseui.intentanalysis.bean.models.IntentGoalBean;
23 import org.onap.usecaseui.intentanalysis.intentBaseService.intentModule.ActuationModule;
24 import org.onap.usecaseui.intentanalysis.intentBaseService.intentModule.DecisionModule;
25 import org.onap.usecaseui.intentanalysis.intentBaseService.intentModule.KnowledgeModule;
26 import org.onap.usecaseui.intentanalysis.service.FulfillmentInfoService;
27 import org.onap.usecaseui.intentanalysis.service.ObjectInstanceService;
28 import org.springframework.beans.factory.annotation.Autowired;
29 import org.springframework.context.annotation.Configuration;
30 import org.springframework.stereotype.Component;
31
32 @Data
33 @Configuration
34 @Component
35 public class IntentManagementFunction {
36     protected ActuationModule actuationModule;
37     protected DecisionModule decisionModule;
38     protected KnowledgeModule knowledgeModule;
39
40     @Autowired
41     private FulfillmentInfoService fulfillmentInfoService;
42
43     @Autowired
44     private ObjectInstanceService objectInstanceService;
45
46     public void receiveIntentAsOwner(IntentGoalBean intentGoalBean){};
47     public void receiveIntentAsHandler(Intent originalIntent, IntentGoalBean intentGoalBean, IntentManagementFunction handler){};
48     public void createReport(String intentId, FulfillmentInfo fulfillmentInfo){};
49
50     protected void saveFulfillmentAndObjectInstance(String intentId, FulfillmentInfo fulfillmentInfo) {
51         // save fulfillmentInfo and objectInstance
52         fulfillmentInfoService.saveFulfillmentInfo(intentId, fulfillmentInfo);
53         objectInstanceService.saveObjectInstances(intentId, fulfillmentInfo);
54     }
55 }