[jboss-svn-commits] JBL Code SVN: r26830 - in labs/jbossrules/branches/DroolsChance/drools-core: src/main/java/org/drools/degrees and 5 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Jun 4 14:57:50 EDT 2009
Author: dsotty
Date: 2009-06-04 14:57:50 -0400 (Thu, 04 Jun 2009)
New Revision: 26830
Added:
labs/jbossrules/branches/DroolsChance/drools-core/src/test/java/org/drools/degrees/
labs/jbossrules/branches/DroolsChance/drools-core/src/test/java/org/drools/degrees/SimpleDegreeTest.java
labs/jbossrules/branches/DroolsChance/drools-core/src/test/java/org/drools/degrees/chance/
Modified:
labs/jbossrules/branches/DroolsChance/drools-core/.classpath
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/IntervalDegree.java
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/fuzzy/FuzzySet.java
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/reteoo/AlphaNode.java
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/reteoo/ImperfectExistsNode.java
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/reteoo/JoinNode.java
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/reteoo/ModusPonensNode.java
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/reteoo/ObjectTypeNode.java
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/reteoo/Rete.java
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/reteoo/filters/AlwaysPassFilterStrategy.java
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/reteoo/filters/DefaultIntervalFilterStrategy.java
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/reteoo/filters/FuzzyFilterStrategy.java
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/reteoo/filters/IFilterStrategy.java
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/reteoo/filters/ImperfectFilterStrategy.java
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/reteoo/filters/SimpleFilterStrategy.java
Log:
Modified: labs/jbossrules/branches/DroolsChance/drools-core/.classpath
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/.classpath 2009-06-04 18:56:50 UTC (rev 26829)
+++ labs/jbossrules/branches/DroolsChance/drools-core/.classpath 2009-06-04 18:57:50 UTC (rev 26830)
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry excluding="org/drools/reteoo/JoinNodeBackup.java" kind="src" output="target/classes" path="src/main/java"/>
+ <classpathentry kind="src" output="target/classes" path="src/main/java"/>
<classpathentry kind="src" output="target/test-classes" path="src/test/java"/>
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"/>
<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/java-6-sun-1.6.0.10"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
- <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>
Modified: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/IntervalDegree.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/IntervalDegree.java 2009-06-04 18:56:50 UTC (rev 26829)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/IntervalDegree.java 2009-06-04 18:57:50 UTC (rev 26830)
@@ -19,6 +19,10 @@
}
+ public float getValue() {
+ return getTau();
+ }
+
//TODO : Consider... beware...
public boolean toBoolean() {
return getUpp() > 0.5;
Modified: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/fuzzy/FuzzySet.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/fuzzy/FuzzySet.java 2009-06-04 18:56:50 UTC (rev 26829)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/fuzzy/FuzzySet.java 2009-06-04 18:57:50 UTC (rev 26830)
@@ -29,6 +29,10 @@
+ public float getValue() {
+ return -99;
+ }
+
public SimpleDegree getDegree() {
// TODO Defuzzify here
return null;
Modified: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/reteoo/AlphaNode.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/reteoo/AlphaNode.java 2009-06-04 18:56:50 UTC (rev 26829)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/reteoo/AlphaNode.java 2009-06-04 18:57:50 UTC (rev 26830)
@@ -248,22 +248,22 @@
System.out.println("Alpha evaluation trial "+record.expand());
- int verdict;
+ IFilterStrategy.filterOptions verdict;
//if (this.constraint.isCutter() && record.getDegree().equals(factory.False()))
if (doCut)
- verdict = IFilterStrategy.DROP;
+ verdict = IFilterStrategy.filterOptions.DROP;
else
verdict = this.filterStrat.doTry(record);
switch (verdict) {
- case IFilterStrategy.DROP :
+ case DROP :
//time to die
System.out.println("Alpha FAIL : DROP record");
return;
- case IFilterStrategy.HOLD :
+ case HOLD :
System.out.println("WARNING::::::::::::::::::::::::::: OBJECT HELD AT ALPHA NODE "+this.constraint.getConstraintKey());
System.out.println("Situation is "+record.expand());
record.setFactHandle(factHandle);
@@ -274,7 +274,7 @@
//wait for more1
return;
- case IFilterStrategy.PASS :
+ case PASS :
//go on
System.out.println("Alpha PASS ");
this.sink.propagateAssertObject(factHandle,
@@ -293,24 +293,24 @@
EvalRecord record = (EvalRecord) watcher;
System.out.println("**************************************************************UPDATE @ALPHA NODE");
- int verdict;
+ IFilterStrategy.filterOptions verdict;
if (this.constraint.isCutter() && record.getDegree().equals(record.getFactory().False()))
- verdict = IFilterStrategy.DROP;
+ verdict = IFilterStrategy.filterOptions.DROP;
else
verdict = this.filterStrat.doTry(record);
switch (verdict) {
- case IFilterStrategy.DROP :
+ case DROP :
record.deleteObserver(this);
return;
- case IFilterStrategy.HOLD :
+ case HOLD :
//do nothing
return;
- case IFilterStrategy.PASS :
+ case PASS :
//go on
record.deleteObserver(this);
//throw new RuntimeException("Awakened objeect");
Modified: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/reteoo/ImperfectExistsNode.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/reteoo/ImperfectExistsNode.java 2009-06-04 18:56:50 UTC (rev 26829)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/reteoo/ImperfectExistsNode.java 2009-06-04 18:57:50 UTC (rev 26830)
@@ -204,13 +204,13 @@
switch (this.filterStrat.doTry(mainRecord)) {
- case IFilterStrategy.DROP :
+ case DROP :
// System.out.println("Exist FAIL at assertTuple: DROP record");
// return;
- case IFilterStrategy.HOLD : //TODO: HOLD
+ case HOLD : //TODO: HOLD
System.out.println("HOLD RULES @EXIST NODE"+this.getId());
System.out.println("Situation is "+mainRecord.expand());
@@ -222,7 +222,7 @@
break;
- case IFilterStrategy.PASS :
+ case PASS :
System.out.println("Exist PASS at assertTuple: propagate record");
mainRecord.setLeftTuple(leftTuple);
mainRecord.setFactory(factory);
@@ -273,13 +273,13 @@
switch (this.filterStrat.doTry(mainRecord)) {
- case IFilterStrategy.DROP :
+ case DROP :
// System.out.println("Exist FAIL at assertTuple: DROP record");
// return;
//
- case IFilterStrategy.HOLD : //TODO: HOLD
+ case HOLD : //TODO: HOLD
System.out.println("HOLD RULES @EXIST NODE"+this.getId());
System.out.println("Situation is "+mainRecord.expand());
@@ -288,7 +288,7 @@
break;
- case IFilterStrategy.PASS :
+ case PASS :
System.out.println("Exist PASS at assertTuple: propagate record");
mainRecord.deleteObserver(this);
Modified: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/reteoo/JoinNode.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/reteoo/JoinNode.java 2009-06-04 18:56:50 UTC (rev 26829)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/reteoo/JoinNode.java 2009-06-04 18:57:50 UTC (rev 26830)
@@ -105,15 +105,17 @@
this.constraints.buildEvaluationTemplates(this.id,context.getRule().getDependencies(), factory);
- Collection<ConstraintKey> keys = this.constraints.getAllConstraintKeys();
- for (ConstraintKey key : keys)
- context.getRuleBase().getRete().indexGammaNode(key,this);
+
if (context.isCutter()) {
this.isCutter = true;
context.setCutter(false);
}
this.isCutter = this.isCutter || this.constraints.isCutter();
+
+ Collection<ConstraintKey> keys = this.constraints.getAllConstraintKeys();
+ for (ConstraintKey key : keys)
+ context.getRuleBase().getRete().indexGammaNode(key,this);
}
System.out.println(this.getClass().getName() + "(id "+id+") constructor hacked to add filter strategy");
@@ -262,21 +264,21 @@
System.out.println("Situation at join eval"+mainRecord.expand());
- int verdict;
+ IFilterStrategy.filterOptions verdict;
//if (this.isCutter && mainRecord.getDegree().equals(factory.False()))
if (doCut)
- verdict = IFilterStrategy.DROP;
+ verdict = IFilterStrategy.filterOptions.DROP;
else
verdict = this.filterStrat.doTry(mainRecord);
switch (verdict) {
- case IFilterStrategy.DROP :
+ case DROP :
System.out.println("Beta FAIL at assertTuple: DROP record");
continue;
- case IFilterStrategy.HOLD : //TODO: HOLD
+ case HOLD : //TODO: HOLD
System.out.println("HOLD RULES @JOIN NODE"+this.getId());
System.out.println("Situation is "+mainRecord.expand());
@@ -289,7 +291,7 @@
continue;
//break;
- case IFilterStrategy.PASS :
+ case PASS :
System.out.println("Beta PASS at assertTuple: propagate record");
this.sink.propagateAssertLeftTuple( leftTuple,
propRightTuple,
@@ -475,21 +477,21 @@
System.out.println("Situation at join eval"+mainRecord.expand());
- int verdict;
+ IFilterStrategy.filterOptions verdict;
//if (this.isCutter && mainRecord.getDegree().equals(factory.False()))
if (doCut)
- verdict = IFilterStrategy.DROP;
+ verdict = IFilterStrategy.filterOptions.DROP;
else
verdict = this.filterStrat.doTry(mainRecord);
switch (verdict) {
- case IFilterStrategy.DROP :
+ case DROP :
System.out.println("Beta DROP at assertobject");
return;
- case IFilterStrategy.HOLD : //TODO: HOLD
+ case HOLD : //TODO: HOLD
System.out.println("HOLD RULES @JOIN NODE"+this.getId());
System.out.println("Situation is "+mainRecord.expand());
@@ -502,7 +504,7 @@
break;
- case IFilterStrategy.PASS :
+ case PASS :
System.out.println("Beta PASS at assertObjecf: propagate record");
this.sink.propagateAssertLeftTuple( leftTuple,
propRightTuple,
@@ -541,24 +543,24 @@
System.out.println("**************************************************************UPDATE @JOIN NODE");
- int verdict;
+ IFilterStrategy.filterOptions verdict;
if (this.isCutter && record.getDegree().equals(record.getFactory().False()))
- verdict = IFilterStrategy.DROP;
+ verdict = IFilterStrategy.filterOptions.DROP;
else
verdict = this.filterStrat.doTry(record);
switch (verdict) {
- case IFilterStrategy.DROP :
+ case DROP :
record.deleteObserver(this);
return;
- case IFilterStrategy.HOLD :
+ case HOLD :
//do nothing
return;
- case IFilterStrategy.PASS :
+ case PASS :
//go on
record.deleteObserver(this);
//throw new RuntimeException("Awakened objeect");
Modified: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/reteoo/ModusPonensNode.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/reteoo/ModusPonensNode.java 2009-06-04 18:56:50 UTC (rev 26829)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/reteoo/ModusPonensNode.java 2009-06-04 18:57:50 UTC (rev 26830)
@@ -127,9 +127,9 @@
switch (this.filterStrat.doTry(mpRecord)) {
- case IFilterStrategy.DROP : return;
+ case DROP : return;
- case IFilterStrategy.HOLD : //TODO: HOLD
+ case HOLD : //TODO: HOLD
System.out.println("HOLD RULES @MP NODE"+this.getId());
System.out.println("Situation is "+mpRecord.expand());
@@ -144,7 +144,7 @@
break;
- case IFilterStrategy.PASS :
+ case PASS :
//IN CASE, RULES ARE RECALLED ANYWAY!!!
if (mpRecord.getLeftTuple() == null || ! mpRecord.getLeftTuple().equals(leftTuple))
mpRecord.addObserver(this);
@@ -200,15 +200,15 @@
System.out.println("**************************************************************UPDATE @MP NODE");
switch (this.filterStrat.doTry(record)) {
- case IFilterStrategy.DROP :
+ case DROP :
//record.deleteObserver(this);
return;
- case IFilterStrategy.HOLD :
+ case HOLD :
//do nothing
return;
- case IFilterStrategy.PASS :
+ case PASS :
//go on
//record.deleteObserver(this);
//throw new RuntimeException("Awakened objeect");
Modified: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/reteoo/ObjectTypeNode.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/reteoo/ObjectTypeNode.java 2009-06-04 18:56:50 UTC (rev 26829)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/reteoo/ObjectTypeNode.java 2009-06-04 18:57:50 UTC (rev 26830)
@@ -664,26 +664,26 @@
System.out.println("Type evaluation trial "+record.expand());
- int verdict;
+ IFilterStrategy.filterOptions verdict;
if (record.getDegree().equals(factory.False())) {
//TypeNode is implicitly cutter
- verdict = IFilterStrategy.DROP;
+ verdict = IFilterStrategy.filterOptions.DROP;
} else if (record == null) {
//InitialFact is passed
- verdict = IFilterStrategy.PASS;
+ verdict = IFilterStrategy.filterOptions.PASS;
} else {
//Normal test
verdict = this.filterStrat.doTry(record);
}
switch (verdict) {
- case IFilterStrategy.DROP :
+ case DROP :
//time to die
System.out.println("Type FAIL : DROP record");
return;
- case IFilterStrategy.HOLD :
+ case HOLD :
System.out.println("WARNING::::::::::::::::::::::::::: OBJECT HELD AT TYPE NODE "+this.getConstraintKey());
System.out.println("Situation is "+record.expand());
record.setFactHandle(factHandle);
@@ -694,7 +694,7 @@
//wait for more1
return;
- case IFilterStrategy.PASS :
+ case PASS :
//go on
System.out.println("Alpha PASS ");
this.sink.propagateAssertObject(factHandle,
@@ -715,24 +715,24 @@
EvalRecord record = (EvalRecord) watcher;
System.out.println("**************************************************************UPDATE @ALPHA NODE");
- int verdict;
+ IFilterStrategy.filterOptions verdict;
if (record.getDegree().equals(record.getFactory().False()))
- verdict = IFilterStrategy.DROP;
+ verdict = IFilterStrategy.filterOptions.DROP;
else
verdict = this.filterStrat.doTry(record);
switch (verdict) {
- case IFilterStrategy.DROP :
+ case DROP :
record.deleteObserver(this);
return;
- case IFilterStrategy.HOLD :
+ case HOLD :
//do nothing
return;
- case IFilterStrategy.PASS :
+ case PASS :
//go on
record.deleteObserver(this);
//throw new RuntimeException("Awakened objeect");
Modified: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/reteoo/Rete.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/reteoo/Rete.java 2009-06-04 18:56:50 UTC (rev 26829)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/reteoo/Rete.java 2009-06-04 18:57:50 UTC (rev 26830)
@@ -284,8 +284,9 @@
this.constraintIds.put(key.getAlias(), key);
}
else {
- if (! node.equals(constraintIndex.get(key)))
- throw new RuntimeDroolsException("Found duplicate key: "+key+" this may be a know issue");
+ IGammaNode prevNode = constraintIndex.get(key);
+ if (! node.equals(prevNode))
+ System.out.println("WARNING: Found duplicate key: "+key+" this may be a know issue");
}
}
Modified: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/reteoo/filters/AlwaysPassFilterStrategy.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/reteoo/filters/AlwaysPassFilterStrategy.java 2009-06-04 18:56:50 UTC (rev 26829)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/reteoo/filters/AlwaysPassFilterStrategy.java 2009-06-04 18:57:50 UTC (rev 26830)
@@ -17,14 +17,14 @@
public AlwaysPassFilterStrategy() { }
@Override
- public int doTry(Evaluation eval) {
- return PASS;
+ public IFilterStrategy.filterOptions doTry(Evaluation eval) {
+ return filterOptions.PASS;
}
@Override
public boolean isAllowed(Evaluation eval) {
- return doTry(eval) == PASS;
+ return doTry(eval) == filterOptions.PASS;
}
}
Modified: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/reteoo/filters/DefaultIntervalFilterStrategy.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/reteoo/filters/DefaultIntervalFilterStrategy.java 2009-06-04 18:56:50 UTC (rev 26829)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/reteoo/filters/DefaultIntervalFilterStrategy.java 2009-06-04 18:57:50 UTC (rev 26830)
@@ -22,7 +22,7 @@
* @deprecated
* Testing purposes
*/
- public int doTry(Evaluation eval) {
+ public IFilterStrategy.filterOptions doTry(Evaluation eval) {
/*
System.out.println(""+eval.getInfoRate());
@@ -34,13 +34,13 @@
return DROP;
*/
- return (eval.getInfoRate() == 1) ? PASS : HOLD;
+ return (eval.getInfoRate() == 1) ? IFilterStrategy.filterOptions.PASS : IFilterStrategy.filterOptions.HOLD;
}
public boolean isAllowed(Evaluation eval) {
- return doTry(eval) == PASS;
+ return doTry(eval) == IFilterStrategy.filterOptions.PASS;
}
}
Modified: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/reteoo/filters/FuzzyFilterStrategy.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/reteoo/filters/FuzzyFilterStrategy.java 2009-06-04 18:56:50 UTC (rev 26829)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/reteoo/filters/FuzzyFilterStrategy.java 2009-06-04 18:57:50 UTC (rev 26830)
@@ -18,8 +18,8 @@
}
@Override
- public int doTry(final Evaluation eval) {
- return (eval.getInfoRate() == 1.0) ? PASS : HOLD;
+ public IFilterStrategy.filterOptions doTry(final Evaluation eval) {
+ return (eval.getInfoRate() == 1.0) ? IFilterStrategy.filterOptions.PASS : IFilterStrategy.filterOptions.HOLD;
}
@Override
Modified: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/reteoo/filters/IFilterStrategy.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/reteoo/filters/IFilterStrategy.java 2009-06-04 18:56:50 UTC (rev 26829)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/reteoo/filters/IFilterStrategy.java 2009-06-04 18:57:50 UTC (rev 26830)
@@ -1,16 +1,19 @@
package org.drools.reteoo.filters;
-
import org.drools.reteoo.Evaluation;
public interface IFilterStrategy {
-
- public static final int DROP = 0;
- public static final int PASS = 1;
- public static final int HOLD = -1;
-
+
+ public enum filterOptions {
+ DROP, PASS, HOLD
+ };
+
+ // public static final int DROP = 0;
+ // public static final int PASS = 1;
+ // public static final int HOLD = -1;
+
public boolean isAllowed(final Evaluation eval);
-
- public int doTry(final Evaluation eval);
+ public filterOptions doTry(final Evaluation eval);
+
}
Modified: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/reteoo/filters/ImperfectFilterStrategy.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/reteoo/filters/ImperfectFilterStrategy.java 2009-06-04 18:56:50 UTC (rev 26829)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/reteoo/filters/ImperfectFilterStrategy.java 2009-06-04 18:57:50 UTC (rev 26830)
@@ -11,19 +11,19 @@
public abstract boolean isAllowed(final Evaluation eval);
- public abstract int doTry(final Evaluation eval);
+ public abstract IFilterStrategy.filterOptions doTry(final Evaluation eval);
public boolean drop(final Evaluation eval) {
- return doTry(eval) == DROP;
+ return doTry(eval) == IFilterStrategy.filterOptions.DROP;
}
public boolean pass(final Evaluation eval) {
- return doTry(eval) == PASS;
+ return doTry(eval) == IFilterStrategy.filterOptions.PASS;
}
public boolean hold(final Evaluation eval) {
- return doTry(eval) == HOLD;
+ return doTry(eval) == IFilterStrategy.filterOptions.HOLD;
}
Modified: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/reteoo/filters/SimpleFilterStrategy.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/reteoo/filters/SimpleFilterStrategy.java 2009-06-04 18:56:50 UTC (rev 26829)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/reteoo/filters/SimpleFilterStrategy.java 2009-06-04 18:57:50 UTC (rev 26830)
@@ -17,7 +17,7 @@
public SimpleFilterStrategy() { }
@Override
- public int doTry(Evaluation eval) {
+ public IFilterStrategy.filterOptions doTry(Evaluation eval) {
//return eval.getDegree().toBoolean() ? PASS : DROP;
System.out.println(this.getClass()+" : "+eval.getInfoRate());
@@ -28,14 +28,14 @@
// return HOLD;
// else
// return DROP;
- return eval.getInfoRate() == 1.0f? PASS : HOLD;
+ return eval.getInfoRate() == 1.0f? IFilterStrategy.filterOptions.PASS : IFilterStrategy.filterOptions.HOLD;
}
@Override
public boolean isAllowed(Evaluation eval) {
- return doTry(eval) == PASS;
+ return doTry(eval) == filterOptions.PASS;
}
}
Added: labs/jbossrules/branches/DroolsChance/drools-core/src/test/java/org/drools/degrees/SimpleDegreeTest.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/test/java/org/drools/degrees/SimpleDegreeTest.java (rev 0)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/test/java/org/drools/degrees/SimpleDegreeTest.java 2009-06-04 18:57:50 UTC (rev 26830)
@@ -0,0 +1,102 @@
+package org.drools.degrees;
+
+import static org.junit.Assert.*;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+public class SimpleDegreeTest {
+
+ SimpleDegree s0;
+ SimpleDegree s1;
+ SimpleDegree s5;
+ SimpleDegree s3;
+ SimpleDegree s8;
+
+
+ @Before
+ public void setUp() throws Exception {
+ s0 = new SimpleDegree(0);
+ s1 = new SimpleDegree(1);
+ s5 = new SimpleDegree(0.5000001f);
+ s3 = new SimpleDegree(0.3f);
+ s8 = new SimpleDegree(0.8f);
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ }
+
+ @Test
+ public void testToBoolean() {
+ assertTrue(s1.toBoolean());
+ assertFalse(s0.toBoolean());
+ assertFalse(s3.toBoolean());
+ assertTrue(s5.toBoolean());
+ assertTrue(s8.toBoolean());
+ }
+
+ @Test
+ public void testSetValue() {
+ s8.setValue(0.74f);
+ assertTrue(s8.getValue() == 0.74f);
+ }
+
+ @Test
+ public void testGetValue() {
+ assertEquals(1,s1.getValue(), 1e-6);
+ assertEquals(0,s0.getValue(), 1e-6);
+ assertEquals(0.3,s3.getValue(), 1e-6);
+ assertEquals(0.5,s5.getValue(), 1e-6);
+ assertEquals(0.8,s8.getValue(), 1e-6);
+ }
+
+ @Test
+ public void testEqualsObject() {
+ assertEquals(s1, s1);
+ assertTrue(s1.equals(s1));
+
+ assertFalse(s1.equals(null));
+
+ assertFalse(s1.equals(s0));
+ assertFalse(s3.equals(s5));
+ assertEquals(s1, new SimpleDegree(1));
+
+ assertFalse(s1.equals( new Object()));
+ }
+
+ @Test
+ public void testTRUE() {
+ assertEquals(s1, SimpleDegree.TRUE());
+ }
+
+ @Test
+ public void testFALSE() {
+ assertEquals(s0, SimpleDegree.FALSE());
+ }
+
+ @Test
+ public void testUNKNOWN() {
+ assertEquals(s0, SimpleDegree.UNKNOWN(true));
+ }
+
+ @Test
+ public void testSimpleDegree() {
+ assertNotNull(new SimpleDegree(1));
+ assertEquals(s1, new SimpleDegree(1));
+ }
+
+ @Test
+ public void testGetDegree() {
+ assertEquals(s1,s1.getDegree());
+ assertTrue(s3.getDegree() instanceof IDegree );
+ assertTrue(s5.getDegree() instanceof SimpleDegree);
+ }
+
+ @Test
+ public void testToString() {
+ assertNotNull(s1.toString());
+ }
+
+}
More information about the jboss-svn-commits
mailing list