[jboss-svn-commits] JBL Code SVN: r15200 - labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/dsl.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Sep 18 08:51:27 EDT 2007
Author: tirelli
Date: 2007-09-18 08:51:27 -0400 (Tue, 18 Sep 2007)
New Revision: 15200
Modified:
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/dsl/DefaultExpander.java
Log:
improving error messages
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-09-18 10:19:00 UTC (rev 15199)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/dsl/DefaultExpander.java 2007-09-18 12:51:27 UTC (rev 15200)
@@ -45,9 +45,9 @@
// Be EXTREMELLY careful if you decide to change bellow regexp's
//
// bellow regexp is used to find and parse rule parts: header, LHS, RHS, trailer, etc
- private static final String rulesExpr = "(^\\s*rule.*?$.*?^\\s*when.*?$)(.*?)(^\\s*then.*?$)(.*?)(^\\s*end)";
+ private static final String rulesExpr = "(^\\s*rule.*?$.*?^\\s*when.*?)$(.*?)(^\\s*then.*?$)(.*?)(^\\s*end)";
// bellow regexp is used to find and parse query parts: header, condition, trailer
- private static final String queryExpr = "(^\\s*query.*?$)(.*?)(^\\s*end)";
+ private static final String queryExpr = "(^\\s*query.*?)$(.*?)(^\\s*end)";
// bellow we combine and compile above expressions into a pattern object
private static final Pattern finder = Pattern.compile( "(" + rulesExpr + "|" + queryExpr + ")",
@@ -136,18 +136,18 @@
String headerFragment = m.group( 2 );
expanded.append( headerFragment ); // adding rule header and attributes
String lhsFragment = m.group( 3 );
- expanded.append( this.expandLHS( lhsFragment, countNewlines( headerFragment ) + 1 ) ); // adding expanded LHS
+ expanded.append( this.expandLHS( lhsFragment, countNewlines( headerFragment ) + 2 ) ); // adding expanded LHS
String thenFragment = m.group( 4 );
expanded.append( thenFragment ); // adding "then" header
- expanded.append( this.expandRHS( m.group( 5 ), countNewlines( headerFragment + lhsFragment + thenFragment ) + 1 ) ); // adding expanded RHS
+ expanded.append( this.expandRHS( m.group( 5 ), countNewlines( headerFragment + lhsFragment + thenFragment ) + 2 ) ); // adding expanded RHS
expanded.append( m.group( 6 ) ); // adding rule trailer
expanded.append( "\n" );
} else if ( constr.startsWith( "query" ) ) {
// match query
String fragment = m.group( 7 );
expanded.append( fragment ); // adding query header and attributes
- expanded.append( this.expandLHS( m.group( 8 ), countNewlines( fragment ) + 1 ) ); // adding expanded LHS
+ expanded.append( this.expandLHS( m.group( 8 ), countNewlines( fragment ) + 2 ) ); // adding expanded LHS
expanded.append( m.group( 9 ) ); // adding query trailer
expanded.append( "\n" );
} else {
@@ -234,7 +234,7 @@
// do we need to report errors for that?
if ( lines[i].equals( expanded[lastExpanded] ) ) {
// report error
- this.addError( new ExpanderException( "Unable to expand: " + lines[i].replaceAll( "[\n\r]", "" ),
+ this.addError( new ExpanderException( "Unable to expand: " + lines[i].replaceAll( "[\n\r]", "" ).trim(),
i + lineOffset ) );
}
// but if the original starts with a "-", it means we need to add it
@@ -258,7 +258,7 @@
} else {
// error, pattern not found to add constraint to
// TODO: can we report character position?
- this.addError( new ExpanderException( "No pattern was found to add the constraint to: " + lines[i],
+ this.addError( new ExpanderException( "No pattern was found to add the constraint to: " + lines[i].trim(),
i + lineOffset ) );
}
lastExpanded--;
More information about the jboss-svn-commits
mailing list