[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