[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