[jboss-svn-commits] JBL Code SVN: r10141 - in labs/jbossrules/trunk/drools-compiler/src: test/java/org/drools/clp and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Mar 12 22:12:07 EDT 2007


Author: mark.proctor at jboss.com
Date: 2007-03-12 22:12:07 -0400 (Mon, 12 Mar 2007)
New Revision: 10141

Modified:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/clp/BlockExecutionEngine.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/clp/CLPEval.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/clp/CLPPredicate.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/clp/CLPReturnValue.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/clp/ExecutionEngine.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/clp/LongLiteralValue.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/clp/ClpParserTest.java
Log:
JBRULES-720 Clips Parser
-still trying to get functions to work

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/clp/BlockExecutionEngine.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/clp/BlockExecutionEngine.java	2007-03-13 01:38:33 UTC (rev 10140)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/clp/BlockExecutionEngine.java	2007-03-13 02:12:07 UTC (rev 10141)
@@ -31,6 +31,10 @@
                           this.functions.length - 1 );
         temp[temp.length - 1] = function;
         this.functions = temp;
+    } 
+    
+    public Function[] getFunctions() {
+        return this.functions;
     }    
 
     public int getNextIndex() {

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/clp/CLPEval.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/clp/CLPEval.java	2007-03-13 01:38:33 UTC (rev 10140)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/clp/CLPEval.java	2007-03-13 02:12:07 UTC (rev 10141)
@@ -33,6 +33,10 @@
         setFunction( function );        
     }
     
+    public Function[] getFunctions() {
+        return new Function[] { this.function };
+    }    
+    
     public int getNextIndex() {
         return  this.index++;
     }    

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/clp/CLPPredicate.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/clp/CLPPredicate.java	2007-03-13 01:38:33 UTC (rev 10140)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/clp/CLPPredicate.java	2007-03-13 02:12:07 UTC (rev 10141)
@@ -33,6 +33,10 @@
         this.function = function;
     }
     
+    public Function[] getFunctions() {
+        return new Function[] { this.function };
+    }    
+    
     public int getNextIndex() {
         return  this.index++;
     }    

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/clp/CLPReturnValue.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/clp/CLPReturnValue.java	2007-03-13 01:38:33 UTC (rev 10140)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/clp/CLPReturnValue.java	2007-03-13 02:12:07 UTC (rev 10141)
@@ -34,6 +34,10 @@
     public void addFunction(Function function) {
         setFunction( function );        
     }  
+    
+    public Function[] getFunctions() {
+        return new Function[] { this.function };
+    }
 
     public int getNextIndex() {
         return  this.index++;

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/clp/ExecutionEngine.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/clp/ExecutionEngine.java	2007-03-13 01:38:33 UTC (rev 10140)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/clp/ExecutionEngine.java	2007-03-13 02:12:07 UTC (rev 10141)
@@ -4,4 +4,6 @@
     public void addFunction(Function function);
     
     public int getNextIndex();
+    
+    public Function[] getFunctions();
 }

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/clp/LongLiteralValue.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/clp/LongLiteralValue.java	2007-03-13 01:38:33 UTC (rev 10140)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/clp/LongLiteralValue.java	2007-03-13 02:12:07 UTC (rev 10141)
@@ -56,5 +56,27 @@
 
     public String getStringValue(ExecutionContext context) {
         return Long.toString( this.longValue );
+    }
+    
+    public String toString() {
+        return "[LongLiteralValue value='" + this.longValue + "']";
+    }
+
+    public int hashCode() {
+        final int PRIME = 31;
+        int result = 1;
+        result = PRIME * result + (int) (longValue ^ (longValue >>> 32));
+        return result;
+    }
+
+    public boolean equals(Object obj) {
+        if ( this == obj ) return true;
+        if ( obj == null ) return false;
+        if ( ! ( obj instanceof LongLiteralValue ) ) return false;
+        final LongLiteralValue other = (LongLiteralValue) obj;
+        if ( longValue != other.longValue ) return false;
+        return true;
     }      
+    
+    
 }

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/clp/ClpParserTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/clp/ClpParserTest.java	2007-03-13 01:38:33 UTC (rev 10140)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/clp/ClpParserTest.java	2007-03-13 02:12:07 UTC (rev 10141)
@@ -32,11 +32,15 @@
 
     public void testParseFunction() throws Exception {
         ExecutionBuildContext context = new ExecutionBuildContext( new CLPPredicate() );
-        parse( "(< 1 2)" ).function( context );
+        Function f = parse( "(< 1 2)" ).function( context );
+        
+        assertEquals( "<", f.getName() );        
+        assertEquals( new LongLiteralValue( 1 ), f.getParameters()[0] );
+        assertEquals( new LongLiteralValue( 2 ), f.getParameters()[1] );
     }
     
     public void testPatternsRule() throws Exception {
-        RuleDescr rule = parse( "(defrule xxx ?b <- (person (name \"yyy\"&?bf|~\"zzz\"|~=(+ 2 2)&:(< 1 2)) ) ?c <- (hobby (type ?bf2&~iii) (rating fivestar) )" ).rule();
+        RuleDescr rule = parse( "(defrule xxx ?b <- (person (name \"yyy\"&?bf|~\"zzz\"|~=(+ 2 3)&:(< 1 2)) ) ?c <- (hobby (type ?bf2&~iii) (rating fivestar) )" ).rule();
 
         assertEquals( "xxx",
                       rule.getName() );
@@ -98,8 +102,14 @@
         ReturnValueRestrictionDescr retDescr = (ReturnValueRestrictionDescr) restrictionList.get( 6 );
         assertEquals( "!=",
                       retDescr.getEvaluator() );
-        assertEquals( "ppp",
-                      retDescr.getContent() );
+        CLPReturnValue clprv = ( CLPReturnValue ) retDescr.getContent();
+        Function f = clprv.getFunctions()[0];
+        assertEquals( "+", f.getName() );        
+        assertSame( new LongLiteralValue( 2 ), f.getParameters()[0] );
+        
+        
+//        assertEquals( "ppp",
+//                       );
 
         PredicateDescr predicateDescr = (PredicateDescr) colList.get( 1 );
         assertEquals( "ooo",




More information about the jboss-svn-commits mailing list