aboutsummaryrefslogtreecommitdiffstats
path: root/intentanalysis
diff options
context:
space:
mode:
Diffstat (limited to 'intentanalysis')
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/enums/ContextParentType.java (renamed from intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/cllBusinessIntentMgt/intentModuleImpl/KnownledgeModuleImpl.java)29
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/enums/ContextType.java35
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/enums/ExpectationType.java35
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/enums/FulfilmentStatus.java35
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/enums/IntentFunctionType.java4
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/enums/NotFulfilledState.java39
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/enums/ObjectType.java35
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/enums/SupportInterface.java8
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/models/Context.java34
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/models/Expectation.java17
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/models/ExpectationObject.java34
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/models/ExpectationTarget.java37
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/models/FulfilmentInfo.java33
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/models/Intent.java10
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/models/IntentManagementFunctionRegInfo.java (renamed from intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/models/IntentManagerRegInfo.java)2
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/cllBusinessIntentMgt/CLLBusinessIntentManagementFunction.java14
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/cllBusinessIntentMgt/cllBusinessModule/CLLBusinessActuationModule.java (renamed from intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/cllBusinessIntentMgt/intentModuleImpl/ActuationModuleImpl.java)16
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/cllBusinessIntentMgt/cllBusinessModule/CLLBusinessDecisionModule.java (renamed from intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/cllBusinessIntentMgt/intentModuleImpl/DecisoinModuleImpl.java)4
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/cllBusinessIntentMgt/cllBusinessModule/CLLBusinessKnowledgeModule.java58
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/controller/IntentController.java20
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/controller/IntentFunctionManageController.java8
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentBaseService/IntentHandleService.java58
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentBaseService/intentFunctionManageService/IntentFunctionManageService.java8
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentBaseService/intentFunctionManageService/impl/IntentFunctionManageServiceImpl.java11
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentBaseService/intentModule/KnowledgeModule.java9
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentBaseService/intentProcessService/IntentDetectionService.java8
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentBaseService/intentProcessService/IntentInvestigationService.java5
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentBaseService/intentProcessService/IntentProcessService.java34
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/mapper/ContextMapper.java37
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/mapper/ExpectationMapper.java19
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/mapper/ExpectationObjectMapper.java32
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/mapper/ExpectationTargetMapper.java31
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/mapper/FulfilmentInfoMapper.java32
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/mapper/IntentMapper.java3
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/mapper/StateMapper.java8
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/ContextService.java38
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/ExpectationObjectService.java26
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/ExpectationService.java14
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/ExpectationTargetService.java29
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/FulfilmentInfoService.java30
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/IntentService.java3
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/StateService.java3
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/impl/ContextServiceImpl.java69
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/impl/ExpectationObjectServiceImpl.java56
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/impl/ExpectationServiceImpl.java106
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/impl/ExpectationTargetServiceImpl.java71
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/impl/FulfilmentInfoServiceImpl.java57
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/impl/IntentServiceImpl.java64
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/impl/StateServiceImpl.java4
-rw-r--r--intentanalysis/src/main/resources/application.yaml4
-rw-r--r--intentanalysis/src/main/resources/intent-analysis-init.sql36
-rw-r--r--intentanalysis/src/main/resources/mybatis/sql/ContextMapper.xml30
-rw-r--r--intentanalysis/src/main/resources/mybatis/sql/ExpectationMapper.xml42
-rw-r--r--intentanalysis/src/main/resources/mybatis/sql/ExpectationObjectMapper.xml14
-rw-r--r--intentanalysis/src/main/resources/mybatis/sql/ExpectationTargetMapper.xml14
-rw-r--r--intentanalysis/src/main/resources/mybatis/sql/FulfilmentInfoMapper.xml19
56 files changed, 1330 insertions, 201 deletions
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/cllBusinessIntentMgt/intentModuleImpl/KnownledgeModuleImpl.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/enums/ContextParentType.java
index 14b2ea0..354f14b 100644
--- a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/cllBusinessIntentMgt/intentModuleImpl/KnownledgeModuleImpl.java
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/enums/ContextParentType.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2022 CMCC, Inc. and others. All rights reserved.
+ * Copyright 2022 Huawei Technologies Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,24 +13,25 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.onap.usecaseui.intentanalysis.cllBusinessIntentMgt.intentModuleImpl;
-import org.onap.usecaseui.intentanalysis.intentBaseService.intentModule.KnowledgeModule;
-import org.springframework.stereotype.Service;
+package org.onap.usecaseui.intentanalysis.bean.enums;
-@Service
-public class KnownledgeModuleImpl implements KnowledgeModule {
- @Override
- public void intentResolution() {}
+import lombok.Getter;
+import lombok.Setter;
- @Override
- public void intentReportResolution() {}
+@Getter
+public enum ContextParentType {
+ INTENT(0, "intent"),
+ EXPECTATION(1, "expectation"),
+ EXPECTATION_OBJECT(2, "expectation_object"),
+ EXPECTATION_TARGET(3, "expectation_target");
- @Override
- public void getSystemStatus() {}
+ private int index;
- @Override
- public void interactWithIntentOwner() {
+ private String desc;
+ ContextParentType(int index, String desc) {
+ this.index = index;
+ this.desc = desc;
}
}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/enums/ContextType.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/enums/ContextType.java
new file mode 100644
index 0000000..8b7b60c
--- /dev/null
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/enums/ContextType.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright 2022 Huawei Technologies Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.onap.usecaseui.intentanalysis.bean.enums;
+
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+public enum ContextType {
+ CONTEXTTYPE1(0, "contextType1"),
+ CONTEXTTYPE2(1, "contextType2");
+
+ private int index;
+
+ private String desc;
+
+ ContextType(int index, String desc) {
+ this.index = index;
+ this.desc = desc;
+ }
+}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/enums/ExpectationType.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/enums/ExpectationType.java
new file mode 100644
index 0000000..b18ce21
--- /dev/null
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/enums/ExpectationType.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright 2022 Huawei Technologies Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.onap.usecaseui.intentanalysis.bean.enums;
+
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+public enum ExpectationType {
+ EXPECTATION1(0, "expectationType1"),
+ EXPECTATION2(1, "expectationType2");
+
+ private int index;
+
+ private String desc;
+
+ ExpectationType(int index, String desc) {
+ this.index = index;
+ this.desc = desc;
+ }
+}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/enums/FulfilmentStatus.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/enums/FulfilmentStatus.java
new file mode 100644
index 0000000..a5fdeb3
--- /dev/null
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/enums/FulfilmentStatus.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright 2022 Huawei Technologies Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.onap.usecaseui.intentanalysis.bean.enums;
+
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+public enum FulfilmentStatus {
+ FULFILLED(0, "fulfilled"),
+ NOT_FULFILLED(1, "not_fulfilled");
+
+ private int index;
+
+ private String desc;
+
+ FulfilmentStatus(int index, String desc) {
+ this.index = index;
+ this.desc = desc;
+ }
+}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/enums/IntentFunctionType.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/enums/IntentFunctionType.java
index 93a5221..25cb1e5 100644
--- a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/enums/IntentFunctionType.java
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/enums/IntentFunctionType.java
@@ -23,8 +23,8 @@ import lombok.Setter;
@Getter
public enum IntentFunctionType {
- INTERNALFUNCTION(0,"internalFunction"),
- EXTERNALFUNCTION(1,"externalFunction");
+ INTERNALFUNCTION(0, "internalFunction"),
+ EXTERNALFUNCTION(1, "externalFunction");
private int type;
private String desc;
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/enums/NotFulfilledState.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/enums/NotFulfilledState.java
new file mode 100644
index 0000000..6153497
--- /dev/null
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/enums/NotFulfilledState.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright 2022 Huawei Technologies Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.onap.usecaseui.intentanalysis.bean.enums;
+
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+public enum NotFulfilledState {
+ ACKNOWLEDGED(0, "acknowledge"),
+ COMPLIANT(1, "compliant"),
+ DEGRADED(2, "degraded"),
+ SUSPENDED(3, "suspended"),
+ TERMINATED(4, "terminated"),
+ FULFILMENTFAILED(5, "fulfilmentfailed");
+
+ private int index;
+
+ private String desc;
+
+ NotFulfilledState(int index, String desc) {
+ this.index = index;
+ this.desc = desc;
+ }
+}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/enums/ObjectType.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/enums/ObjectType.java
new file mode 100644
index 0000000..8c659aa
--- /dev/null
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/enums/ObjectType.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright 2022 Huawei Technologies Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.onap.usecaseui.intentanalysis.bean.enums;
+
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+public enum ObjectType {
+ OBJECT1(0, "objectType1"),
+ OBJECT2(1, "objectType2");
+
+ private int index;
+
+ private String desc;
+
+ ObjectType(int index, String desc) {
+ this.index = index;
+ this.desc = desc;
+ }
+}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/enums/SupportInterface.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/enums/SupportInterface.java
index 2ae7262..d3414bc 100644
--- a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/enums/SupportInterface.java
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/enums/SupportInterface.java
@@ -22,10 +22,10 @@ import lombok.Getter;
@Getter
public enum SupportInterface {
//CREATE,DELETE,UPDATE,SEARCH;
- CREATE(0,"CREATE"),
- DELETE(1,"DELETE"),
- UPDATE(2,"UPDATE"),
- SEARCH(3,"SEARCH");
+ CREATE(0, "CREATE"),
+ DELETE(1, "DELETE"),
+ UPDATE(2, "UPDATE"),
+ SEARCH(3, "SEARCH");
private int type;
private String name;
SupportInterface(int type, String name) {
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/models/Context.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/models/Context.java
new file mode 100644
index 0000000..539c239
--- /dev/null
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/models/Context.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright 2022 Huawei Technologies Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.onap.usecaseui.intentanalysis.bean.models;
+
+import lombok.Data;
+import org.onap.usecaseui.intentanalysis.bean.enums.ContextType;
+
+@Data
+
+public class Context {
+
+ private String contextId;
+
+ private String contextName;
+
+ private ContextType contextType;
+
+ private String contextCondition;
+
+}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/models/Expectation.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/models/Expectation.java
index ee1fc49..8107186 100644
--- a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/models/Expectation.java
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/models/Expectation.java
@@ -13,12 +13,16 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
package org.onap.usecaseui.intentanalysis.bean.models;
-import lombok.Data;
-import java.util.ArrayList;
import java.util.List;
+import lombok.Data;
+import org.onap.usecaseui.intentanalysis.bean.enums.ExpectationType;
+import org.onap.usecaseui.intentanalysis.bean.models.ExpectationObject;
+import org.onap.usecaseui.intentanalysis.bean.models.ExpectationTarget;
+
@Data
@@ -28,8 +32,13 @@ public class Expectation {
private String expectationName;
- private String targetMOI;
+ private ExpectationType expectationType;
+
+ private ExpectationObject expectationObject;
+
+ private List<ExpectationTarget> expectationTargets;
- List<State> stateList;
+ private List<Context> expectationContexts;
+ private FulfilmentInfo expectationFulfilmentInfo;
}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/models/ExpectationObject.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/models/ExpectationObject.java
new file mode 100644
index 0000000..8cb9bb2
--- /dev/null
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/models/ExpectationObject.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright 2022 Huawei Technologies Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.onap.usecaseui.intentanalysis.bean.models;
+
+
+import java.util.List;
+import lombok.Data;
+import org.onap.usecaseui.intentanalysis.bean.enums.ObjectType;
+
+
+@Data
+
+public class ExpectationObject {
+
+ private ObjectType objectType;
+
+ private String objectInstance;
+
+ private List<Context> objectContexts;
+}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/models/ExpectationTarget.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/models/ExpectationTarget.java
new file mode 100644
index 0000000..09cb994
--- /dev/null
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/models/ExpectationTarget.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright 2022 Huawei Technologies Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.onap.usecaseui.intentanalysis.bean.models;
+
+
+import java.util.List;
+import lombok.Data;
+
+
+@Data
+
+public class ExpectationTarget {
+
+ private String targetId;
+
+ private String targetName;
+
+ private String targetCondition;
+
+ private List<Context> targetContexts;
+
+ private FulfilmentInfo targetFulfilmentInfo;
+}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/models/FulfilmentInfo.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/models/FulfilmentInfo.java
new file mode 100644
index 0000000..a03b828
--- /dev/null
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/models/FulfilmentInfo.java
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2022 Huawei Technologies Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.onap.usecaseui.intentanalysis.bean.models;
+
+import lombok.Data;
+import org.onap.usecaseui.intentanalysis.bean.enums.FulfilmentStatus;
+import org.onap.usecaseui.intentanalysis.bean.enums.NotFulfilledState;
+
+@Data
+
+public class FulfilmentInfo {
+
+ private FulfilmentStatus fulfilmentStatus;
+
+ private NotFulfilledState notFulfilledState;
+
+ private String notFulfilledReason;
+
+}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/models/Intent.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/models/Intent.java
index 69138e4..536695c 100644
--- a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/models/Intent.java
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/models/Intent.java
@@ -16,10 +16,10 @@
package org.onap.usecaseui.intentanalysis.bean.models;
-import lombok.Data;
-import java.util.ArrayList;
import java.util.List;
+import lombok.Data;
+
@Data
@@ -28,6 +28,10 @@ public class Intent {
private String intentName;
- private List<Expectation> expectationList;
+ private List<Expectation> intentExpectations;
+
+ private List<Context> intentContexts;
+
+ private FulfilmentInfo intentFulfilmentInfo;
}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/models/IntentManagerRegInfo.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/models/IntentManagementFunctionRegInfo.java
index 24ef19e..34f56b7 100644
--- a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/models/IntentManagerRegInfo.java
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/models/IntentManagementFunctionRegInfo.java
@@ -23,7 +23,7 @@ import org.onap.usecaseui.intentanalysis.bean.enums.SupportInterface;
import java.util.List;
@Data
-public class IntentManagerRegInfo {
+public class IntentManagementFunctionRegInfo {
private String id;
private String description;
private List<SupportArea> supportArea;
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/cllBusinessIntentMgt/CLLBusinessIntentManagementFunction.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/cllBusinessIntentMgt/CLLBusinessIntentManagementFunction.java
index 53e13e0..9061036 100644
--- a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/cllBusinessIntentMgt/CLLBusinessIntentManagementFunction.java
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/cllBusinessIntentMgt/CLLBusinessIntentManagementFunction.java
@@ -17,21 +17,21 @@ package org.onap.usecaseui.intentanalysis.cllBusinessIntentMgt;
import lombok.Data;
-import org.onap.usecaseui.intentanalysis.cllBusinessIntentMgt.intentModuleImpl.ActuationModuleImpl;
-import org.onap.usecaseui.intentanalysis.cllBusinessIntentMgt.intentModuleImpl.DecisoinModuleImpl;
-import org.onap.usecaseui.intentanalysis.cllBusinessIntentMgt.intentModuleImpl.KnownledgeModuleImpl;
+import org.onap.usecaseui.intentanalysis.cllBusinessIntentMgt.cllBusinessModule.CLLBusinessActuationModule;
+import org.onap.usecaseui.intentanalysis.cllBusinessIntentMgt.cllBusinessModule.CLLBusinessDecisionModule;
+import org.onap.usecaseui.intentanalysis.cllBusinessIntentMgt.cllBusinessModule.CLLBusinessKnowledgeModule;
+import org.onap.usecaseui.intentanalysis.intentBaseService.IntentManagementFunction;
import org.onap.usecaseui.intentanalysis.intentBaseService.intentModule.ActuationModule;
import org.onap.usecaseui.intentanalysis.intentBaseService.intentModule.DecisionModule;
import org.onap.usecaseui.intentanalysis.intentBaseService.intentModule.KnowledgeModule;
-import org.onap.usecaseui.intentanalysis.intentBaseService.IntentManagementFunction;
import org.springframework.stereotype.Component;
@Data
@Component("CLLBusinessIntentManagementFunction")
public class CLLBusinessIntentManagementFunction extends IntentManagementFunction {
- private ActuationModule actuationModule = new ActuationModuleImpl();
- private DecisionModule decisoinModule = new DecisoinModuleImpl();
- private KnowledgeModule knowledgeModule = new KnownledgeModuleImpl();
+ private ActuationModule actuationModule = new CLLBusinessActuationModule();
+ private DecisionModule decisoinModule = new CLLBusinessDecisionModule();
+ private KnowledgeModule knowledgeModule = new CLLBusinessKnowledgeModule();
}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/cllBusinessIntentMgt/intentModuleImpl/ActuationModuleImpl.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/cllBusinessIntentMgt/cllBusinessModule/CLLBusinessActuationModule.java
index bb7fbb5..1612090 100644
--- a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/cllBusinessIntentMgt/intentModuleImpl/ActuationModuleImpl.java
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/cllBusinessIntentMgt/cllBusinessModule/CLLBusinessActuationModule.java
@@ -13,9 +13,11 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.onap.usecaseui.intentanalysis.cllBusinessIntentMgt.intentModuleImpl;
+package org.onap.usecaseui.intentanalysis.cllBusinessIntentMgt.cllBusinessModule;
+import org.onap.usecaseui.intentanalysis.bean.models.Intent;
+import org.onap.usecaseui.intentanalysis.intentBaseService.IntentHandleService;
import org.onap.usecaseui.intentanalysis.intentBaseService.intentModule.ActuationModule;
import org.onap.usecaseui.intentanalysis.intentBaseService.IntentManagementFunction;
import org.onap.usecaseui.intentanalysis.intentBaseService.intentProcessService.IntentProcessService;
@@ -23,18 +25,21 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
-public class ActuationModuleImpl implements ActuationModule {
+public class CLLBusinessActuationModule implements ActuationModule {
@Autowired
IntentProcessService processService;
+ @Autowired
+ IntentHandleService intentHandleService;
+
@Override
- public void sendToIntentHandler(IntentManagementFunction intentHandler) {
- processService.setIntentRole(intentHandler, null);
- processService.intentProcess();
+ public void sendToIntentHandler(IntentManagementFunction IntentHandler) {
+
}
@Override
public void sendToNonIntentHandler() {
+
}
@Override
@@ -44,5 +49,6 @@ public class ActuationModuleImpl implements ActuationModule {
@Override
public void saveIntentToDb() {
+
}
}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/cllBusinessIntentMgt/intentModuleImpl/DecisoinModuleImpl.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/cllBusinessIntentMgt/cllBusinessModule/CLLBusinessDecisionModule.java
index 0439a03..8214b46 100644
--- a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/cllBusinessIntentMgt/intentModuleImpl/DecisoinModuleImpl.java
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/cllBusinessIntentMgt/cllBusinessModule/CLLBusinessDecisionModule.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.onap.usecaseui.intentanalysis.cllBusinessIntentMgt.intentModuleImpl;
+package org.onap.usecaseui.intentanalysis.cllBusinessIntentMgt.cllBusinessModule;
import org.onap.usecaseui.intentanalysis.intentBaseService.intentModule.DecisionModule;
@@ -21,7 +21,7 @@ import org.onap.usecaseui.intentanalysis.intentBaseService.IntentManagementFunct
import org.springframework.stereotype.Service;
@Service
-public class DecisoinModuleImpl implements DecisionModule {
+public class CLLBusinessDecisionModule implements DecisionModule {
@Override
public void determineUltimateGoal() {}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/cllBusinessIntentMgt/cllBusinessModule/CLLBusinessKnowledgeModule.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/cllBusinessIntentMgt/cllBusinessModule/CLLBusinessKnowledgeModule.java
new file mode 100644
index 0000000..51a4ee2
--- /dev/null
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/cllBusinessIntentMgt/cllBusinessModule/CLLBusinessKnowledgeModule.java
@@ -0,0 +1,58 @@
+/*
+ * Copyright (C) 2022 CMCC, Inc. and others. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.onap.usecaseui.intentanalysis.cllBusinessIntentMgt.cllBusinessModule;
+
+import org.onap.usecaseui.intentanalysis.bean.models.Expectation;
+import org.onap.usecaseui.intentanalysis.bean.models.Intent;
+import org.onap.usecaseui.intentanalysis.intentBaseService.intentModule.KnowledgeModule;
+import org.springframework.stereotype.Service;
+
+@Service
+public class CLLBusinessKnowledgeModule implements KnowledgeModule {
+
+ @Override
+ public Intent intentCognition(Intent intent) {
+ intentResolution(intent);
+ //intentReportResolution();
+ getSystemStatus();
+ //interactWithIntentOwner();
+ determineDetectionGoal();
+ return null;
+ }
+
+ //find similar intents in DB
+ void intentResolution(Intent intent) {
+
+ }
+
+ void intentReportResolution() {
+ }
+
+
+ //query the implementation of intent requirements in the system
+ void getSystemStatus() {
+ }
+
+
+ void interactWithIntentOwner() {
+ }
+
+
+ //Determine add, delete, modify according to theobject,target and context of the expectation
+ void determineDetectionGoal() {
+ }
+
+}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/controller/IntentController.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/controller/IntentController.java
index d1b4aac..ce51440 100644
--- a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/controller/IntentController.java
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/controller/IntentController.java
@@ -13,16 +13,20 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
package org.onap.usecaseui.intentanalysis.controller;
-import org.onap.usecaseui.intentanalysis.bean.models.Intent;
-import org.onap.usecaseui.intentanalysis.service.IntentService;
-import org.springframework.http.ResponseEntity;
+
+import java.util.List;
+
+import org.onap.usecaseui.intentanalysis.intentBaseService.IntentHandleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
+import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
+import org.onap.usecaseui.intentanalysis.bean.models.Intent;
+import org.onap.usecaseui.intentanalysis.service.IntentService;
-import java.util.List;
@RestController
@RequestMapping("/intents")
@@ -33,6 +37,9 @@ public class IntentController {
@Autowired
private IntentService intentService;
+ @Autowired
+ private IntentHandleService intentHandleService;
+
@GetMapping(produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<List<Intent>> getIntentList() {
return ResponseEntity.ok(intentService.getIntentList());
@@ -61,4 +68,9 @@ public class IntentController {
intentService.deleteIntentById(intentId);
}
+ @PostMapping(value="/handleIntent",produces = MediaType.APPLICATION_JSON_VALUE)
+ public void handleIntent(@RequestBody Intent intent) {
+ intentHandleService.handleOriginalIntent(intent);
+
+ }
}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/controller/IntentFunctionManageController.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/controller/IntentFunctionManageController.java
index 785a001..f36df23 100644
--- a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/controller/IntentFunctionManageController.java
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/controller/IntentFunctionManageController.java
@@ -18,7 +18,7 @@
package org.onap.usecaseui.intentanalysis.controller;
-import org.onap.usecaseui.intentanalysis.bean.models.IntentManagerRegInfo;
+import org.onap.usecaseui.intentanalysis.bean.models.IntentManagementFunctionRegInfo;
import org.onap.usecaseui.intentanalysis.intentBaseService.intentFunctionManageService.IntentFunctionManageService;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
@@ -34,7 +34,7 @@ public class IntentFunctionManageController {
IntentFunctionManageService intentFunctionManageService;
@PostMapping(produces = MediaType.APPLICATION_JSON_VALUE)
- public ResponseEntity createIntentManage(@RequestBody IntentManagerRegInfo intentManage) {
+ public ResponseEntity createIntentManage(@RequestBody IntentManagementFunctionRegInfo intentManage) {
return ResponseEntity.ok(intentFunctionManageService.createFunctionManage(intentManage));
}
@@ -45,12 +45,12 @@ public class IntentFunctionManageController {
@PutMapping(value = "/{intentId}", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity updateIntentManageById(
- @PathVariable(value = "id") String id, @RequestBody IntentManagerRegInfo intentManage) {
+ @PathVariable(value = "id") String id, @RequestBody IntentManagementFunctionRegInfo intentManage) {
return ResponseEntity.ok(intentFunctionManageService.updateIntentManageById(id, intentManage));
}
@GetMapping(value = "", produces = MediaType.APPLICATION_JSON_VALUE)
- public ResponseEntity<List<IntentManagerRegInfo>> getIntentManageByID() {
+ public ResponseEntity<List<IntentManagementFunctionRegInfo>> getIntentManageByID() {
return ResponseEntity.ok(intentFunctionManageService.getIntentManage());
}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentBaseService/IntentHandleService.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentBaseService/IntentHandleService.java
new file mode 100644
index 0000000..6144e97
--- /dev/null
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentBaseService/IntentHandleService.java
@@ -0,0 +1,58 @@
+/*
+ * Copyright (C) 2022 CMCC, Inc. and others. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.onap.usecaseui.intentanalysis.intentBaseService;
+
+import org.onap.usecaseui.intentanalysis.bean.models.Intent;
+import org.onap.usecaseui.intentanalysis.bean.models.IntentManagementFunctionRegInfo;
+import org.onap.usecaseui.intentanalysis.intentBaseService.intentProcessService.IntentProcessService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+
+@Service
+public class IntentHandleService {
+ @Autowired
+ private IntentProcessService processService;
+
+ /**
+ * Process the original intent and find the corresponding IntentManagementFunction
+ * @param intent
+ */
+ public void handleOriginalIntent(Intent intent){
+ IntentManagementFunction intentOwner = selectIntentManagementFunction(intent);
+ handleIntent(intent,intentOwner);
+ }
+
+ public void handleIntent(Intent intent, IntentManagementFunction intentOwner) {
+ processService.setIntentRole(intentOwner, null);
+ processService.intentProcess(intent);
+ }
+
+ public IntentManagementFunction selectIntentManagementFunction(Intent intent) {
+ //select the IntentManagementFunctionRegInfo Based on the IMFRegistry information.
+ //Only internalFunction support.
+ //and based on the IntentManagementFunctionRegInfo, get the right IntentManagementFunction bean.
+ //if no IntentManagementFunction selected, that means this intent is not supported by this system.
+ return null;
+ }
+
+ public IntentManagementFunctionRegInfo selectIntentManagementFunctionRegInfo(Intent intent) {
+ //select the IntentManagementFunctionRegInfo Based on the IMFRegistry information.
+ //Both internalFunction and externalFunction support.
+ //This is used to get he IntentManagementFunction for a subIntent decomposition.
+ return null;
+ }
+}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentBaseService/intentFunctionManageService/IntentFunctionManageService.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentBaseService/intentFunctionManageService/IntentFunctionManageService.java
index bccc416..8a1f918 100644
--- a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentBaseService/intentFunctionManageService/IntentFunctionManageService.java
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentBaseService/intentFunctionManageService/IntentFunctionManageService.java
@@ -15,17 +15,17 @@
*/
package org.onap.usecaseui.intentanalysis.intentBaseService.intentFunctionManageService;
-import org.onap.usecaseui.intentanalysis.bean.models.IntentManagerRegInfo;
+import org.onap.usecaseui.intentanalysis.bean.models.IntentManagementFunctionRegInfo;
import java.util.List;
public interface IntentFunctionManageService {
- int createFunctionManage(IntentManagerRegInfo intentManage) ;
+ int createFunctionManage(IntentManagementFunctionRegInfo intentManage) ;
int deleteFunctionManage(String id);
- int updateIntentManageById(String id, IntentManagerRegInfo intentManage);
+ int updateIntentManageById(String id, IntentManagementFunctionRegInfo intentManage);
- List<IntentManagerRegInfo> getIntentManage();
+ List<IntentManagementFunctionRegInfo> getIntentManage();
}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentBaseService/intentFunctionManageService/impl/IntentFunctionManageServiceImpl.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentBaseService/intentFunctionManageService/impl/IntentFunctionManageServiceImpl.java
index 71bf8fa..71a6914 100644
--- a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentBaseService/intentFunctionManageService/impl/IntentFunctionManageServiceImpl.java
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentBaseService/intentFunctionManageService/impl/IntentFunctionManageServiceImpl.java
@@ -15,8 +15,7 @@
*/
package org.onap.usecaseui.intentanalysis.intentBaseService.intentFunctionManageService.impl;
-import org.onap.usecaseui.intentanalysis.bean.models.Intent;
-import org.onap.usecaseui.intentanalysis.bean.models.IntentManagerRegInfo;
+import org.onap.usecaseui.intentanalysis.bean.models.IntentManagementFunctionRegInfo;
import org.onap.usecaseui.intentanalysis.intentBaseService.IntentManagementFunction;
import org.onap.usecaseui.intentanalysis.intentBaseService.intentFunctionManageService.IntentFunctionManageService;
import org.onap.usecaseui.intentanalysis.intentBaseService.intentModule.ActuationModule;
@@ -32,7 +31,7 @@ public class IntentFunctionManageServiceImpl implements IntentFunctionManageServ
@Autowired
private ApplicationContext applicationContext;
@Override
- public int createFunctionManage(IntentManagerRegInfo intentManage) {
+ public int createFunctionManage(IntentManagementFunctionRegInfo intentManage) {
return 0;
}
@@ -42,16 +41,16 @@ public class IntentFunctionManageServiceImpl implements IntentFunctionManageServ
}
@Override
- public int updateIntentManageById(String id, IntentManagerRegInfo intentManage) {
+ public int updateIntentManageById(String id, IntentManagementFunctionRegInfo intentManage) {
return 0;
}
@Override
- public List<IntentManagerRegInfo> getIntentManage() {
+ public List<IntentManagementFunctionRegInfo> getIntentManage() {
return null;
}
- public List<IntentManagementFunction> filterHandleFunction(IntentManagerRegInfo managementRegInfo) throws ClassNotFoundException, NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException {
+ public List<IntentManagementFunction> filterHandleFunction(IntentManagementFunctionRegInfo managementRegInfo) throws ClassNotFoundException, NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException {
String managetFunctionRegName =managementRegInfo.getHandleName();
IntentManagementFunction function =
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentBaseService/intentModule/KnowledgeModule.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentBaseService/intentModule/KnowledgeModule.java
index 2a0032a..4bb803b 100644
--- a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentBaseService/intentModule/KnowledgeModule.java
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentBaseService/intentModule/KnowledgeModule.java
@@ -15,10 +15,9 @@
*/
package org.onap.usecaseui.intentanalysis.intentBaseService.intentModule;
+import org.onap.usecaseui.intentanalysis.bean.models.Intent;
+
public interface KnowledgeModule {
- void intentResolution();
- void intentReportResolution();
- void getSystemStatus();
- void interactWithIntentOwner();
- //actuationModel & knownledgeModel interact
+ //Parse, decompose, orchestrate the original intent
+ Intent intentCognition(Intent intent);
}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentBaseService/intentProcessService/IntentDetectionService.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentBaseService/intentProcessService/IntentDetectionService.java
index 0232620..13ed2fd 100644
--- a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentBaseService/intentProcessService/IntentDetectionService.java
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentBaseService/intentProcessService/IntentDetectionService.java
@@ -15,6 +15,7 @@
*/
package org.onap.usecaseui.intentanalysis.intentBaseService.intentProcessService;
+import org.onap.usecaseui.intentanalysis.bean.models.Intent;
import org.onap.usecaseui.intentanalysis.intentBaseService.IntentManagementFunction;
import org.onap.usecaseui.intentanalysis.intentBaseService.intentModule.KnowledgeModule;
import org.springframework.stereotype.Service;
@@ -34,12 +35,9 @@ public class IntentDetectionService {
}
}
- public void detectionProcess() {
+ public Intent detectionProcess(Intent intent) {
KnowledgeModule ownerKnowledgeModule = intentOwner.getKnowledgeModule();
- ownerKnowledgeModule.intentResolution();
- ownerKnowledgeModule.intentReportResolution();
- ownerKnowledgeModule.getSystemStatus();
- ownerKnowledgeModule.interactWithIntentOwner();
+ return ownerKnowledgeModule.intentCognition(intent);
}
}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentBaseService/intentProcessService/IntentInvestigationService.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentBaseService/intentProcessService/IntentInvestigationService.java
index 2dc740a..8c39066 100644
--- a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentBaseService/intentProcessService/IntentInvestigationService.java
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentBaseService/intentProcessService/IntentInvestigationService.java
@@ -19,6 +19,8 @@ import org.onap.usecaseui.intentanalysis.intentBaseService.IntentManagementFunct
import org.onap.usecaseui.intentanalysis.intentBaseService.intentModule.DecisionModule;
import org.springframework.stereotype.Service;
+import java.util.List;
+
@Service
public class IntentInvestigationService {
private IntentManagementFunction intentHandler;
@@ -33,13 +35,14 @@ public class IntentInvestigationService {
}
}
- public void investigationProcess() {
+ public List<IntentManagementFunction> investigationProcess() {
DecisionModule intentDecisionModule = intentOwner.getDecisionModule();
intentDecisionModule.needDecompostion();
intentDecisionModule.intentDecomposition();
intentDecisionModule.intentOrchestration();
intentDecisionModule.decideSuitableAction();
intentDecisionModule.exploreIntentHandlers();//返回handler
+ return null;
}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentBaseService/intentProcessService/IntentProcessService.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentBaseService/intentProcessService/IntentProcessService.java
index aadbda0..5fa4b98 100644
--- a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentBaseService/intentProcessService/IntentProcessService.java
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentBaseService/intentProcessService/IntentProcessService.java
@@ -15,14 +15,17 @@
*/
package org.onap.usecaseui.intentanalysis.intentBaseService.intentProcessService;
+import org.onap.usecaseui.intentanalysis.bean.models.Intent;
import org.onap.usecaseui.intentanalysis.intentBaseService.IntentManagementFunction;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.util.List;
+
@Service
public class IntentProcessService {
@Autowired
- IntentDetectionService intentDetectionServiceImpl;
+ IntentDetectionService intentDetectionService;
@Autowired
IntentInvestigationService intentInvestigationService;
@Autowired
@@ -44,25 +47,28 @@ public class IntentProcessService {
this.intentHandler= intentHandler;
}
}
- public void intentProcess() {
- intentDetectionServiceImpl.setIntentRole(intentOwner,intentHandler);
- intentDetectionServiceImpl.detectionProcess();
+ public void intentProcess(Intent intent) {
+ intentDetectionService.setIntentRole(intentOwner,intentHandler);
+ Intent detectIntent = intentDetectionService.detectionProcess(intent);
//investigation process
intentInvestigationService.setIntentRole(intentOwner,intentHandler);
- intentInvestigationService.investigationProcess();//List<handler>?
+ List<IntentManagementFunction> intentManagementFunctions =
+ intentInvestigationService.investigationProcess();//List<handler>?
- //definition process
- intentDefinitionService.setIntentRole(intentOwner,intentHandler);
- intentDefinitionService.definitionPorcess();
+ for (IntentManagementFunction intentHandler : intentManagementFunctions) {
+ //definition process
+ intentDefinitionService.setIntentRole(intentOwner,intentHandler);
+ intentDefinitionService.definitionPorcess();
- //distribution process
- intentDistributionService.setIntentRole(intentOwner,intentHandler);
- intentDistributionService.distributionProcess();
+ //distribution process
+ intentDistributionService.setIntentRole(intentOwner,intentHandler);
+ intentDistributionService.distributionProcess();
- //operation process
- intentOperationService.setIntentRole(intentOwner,intentHandler);
- intentOperationService.operationProcess();
+ //operation process
+ intentOperationService.setIntentRole(intentOwner,intentHandler);
+ intentOperationService.operationProcess();
+ }
}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/mapper/ContextMapper.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/mapper/ContextMapper.java
new file mode 100644
index 0000000..4e5acea
--- /dev/null
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/mapper/ContextMapper.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright 2022 Huawei Technologies Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.onap.usecaseui.intentanalysis.mapper;
+
+
+import java.util.List;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.onap.usecaseui.intentanalysis.bean.enums.ContextParentType;
+import org.onap.usecaseui.intentanalysis.bean.models.Context;
+
+
+@Mapper
+public interface ContextMapper {
+
+ void insertContextList(@Param(value = "contextList") List<Context> contextList);
+
+ void insertContextParentList(@Param(value = "contextList") List<Context> contextList,
+ @Param(value = "parentType") ContextParentType contextParentType,
+ @Param(value = "parentId") String parentId);
+
+ List<Context> selectContextByParentId(String parentId);
+}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/mapper/ExpectationMapper.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/mapper/ExpectationMapper.java
index 9e910b5..8f8eea1 100644
--- a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/mapper/ExpectationMapper.java
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/mapper/ExpectationMapper.java
@@ -13,25 +13,30 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
package org.onap.usecaseui.intentanalysis.mapper;
+
+import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.onap.usecaseui.intentanalysis.bean.models.Expectation;
-import java.util.List;
+
@Mapper
public interface ExpectationMapper {
- int insertExpectationList(@Param(value = "expectationList") List<Expectation> expectationList, @Param(value = "intentId") String intentId);
+ int insertIntentExpectations(@Param(value = "intentExpectations") List<Expectation> intentExpectations,
+ @Param(value = "intentId") String intentId);
- List<Expectation> selectExpectationByIntentId(String intentId);
+ int insertIntentExpectation(@Param(value = "expectation") Expectation expectation,
+ @Param(value = "intentId") String intentId);
- int deleteExpectationByIntentId(String intentId);
+ int deleteIntentExpectationsByIntentId(String intentId);
- int updateExpectation(Expectation expectation);
+ int updateIntentExpectation(Expectation expectation);
- int insertExpectation(@Param(value = "expectation") Expectation expectation, @Param(value = "intentId") String intentId);
+ int deleteIntentExpectationById(String expectationId);
- int deleteExpectationById(String expectationId);
+ List<Expectation> selectIntentExpectationsByIntentId(String intentId);
}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/mapper/ExpectationObjectMapper.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/mapper/ExpectationObjectMapper.java
new file mode 100644
index 0000000..5b5a70f
--- /dev/null
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/mapper/ExpectationObjectMapper.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright 2022 Huawei Technologies Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.onap.usecaseui.intentanalysis.mapper;
+
+
+import java.util.List;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.onap.usecaseui.intentanalysis.bean.enums.ObjectType;
+import org.onap.usecaseui.intentanalysis.bean.models.ExpectationObject;
+
+
+@Mapper
+public interface ExpectationObjectMapper {
+
+ void insertExpectationObject(@Param(value = "expectationObject") ExpectationObject expectationObject,
+ @Param(value = "expectationId") String expectationId);
+}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/mapper/ExpectationTargetMapper.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/mapper/ExpectationTargetMapper.java
new file mode 100644
index 0000000..945795e
--- /dev/null
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/mapper/ExpectationTargetMapper.java
@@ -0,0 +1,31 @@
+/*
+ * Copyright 2022 Huawei Technologies Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.onap.usecaseui.intentanalysis.mapper;
+
+
+import java.util.List;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.onap.usecaseui.intentanalysis.bean.models.ExpectationTarget;
+
+
+@Mapper
+public interface ExpectationTargetMapper {
+
+ void insertExpectationTarget(@Param(value = "expectationTarget") ExpectationTarget expectationTarget,
+ @Param(value = "expectationId") String expectationId);
+}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/mapper/FulfilmentInfoMapper.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/mapper/FulfilmentInfoMapper.java
new file mode 100644
index 0000000..2b7cd9a
--- /dev/null
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/mapper/FulfilmentInfoMapper.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright 2022 Huawei Technologies Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.onap.usecaseui.intentanalysis.mapper;
+
+
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.onap.usecaseui.intentanalysis.bean.models.FulfilmentInfo;
+
+
+@Mapper
+public interface FulfilmentInfoMapper {
+
+ void insertFulfilmentInfo(@Param(value = "fulfilmentInfo") FulfilmentInfo fulfilmentInfo,
+ @Param(value = "parentId") String parentId);
+
+ FulfilmentInfo selectFulfilmentInfoById(String parentId);
+}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/mapper/IntentMapper.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/mapper/IntentMapper.java
index 7cf69a0..44e2a01 100644
--- a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/mapper/IntentMapper.java
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/mapper/IntentMapper.java
@@ -16,10 +16,11 @@
package org.onap.usecaseui.intentanalysis.mapper;
+
+import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.onap.usecaseui.intentanalysis.bean.models.Intent;
-import java.util.List;
@Mapper
public interface IntentMapper {
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/mapper/StateMapper.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/mapper/StateMapper.java
index ad7d3a1..ce261a1 100644
--- a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/mapper/StateMapper.java
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/mapper/StateMapper.java
@@ -16,16 +16,20 @@
package org.onap.usecaseui.intentanalysis.mapper;
+
+import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.onap.usecaseui.intentanalysis.bean.models.Expectation;
import org.onap.usecaseui.intentanalysis.bean.models.State;
-import java.util.List;
+
@Mapper
+
public interface StateMapper {
- int insertStateList(@Param(value = "stateList") List<State> state, @Param(value = "expectationId") String expectationId);
+ int insertStateList(@Param(value = "stateList") List<State> state,
+ @Param(value = "expectationId") String expectationId);
List<State> selectStateByExpectation(String expectationId);
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/ContextService.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/ContextService.java
new file mode 100644
index 0000000..2cabbf6
--- /dev/null
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/ContextService.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright 2022 Huawei Technologies Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.onap.usecaseui.intentanalysis.service;
+
+
+import java.util.List;
+import org.onap.usecaseui.intentanalysis.bean.enums.ContextParentType;
+import org.onap.usecaseui.intentanalysis.bean.models.Context;
+
+
+public interface ContextService {
+
+ void createContextList(List<Context> contextList, ContextParentType contextParentType, String parentId);
+
+ void insertContext(Context context, String parentId);
+
+ void deleteContextListByParentId(String parentId);
+
+ void deleteContextById(String contextId);
+
+ void updateContextListByParentId(List<Context> contextList, String parentId);
+
+ List<Context> getContextListByParentId(String parentId);
+}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/ExpectationObjectService.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/ExpectationObjectService.java
new file mode 100644
index 0000000..a5e2462
--- /dev/null
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/ExpectationObjectService.java
@@ -0,0 +1,26 @@
+/*
+ * Copyright 2022 Huawei Technologies Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.onap.usecaseui.intentanalysis.service;
+
+
+import org.onap.usecaseui.intentanalysis.bean.models.ExpectationObject;
+
+
+public interface ExpectationObjectService {
+
+ void createObject(ExpectationObject expectationObject, String expectationId);
+}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/ExpectationService.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/ExpectationService.java
index ba51de1..baee400 100644
--- a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/ExpectationService.java
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/ExpectationService.java
@@ -17,21 +17,21 @@
package org.onap.usecaseui.intentanalysis.service;
+import java.util.List;
import org.onap.usecaseui.intentanalysis.bean.models.Expectation;
-import java.util.List;
public interface ExpectationService {
- void createExpectationList(List<Expectation> expectationList, String intentId);
+ void createIntentExpectations(List<Expectation> intentExpectations, String intentId);
- void deleteExpectationListById(String intentId);
+ void insertIntentExpectation(Expectation expectation, String intentId);
- void updateExpectationListById(List<Expectation> expectationList, String intentId);
+ void deleteIntentExpectationsByIntentId(String intentId);
- List<Expectation> getExpectationListByIntentId(String intentId);
+ void deleteIntentExpectationById(String expectationId);
- void insertExpectation(Expectation expectation, String intentId);
+ void updateIntentExpectationsByIntentId(List<Expectation> intentExpectations, String intentId);
- void deleteExpectationById(String expectationId);
+ List<Expectation> getIntentExpectationsByIntentId(String intentId);
}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/ExpectationTargetService.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/ExpectationTargetService.java
new file mode 100644
index 0000000..255e4c5
--- /dev/null
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/ExpectationTargetService.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2022 Huawei Technologies Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.onap.usecaseui.intentanalysis.service;
+
+
+import java.util.List;
+import org.onap.usecaseui.intentanalysis.bean.models.ExpectationTarget;
+
+
+public interface ExpectationTargetService {
+
+ void createTarget(ExpectationTarget expectationTarget, String expectationId);
+
+ void createTargets(List<ExpectationTarget> expectationTargets, String expectationId);
+}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/FulfilmentInfoService.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/FulfilmentInfoService.java
new file mode 100644
index 0000000..4572a2f
--- /dev/null
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/FulfilmentInfoService.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright 2022 Huawei Technologies Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.onap.usecaseui.intentanalysis.service;
+
+import org.onap.usecaseui.intentanalysis.bean.models.FulfilmentInfo;
+
+public interface FulfilmentInfoService {
+
+ void createFulfilmentInfo(FulfilmentInfo fulfilmentInfo, String parentId);
+
+ void deleteFulfilmentInfoByParentId(String parentId);
+
+ void updateFulfilmentInfoByParentId(FulfilmentInfo fulfilmentInfo, String parentId);
+
+ FulfilmentInfo getFulfilmentInfoByParentId(String parentId);
+}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/IntentService.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/IntentService.java
index 36615ab..c177caa 100644
--- a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/IntentService.java
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/IntentService.java
@@ -16,9 +16,10 @@
package org.onap.usecaseui.intentanalysis.service;
-import org.onap.usecaseui.intentanalysis.bean.models.Intent;
import java.util.List;
+import org.onap.usecaseui.intentanalysis.bean.models.Intent;
+
public interface IntentService {
List<Intent> getIntentList();
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/StateService.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/StateService.java
index 6ee82d6..fd34c77 100644
--- a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/StateService.java
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/StateService.java
@@ -16,9 +16,10 @@
package org.onap.usecaseui.intentanalysis.service;
-import org.onap.usecaseui.intentanalysis.bean.models.State;
import java.util.List;
+import org.onap.usecaseui.intentanalysis.bean.models.State;
+
public interface StateService {
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/impl/ContextServiceImpl.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/impl/ContextServiceImpl.java
new file mode 100644
index 0000000..ff2b7da
--- /dev/null
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/impl/ContextServiceImpl.java
@@ -0,0 +1,69 @@
+/*
+ * Copyright 2022 Huawei Technologies Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.onap.usecaseui.intentanalysis.service.impl;
+
+
+import java.util.ArrayList;
+import java.util.List;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Service;
+import org.onap.usecaseui.intentanalysis.bean.enums.ContextParentType;
+import org.onap.usecaseui.intentanalysis.bean.models.Context;
+import org.onap.usecaseui.intentanalysis.mapper.ContextMapper;
+import org.onap.usecaseui.intentanalysis.service.ContextService;
+import org.springframework.beans.factory.annotation.Autowired;
+
+
+@Service
+public class ContextServiceImpl implements ContextService {
+
+ private static Logger LOGGER = LoggerFactory.getLogger(ContextServiceImpl.class);
+
+ @Autowired
+ private ContextMapper contextMapper;
+
+ @Autowired
+ private ContextService contextService;
+
+ @Override
+ public void createContextList(List<Context> contextList, ContextParentType contextParentType, String parentId) {
+ contextMapper.insertContextList(contextList);
+ contextMapper.insertContextParentList(contextList, contextParentType, parentId);
+ }
+
+ @Override
+ public void insertContext(Context context, String parentId) {
+ }
+
+ @Override
+ public void deleteContextListByParentId(String parentId) {
+ }
+
+ @Override
+ public void deleteContextById(String contextId) {
+ }
+
+ @Override
+ public void updateContextListByParentId(List<Context> contextList, String parentId) {
+ }
+
+ @Override
+ public List<Context> getContextListByParentId(String parentId) {
+ return contextMapper.selectContextByParentId(parentId);
+ }
+}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/impl/ExpectationObjectServiceImpl.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/impl/ExpectationObjectServiceImpl.java
new file mode 100644
index 0000000..32ae35c
--- /dev/null
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/impl/ExpectationObjectServiceImpl.java
@@ -0,0 +1,56 @@
+/*
+ * Copyright 2022 Huawei Technologies Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.onap.usecaseui.intentanalysis.service.impl;
+
+
+import java.util.ArrayList;
+import java.util.List;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.onap.usecaseui.intentanalysis.bean.enums.ContextParentType;
+import org.onap.usecaseui.intentanalysis.bean.enums.ObjectType;
+import org.onap.usecaseui.intentanalysis.bean.models.ExpectationObject;
+import org.onap.usecaseui.intentanalysis.mapper.ExpectationObjectMapper;
+import org.onap.usecaseui.intentanalysis.service.ContextService;
+import org.onap.usecaseui.intentanalysis.service.ExpectationObjectService;
+
+
+@Service
+public class ExpectationObjectServiceImpl implements ExpectationObjectService {
+
+ private static Logger LOGGER = LoggerFactory.getLogger(ExpectationObjectServiceImpl.class);
+
+ private ContextParentType contextParentType;
+
+ @Autowired
+ private ExpectationObjectMapper expectationObjectMapper;
+
+ @Autowired
+ private ExpectationObjectService expectationObjectService;
+
+ @Autowired
+ private ContextService contextService;
+
+ @Override
+ public void createObject(ExpectationObject expectationObject, String expectationId) {
+ expectationObjectMapper.insertExpectationObject(expectationObject, expectationId);
+ contextService.createContextList(expectationObject.getObjectContexts(),
+ contextParentType.EXPECTATION_OBJECT, expectationId);
+ }
+}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/impl/ExpectationServiceImpl.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/impl/ExpectationServiceImpl.java
index b8f6c3e..5fb7128 100644
--- a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/impl/ExpectationServiceImpl.java
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/impl/ExpectationServiceImpl.java
@@ -17,21 +17,24 @@
package org.onap.usecaseui.intentanalysis.service.impl;
+import java.util.ArrayList;
+import java.util.List;
import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.onap.usecaseui.intentanalysis.bean.enums.ContextParentType;
import org.onap.usecaseui.intentanalysis.bean.models.Expectation;
-import org.onap.usecaseui.intentanalysis.bean.models.State;
+import org.onap.usecaseui.intentanalysis.bean.models.ExpectationTarget;
+import org.onap.usecaseui.intentanalysis.common.ResponseConsts;
import org.onap.usecaseui.intentanalysis.exception.DataBaseException;
import org.onap.usecaseui.intentanalysis.mapper.ExpectationMapper;
+import org.onap.usecaseui.intentanalysis.service.ContextService;
import org.onap.usecaseui.intentanalysis.service.ExpectationService;
-import org.onap.usecaseui.intentanalysis.service.StateService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.onap.usecaseui.intentanalysis.common.ResponseConsts;
+import org.onap.usecaseui.intentanalysis.service.ExpectationObjectService;
+import org.onap.usecaseui.intentanalysis.service.ExpectationTargetService;
+import org.onap.usecaseui.intentanalysis.service.FulfilmentInfoService;
-import java.util.ArrayList;
-import java.util.List;
-
@Service
@Slf4j
public class ExpectationServiceImpl implements ExpectationService {
@@ -40,19 +43,38 @@ public class ExpectationServiceImpl implements ExpectationService {
private ExpectationMapper expectationMapper;
@Autowired
- private StateService stateService;
+ private ExpectationService expectationService;
@Autowired
- private ExpectationService expectationService;
+ private ExpectationObjectService expectationObjectService;
+
+ @Autowired
+ private ExpectationTargetService expectationTargetService;
+
+ @Autowired
+ private ContextService contextService;
+
+ @Autowired
+ private FulfilmentInfoService fulfilmentInfoService;
+
+ private ContextParentType contextParentType;
@Override
- public void createExpectationList(List<Expectation> expectationList, String intentId) {
- for (Expectation expectation : expectationList) {
+ public void createIntentExpectations(List<Expectation> intentExpectations, String intentId) {
+ for (Expectation expectation : intentExpectations) {
if (null != expectation) {
- stateService.createStateList(expectation.getStateList(), expectation.getExpectationId());
+ expectationObjectService.createObject(expectation.getExpectationObject(),
+ expectation.getExpectationId());
+ expectationTargetService.createTargets(expectation.getExpectationTargets(),
+ expectation.getExpectationId());
+ contextService.createContextList(expectation.getExpectationContexts(),
+ contextParentType.EXPECTATION,
+ expectation.getExpectationId());
+ fulfilmentInfoService.createFulfilmentInfo(expectation.getExpectationFulfilmentInfo(),
+ expectation.getExpectationId());
}
}
- int res = expectationMapper.insertExpectationList(expectationList, intentId);
+ int res = expectationMapper.insertIntentExpectations(intentExpectations, intentId);
if (res < 1) {
String msg = "Create expectation to database failed.";
log.error(msg);
@@ -61,42 +83,35 @@ public class ExpectationServiceImpl implements ExpectationService {
}
@Override
- public List<Expectation> getExpectationListByIntentId(String intentId) {
- List<Expectation> expectationList = expectationMapper.selectExpectationByIntentId(intentId);
- if (expectationList == null) {
- String msg = String.format("Intent id %s doesn't exist in database.", intentId);
+ public void insertIntentExpectation(Expectation expectation, String intentId) {
+ int res = expectationMapper.insertIntentExpectation(expectation, intentId);
+ if (res < 1) {
+ String msg = "Create expectation to database failed.";
log.error(msg);
- throw new DataBaseException(msg, ResponseConsts.RET_QUERY_DATA_EMPTY);
- }
- for (Expectation expectation : expectationList) {
- List<State> stateList = stateService.getStateListByExpectationId(expectation.getExpectationId());
- expectation.setStateList(stateList);
+ throw new DataBaseException(msg, ResponseConsts.RET_INSERT_DATA_FAIL);
}
- return expectationList;
}
@Override
- public void deleteExpectationListById(String intentId) {
- List<Expectation> expectationList = expectationMapper.selectExpectationByIntentId(intentId);
+ public List<Expectation> getIntentExpectationsByIntentId(String intentId) {
+ List<Expectation> expectationList = expectationMapper.selectIntentExpectationsByIntentId(intentId);
if (expectationList == null) {
String msg = String.format("Intent id %s doesn't exist in database.", intentId);
log.error(msg);
throw new DataBaseException(msg, ResponseConsts.RET_QUERY_DATA_EMPTY);
}
- int res = expectationMapper.deleteExpectationByIntentId(intentId);
+ int res = expectationMapper.deleteIntentExpectationsByIntentId(intentId);
if (res < 1) {
String msg = "Delete expectation in database failed.";
log.error(msg);
throw new DataBaseException(msg, ResponseConsts.RET_DELETE_DATA_FAIL);
}
- for (Expectation expectation : expectationList) {
- stateService.deleteStateListByExpectationId(expectation.getExpectationId());
- }
+ return expectationList;
}
@Override
- public void updateExpectationListById(List<Expectation> expectationList, String intentId) {
- List<Expectation> expectationDBList = expectationMapper.selectExpectationByIntentId(intentId);
+ public void updateIntentExpectationsByIntentId(List<Expectation> intentExpectations, String intentId) {
+ List<Expectation> expectationDBList = expectationMapper.selectIntentExpectationsByIntentId(intentId);
if (expectationDBList == null) {
String msg = String.format("Intent id %s doesn't exist in database.", intentId);
log.error(msg);
@@ -107,10 +122,9 @@ public class ExpectationServiceImpl implements ExpectationService {
expectationDBIdList.add(expectationDB.getExpectationId());
}
- for (Expectation expectation : expectationList) {
+ for (Expectation expectation : intentExpectations) {
if (expectationDBIdList.contains(expectation.getExpectationId())) {
- stateService.updateStateListByExpectationId(expectation.getStateList(), expectation.getExpectationId());
- int res = expectationMapper.updateExpectation(expectation);
+ int res = expectationMapper.updateIntentExpectation(expectation);
if (res < 1) {
String msg = "Update expectation in database failed.";
log.error(msg);
@@ -118,28 +132,34 @@ public class ExpectationServiceImpl implements ExpectationService {
}
expectationDBIdList.remove(expectation.getExpectationId());
} else {
- expectationService.insertExpectation(expectation, intentId);
+ expectationService.insertIntentExpectation(expectation, intentId);
}
}
for (String expectationDBId : expectationDBIdList) {
- expectationService.deleteExpectationById(expectationDBId);
+ expectationService.deleteIntentExpectationById(expectationDBId);
}
log.info("Expectations are successfully updated.");
}
@Override
- public void insertExpectation(Expectation expectation, String intentId) {
- int res = expectationMapper.insertExpectation(expectation, intentId);
+ public void deleteIntentExpectationById(String expectationId) {
+ int res = expectationMapper.deleteIntentExpectationById(expectationId);
if (res < 1) {
- String msg = "Create expectation to database failed.";
+ String msg = "Delete expectation in database failed.";
log.error(msg);
- throw new DataBaseException(msg, ResponseConsts.RET_INSERT_DATA_FAIL);
+ throw new DataBaseException(msg, ResponseConsts.RET_DELETE_DATA_FAIL);
}
}
@Override
- public void deleteExpectationById(String expectationId) {
- int res = expectationMapper.deleteExpectationById(expectationId);
+ public void deleteIntentExpectationsByIntentId(String intentId) {
+ List<Expectation> expectationList = expectationMapper.selectIntentExpectationsByIntentId(intentId);
+ if (expectationList == null) {
+ String msg = String.format("Intent id %s doesn't exist in database.", intentId);
+ log.error(msg);
+ throw new DataBaseException(msg, ResponseConsts.RET_QUERY_DATA_EMPTY);
+ }
+ int res = expectationMapper.deleteIntentExpectationsByIntentId(intentId);
if (res < 1) {
String msg = "Delete expectation in database failed.";
log.error(msg);
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/impl/ExpectationTargetServiceImpl.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/impl/ExpectationTargetServiceImpl.java
new file mode 100644
index 0000000..f45ef30
--- /dev/null
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/impl/ExpectationTargetServiceImpl.java
@@ -0,0 +1,71 @@
+/*
+ * Copyright 2022 Huawei Technologies Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.onap.usecaseui.intentanalysis.service.impl;
+
+
+import java.util.ArrayList;
+import java.util.List;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.onap.usecaseui.intentanalysis.bean.enums.ContextParentType;
+import org.onap.usecaseui.intentanalysis.bean.models.ExpectationTarget;
+import org.onap.usecaseui.intentanalysis.mapper.ExpectationTargetMapper;
+import org.onap.usecaseui.intentanalysis.service.ContextService;
+import org.onap.usecaseui.intentanalysis.service.ExpectationTargetService;
+import org.onap.usecaseui.intentanalysis.service.FulfilmentInfoService;
+
+
+@Service
+public class ExpectationTargetServiceImpl implements ExpectationTargetService {
+
+ private static Logger LOGGER = LoggerFactory.getLogger(ExpectationTargetServiceImpl.class);
+
+ private ContextParentType contextParentType;
+
+ @Autowired
+ private ExpectationTargetMapper expectationTargetMapper;
+
+ @Autowired
+ private ExpectationTargetService expectationTargetService;
+
+ @Autowired
+ private FulfilmentInfoService fulfilmentInfoService;
+
+ @Autowired
+ private ContextService contextService;
+
+ @Override
+ public void createTarget(ExpectationTarget expectationTarget, String expectationId) {
+ expectationTargetMapper.insertExpectationTarget(expectationTarget, expectationId);
+ contextService.createContextList(expectationTarget.getTargetContexts(),
+ contextParentType.EXPECTATION_TARGET,
+ expectationTarget.getTargetId());
+ fulfilmentInfoService.createFulfilmentInfo(expectationTarget.getTargetFulfilmentInfo(),
+ expectationTarget.getTargetId());
+ }
+
+ @Override
+ public void createTargets(List<ExpectationTarget> expectationTargets, String expectationId) {
+ for (ExpectationTarget expectationTarget : expectationTargets) {
+ if (null != expectationTarget) {
+ expectationTargetService.createTarget(expectationTarget, expectationId);
+ }
+ }
+ }
+}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/impl/FulfilmentInfoServiceImpl.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/impl/FulfilmentInfoServiceImpl.java
new file mode 100644
index 0000000..3f7947d
--- /dev/null
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/impl/FulfilmentInfoServiceImpl.java
@@ -0,0 +1,57 @@
+/*
+ * Copyright 2022 Huawei Technologies Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.onap.usecaseui.intentanalysis.service.impl;
+
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.onap.usecaseui.intentanalysis.bean.models.FulfilmentInfo;
+import org.onap.usecaseui.intentanalysis.mapper.FulfilmentInfoMapper;
+import org.onap.usecaseui.intentanalysis.service.FulfilmentInfoService;
+
+
+@Service
+public class FulfilmentInfoServiceImpl implements FulfilmentInfoService {
+
+ private static Logger LOGGER = LoggerFactory.getLogger(FulfilmentInfoServiceImpl.class);
+
+ @Autowired
+ private FulfilmentInfoMapper fulfilmentInfoMapper;
+
+ @Autowired
+ private FulfilmentInfoService fulfilmentInfoService;
+
+ @Override
+ public void createFulfilmentInfo(FulfilmentInfo fulfilmentInfo, String parentId) {
+ fulfilmentInfoMapper.insertFulfilmentInfo(fulfilmentInfo, parentId);
+ }
+
+ @Override
+ public void deleteFulfilmentInfoByParentId(String parentId) {
+ }
+
+ @Override
+ public void updateFulfilmentInfoByParentId(FulfilmentInfo fulfilmentInfo, String parentId) {
+ }
+
+ @Override
+ public FulfilmentInfo getFulfilmentInfoByParentId(String parentId) {
+ return fulfilmentInfoMapper.selectFulfilmentInfoById(parentId);
+ }
+}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/impl/IntentServiceImpl.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/impl/IntentServiceImpl.java
index 2564c2a..f4e49d8 100644
--- a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/impl/IntentServiceImpl.java
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/impl/IntentServiceImpl.java
@@ -17,19 +17,22 @@
package org.onap.usecaseui.intentanalysis.service.impl;
+import java.util.ArrayList;
+import java.util.List;
import lombok.extern.slf4j.Slf4j;
-import org.onap.usecaseui.intentanalysis.bean.models.Intent;
-import org.onap.usecaseui.intentanalysis.mapper.IntentMapper;
-import org.onap.usecaseui.intentanalysis.service.ExpectationService;
-import org.onap.usecaseui.intentanalysis.service.IntentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-import org.onap.usecaseui.intentanalysis.exception.DataBaseException;
+import org.onap.usecaseui.intentanalysis.bean.enums.ContextParentType;
+import org.onap.usecaseui.intentanalysis.bean.models.Intent;
import org.onap.usecaseui.intentanalysis.common.ResponseConsts;
+import org.onap.usecaseui.intentanalysis.exception.DataBaseException;
+import org.onap.usecaseui.intentanalysis.mapper.IntentMapper;
+import org.onap.usecaseui.intentanalysis.service.ContextService;
+import org.onap.usecaseui.intentanalysis.service.ExpectationService;
+import org.onap.usecaseui.intentanalysis.service.FulfilmentInfoService;
+import org.onap.usecaseui.intentanalysis.service.IntentService;
-import java.util.ArrayList;
-import java.util.List;
@Service
@Slf4j
@@ -41,6 +44,30 @@ public class IntentServiceImpl implements IntentService {
@Autowired
private ExpectationService expectationService;
+ @Autowired
+ private ContextService contextService;
+
+ private ContextParentType contextParentType;
+
+ @Autowired
+ private FulfilmentInfoService fulfilmentInfoService;
+
+ @Transactional(rollbackFor = RuntimeException.class)
+ @Override
+ public Intent createIntent(Intent intent) {
+ int res = intentMapper.insertIntent(intent);
+ if (res < 1) {
+ String msg = "Create intent to database failed.";
+ log.error(msg);
+ throw new DataBaseException(msg, ResponseConsts.RET_INSERT_DATA_FAIL);
+ }
+ expectationService.createIntentExpectations(intent.getIntentExpectations(), intent.getIntentId());
+ contextService.createContextList(intent.getIntentContexts(), contextParentType.INTENT, intent.getIntentId());
+ fulfilmentInfoService.createFulfilmentInfo(intent.getIntentFulfilmentInfo(), intent.getIntentId());
+ log.debug("Intent was successfully created.");
+ return intent;
+ }
+
@Override
public List<Intent> getIntentList() {
List<Intent> intentList = intentMapper.selectIntents();
@@ -50,7 +77,7 @@ public class IntentServiceImpl implements IntentService {
throw new DataBaseException(msg, ResponseConsts.RET_QUERY_DATA_EMPTY);
}
for (Intent intent : intentList) {
- intent.setExpectationList(expectationService.getExpectationListByIntentId(intent.getIntentId()));
+ intent.setIntentExpectations(expectationService.getIntentExpectationsByIntentId(intent.getIntentId()));
}
return intentList;
}
@@ -59,7 +86,7 @@ public class IntentServiceImpl implements IntentService {
public Intent getIntentById(String intentId) {
Intent intent = intentMapper.selectIntentById(intentId);
if (intent != null) {
- intent.setExpectationList(expectationService.getExpectationListByIntentId(intent.getIntentId()));
+ intent.setIntentExpectations(expectationService.getIntentExpectationsByIntentId(intent.getIntentId()));
return intent;
} else {
String msg = String.format("Intent id %s doesn't exist in database.", intentId);
@@ -68,21 +95,6 @@ public class IntentServiceImpl implements IntentService {
}
}
- @Transactional(rollbackFor = RuntimeException.class)
- @Override
- public Intent createIntent(Intent intent) {
- int res = intentMapper.insertIntent(intent);
- if (res < 1) {
- String msg = "Create intent to database failed.";
- log.error(msg);
- throw new DataBaseException(msg, ResponseConsts.RET_INSERT_DATA_FAIL);
- }
- // saving expectation list into expectation table
- expectationService.createExpectationList(intent.getExpectationList(), intent.getIntentId());
- log.debug("Intent was successfully created.");
- return intent;
- }
-
@Override
public Intent updateIntent(Intent intent) {
Intent intentDB = intentMapper.selectIntentById(intent.getIntentId());
@@ -91,7 +103,7 @@ public class IntentServiceImpl implements IntentService {
log.error(msg);
throw new DataBaseException(msg, ResponseConsts.RET_QUERY_DATA_EMPTY);
}
- expectationService.updateExpectationListById(intent.getExpectationList(), intent.getIntentId());
+ expectationService.updateIntentExpectationsByIntentId(intent.getIntentExpectations(), intent.getIntentId());
int res = intentMapper.updateIntent(intent);
if (res < 1) {
String msg = "Update intent in database failed.";
@@ -110,7 +122,7 @@ public class IntentServiceImpl implements IntentService {
log.error(msg);
throw new DataBaseException(msg, ResponseConsts.RET_DELETE_DATA_FAIL);
}
- expectationService.deleteExpectationListById(intentId);
+ expectationService.deleteIntentExpectationsByIntentId(intentId);
log.debug("Intent has been deleted successfully.");
}
}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/impl/StateServiceImpl.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/impl/StateServiceImpl.java
index 5a748d9..11b31a5 100644
--- a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/impl/StateServiceImpl.java
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/impl/StateServiceImpl.java
@@ -23,11 +23,11 @@ import org.onap.usecaseui.intentanalysis.common.ResponseConsts;
import org.onap.usecaseui.intentanalysis.exception.DataBaseException;
import org.onap.usecaseui.intentanalysis.mapper.StateMapper;
import org.onap.usecaseui.intentanalysis.service.StateService;
+import java.util.ArrayList;
+import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import java.util.ArrayList;
-import java.util.List;
@Service
@Slf4j
diff --git a/intentanalysis/src/main/resources/application.yaml b/intentanalysis/src/main/resources/application.yaml
index 22f59a5..39b8e02 100644
--- a/intentanalysis/src/main/resources/application.yaml
+++ b/intentanalysis/src/main/resources/application.yaml
@@ -8,9 +8,7 @@ spring:
username: ${POSTGRES_USERNAME}
password: ${POSTGRES_PASSWORD}
driver-class-name: org.postgresql.Driver
- schema: classpath:intent-analysis-init.sql
- initialization-mode: always
mybatis:
configuration:
database-id: PostgreSQL
- mapper-locations: classpath*:mybatis/sql/*.xml \ No newline at end of file
+ mapper-locations: classpath*:mybatis/sql/*.xml
diff --git a/intentanalysis/src/main/resources/intent-analysis-init.sql b/intentanalysis/src/main/resources/intent-analysis-init.sql
index 64074fa..3e34576 100644
--- a/intentanalysis/src/main/resources/intent-analysis-init.sql
+++ b/intentanalysis/src/main/resources/intent-analysis-init.sql
@@ -6,10 +6,43 @@ create table if not exists intent(
create table if not exists expectation(
expectation_id varchar(255) primary key,
expectation_name varchar(255),
- target_moi varchar(255),
+ expectation_type varchar(255),
intent_id varchar(255)
);
+create table if not exists expectation_object(
+ expectation_id varchar(255) primary key,
+ object_type varchar(255),
+ object_instance varchar(255)
+);
+
+create table if not exists expectation_target(
+ target_id varchar(255) primary key,
+ target_name varchar(255),
+ target_condition varchar(255),
+ expectation_id varchar(255)
+);
+
+create table if not exists context(
+ context_id varchar(255) primary key,
+ context_name varchar(255),
+ context_type varchar(255),
+ context_condition varchar(255)
+);
+
+create table if not exists context_mapping(
+ context_id varchar(255) primary key,
+ parent_type varchar(255),
+ parent_id varchar(255)
+);
+
+create table if not exists fulfilment_info(
+ fulfilment_info_id varchar(255) primary key,
+ fulfilment_info_status varchar(255),
+ not_fulfilled_state varchar(255),
+ not_fulfilled_reason varchar(255)
+);
+
create table if not exists state(
state_id varchar(255) primary key,
state_name varchar(255),
@@ -17,4 +50,3 @@ create table if not exists state(
condition varchar(255),
expectation_id varchar(255)
);
-
diff --git a/intentanalysis/src/main/resources/mybatis/sql/ContextMapper.xml b/intentanalysis/src/main/resources/mybatis/sql/ContextMapper.xml
new file mode 100644
index 0000000..450721d
--- /dev/null
+++ b/intentanalysis/src/main/resources/mybatis/sql/ContextMapper.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+ "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.onap.usecaseui.intentanalysis.mapper.ContextMapper">
+
+
+ <insert id="insertContextList">
+ insert into context(context_id, context_name, context_type, context_condition)
+ values
+ <foreach collection="contextList" index="index" item="item" separator=",">
+ (#{item.contextId}, #{item.contextName}, #{item.contextType}, #{item.contextCondition})
+ </foreach>
+ </insert>
+
+ <insert id="insertContextParentList">
+ insert into context_mapping(context_id, parent_type, parent_id)
+ values
+ <foreach collection="contextList" index="index" item="item" separator=",">
+ (#{item.contextId}, #{parentType}, #{parentId})
+ </foreach>
+ </insert>
+
+ <select id="selectContextByParentId" resultType="org.onap.usecaseui.intentanalysis.bean.models.Context">
+ select context_id contextId, context_name contextName, context_type contextType, context_condition contextCondition
+ from context
+ where intent_id = #{parentId}
+ </select>
+
+</mapper>
diff --git a/intentanalysis/src/main/resources/mybatis/sql/ExpectationMapper.xml b/intentanalysis/src/main/resources/mybatis/sql/ExpectationMapper.xml
index 3b0923f..98aa3dd 100644
--- a/intentanalysis/src/main/resources/mybatis/sql/ExpectationMapper.xml
+++ b/intentanalysis/src/main/resources/mybatis/sql/ExpectationMapper.xml
@@ -5,27 +5,27 @@
<mapper namespace="org.onap.usecaseui.intentanalysis.mapper.ExpectationMapper">
- <select id="selectExpectationByIntentId" resultType="org.onap.usecaseui.intentanalysis.bean.models.Expectation">
- select expectation_id expectationId, expectation_name expectationName,
- target_moi targetMOI, intent_id intentId
- from expectation
- where intent_id = #{intentId}
- </select>
-
- <insert id="insertExpectationList">
- insert into expectation(expectation_id, expectation_name, target_moi, intent_id)
+ <insert id="insertIntentExpectations">
+ insert into expectation(expectation_id, expectation_name, expectation_type, intent_id)
values
- <foreach collection="expectationList" index="index" item="item" separator=",">
- (#{item.expectationId}, #{item.expectationName}, #{item.targetMOI}, #{intentId})
+ <foreach collection="intentExpectations" index="index" item="item" separator=",">
+ (#{item.expectationId}, #{item.expectationName}, #{item.expectationType}, #{intentId})
</foreach>
</insert>
- <delete id="deleteExpectationByIntentId">
- delete from expectation
+ <insert id="insertIntentExpectation">
+ insert into expectation(expectation_id, expectation_name, expectation_type, intent_id)
+ values (#{expectation.expectationId}, #{expectation.expectationName}, #{expectation.expectationType}, #{intentId})
+ </insert>
+
+ <select id="selectIntentExpectationsByIntentId" resultType="org.onap.usecaseui.intentanalysis.bean.models.Expectation">
+ select expectation_id expectationId, expectation_name expectationName,
+ target_moi targetMOI, intent_id intentId
+ from expectation
where intent_id = #{intentId}
- </delete>
+ </select>
- <update id="updateExpectation">
+ <update id="updateIntentExpectation">
update expectation
<trim prefix="set" suffixOverrides=",">
<if test="expectationName != null">expectation_name = #{expectationName},</if>
@@ -34,15 +34,15 @@
where expectation_id = #{expectationId}
</update>
- <insert id="insertExpectation">
- insert into expectation(expectation_id, expectation_name, target_moi, intent_id)
- values (#{expectation.expectationId}, #{expectation.expectationName}, #{expectation.targetMOI}, #{intentId})
- </insert>
+ <delete id="deleteIntentExpectationsByIntentId">
+ delete from expectation
+ where intent_id = #{intentId}
+ </delete>
- <delete id="deleteExpectationById">
+ <delete id="deleteIntentExpectationById">
delete
from expectation
where expectation_id = #{expectationId}
</delete>
-</mapper> \ No newline at end of file
+</mapper>
diff --git a/intentanalysis/src/main/resources/mybatis/sql/ExpectationObjectMapper.xml b/intentanalysis/src/main/resources/mybatis/sql/ExpectationObjectMapper.xml
new file mode 100644
index 0000000..d67b9bf
--- /dev/null
+++ b/intentanalysis/src/main/resources/mybatis/sql/ExpectationObjectMapper.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+ "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.onap.usecaseui.intentanalysis.mapper.ExpectationObjectMapper">
+
+
+ <insert id="insertExpectationObject">
+ insert into expectation_object(expectation_id, object_type, object_instance)
+ values
+ (#{expectationId}, #{expectationObject.objectType}, #{expectationObject.objectInstance})
+ </insert>
+
+</mapper>
diff --git a/intentanalysis/src/main/resources/mybatis/sql/ExpectationTargetMapper.xml b/intentanalysis/src/main/resources/mybatis/sql/ExpectationTargetMapper.xml
new file mode 100644
index 0000000..0a915bf
--- /dev/null
+++ b/intentanalysis/src/main/resources/mybatis/sql/ExpectationTargetMapper.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+ "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.onap.usecaseui.intentanalysis.mapper.ExpectationTargetMapper">
+
+
+ <insert id="insertExpectationTarget">
+ insert into expectation_target(target_id, target_name, target_condition, expectation_id)
+ values
+ (#{expectationTarget.targetId}, #{expectationTarget.targetName}, #{expectationTarget.targetCondition}, #{expectationId})
+ </insert>
+
+</mapper>
diff --git a/intentanalysis/src/main/resources/mybatis/sql/FulfilmentInfoMapper.xml b/intentanalysis/src/main/resources/mybatis/sql/FulfilmentInfoMapper.xml
new file mode 100644
index 0000000..e5a9668
--- /dev/null
+++ b/intentanalysis/src/main/resources/mybatis/sql/FulfilmentInfoMapper.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+ "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.onap.usecaseui.intentanalysis.mapper.FulfilmentInfoMapper">
+
+
+ <insert id="insertFulfilmentInfo">
+ insert into fulfilment_info(fulfilment_info_id, fulfilment_info_status, not_fulfilled_state, not_fulfilled_reason)
+ values (#{parentId}, #{fulfilmentInfo.fulfilmentStatus}, #{fulfilmentInfo.notFulfilledState}, #{fulfilmentInfo.notFulfilledReason})
+ </insert>
+
+ <select id="selectFulfilmentInfoById" resultType="org.onap.usecaseui.intentanalysis.bean.models.FulfilmentInfo">
+ select fulfilment_info_status fulfilmentStatus, not_fulfilled_state notFulfilledState,
+ not_fulfilled_reason notFulfilledReason from fulfilment_info
+ where parent_id = #{parentId}
+ </select>
+
+</mapper>