aboutsummaryrefslogtreecommitdiffstats
path: root/intentanalysis/src/main
diff options
context:
space:
mode:
authorkaixiliu <liukaixi@chinamobile.com>2023-05-29 17:22:16 +0800
committerkaixiliu <liukaixi@chinamobile.com>2023-05-29 17:22:41 +0800
commitf89877a479fd7c4ca1257f4137bd1132bbf0e631 (patch)
tree452e4e5b003154daac8322e075fa4d59f2c755b6 /intentanalysis/src/main
parentefb0c85f42c653d183c8fb4b7ce969405ba95023 (diff)
Add scheduled generation of intention report
Issue-ID: USECASEUI-812 Signed-off-by: kaixiliu <liukaixi@chinamobile.com> Change-Id: I0e8d6d7d2e20a1be9f3ea2b0b1cfc66338c1e927
Diffstat (limited to 'intentanalysis/src/main')
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/Thread/ThreadPoolConfig.java9
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/bean/enums/ExpectationType.java3
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/clldeliveryIntentmgt/clldeliverymodule/CLLDeliveryActuationModule.java11
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/controller/IntentReportController.java46
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/formatintentinputMgt/formatintentinputModule/FormatIntentInputDecisionModule.java86
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/IntentReportService.java2
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/impl/ComponentNotificationServiceImpl.java6
-rw-r--r--intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/impl/IntentReportServiceImpl.java52
-rw-r--r--intentanalysis/src/main/resources/logback.xml6
9 files changed, 140 insertions, 81 deletions
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/Thread/ThreadPoolConfig.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/Thread/ThreadPoolConfig.java
index e1f0af7..b6f53b7 100644
--- a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/Thread/ThreadPoolConfig.java
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/Thread/ThreadPoolConfig.java
@@ -19,8 +19,7 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
-import java.util.concurrent.Executor;
-import java.util.concurrent.ThreadPoolExecutor;
+import java.util.concurrent.*;
@Configuration
//@EnableAsync
@@ -47,5 +46,11 @@ public class ThreadPoolConfig {
executor.initialize();
return executor;
}
+
+ @Bean("intentReportExecutor")
+ public Executor getScheduledThreadPoolExecutor(){
+ ScheduledThreadPoolExecutor executor = new ScheduledThreadPoolExecutor(2);
+ return executor;
+ }
}
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
index 34b0b8b..adc522c 100644
--- 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
@@ -21,7 +21,8 @@ import lombok.Getter;
@Getter
public enum ExpectationType {
DELIVERY(0, "delivery"),
- ASSURANCE(1, "assurance");
+ ASSURANCE(1, "assurance"),
+ REPORT(2, "report");
private int index;
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/clldeliveryIntentmgt/clldeliverymodule/CLLDeliveryActuationModule.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/clldeliveryIntentmgt/clldeliverymodule/CLLDeliveryActuationModule.java
index c090b4d..592c1b1 100644
--- a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/clldeliveryIntentmgt/clldeliverymodule/CLLDeliveryActuationModule.java
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/clldeliveryIntentmgt/clldeliverymodule/CLLDeliveryActuationModule.java
@@ -89,10 +89,13 @@ public class CLLDeliveryActuationModule extends ActuationModule {
String expectationId = intent.getIntentExpectations().get(0).getExpectationId();
// Get the fulfillmentInfo of the first exception which need to be updated with resultHeader returned
- FulfillmentInfo fulfillmentInfo = expectationService.getIntentExpectation(expectationId).getExpectationFulfillmentInfo();
-
- if (fulfillmentInfo == null) {
- fulfillmentInfo = new FulfillmentInfo();
+ FulfillmentInfo fulfillmentInfo = new FulfillmentInfo();
+ Expectation intentExpectation = expectationService.getIntentExpectation(expectationId);
+ if (intentExpectation != null) {
+ FulfillmentInfo expectationFulfillmentInfo = intentExpectation.getExpectationFulfillmentInfo();
+ if (expectationFulfillmentInfo != null) {
+ fulfillmentInfo = expectationFulfillmentInfo;
+ }
}
// Update fulfillmentInfo and write back to DB
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/controller/IntentReportController.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/controller/IntentReportController.java
index c9e82a6..87ac149 100644
--- a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/controller/IntentReportController.java
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/controller/IntentReportController.java
@@ -16,23 +16,11 @@
package org.onap.usecaseui.intentanalysis.controller;
import lombok.extern.log4j.Log4j2;
-import org.onap.usecaseui.intentanalysis.bean.enums.FulfillmentStatus;
-import org.onap.usecaseui.intentanalysis.bean.enums.NotFulfilledState;
import org.onap.usecaseui.intentanalysis.bean.models.*;
+import org.onap.usecaseui.intentanalysis.service.IntentReportService;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
-import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import java.text.SimpleDateFormat;
-import java.time.LocalDateTime;
-import java.time.ZoneId;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
+import org.springframework.web.bind.annotation.*;
import static org.onap.usecaseui.intentanalysis.common.ResponseConsts.RSEPONSE_SUCCESS;
@@ -40,36 +28,14 @@ import static org.onap.usecaseui.intentanalysis.common.ResponseConsts.RSEPONSE_S
@RestController
@RequestMapping("/intentReport")
public class IntentReportController {
+ @Autowired
+ private IntentReportService intentReportService;
@GetMapping(value = "/{intentId}", produces = MediaType.APPLICATION_JSON_VALUE)
public ServiceResult getIntentById(
@PathVariable("intentId") String intentId) {
- // test connection with ui,real log
- IntentReport report = new IntentReport();
- report.setIntentReportId("12345");
- report.setIntentReference("intentReort");
- //report.setFulfillmentInfos();
- Date date = new Date();
- SimpleDateFormat dateFormat = new SimpleDateFormat("yyy-MM-dd HH:mm:ss");
- report.setReportTime(dateFormat.format(date));
- FulfillmentInfo fu1= new FulfillmentInfo();
- fu1.setFulfillmentId("fulfillmentInfo1");
- fu1.setFulfillmentStatus(FulfillmentStatus.FULFILLED);
- fu1.setObjectInstances(Arrays.asList("instance1", "instance2", "instance3"));
- FulfillmentInfo fu2= new FulfillmentInfo();
- fu2.setFulfillmentId("fulfillmentInfo2");
- fu2.setFulfillmentStatus(FulfillmentStatus.NOT_FULFILLED);
- fu2.setNotFulfilledState(NotFulfilledState.DEGRADED);
- fu2.setNotFulfilledReason("not fulfilled Reason");
- fu2.setObjectInstances(Arrays.asList("instance1", "instance2"));
- List<FulfillmentInfo> list = new ArrayList<>();
- list.add(fu1);
- list.add(fu2);
- report.setFulfillmentInfos(list);
-
+ IntentReport report = intentReportService.getIntentReportByIntentId(intentId);
return new ServiceResult(new ResultHeader(RSEPONSE_SUCCESS, "get report success"),
report);
-
}
-
}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/formatintentinputMgt/formatintentinputModule/FormatIntentInputDecisionModule.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/formatintentinputMgt/formatintentinputModule/FormatIntentInputDecisionModule.java
index f9d0c74..4ca532e 100644
--- a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/formatintentinputMgt/formatintentinputModule/FormatIntentInputDecisionModule.java
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/formatintentinputMgt/formatintentinputModule/FormatIntentInputDecisionModule.java
@@ -17,26 +17,32 @@ package org.onap.usecaseui.intentanalysis.formatintentinputMgt.formatintentinput
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
+import org.onap.usecaseui.intentanalysis.bean.enums.ExpectationType;
import org.onap.usecaseui.intentanalysis.bean.enums.IntentGoalType;
-import org.onap.usecaseui.intentanalysis.bean.models.Expectation;
-import org.onap.usecaseui.intentanalysis.bean.models.Intent;
-import org.onap.usecaseui.intentanalysis.bean.models.IntentGoalBean;
+import org.onap.usecaseui.intentanalysis.bean.models.*;
import org.onap.usecaseui.intentanalysis.cllBusinessIntentMgt.CLLBusinessIntentManagementFunction;
import org.onap.usecaseui.intentanalysis.common.ResponseConsts;
import org.onap.usecaseui.intentanalysis.exception.IntentInputException;
import org.onap.usecaseui.intentanalysis.intentBaseService.IntentManagementFunction;
import org.onap.usecaseui.intentanalysis.intentBaseService.contextService.IntentContextService;
import org.onap.usecaseui.intentanalysis.intentBaseService.intentModule.DecisionModule;
+import org.onap.usecaseui.intentanalysis.service.IntentReportService;
import org.onap.usecaseui.intentanalysis.service.IntentService;
+import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Component;
+import org.springframework.util.CollectionUtils;
+import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Locale;
+import java.util.concurrent.ScheduledThreadPoolExecutor;
+import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
+
@Slf4j
@Component
public class FormatIntentInputDecisionModule extends DecisionModule {
@@ -49,6 +55,12 @@ public class FormatIntentInputDecisionModule extends DecisionModule {
@Autowired
public IntentService intentService;
+ @Autowired
+ private IntentReportService intentReportService;
+
+ @Resource(name = "intentReportExecutor")
+ private ScheduledThreadPoolExecutor executor;
+
@Override
public void determineUltimateGoal() {
}
@@ -58,8 +70,8 @@ public class FormatIntentInputDecisionModule extends DecisionModule {
// if intentName contain cll return
if (intentGoalBean.getIntent().getIntentName().toLowerCase(Locale.ROOT).contains("cll")) {
return (IntentManagementFunction) applicationContext.getBean(CLLBusinessIntentManagementFunction.class.getSimpleName());
- }else{
- String msg = String.format("intentName is: %s can't find corresponding IntentManagementFunction,please check Intent Name",intentGoalBean.getIntent().getIntentName());
+ } else {
+ String msg = String.format("intentName is: %s can't find corresponding IntentManagementFunction,please check Intent Name", intentGoalBean.getIntent().getIntentName());
log.error(msg);
throw new IntentInputException(msg, ResponseConsts.RET_FIND_CORRESPONDING_FAIL);
}
@@ -76,14 +88,17 @@ public class FormatIntentInputDecisionModule extends DecisionModule {
@Override
public LinkedHashMap<IntentGoalBean, IntentManagementFunction> investigationCreateProcess(IntentGoalBean intentGoalBean) {
- log.info("FormatIntentInputMgt investigation create process start");
+ log.info("FormatIntentInputMgt investigation create process start");
LinkedHashMap<IntentGoalBean, IntentManagementFunction> intentMap = new LinkedHashMap<>();
- boolean needDecompostion = needDecompostion(intentGoalBean);
- log.debug("FormatIntentInputMgt need decompose :"+ needDecompostion);
+
+ IntentGoalBean newIntentGoalBean = removeReportExpectation(intentGoalBean);
+
+ boolean needDecompostion = needDecompostion(newIntentGoalBean);
+ log.debug("FormatIntentInputMgt need decompose :" + needDecompostion);
if (needDecompostion) {
- intentDecomposition(intentGoalBean);
+ intentDecomposition(newIntentGoalBean);
} else {
- intentMap.put(intentGoalBean, exploreIntentHandlers(intentGoalBean));
+ intentMap.put(newIntentGoalBean, exploreIntentHandlers(newIntentGoalBean));
}
log.info("FormatIntentInputMgt investigation create process finished");
return intentMap;
@@ -128,7 +143,7 @@ public class FormatIntentInputDecisionModule extends DecisionModule {
return intentMap;
}
- public void UpdateIntentInfo(Intent originIntent, Intent intent){
+ public void UpdateIntentInfo(Intent originIntent, Intent intent) {
List<Expectation> originIntentExpectationList = originIntent.getIntentExpectations();
List<Expectation> intentExpectationList = intent.getIntentExpectations();
@@ -136,18 +151,18 @@ public class FormatIntentInputDecisionModule extends DecisionModule {
int oldIntentExpectationNum = intentExpectationList.size();
List<Expectation> changeList = new ArrayList<>();
- if (newIntentExpectationNum != oldIntentExpectationNum){
- if (newIntentExpectationNum < oldIntentExpectationNum){
+ if (newIntentExpectationNum != oldIntentExpectationNum) {
+ if (newIntentExpectationNum < oldIntentExpectationNum) {
for (Expectation oldExpectation : intentExpectationList) {//search
boolean bFindExpectation = false;
for (Expectation newExpectation : originIntentExpectationList) {//param
- if (oldExpectation.getExpectationName().equals(newExpectation.getExpectationName())){
+ if (oldExpectation.getExpectationName().equals(newExpectation.getExpectationName())) {
bFindExpectation = true;
break;
}
}
- if (bFindExpectation){
+ if (bFindExpectation) {
changeList.add(oldExpectation);
}
}
@@ -168,4 +183,45 @@ public class FormatIntentInputDecisionModule extends DecisionModule {
return intentMap;
}
+ private IntentGoalBean removeReportExpectation(IntentGoalBean intentGoalBean) {
+ Intent intent = intentGoalBean.getIntent();
+ List<Expectation> intentExpectations = intent.getIntentExpectations();
+ List<Expectation> report = intentExpectations.stream()
+ .filter(expectation -> ExpectationType.REPORT.equals(expectation.getExpectationType()))
+ .collect(Collectors.toList());
+ if (CollectionUtils.isEmpty(report)) {
+ log.info("No expectation of type report is entered");
+ return intentGoalBean;
+ }
+ generationIntentReport(report.get(0), intent.getIntentId());
+ Intent newIntent = new Intent();
+ BeanUtils.copyProperties(intent, newIntent);
+ List<Expectation> notReport = intentExpectations.stream()
+ .filter(expectation -> !ExpectationType.REPORT.equals(expectation.getExpectationType()))
+ .collect(Collectors.toList());
+ newIntent.setIntentExpectations(notReport);
+ return new IntentGoalBean(newIntent, intentGoalBean.getIntentGoalType());
+ }
+
+ private void generationIntentReport(Expectation expectation, String intentId) {
+ List<ExpectationTarget> expectationTargets = expectation.getExpectationTargets();
+ if (CollectionUtils.isEmpty(expectationTargets)) {
+ log.error("The expectation target is empty,expectationId is {}", expectation.getExpectationId());
+ return;
+ }
+ ExpectationTarget expectationTarget = expectationTargets.get(0);
+ List<Condition> targetConditions = expectationTarget.getTargetConditions();
+ if (CollectionUtils.isEmpty(targetConditions)) {
+ log.error("The target condition is empty,expectationId is {}", expectation.getExpectationId());
+ return;
+ }
+ Condition condition = targetConditions.get(0);
+ try {
+ int conditionValue = Integer.parseInt(condition.getConditionValue());
+ log.info("Start executing scheduled intent report generation task ");
+ executor.scheduleAtFixedRate(() -> intentReportService.saveIntentReportByIntentId(intentId), 2, conditionValue, TimeUnit.SECONDS);
+ } catch (Exception e) {
+ log.error("The exception is {}", e.getMessage());
+ }
+ }
}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/IntentReportService.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/IntentReportService.java
index 5e8d158..97e90d1 100644
--- a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/IntentReportService.java
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/IntentReportService.java
@@ -20,4 +20,6 @@ import org.onap.usecaseui.intentanalysis.bean.models.IntentReport;
public interface IntentReportService {
IntentReport getIntentReportByIntentId(String intentId);
+
+ void saveIntentReportByIntentId(String intentId);
}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/impl/ComponentNotificationServiceImpl.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/impl/ComponentNotificationServiceImpl.java
index 27d7bb4..43d6082 100644
--- a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/impl/ComponentNotificationServiceImpl.java
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/impl/ComponentNotificationServiceImpl.java
@@ -27,6 +27,7 @@ import org.onap.usecaseui.intentanalysis.service.ComponentNotificationService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.List;
@@ -61,6 +62,7 @@ public class ComponentNotificationServiceImpl implements ComponentNotificationSe
* @param eventModel param
*/
@Override
+ @Transactional(rollbackFor = DataBaseException.class)
public void callBack(FulfillmentOperation eventModel) {
if (eventModel == null) {
String msg = "The obtained fulfillmentInfo is null";
@@ -82,14 +84,12 @@ public class ComponentNotificationServiceImpl implements ComponentNotificationSe
log.info("ExpectationId is {}", expectationIds);
String intentId = null;
for (String expectationId : expectationIds) {
- // TODO
ExpectationType expectationType = getExpectationType(operation);
intentId = expectationMapper.getIntentIdByExpectationId(expectationId, expectationType);
if (StringUtils.isNotEmpty(intentId)) {
break;
}
}
- log.error("The intentId is {}", intentId);
if (StringUtils.isEmpty(intentId)) {
String msg = "Get intentId is null from database";
@@ -111,7 +111,6 @@ public class ComponentNotificationServiceImpl implements ComponentNotificationSe
FulfillmentInfo newInfo = new FulfillmentInfo();
BeanUtils.copyProperties(eventModel, newInfo);
int num = fulfillmentInfoMapper.insertFulfillmentInfo(newInfo, intentId);
- FulfillmentInfo fulfillmentInfo1 = fulfillmentInfoMapper.selectFulfillmentInfo(intentId);
if (num < 1) {
String msg = "Failed to insert fulfillmentInfo to database.";
log.error(msg);
@@ -143,7 +142,6 @@ public class ComponentNotificationServiceImpl implements ComponentNotificationSe
Context context = collect.get(0);
List<Condition> conditions = conditionMapper.selectConditionList(context.getContextId());
if (CollectionUtils.isEmpty(conditions) || StringUtils.isEmpty(conditions.get(0).getConditionValue())) {
- log.error("");
String msg = "Get conditions is empty from database";
throw new DataBaseException(msg, ResponseConsts.RET_QUERY_DATA_EMPTY);
}
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/impl/IntentReportServiceImpl.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/impl/IntentReportServiceImpl.java
index 6ea3e06..d3e914b 100644
--- a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/impl/IntentReportServiceImpl.java
+++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/service/impl/IntentReportServiceImpl.java
@@ -29,6 +29,7 @@ import org.onap.usecaseui.intentanalysis.service.IntentReportService;
import org.onap.usecaseui.intentanalysis.util.CommonUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.Collections;
@@ -51,41 +52,68 @@ public class IntentReportServiceImpl implements IntentReportService {
private IntentReportMapper intentReportMapper;
@Override
+ @Transactional(rollbackFor = DataBaseException.class)
public IntentReport getIntentReportByIntentId(String intentId) {
+ FulfillmentInfo fulfillmentInfo = getFulfillmentInfo(intentId);
+ fulfillmentInfo.setObjectInstances(getInstances(intentId));
+ IntentReport intentReport = new IntentReport();
+ intentReport.setIntentReportId(CommonUtil.getUUid());
+ intentReport.setIntentReference("intentReference");
+ intentReport.setFulfillmentInfos(Collections.singletonList(fulfillmentInfo));
+ intentReport.setReportTime(CommonUtil.getTime());
+
+ saveIntentReport(intentReport, fulfillmentInfo);
+ return intentReport;
+ }
+
+ @Override
+ @Transactional(rollbackFor = DataBaseException.class)
+ public void saveIntentReportByIntentId(String intentId) {
FulfillmentInfo fulfillmentInfo = fulfillmentInfoService.getFulfillmentInfo(intentId);
- System.out.println(fulfillmentInfo);
+ if (fulfillmentInfo == null) {
+ log.error("The fulfillmentInfo is null");
+ return;
+ }
+ IntentReport intentReport = new IntentReport();
+ intentReport.setIntentReportId(CommonUtil.getUUid());
+ intentReport.setIntentReference("intentReference");
+ intentReport.setReportTime(CommonUtil.getTime());
+ saveIntentReport(intentReport, fulfillmentInfo);
+ }
+
+ private FulfillmentInfo getFulfillmentInfo(String intentId) {
+ FulfillmentInfo fulfillmentInfo = fulfillmentInfoService.getFulfillmentInfo(intentId);
+ log.info("fulfillmentInfo is {}", fulfillmentInfo);
if (fulfillmentInfo == null) {
log.error("get fulfillmentInfo is failed,intentId is {}", intentId);
- String msg = "get fulfillmentInfo is failed";
+ String msg = "get fulfillmentInfo is empty, please enter the right intentId";
throw new DataBaseException(msg, ResponseConsts.RET_QUERY_DATA_EMPTY);
}
- fulfillmentInfo.setFulfillmentId(intentId);
+ return fulfillmentInfo;
+ }
+
+ private List<String> getInstances(String intentId) {
List<String> objectInstances = objectInstanceMapper.getObjectInstances(intentId);
if (CollectionUtils.isEmpty(objectInstances)) {
log.error("get objectInstance is failed,intentId is {}", intentId);
String msg = "get objectInstance is failed";
throw new DataBaseException(msg, ResponseConsts.RET_QUERY_DATA_EMPTY);
}
- String uUid = CommonUtil.getUUid();
- fulfillmentInfo.setObjectInstances(objectInstances);
- IntentReport intentReport = new IntentReport();
- intentReport.setIntentReportId(uUid);
- intentReport.setIntentReference("intentReference");
- intentReport.setFulfillmentInfos(Collections.singletonList(fulfillmentInfo));
- intentReport.setReportTime(CommonUtil.getTime());
+ return objectInstances;
+ }
+ private void saveIntentReport(IntentReport intentReport, FulfillmentInfo fulfillmentInfo) {
int num = intentReportMapper.insertIntentReport(intentReport);
if (num < 1) {
String msg = "Failed to insert intent report to database.";
log.error(msg);
throw new DataBaseException(msg, ResponseConsts.RET_INSERT_DATA_FAIL);
}
- int fulfillmentNum = intentReportFulfillmentInfoMapper.insertIntentReportFulfillment(fulfillmentInfo, uUid);
+ int fulfillmentNum = intentReportFulfillmentInfoMapper.insertIntentReportFulfillment(fulfillmentInfo, intentReport.getIntentReportId());
if (fulfillmentNum < 1) {
String msg = "Failed to insert fulfillmentInfo to database.";
log.error(msg);
throw new DataBaseException(msg, ResponseConsts.RET_INSERT_DATA_FAIL);
}
- return intentReport;
}
}
diff --git a/intentanalysis/src/main/resources/logback.xml b/intentanalysis/src/main/resources/logback.xml
index 82a1954..05bf36d 100644
--- a/intentanalysis/src/main/resources/logback.xml
+++ b/intentanalysis/src/main/resources/logback.xml
@@ -17,7 +17,7 @@
<!-- encoders are assigned the type
ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
<encoder>
- <pattern>%d{yyyy-MM-dd HH:mm:ss:SSS} %5p ${PID} --- [%15.15t] %-40.40c{40} : %m%n</pattern>
+ <pattern>%d{yyyy-MM-dd HH:mm:ss:SSS} %5p ${PID} --- [%15.15t] %-40.40c{40}[%L] : %m%n</pattern>
</encoder>
</appender>
@@ -32,7 +32,7 @@
<!-- set immediateFlush to false for much higher logging throughput -->
<immediateFlush>true</immediateFlush>
<encoder>
- <pattern>%d{yyyy-MM-dd HH:mm:ss:SSS} %5p ${PID} --- [%15.15t] %-40.40c{40} : %m%n</pattern>
+ <pattern>%d{yyyy-MM-dd HH:mm:ss:SSS} %5p ${PID} --- [%15.15t] %-40.40c{40}[%L] : %m%n</pattern>
</encoder>
</appender>
@@ -48,7 +48,7 @@
<totalSizeCap>3GB</totalSizeCap>
</rollingPolicy>
<encoder>
- <pattern>>%d{yyyy-MM-dd HH:mm:ss:SSS} %5p ${PID} --- [%15.15t] %-40.40c{40} : %m%n</pattern>
+ <pattern>>%d{yyyy-MM-dd HH:mm:ss:SSS} %5p ${PID} --- [%15.15t] %-40.40c{40}[%L] : %m%n</pattern>
</encoder>
</appender>