diff options
author | cmrizhangzhen <781953240@qq.com> | 2022-07-14 19:11:40 +0800 |
---|---|---|
committer | zhen zhang <781953240@qq.com> | 2022-07-15 02:54:01 +0000 |
commit | ec022d2b08c4a5bd74d62e35cc03c32fe845da7a (patch) | |
tree | 2f2fd6551dedd2e06bb1f3247a654582aa9687d6 | |
parent | 61921b6736371405813269eb657ec2ea4841e43b (diff) |
add base code for intentanalysis
Issue-ID: USECASEUI-696
Signed-off-by: cmrizhangzhen <781953240@qq.com>
Change-Id: Id74af93a493bcf61ac868dac920b387c3708abbb
14 files changed, 375 insertions, 0 deletions
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 index 0000000..c1b1174 --- /dev/null +++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentAnalysisService/IntentAnalysisManagementFunction.java @@ -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 index 0000000..e6e99e8 --- /dev/null +++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentAnalysisService/intentModuleImpl/ActuationModuleImpl.java @@ -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 index 0000000..2a54549 --- /dev/null +++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentAnalysisService/intentModuleImpl/DecisoinModuleImpl.java @@ -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 index 0000000..2940c1e --- /dev/null +++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentAnalysisService/intentModuleImpl/KnownledgeModuleImpl.java @@ -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 index 0000000..1db3d0e --- /dev/null +++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentModule/ActuationModule.java @@ -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 index 0000000..5379176 --- /dev/null +++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentModule/DecisionModule.java @@ -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 index 0000000..d22697d --- /dev/null +++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentModule/KnowledgeModule.java @@ -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 index 0000000..a7b7be6 --- /dev/null +++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentProcessService/Function.java @@ -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 index 0000000..cc9b8a5 --- /dev/null +++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentProcessService/IntentDefinitionService.java @@ -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 index 0000000..7b71bd7 --- /dev/null +++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentProcessService/IntentDetectionService.java @@ -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 index 0000000..5b45487 --- /dev/null +++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentProcessService/IntentDistributionService.java @@ -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 index 0000000..21d2b6d --- /dev/null +++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentProcessService/IntentInvestigationService.java @@ -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 index 0000000..6618793 --- /dev/null +++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentProcessService/IntentOperationService.java @@ -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 index 0000000..f2a14a5 --- /dev/null +++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/intentProcessService/IntentProcessService.java @@ -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(); + } + + +} |