2 * Copyright (C) 2022 CMCC, Inc. and others. All rights reserved.
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
16 package org.onap.usecaseui.intentanalysis.intentBaseService;
18 import org.onap.usecaseui.intentanalysis.bean.models.Intent;
19 import org.onap.usecaseui.intentanalysis.bean.models.IntentManagementFunctionRegInfo;
20 import org.onap.usecaseui.intentanalysis.intentBaseService.intentProcessService.IntentProcessService;
21 import org.springframework.beans.factory.annotation.Autowired;
22 import org.springframework.stereotype.Service;
26 public class IntentHandleService {
28 private IntentProcessService processService;
31 * Process the original intent and find the corresponding IntentManagementFunction
34 public void handleOriginalIntent(Intent intent){
35 IntentManagementFunction intentOwner = getOtigalIMF(intent);
36 handleIntent(intent,intentOwner);
39 public void handleIntent(Intent intent, IntentManagementFunction intentOwner) {
40 processService.setIntentRole(intentOwner, null);
41 processService.intentProcess(intent);
44 public IntentManagementFunction selectIntentManagementFunction(Intent intent) {
45 //select the IntentManagementFunctionRegInfo Based on the IMFRegistry information.
46 //Only internalFunction support.
47 //and based on the IntentManagementFunctionRegInfo, get the right IntentManagementFunction bean.
48 //if no IntentManagementFunction selected, that means this intent is not supported by this system.
52 public IntentManagementFunctionRegInfo selectIntentManagementFunctionRegInfo(Intent intent) {
53 //select the IntentManagementFunctionRegInfo Based on the IMFRegistry information.
54 //Both internalFunction and externalFunction support.
55 //This is used to get he IntentManagementFunction for a subIntent decomposition.
59 public IntentManagementFunction getOtigalIMF(Intent intent){
60 //select IntentManagementFunction based on intent name