Author: mar...@jb... Date: 2006-01-08 23:08:45 -0500 (Sun, 08 Jan 2006) New Revision: 2035 Modified: trunk/labs/jbossrules/drools-core/src/main/java/org/drools/ReteooJungViewer.java trunk/labs/jbossrules/drools-core/src/main/java/org/drools/reteoo/BetaNodeBinder.java trunk/labs/jbossrules/drools-core/src/main/java/org/drools/reteoo/ReteooToJungVisitor.java trunk/labs/jbossrules/drools-core/src/main/java/org/drools/rule/EvaluatorFactory.java trunk/labs/jbossrules/drools-core/src/main/java/org/drools/rule/LiteralConstraint.java trunk/labs/jbossrules/drools-core/src/test/java/org/drools/examples/manners/MannersTest.java Log: JungViewer -AlphaNodes now give sensible info when clicked Modified: trunk/labs/jbossrules/drools-core/src/main/java/org/drools/ReteooJungViewer.java =================================================================== --- trunk/labs/jbossrules/drools-core/src/main/java/org/drools/ReteooJungViewer.java 2006-01-09 03:38:20 UTC (rev 2034) +++ trunk/labs/jbossrules/drools-core/src/main/java/org/drools/ReteooJungViewer.java 2006-01-09 04:08:45 UTC (rev 2035) @@ -103,6 +103,7 @@ pr, new Dimension( 600, 600 ) ); + this.vv.setPickSupport( new ShapePickSupport() ); pr.setEdgeShapeFunction( new EdgeShape.QuadCurve() ); this.vv.setBackground( Color.white ); Modified: trunk/labs/jbossrules/drools-core/src/main/java/org/drools/reteoo/BetaNodeBinder.java =================================================================== --- trunk/labs/jbossrules/drools-core/src/main/java/org/drools/reteoo/BetaNodeBinder.java 2006-01-09 03:38:20 UTC (rev 2034) +++ trunk/labs/jbossrules/drools-core/src/main/java/org/drools/reteoo/BetaNodeBinder.java 2006-01-09 04:08:45 UTC (rev 2035) @@ -24,6 +24,8 @@ public BetaNodeBinder(BetaNodeConstraint[] constraints) { this.constraints = constraints; } + + //public BetaNodeConstraints[] constraints boolean isAllowed(Object object, FactHandle handle, Modified: trunk/labs/jbossrules/drools-core/src/main/java/org/drools/reteoo/ReteooToJungVisitor.java =================================================================== --- trunk/labs/jbossrules/drools-core/src/main/java/org/drools/reteoo/ReteooToJungVisitor.java 2006-01-09 03:38:20 UTC (rev 2034) +++ trunk/labs/jbossrules/drools-core/src/main/java/org/drools/reteoo/ReteooToJungVisitor.java 2006-01-09 04:08:45 UTC (rev 2035) @@ -48,6 +48,8 @@ import java.util.Map; import org.drools.ReteooJungViewer.HtmlContent; +import org.drools.rule.LiteralConstraint; +import org.drools.spi.Field; import edu.uci.ics.jung.graph.Graph; import edu.uci.ics.jung.graph.Vertex; @@ -235,12 +237,18 @@ } public String getHtml() { - return "AlphaNode : " + this.node.getId(); + LiteralConstraint constraint = node.getConstraint(); + Field field = constraint.getField(); + return "AlphaNode<br>field name : " + field.getName() + "<br>evaluator : " + constraint.getEvaluator() + "<br>value : " + field.getValue(); } public String toString() { return "AlphaNode"; } + + public Paint getFillPaint() { + return Color.BLUE; + } } static class LeftInputAdapterNodeVertex extends BaseNodeVertex { @@ -258,6 +266,10 @@ public String toString() { return "leftInputAdapter"; } + + public Paint getFillPaint() { + return Color.YELLOW; + } } static class RightInputAdapterNodeVertex extends BaseNodeVertex { @@ -275,6 +287,10 @@ public String toString() { return "RightInputAdapterNodeVertex"; } + + public Paint getFillPaint() { + return Color.ORANGE; + } } static class JoinNodeVertex extends BaseNodeVertex { @@ -286,12 +302,17 @@ } public String getHtml() { + this.node.getJoinNodeBinder(). return "JoinNode : " + this.node.getId(); } public String toString() { return "JoinNode"; } + + public Paint getFillPaint() { + return Color.GREEN; + } } static class NotNodeVertex extends BaseNodeVertex { @@ -309,6 +330,10 @@ public String toString() { return "NotNode"; } + + public Paint getFillPaint() { + return Color.CYAN; + } } static class TestNodeVertex extends BaseNodeVertex { @@ -343,6 +368,10 @@ public String toString() { return "TerminalNode"; } + + public Paint getFillPaint() { + return Color.DARK_GRAY; + } } public static abstract class BaseNodeVertex extends DirectedSparseVertex Modified: trunk/labs/jbossrules/drools-core/src/main/java/org/drools/rule/EvaluatorFactory.java =================================================================== --- trunk/labs/jbossrules/drools-core/src/main/java/org/drools/rule/EvaluatorFactory.java 2006-01-09 03:38:20 UTC (rev 2034) +++ trunk/labs/jbossrules/drools-core/src/main/java/org/drools/rule/EvaluatorFactory.java 2006-01-09 04:08:45 UTC (rev 2035) @@ -60,6 +60,10 @@ Object object2) { return object1.equals( object2 ); } + + public String toString() { + return "Object =="; + } } static class ObjectNotEqualEvaluator extends BaseEvaluator { @@ -81,8 +85,23 @@ Object object2) { return !object1.equals( object2 ); } + + public String toString() { + return "Object !="; + } } + Evaluator getBooleanEvaluator(int operator) { + switch ( operator ) { + case Evaluator.EQUAL : + return ObjectEqualEvaluator.getInstance(); + case Evaluator.NOT_EQUAL : + return ObjectNotEqualEvaluator.getInstance(); + default : + throw new RuntimeException( "Operator '" + operator + "' does not exist for BooleanEvaluator" ); + } + } + static class BooleanEqualEvaluator extends BaseEvaluator { private static Evaluator INSTANCE; @@ -102,18 +121,11 @@ Object object2) { return ((Boolean)object1).booleanValue() == ((Boolean)object2).booleanValue(); } - } - - Evaluator getBooleanEvaluator(int operator) { - switch ( operator ) { - case Evaluator.EQUAL : - return ObjectEqualEvaluator.getInstance(); - case Evaluator.NOT_EQUAL : - return ObjectNotEqualEvaluator.getInstance(); - default : - throw new RuntimeException( "Operator '" + operator + "' does not exist for BooleanEvaluator" ); - } - } + + public String toString() { + return "Boolean =="; + } + } static class BooleanNotEqualEvaluator extends BaseEvaluator { private static Evaluator INSTANCE; @@ -134,6 +146,10 @@ Object object2) { return ((Boolean)object1).booleanValue() != ((Boolean)object2).booleanValue(); } + + public String toString() { + return "Boolean !="; + } } Evaluator getShortEvaluator(int operator) { @@ -174,6 +190,10 @@ Object object2) { return ((Number) object1).shortValue() == ((Number) object2).shortValue(); } + + public String toString() { + return "Short =="; + } } static class ShortNotEqualEvaluator extends BaseEvaluator { @@ -195,6 +215,10 @@ Object object2) { return ((Number) object1).shortValue() != ((Number) object2).shortValue(); } + + public String toString() { + return "Short !="; + } } static class ShortLessEvaluator extends BaseEvaluator { @@ -216,6 +240,10 @@ Object object2) { return ((Number) object1).shortValue() < ((Number) object2).shortValue(); } + + public String toString() { + return "Short <"; + } } static class ShortLessOrEqualEvaluator extends BaseEvaluator { @@ -237,6 +265,10 @@ Object object2) { return ((Number) object1).shortValue() <= ((Number) object2).shortValue(); } + + public String toString() { + return "Boolean <="; + } } static class ShortGreaterEvaluator extends BaseEvaluator { @@ -258,6 +290,10 @@ Object object2) { return ((Number) object1).shortValue() > ((Number) object2).shortValue(); } + + public String toString() { + return "Short >"; + } } static class ShortGreaterOrEqualEvaluator extends BaseEvaluator { @@ -279,6 +315,10 @@ Object object2) { return ((Number) object1).shortValue() >= ((Number) object2).shortValue(); } + + public String toString() { + return "Short >="; + } } Evaluator getIntegerEvaluator(int operator) { @@ -319,6 +359,10 @@ Object object2) { return ((Number) object1).intValue() == ((Number) object2).intValue(); } + + public String toString() { + return "Integer =="; + } } static class IntegerNotEqualEvaluator extends BaseEvaluator { @@ -340,6 +384,10 @@ Object object2) { return ((Number) object1).intValue() != ((Number) object2).intValue(); } + + public String toString() { + return "Integer !="; + } } static class IntegerLessEvaluator extends BaseEvaluator { @@ -361,6 +409,10 @@ Object object2) { return ((Number) object1).intValue() < ((Number) object2).intValue(); } + + public String toString() { + return "Integer <"; + } } static class IntegerLessOrEqualEvaluator extends BaseEvaluator { @@ -382,6 +434,10 @@ Object object2) { return ((Number) object1).intValue() <= ((Number) object2).intValue(); } + + public String toString() { + return "Integer <="; + } } static class IntegerGreaterEvaluator extends BaseEvaluator { @@ -403,6 +459,10 @@ Object object2) { return ((Number) object1).intValue() > ((Number) object2).intValue(); } + + public String toString() { + return "Integer >"; + } } static class IntegerGreaterOrEqualEvaluator extends BaseEvaluator { @@ -424,5 +484,9 @@ Object object2) { return ((Number) object1).intValue() >= ((Number) object2).intValue(); } + + public String toString() { + return "Integer >="; + } } } Modified: trunk/labs/jbossrules/drools-core/src/main/java/org/drools/rule/LiteralConstraint.java =================================================================== --- trunk/labs/jbossrules/drools-core/src/main/java/org/drools/rule/LiteralConstraint.java 2006-01-09 03:38:20 UTC (rev 2034) +++ trunk/labs/jbossrules/drools-core/src/main/java/org/drools/rule/LiteralConstraint.java 2006-01-09 04:08:45 UTC (rev 2035) @@ -33,7 +33,7 @@ return this.evaluator; } - public Object getField() { + public Field getField() { return this.field; } Modified: trunk/labs/jbossrules/drools-core/src/test/java/org/drools/examples/manners/MannersTest.java =================================================================== --- trunk/labs/jbossrules/drools-core/src/test/java/org/drools/examples/manners/MannersTest.java 2006-01-09 03:38:20 UTC (rev 2034) +++ trunk/labs/jbossrules/drools-core/src/test/java/org/drools/examples/manners/MannersTest.java 2006-01-09 04:08:45 UTC (rev 2035) @@ -112,7 +112,7 @@ public void test1() throws DuplicateRuleNameException, InvalidRuleException, IntrospectionException, RuleIntegrationException, RuleSetIntegrationException, InvalidPatternException, FactException, IOException, InterruptedException { RuleSet ruleSet = new RuleSet( "Miss Manners" ); -// ruleSet.addRule( getAssignFirstSeatRule() ); + ruleSet.addRule( getAssignFirstSeatRule() ); // ruleSet.addRule( getMakePath() ); ruleSet.addRule( getFindSeating() ); // ruleSet.addRule( getPathDone() ); @@ -127,27 +127,26 @@ public void run() { ReteooJungViewer.createAndShowGUI(ruleBase); } - }); + }); + - while (true) { - Thread.sleep( 1000 ); + WorkingMemory workingMemory = ruleBase.newWorkingMemory(); + + InputStream is = getClass().getResourceAsStream( "/manners16.dat" ); + List list = getInputObjects(is); + for (Iterator it = list.iterator(); it.hasNext(); ) { + workingMemory.assertObject( it.next() ); } + //System.out.println( list ); + workingMemory.assertObject( new Count(0) ); -// -// WorkingMemory workingMemory = ruleBase.newWorkingMemory(); -// -// InputStream is = getClass().getResourceAsStream( "/manners16.dat" ); -// List list = getInputObjects(is); -// for (Iterator it = list.iterator(); it.hasNext(); ) { -// workingMemory.assertObject( it.next() ); -// } -// //System.out.println( list ); -// -// workingMemory.assertObject( new Count(0) ); -// -// workingMemory.fireAllRules(); + workingMemory.fireAllRules(); + while (true) { + Thread.sleep( 1000 ); + } + } /** |