Forráskód Böngészése

完善更新工作区算法

youseries 7 éve
szülő
commit
8e054aaa40

+ 0 - 1
urule-core/src/main/java/com/bstek/urule/runtime/KnowledgeSessionImpl.java

@@ -334,7 +334,6 @@ public class KnowledgeSessionImpl implements KnowledgeSession{
 		for(ReteInstance reteInstance:reteInstanceList){
 			reteInstance.resetForReevaluate(obj);
 		}
-		agenda.reevaluate(obj, evaluationContext);
 		evaluationRete(obj);
 		buildElseRules(false);
 	}

+ 0 - 9
urule-core/src/main/java/com/bstek/urule/runtime/agenda/ActivationGroupRuleBox.java

@@ -26,7 +26,6 @@ import com.bstek.urule.action.ActionValue;
 import com.bstek.urule.model.rule.Rule;
 import com.bstek.urule.model.rule.RuleInfo;
 import com.bstek.urule.runtime.rete.Context;
-import com.bstek.urule.runtime.rete.EvaluationContext;
 /**
  * 规则以activation-group属性进行分组,该属性相同且满足所有条件的规则都会划到此组中,<br>
  * 这样,在执行时这个组中规则只要有一个执行,那么其它的规则将不再执行,因此也叫互斥组。
@@ -92,14 +91,6 @@ public class ActivationGroupRuleBox extends AbstractRuleBox {
 		}
 	}
 	
-	@Override
-	public void reevaluate(Object obj,EvaluationContext context) {
-		for(ActivationGroup group:activationGroupMap.values()){
-			List<Activation> activations=group.getActivations();
-			super.reevaluate(obj, activations, context);			
-		}
-	}
-
 	public boolean add(Activation activation) {
 		boolean shouldAdd=this.activationShouldAdd(activation);
 		if(!shouldAdd){

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

@@ -21,7 +21,6 @@ import java.util.List;
 import com.bstek.urule.action.ActionValue;
 import com.bstek.urule.model.rule.RuleInfo;
 import com.bstek.urule.runtime.rete.Context;
-import com.bstek.urule.runtime.rete.EvaluationContext;
 /**
  * 所有未定义activation-group及agenda-group的满足条件的规则都放在此处
  * @author Jacky.gao
@@ -76,11 +75,7 @@ public class ActivationRuleBox extends AbstractRuleBox{
 	public void retract(Object obj){
 		super.retract(obj, activations);
 	}
-	
-	@Override
-	public void reevaluate(Object obj,EvaluationContext context) {
-		super.reevaluate(obj, activations, context);			
-	}
+
 	
 	@Override
 	public boolean add(Activation activation) {

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

@@ -26,7 +26,6 @@ import com.bstek.urule.runtime.WorkingMemory;
 import com.bstek.urule.runtime.response.ExecutionResponseImpl;
 import com.bstek.urule.runtime.response.RuleExecutionResponse;
 import com.bstek.urule.runtime.rete.Context;
-import com.bstek.urule.runtime.rete.EvaluationContext;
 import com.bstek.urule.runtime.rete.FactTracker;
 import com.bstek.urule.runtime.rete.ReteInstance;
 /**
@@ -100,12 +99,6 @@ public class Agenda {
 		}
 	}
 	
-	public void reevaluate(Object obj,EvaluationContext context){
-		for(RuleBox ruleBox:ruleBoxes){
-			ruleBox.reevaluate(obj, context);
-		}
-	}
-	
 	public List<RuleBox> getRuleBoxes() {
 		return ruleBoxes;
 	}

+ 0 - 8
urule-core/src/main/java/com/bstek/urule/runtime/agenda/AgendaGroupRuleBox.java

@@ -26,7 +26,6 @@ import com.bstek.urule.action.ActionValue;
 import com.bstek.urule.model.rule.Rule;
 import com.bstek.urule.model.rule.RuleInfo;
 import com.bstek.urule.runtime.rete.Context;
-import com.bstek.urule.runtime.rete.EvaluationContext;
 /**
  * 以agenda-group属性划分的组,如果该属性相同,则划到这个组当中,<br>
  * 默认情况下,引擎在执行这些有agenda-group属性的规则时,需要某个组得到了焦点,<br>
@@ -91,13 +90,6 @@ public class AgendaGroupRuleBox extends AbstractRuleBox {
 		}
 	}
 	
-	@Override
-	public void reevaluate(Object obj,EvaluationContext context) {
-		for(AgendaGroup group:agendaGroupMap.values()){
-			List<Activation> activations=group.getActivations();
-			super.reevaluate(obj, activations, context);			
-		}
-	}
 	
 	@Override
 	public boolean add(Activation activation) {

+ 0 - 2
urule-core/src/main/java/com/bstek/urule/runtime/agenda/RuleBox.java

@@ -20,7 +20,6 @@ import java.util.List;
 import com.bstek.urule.action.ActionValue;
 import com.bstek.urule.model.rule.Rule;
 import com.bstek.urule.model.rule.RuleInfo;
-import com.bstek.urule.runtime.rete.EvaluationContext;
 
 /**
  * @author Jacky.gao
@@ -31,7 +30,6 @@ public interface RuleBox{
 	boolean add(Activation activation);
 	RuleBox next();
 	List<Rule> getRules();
-	void reevaluate(Object obj,EvaluationContext context);
 	void retract(Object obj);
 	void clean();
 }