add base code for intentanalysis 23/129923/2
authorcmrizhangzhen <781953240@qq.com>
Thu, 14 Jul 2022 11:11:40 +0000 (19:11 +0800)
committerzhen zhang <781953240@qq.com>
Fri, 15 Jul 2022 02:54:01 +0000 (02:54 +0000)
Issue-ID: USECASEUI-696
Signed-off-by: cmrizhangzhen <781953240@qq.com>
Change-Id: Id74af93a493bcf61ac868dac920b387c3708abbb

14 files changed:
intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentAnalysisService/IntentAnalysisManagementFunction.java [new file with mode: 0644]
intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentAnalysisService/intentModuleImpl/ActuationModuleImpl.java [new file with mode: 0644]
intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentAnalysisService/intentModuleImpl/DecisoinModuleImpl.java [new file with mode: 0644]
intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentAnalysisService/intentModuleImpl/KnownledgeModuleImpl.java [new file with mode: 0644]
intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentModule/ActuationModule.java [new file with mode: 0644]
intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentModule/DecisionModule.java [new file with mode: 0644]
intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentModule/KnowledgeModule.java [new file with mode: 0644]
intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentProcessService/Function.java [new file with mode: 0644]
intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentProcessService/IntentDefinitionService.java [new file with mode: 0644]
intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentProcessService/IntentDetectionService.java [new file with mode: 0644]
intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentProcessService/IntentDistributionService.java [new file with mode: 0644]
intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentProcessService/IntentInvestigationService.java [new file with mode: 0644]
intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentProcessService/IntentOperationService.java [new file with mode: 0644]
intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentProcessService/IntentProcessService.java [new file with mode: 0644]

diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentAnalysisService/IntentAnalysisManagementFunction.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentAnalysisService/IntentAnalysisManagementFunction.java
new file mode 100644 (file)
index 0000000..c1b1174
--- /dev/null
@@ -0,0 +1,20 @@
+package org.onap.usecaseui.intentanalysis.intentAnalysisService;
+
+
+import lombok.Data;
+import org.onap.usecaseui.intentanalysis.intentAnalysisService.intentModuleImpl.ActuationModuleImpl;
+import org.onap.usecaseui.intentanalysis.intentAnalysisService.intentModuleImpl.DecisoinModuleImpl;
+import org.onap.usecaseui.intentanalysis.intentAnalysisService.intentModuleImpl.KnownledgeModuleImpl;
+import org.onap.usecaseui.intentanalysis.intentModule.ActuationModule;
+import org.onap.usecaseui.intentanalysis.intentModule.DecisionModule;
+import org.onap.usecaseui.intentanalysis.intentModule.KnowledgeModule;
+import org.onap.usecaseui.intentanalysis.intentProcessService.Function;
+
+@Data
+public class IntentAnalysisManagementFunction extends Function {
+    private ActuationModule actuationModule  = new ActuationModuleImpl();
+    private DecisionModule decisoinModule = new DecisoinModuleImpl();
+    private KnowledgeModule knowledgeModule = new KnownledgeModuleImpl();
+
+
+}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentAnalysisService/intentModuleImpl/ActuationModuleImpl.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentAnalysisService/intentModuleImpl/ActuationModuleImpl.java
new file mode 100644 (file)
index 0000000..e6e99e8
--- /dev/null
@@ -0,0 +1,33 @@
+package org.onap.usecaseui.intentanalysis.intentAnalysisService.intentModuleImpl;
+
+
+import org.onap.usecaseui.intentanalysis.intentModule.ActuationModule;
+import org.onap.usecaseui.intentanalysis.intentProcessService.Function;
+import org.onap.usecaseui.intentanalysis.intentProcessService.IntentProcessService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class ActuationModuleImpl implements ActuationModule {
+    @Autowired
+    IntentProcessService processService;
+
+    @Override
+    public void sendToIntentHandler(Function intentHandler) {
+        processService.setIntentRole(intentHandler, null);
+        processService.intentProcess();
+    }
+
+    @Override
+    public void sendToNonIntentHandler() {
+    }
+
+    @Override
+    public void interactWithIntentHandle() {
+
+    }
+
+    @Override
+    public void saveIntentToDb() {
+    }
+}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentAnalysisService/intentModuleImpl/DecisoinModuleImpl.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentAnalysisService/intentModuleImpl/DecisoinModuleImpl.java
new file mode 100644 (file)
index 0000000..2a54549
--- /dev/null
@@ -0,0 +1,39 @@
+package org.onap.usecaseui.intentanalysis.intentAnalysisService.intentModuleImpl;
+
+
+import org.onap.usecaseui.intentanalysis.intentModule.DecisionModule;
+import org.onap.usecaseui.intentanalysis.intentProcessService.Function;
+import org.springframework.stereotype.Service;
+
+@Service
+public class DecisoinModuleImpl implements DecisionModule {
+    @Override
+    public void determineUltimateGoal() {}
+
+    @Override
+    public Function exploreIntentHandlers() {
+
+        return null;
+
+    }
+
+    @Override
+    public void intentDefinition() {}
+
+    @Override
+    public void decideSuitableAction() {}
+
+    @Override
+    public boolean needDecompostion() {
+        return false;
+    }
+
+    @Override
+    public void intentDecomposition() {}
+
+    @Override
+    public void intentOrchestration() {}
+
+    @Override
+    public void interactWithTemplateDb() {}
+}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentAnalysisService/intentModuleImpl/KnownledgeModuleImpl.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentAnalysisService/intentModuleImpl/KnownledgeModuleImpl.java
new file mode 100644 (file)
index 0000000..2940c1e
--- /dev/null
@@ -0,0 +1,21 @@
+package org.onap.usecaseui.intentanalysis.intentAnalysisService.intentModuleImpl;
+
+import org.onap.usecaseui.intentanalysis.intentModule.KnowledgeModule;
+import org.springframework.stereotype.Service;
+
+@Service
+public class KnownledgeModuleImpl implements KnowledgeModule {
+    @Override
+    public void intentResolution() {}
+
+    @Override
+    public void intentReportResolution() {}
+
+    @Override
+    public void getSystemStatus() {}
+
+    @Override
+    public void interactWithIntentOwner() {
+
+    }
+}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentModule/ActuationModule.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentModule/ActuationModule.java
new file mode 100644 (file)
index 0000000..1db3d0e
--- /dev/null
@@ -0,0 +1,13 @@
+package org.onap.usecaseui.intentanalysis.intentModule;
+
+import org.onap.usecaseui.intentanalysis.intentProcessService.Function;
+
+public interface ActuationModule {
+    //actuationModel & knownledgeModel interact
+    void sendToIntentHandler(Function IntentHandler);
+    void sendToNonIntentHandler();//直接操作
+    void interactWithIntentHandle();
+    //Save intent information to the intent instance database
+    void saveIntentToDb();
+
+}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentModule/DecisionModule.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentModule/DecisionModule.java
new file mode 100644 (file)
index 0000000..5379176
--- /dev/null
@@ -0,0 +1,23 @@
+package org.onap.usecaseui.intentanalysis.intentModule;
+
+
+import org.onap.usecaseui.intentanalysis.intentProcessService.Function;
+
+public interface DecisionModule {
+    void determineUltimateGoal();//
+    Function exploreIntentHandlers();
+    void intentDefinition();
+    void decideSuitableAction();
+
+    //confirm whether the intent needs to be decomposed and orchestrated
+    public boolean needDecompostion();
+
+    //call decomposition module
+    public void intentDecomposition();
+
+    //call orchestration module
+    public void intentOrchestration();
+
+
+    public void interactWithTemplateDb();
+}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentModule/KnowledgeModule.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentModule/KnowledgeModule.java
new file mode 100644 (file)
index 0000000..d22697d
--- /dev/null
@@ -0,0 +1,9 @@
+package org.onap.usecaseui.intentanalysis.intentModule;
+
+public interface KnowledgeModule {
+    void intentResolution();
+    void intentReportResolution();
+    void getSystemStatus();
+    void interactWithIntentOwner();
+    //actuationModel & knownledgeModel interact
+}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentProcessService/Function.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentProcessService/Function.java
new file mode 100644 (file)
index 0000000..a7b7be6
--- /dev/null
@@ -0,0 +1,14 @@
+package org.onap.usecaseui.intentanalysis.intentProcessService;
+
+
+import lombok.Data;
+import org.onap.usecaseui.intentanalysis.intentModule.ActuationModule;
+import org.onap.usecaseui.intentanalysis.intentModule.DecisionModule;
+import org.onap.usecaseui.intentanalysis.intentModule.KnowledgeModule;
+
+@Data
+public class Function {
+    private ActuationModule actuationModule;
+    private DecisionModule decisionModule;
+    private KnowledgeModule knowledgeModule;
+}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentProcessService/IntentDefinitionService.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentProcessService/IntentDefinitionService.java
new file mode 100644 (file)
index 0000000..cc9b8a5
--- /dev/null
@@ -0,0 +1,29 @@
+package org.onap.usecaseui.intentanalysis.intentProcessService;
+
+
+import org.onap.usecaseui.intentanalysis.intentModule.ActuationModule;
+import org.onap.usecaseui.intentanalysis.intentModule.DecisionModule;
+import org.springframework.stereotype.Service;
+
+@Service
+public class IntentDefinitionService {
+
+    private Function intentHandler;
+    private Function intentOwner;
+
+    public void setIntentRole(Function intentOwner, Function intentHandler) {
+        if (intentOwner != null) {
+            this.intentOwner = intentOwner;
+        }
+        if (intentHandler != null) {
+            this.intentHandler = intentHandler;
+        }
+    }
+
+    public void definitionPorcess() {
+        DecisionModule intentDecisionModule = intentOwner.getDecisionModule();
+        ActuationModule intentActuationModule = intentOwner.getActuationModule();
+        intentDecisionModule.intentDefinition();
+        intentActuationModule.saveIntentToDb();
+    }
+}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentProcessService/IntentDetectionService.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentProcessService/IntentDetectionService.java
new file mode 100644 (file)
index 0000000..7b71bd7
--- /dev/null
@@ -0,0 +1,29 @@
+package org.onap.usecaseui.intentanalysis.intentProcessService;
+
+import org.onap.usecaseui.intentanalysis.intentModule.KnowledgeModule;
+import org.springframework.stereotype.Service;
+
+@Service
+public class IntentDetectionService {
+
+    private Function intentHandler;
+    private Function intentOwner;
+
+    public void setIntentRole(Function intentOwner,Function intentHandler){
+        if (intentOwner!= null){
+            this.intentOwner = intentOwner;
+        }
+        if (intentHandler!= null){
+            this.intentHandler= intentHandler;
+        }
+    }
+
+    public void detectionProcess() {
+        KnowledgeModule ownerKnowledgeModule = intentOwner.getKnowledgeModule();
+        ownerKnowledgeModule.intentResolution();
+        ownerKnowledgeModule.intentReportResolution();
+        ownerKnowledgeModule.getSystemStatus();
+        ownerKnowledgeModule.interactWithIntentOwner();
+
+    }
+}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentProcessService/IntentDistributionService.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentProcessService/IntentDistributionService.java
new file mode 100644 (file)
index 0000000..5b45487
--- /dev/null
@@ -0,0 +1,29 @@
+package org.onap.usecaseui.intentanalysis.intentProcessService;
+
+
+import org.onap.usecaseui.intentanalysis.intentModule.ActuationModule;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class IntentDistributionService {
+    @Autowired
+    private Function intentHandler;
+    private Function intentOwner;
+
+    public void setIntentRole(Function intentOwner,Function intentHandler){
+        if (intentOwner!= null){
+            this.intentOwner = intentOwner;
+        }
+        if (intentHandler!= null){
+            this.intentHandler= intentHandler;
+        }
+    }
+
+    public void distributionProcess() {
+        ActuationModule intentActuationModule = intentHandler.getActuationModule();
+
+        intentActuationModule.sendToIntentHandler(intentHandler);
+    }
+
+}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentProcessService/IntentInvestigationService.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentProcessService/IntentInvestigationService.java
new file mode 100644 (file)
index 0000000..21d2b6d
--- /dev/null
@@ -0,0 +1,30 @@
+package org.onap.usecaseui.intentanalysis.intentProcessService;
+
+import org.onap.usecaseui.intentanalysis.intentModule.DecisionModule;
+import org.springframework.stereotype.Service;
+
+@Service
+public class IntentInvestigationService {
+    private Function intentHandler;
+    private Function intentOwner;
+
+    public void setIntentRole(Function intentOwner,Function intentHandler){
+        if (intentOwner!= null){
+            this.intentOwner = intentOwner;
+        }
+        if (intentHandler!= null){
+            this.intentHandler= intentHandler;
+        }
+    }
+
+    public void investigationProcess() {
+        DecisionModule intentDecisionModule = intentOwner.getDecisionModule();
+        intentDecisionModule.needDecompostion();
+        intentDecisionModule.intentDecomposition();
+        intentDecisionModule.intentOrchestration();
+        intentDecisionModule.decideSuitableAction();
+        intentDecisionModule.exploreIntentHandlers();//返回handler
+    }
+
+
+}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentProcessService/IntentOperationService.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentProcessService/IntentOperationService.java
new file mode 100644 (file)
index 0000000..6618793
--- /dev/null
@@ -0,0 +1,33 @@
+package org.onap.usecaseui.intentanalysis.intentProcessService;
+
+
+import org.onap.usecaseui.intentanalysis.intentModule.ActuationModule;
+import org.onap.usecaseui.intentanalysis.intentModule.DecisionModule;
+import org.springframework.stereotype.Service;
+
+@Service
+public class IntentOperationService {
+
+    private Function intentHandler;
+    private Function intentOwner;
+
+    public void setIntentRole(Function intentOwner,Function intentHandler){
+        if (intentOwner!= null){
+            this.intentOwner = intentOwner;
+        }
+        if (intentHandler!= null){
+            this.intentHandler= intentHandler;
+        }
+    }
+
+    public void operationProcess() {
+        DecisionModule intentDecisionModule = intentOwner.getDecisionModule();
+        ActuationModule intentActuationModule = intentOwner.getActuationModule();
+
+        intentDecisionModule.interactWithTemplateDb();
+        intentActuationModule.interactWithIntentHandle();
+        intentActuationModule.sendToIntentHandler(intentHandler);
+
+        intentActuationModule.sendToNonIntentHandler();
+    }
+}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentProcessService/IntentProcessService.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentProcessService/IntentProcessService.java
new file mode 100644 (file)
index 0000000..f2a14a5
--- /dev/null
@@ -0,0 +1,53 @@
+package org.onap.usecaseui.intentanalysis.intentProcessService;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class IntentProcessService {
+    @Autowired
+    IntentDetectionService intentDetectionServiceImpl;
+    @Autowired
+    IntentInvestigationService intentInvestigationService;
+    @Autowired
+    IntentDefinitionService intentDefinitionService;
+    @Autowired
+    IntentDistributionService intentDistributionService;
+    @Autowired
+    IntentOperationService intentOperationService;
+
+    private Function intentOwner;
+    private Function intentHandler;
+
+
+    public void setIntentRole(Function intentOwner,Function intentHandler){
+        if (intentOwner!= null){
+            this.intentOwner = intentOwner;
+        }
+        if (intentHandler!= null){
+            this.intentHandler= intentHandler;
+        }
+    }
+    public void intentProcess() {
+        intentDetectionServiceImpl.setIntentRole(intentOwner,intentHandler);
+        intentDetectionServiceImpl.detectionProcess();
+
+        //investigation process
+        intentInvestigationService.setIntentRole(intentOwner,intentHandler);
+        intentInvestigationService.investigationProcess();//List<handler>?
+
+        //definition process
+        intentDefinitionService.setIntentRole(intentOwner,intentHandler);
+        intentDefinitionService.definitionPorcess();
+
+        //distribution process
+        intentDistributionService.setIntentRole(intentOwner,intentHandler);
+        intentDistributionService.distributionProcess();
+
+        //operation process
+        intentOperationService.setIntentRole(intentOwner,intentHandler);
+        intentOperationService.operationProcess();
+    }
+
+
+}