Bläddra i källkod

修复在规则执行完成后返回的matchedRules值总是为空的BUG

jacky6024 8 år sedan
förälder
incheckning
049e5bba98

+ 1 - 1
urule-core/src/main/java/com/bstek/urule/runtime/agenda/Agenda.java

@@ -68,7 +68,7 @@ public class Agenda {
 		}
 		session.getAllFacts().clear();
 		response.setFiredRules(firedRules);
-		response.setMatchedRules(matchedRules);
+		response.addMatchedRules(matchedRules);
 		return response;
 	}
 	

+ 3 - 3
urule-core/src/main/java/com/bstek/urule/runtime/response/ExecutionResponseImpl.java

@@ -33,7 +33,7 @@ public class ExecutionResponseImpl implements RuleExecutionResponse,FlowExecutio
 	private List<RuleExecutionResponse> ruleExecutionResponses=new ArrayList<RuleExecutionResponse>();
 	private List<FlowExecutionResponse> flowExecutionResponses=new ArrayList<FlowExecutionResponse>();
 	private List<RuleInfo> rulesFired;
-	private List<RuleInfo> matchedRules;
+	private List<RuleInfo> matchedRules=new ArrayList<RuleInfo>();
 	private List<ActionValue> actionValues;
 	
 	@Override
@@ -87,8 +87,8 @@ public class ExecutionResponseImpl implements RuleExecutionResponse,FlowExecutio
 	public List<RuleInfo> getMatchedRules() {
 		return matchedRules;
 	}
-	public void setMatchedRules(List<RuleInfo> matchedRules) {
-		this.matchedRules = matchedRules;
+	public void addMatchedRules(List<RuleInfo> matchedRules){
+		this.matchedRules.addAll(matchedRules);
 	}
 	public List<RuleInfo> getFiredRules() {
 		return rulesFired;