From: <jbo...@li...> - 2006-04-18 23:57:59
|
Author: KrisVerlaenen Date: 2006-04-18 19:57:56 -0400 (Tue, 18 Apr 2006) New Revision: 3774 Modified: labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/builder/DroolsBuilder.java Log: Builder now shows Function errors too Modified: labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/builder/DroolsBuilder.java =================================================================== --- labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/builder/DroolsBuilder.java 2006-04-18 21:00:06 UTC (rev 3773) +++ labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/builder/DroolsBuilder.java 2006-04-18 23:57:56 UTC (rev 3774) @@ -11,6 +11,7 @@ import org.drools.compiler.DrlParser; import org.drools.compiler.DroolsError; import org.drools.compiler.DroolsParserException; +import org.drools.compiler.FunctionError; import org.drools.compiler.GlobalError; import org.drools.compiler.PackageBuilder; import org.drools.compiler.ParserError; @@ -215,6 +216,18 @@ ParserError parserError = (ParserError) error; // TODO try to retrieve character start-end markers.add(new DroolsBuildMarker(parserError.getMessage(), parserError.getRow())); + } else if (error instanceof FunctionError) { + FunctionError functionError = (FunctionError) error; + // TODO add line to function error + // TODO try to retrieve character start-end + if (functionError.getObject() instanceof CompilationProblem[]) { + CompilationProblem[] problems = (CompilationProblem[]) functionError.getObject(); + for (int j = 0; j < problems.length; j++) { + markers.add(new DroolsBuildMarker(problems[j].getMessage(), -1)); + } + } else { + markers.add(new DroolsBuildMarker(functionError.getFunctionDescr().getName() + ":" + functionError.getMessage(), -1)); + } } else { markers.add(new DroolsBuildMarker("Unknown DroolsError " + error.getClass() + ": " + error)); } @@ -236,7 +249,7 @@ } /** Actually parse the rules into the AST */ - private static PackageDescr parsePackage(String content, + public static PackageDescr parsePackage(String content, DrlParser parser, Reader dslReader) throws DroolsParserException { if (dslReader != null) |