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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Aug 29 14:31:31 EDT 2007


Author: tirelli
Date: 2007-08-29 14:31:31 -0400 (Wed, 29 Aug 2007)
New Revision: 14739

Modified:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/DroolsError.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/FactTemplateError.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/FieldTemplateError.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/FunctionError.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/GlobalError.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/ImportError.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/ParserError.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/RuleError.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/RuleFlowLoadError.java
   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/MappingError.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaDialectError.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/PackageStore.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELDialect.java
Log:
Adding error line information to DroolsErrors classes

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/DroolsError.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/DroolsError.java	2007-08-29 18:20:31 UTC (rev 14738)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/DroolsError.java	2007-08-29 18:31:31 UTC (rev 14739)
@@ -23,4 +23,10 @@
      * which summarises the error.
      */
     public abstract String getMessage();
+    
+    /**
+     * Returns the lines of the error in the source file
+     * @return
+     */
+    public abstract int[] getErrorLines();
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/FactTemplateError.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/FactTemplateError.java	2007-08-29 18:20:31 UTC (rev 14738)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/FactTemplateError.java	2007-08-29 18:31:31 UTC (rev 14739)
@@ -25,6 +25,7 @@
     private BaseDescr descr;
     private Object    object;
     private String    message;
+    private int[]     line;
 
     public FactTemplateError(final Package pkg,
                              final BaseDescr descr,
@@ -35,6 +36,7 @@
         this.descr = descr;
         this.object = object;
         this.message = message;
+        this.line = new int[] { ( this.descr != null ) ? this.descr.getLine() : -1 };
     }
 
     public Package getPackage() {
@@ -48,17 +50,17 @@
     public Object getObject() {
         return this.object;
     }
+    
+    public int[] getErrorLines() {
+        return this.line;
+    }
 
     /** 
      * This will return the line number of the error, if possible
      * Otherwise it will be -1
      */
     public int getLine() {
-        if ( this.descr != null ) {
-            return this.descr.getLine();
-        } else {
-            return -1;
-        }
+        return this.line[0];
     }
 
     public String getMessage() {

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/FieldTemplateError.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/FieldTemplateError.java	2007-08-29 18:20:31 UTC (rev 14738)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/FieldTemplateError.java	2007-08-29 18:31:31 UTC (rev 14739)
@@ -25,6 +25,7 @@
     private BaseDescr descr;
     private Object    object;
     private String    message;
+    private int[]     line;
 
     public FieldTemplateError(final Package pkg,
                               final BaseDescr descr,
@@ -34,6 +35,7 @@
         this.descr = descr;
         this.object = object;
         this.message = message;
+        this.line = new int[] { ( this.descr != null ) ? this.descr.getLine() : -1 };
     }
 
     public Package getPackage() {
@@ -47,17 +49,17 @@
     public Object getObject() {
         return this.object;
     }
+    
+    public int[] getErrorLines() {
+        return this.line;
+    }
 
     /** 
      * This will return the line number of the error, if possible
      * Otherwise it will be -1
      */
     public int getLine() {
-        if ( this.descr != null ) {
-            return this.descr.getLine();
-        } else {
-            return -1;
-        }
+        return this.line[0];
     }
 
     public String getMessage() {

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/FunctionError.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/FunctionError.java	2007-08-29 18:20:31 UTC (rev 14738)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/FunctionError.java	2007-08-29 18:31:31 UTC (rev 14739)
@@ -20,9 +20,10 @@
 import org.drools.lang.descr.FunctionDescr;
 
 public class FunctionError extends DroolsError {
-    private FunctionDescr functionDescr;
-    private Object        object;
-    private String        message;
+    final private FunctionDescr functionDescr;
+    final private Object        object;
+    final private String        message;
+    private int[]         errorLines;
 
     public FunctionError(final FunctionDescr functionDescr,
                          final Object object,
@@ -40,6 +41,10 @@
     public Object getObject() {
         return this.object;
     }
+    
+    public int[] getErrorLines() {
+        return errorLines;        
+    }
 
     public String getMessage() {
         return this.message;
@@ -53,15 +58,18 @@
         StringBuffer detail = new StringBuffer();
         if( object instanceof CompilationProblem[] ) {
             CompilationProblem[] cp = (CompilationProblem[]) object;
+            this.errorLines = new int[cp.length];
             for( int i = 0; i < cp.length ; i ++ ) {
-                int line = cp[i].getStartLine() - this.functionDescr.getOffset() + this.getFunctionDescr().getLine() - 1;
+               this.errorLines[i] = cp[i].getStartLine() - this.functionDescr.getOffset() + this.getFunctionDescr().getLine() - 1; 
                detail.append( this.functionDescr.getName() );
                detail.append( " (line:" );
-               detail.append( line );
+               detail.append( this.errorLines[i] );
                detail.append( "): " );
                detail.append( cp[i].getMessage() );
                detail.append( "\n" );
             }
+        } else {
+            this.errorLines = new int[0];
         }
         return "[ "+functionDescr.getName()+" : "+message + "\n"+detail.toString()+" ]";
     }

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/GlobalError.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/GlobalError.java	2007-08-29 18:20:31 UTC (rev 14738)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/GlobalError.java	2007-08-29 18:31:31 UTC (rev 14739)
@@ -18,14 +18,20 @@
 
 public class GlobalError extends DroolsError {
     private String global;
+    private int[]  line;
 
-    public GlobalError(final String global) {
+    public GlobalError(final String global, final int line) {
         this.global = global;
+        this.line = new int[] { line };
     }
 
     public String getGlobal() {
         return this.global;
     }
+    
+    public int[] getErrorLines() {
+        return this.line;
+    }
 
     public String getMessage() {
         return this.global;

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/ImportError.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/ImportError.java	2007-08-29 18:20:31 UTC (rev 14738)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/ImportError.java	2007-08-29 18:31:31 UTC (rev 14739)
@@ -18,15 +18,21 @@
 
 public class ImportError extends DroolsError {
     private String importName;
+    private int[]  line;
 
-    public ImportError(final String importName) {
+    public ImportError(final String importName, final int line) {
         this.importName = importName;
+        this.line = new int[] { line };
     }
 
     public String getGlobal() {
         return this.importName;
     }
 
+    public int[] getErrorLines() {
+        return this.line;
+    }
+
     public String getMessage() {
         return this.importName;
     }

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java	2007-08-29 18:20:31 UTC (rev 14738)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java	2007-08-29 18:31:31 UTC (rev 14739)
@@ -377,7 +377,7 @@
                 pkg.addGlobal( identifier,
                                clazz );
             } catch ( final ClassNotFoundException e ) {
-                this.results.add(new GlobalError( identifier ));
+                this.results.add(new GlobalError( identifier, global.getLine() ));
             }
         }
     }

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/ParserError.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/ParserError.java	2007-08-29 18:20:31 UTC (rev 14738)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/ParserError.java	2007-08-29 18:31:31 UTC (rev 14739)
@@ -33,6 +33,10 @@
     public String getMessage() {
         return this.message;
     }
+    
+    public int[] getErrorLines() {
+        return new int[] { this.row };
+    }
 
     public int getCol() {
         return this.col;

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/RuleError.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/RuleError.java	2007-08-29 18:20:31 UTC (rev 14738)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/RuleError.java	2007-08-29 18:31:31 UTC (rev 14739)
@@ -25,6 +25,7 @@
     private BaseDescr descr;
     private Object    object;
     private String    message;
+    private int[]     errorLines = new int[0];
 
     public RuleError(final Rule rule,
                      final BaseDescr descr,
@@ -48,17 +49,17 @@
     public Object getObject() {
         return this.object;
     }
+    
+    public int[] getErrorLines() {
+        return this.errorLines;
+    }
 
     /** 
      * This will return the line number of the error, if possible
      * Otherwise it will be -1
      */
     public int getLine() {
-        if ( this.descr != null ) {
-            return this.descr.getLine();
-        } else {
-            return -1;
-        }
+        return this.descr != null ? this.descr.getLine() : -1;
     }
 
     public String getMessage() {
@@ -96,4 +97,29 @@
         return buf.toString();
     }
 
+//    private String createMessage( String message ) {
+//        StringBuffer detail = new StringBuffer();
+//        detail.append( this.message );
+//        detail.append( " : " );
+//        detail.append( this.rule );
+//        detail.append( "\n" );
+//        if( object instanceof CompilationProblem[] ) {
+//            CompilationProblem[] cp = (CompilationProblem[]) object;
+//            this.errorLines = new int[cp.length];
+//            for( int i = 0; i < cp.length ; i ++ ) {
+//               this.errorLines[i] = cp[i].getStartLine() - this.descr.getOffset() + this.descr.getLine() - 1; 
+//               detail.append( this.rule.getName() );
+//               detail.append( " (line:" );
+//               detail.append( this.errorLines[i] );
+//               detail.append( "): " );
+//               detail.append( cp[i].getMessage() );
+//               detail.append( "\n" );
+//            }
+//        } else {
+//            this.errorLines = new int[0];
+//        }
+//        return "[ "+this.rule.getName()+" : "+message + "\n"+detail.toString()+" ]";
+//    }
+    
+    
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/RuleFlowLoadError.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/RuleFlowLoadError.java	2007-08-29 18:20:31 UTC (rev 14738)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/RuleFlowLoadError.java	2007-08-29 18:31:31 UTC (rev 14739)
@@ -12,6 +12,7 @@
 
     private String message;
     private Exception exception;
+    private static final int[] lines = new int[0];
 
     public RuleFlowLoadError(String message, Exception nested) {
         
@@ -19,6 +20,10 @@
         this.exception = nested;
     }
     
+    public int[] getErrorLines() {
+        return this.lines;
+    }
+    
     public String getMessage() {
         if (exception != null) {
             return message + " : Exception " + exception.getClass() + " : "+ exception.getMessage();

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-08-29 18:20:31 UTC (rev 14738)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/ExpanderException.java	2007-08-29 18:31:31 UTC (rev 14739)
@@ -26,20 +26,24 @@
     private static final long serialVersionUID = 400L;
 
     private String            message;
-    private int               line;
+    private int[]             line;
 
     public ExpanderException(final String message,
                              final int line) {
         this.message = message;
-        this.line = line;
+        this.line = new int[] { line };
     }
+    
+    public int[] getErrorLines() {
+        return this.line;
+    }
 
     public String getMessage() {
-        return "[" + this.line + "] " + this.message;
+        return "[" + this.line[0] + "] " + this.message;
     }
     
     public int getLine() {
-        return this.line;
+        return this.line[0];
     }
 
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/dsl/MappingError.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/dsl/MappingError.java	2007-08-29 18:20:31 UTC (rev 14738)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/dsl/MappingError.java	2007-08-29 18:31:31 UTC (rev 14739)
@@ -41,17 +41,20 @@
     private final int       offset;
     private final String    token;
     private String          templateText;
+    private final int[]     line;
 
     public MappingError(final int errorCode,
                         final int template,
                         final int offset,
                         final String token,
-                        final String templateText) {
+                        final String templateText,
+                        final int line ) {
         this.errorCode = errorCode;
         this.template = template;
         this.token = token;
         this.offset = offset;
         this.templateText = templateText;
+        this.line = new int[] { line };
     }
 
     /**
@@ -61,6 +64,10 @@
     public int getErrorCode() {
         return this.errorCode;
     }
+    
+    public int[] getErrorLines() {
+        return this.line;
+    }
 
     /**
      * @return the offset

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaDialectError.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaDialectError.java	2007-08-29 18:20:31 UTC (rev 14738)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaDialectError.java	2007-08-29 18:31:31 UTC (rev 14739)
@@ -4,12 +4,17 @@
 
 public class JavaDialectError extends DroolsError {
     private String message;
+    private static final int[] line = new int[0];
 
     public JavaDialectError(final String message) {
         super();
         this.message = message;
     }
 
+    public int[] getErrorLines() {
+        return line;
+    }
+    
     public String getMessage() {
         return this.message;
     }

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/PackageStore.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/PackageStore.java	2007-08-29 18:20:31 UTC (rev 14738)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/PackageStore.java	2007-08-29 18:31:31 UTC (rev 14739)
@@ -66,7 +66,7 @@
         try {
             this.packageCompilationData.remove( resourceName );
         } catch ( final Exception e ) {
-            this.errors.add( new JavaDialectError( "PackageStore was unable to remove resourceName='" + resourceName + "'" ) );
+            this.errors.add( new JavaDialectError( "PackageStore was unable to remove resourceName='" + resourceName + "'"  ) );
         }
     }
 

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELDialect.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELDialect.java	2007-08-29 18:20:31 UTC (rev 14738)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELDialect.java	2007-08-29 18:31:31 UTC (rev 14739)
@@ -248,7 +248,7 @@
                 Class cls = this.typeResolver.resolveType( importEntry );                
                 this.imports.put( ParseTools.getSimpleClassName( cls ), cls );
             } catch ( ClassNotFoundException e ) {
-                this.results.add( new ImportError( importEntry ) );
+                this.results.add( new ImportError( importEntry, 1 ) );
             }
         }
     }
@@ -284,7 +284,7 @@
                 }
             }
         } catch ( ClassNotFoundException e ) {
-            this.results.add( new ImportError( staticImportEntry ) );
+            this.results.add( new ImportError( staticImportEntry, -1 ) );
         }
     }
 




More information about the jboss-svn-commits mailing list