[jboss-svn-commits] JBL Code SVN: r10583 - in labs/jbossrules/trunk/drools-compiler/src: main/java/org/drools/lang/dsl and 2 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Mar 28 14:14:25 EDT 2007


Author: tirelli
Date: 2007-03-28 14:14:24 -0400 (Wed, 28 Mar 2007)
New Revision: 10583

Added:
   labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_castsInsideEval.drl
Modified:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/ExpanderException.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/dsl/DefaultExpander.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java
Log:
JBRULES-718: adding test case. JBRULES-739: fixing problem whem reporting DSL errors. Adding test case.

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/ExpanderException.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/ExpanderException.java	2007-03-28 17:47:02 UTC (rev 10582)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/ExpanderException.java	2007-03-28 18:14:24 UTC (rev 10583)
@@ -1,5 +1,7 @@
 package org.drools.lang;
 
+import org.drools.compiler.DroolsError;
+
 /*
  * Copyright 2005 JBoss Inc
  * 
@@ -16,17 +18,24 @@
  * limitations under the License.
  */
 
-public class ExpanderException extends GeneralParseException {
+public class ExpanderException extends DroolsError {
 
     /**
      * 
      */
     private static final long serialVersionUID = 4842957918475578512L;
+    
+    private String message;
+    private int line;
 
     public ExpanderException(final String message,
                              final int line) {
-        super( message,
-               line );
+        this.message = message;
+        this.line = line;
     }
+
+    public String getMessage() {
+        return "["+line+"] "+message;
+    }
     
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/dsl/DefaultExpander.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/dsl/DefaultExpander.java	2007-03-28 17:47:02 UTC (rev 10582)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/dsl/DefaultExpander.java	2007-03-28 18:14:24 UTC (rev 10583)
@@ -28,6 +28,7 @@
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
+import org.drools.compiler.DroolsError;
 import org.drools.lang.Expander;
 import org.drools.lang.ExpanderException;
 
@@ -297,7 +298,7 @@
         return buf.toString();
     }
 
-    private void addError( Exception error ) {
+    private void addError( DroolsError error ) {
         if( this.errors == Collections.EMPTY_LIST ) {
             this.errors = new LinkedList();
         }

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java	2007-03-28 17:47:02 UTC (rev 10582)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java	2007-03-28 18:14:24 UTC (rev 10583)
@@ -4314,4 +4314,30 @@
                       results.size() );
     }
 
+    public void testCastingInsideEvals() throws Exception {
+        final PackageBuilder builder = new PackageBuilder();
+        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_castsInsideEval.drl" ) ) );
+        final Package pkg = builder.getPackage();
+
+        final RuleBase ruleBase = getRuleBase();
+        ruleBase.addPackage( pkg );
+        final WorkingMemory workingMemory = ruleBase.newWorkingMemory();
+        
+        workingMemory.setGlobal( "value", new Integer( 20 ) );
+
+        workingMemory.fireAllRules();
+    }
+
+    public void testEmptyDSL() throws Exception {
+        final String DSL = "# This is an empty dsl file.";
+        final PackageBuilder builder = new PackageBuilder();
+        Reader drlReader = new InputStreamReader( getClass().getResourceAsStream( "literal_rule.drl" ) );
+        Reader dslReader = new StringReader( DSL );
+        
+        builder.addPackageFromDrl( drlReader, dslReader );
+        final Package pkg = builder.getPackage();
+        
+        assertFalse( pkg.isValid() );
+    }
+
 }

Added: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_castsInsideEval.drl
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_castsInsideEval.drl	                        (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_castsInsideEval.drl	2007-03-28 18:14:24 UTC (rev 10583)
@@ -0,0 +1,14 @@
+package org.drools;
+
+global java.lang.Integer value;
+
+function boolean isEqual( Integer v1, Integer v2 ) {
+    return v1.equals( v2 );
+}
+
+rule "test casts"
+when
+    eval( isEqual((Integer) value, (Integer)value ) )
+then
+    // rule fired
+end
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_castsInsideEval.drl
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:eol-style
   + native




More information about the jboss-svn-commits mailing list