[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