From: <iam...@us...> - 2010-03-15 11:27:24
|
Revision: 1308 http://eulergui.svn.sourceforge.net/eulergui/?rev=1308&view=rev Author: iamlolive Date: 2010-03-15 11:27:15 +0000 (Mon, 15 Mar 2010) Log Message: ----------- automatically opening an editor for each malparsed N3Source. Modified Paths: -------------- trunk/eulergui/src/main/java/n3_project/ResultManagement.java trunk/eulergui/src/main/java/n3_project/RunAction.java trunk/eulergui/src/main/java/n3_project/RunDroolsAction.java Modified: trunk/eulergui/src/main/java/n3_project/ResultManagement.java =================================================================== --- trunk/eulergui/src/main/java/n3_project/ResultManagement.java 2010-03-15 11:24:32 UTC (rev 1307) +++ trunk/eulergui/src/main/java/n3_project/ResultManagement.java 2010-03-15 11:27:15 UTC (rev 1308) @@ -17,9 +17,12 @@ import javax.swing.WindowConstants; import javax.swing.text.BadLocationException; +import eulergui.gui.view.TextEditor; +import eulergui.parser.n3.impl.parser4j.entity.N3ParseResult; +import eulergui.project.N3Source; import n3_project.helpers.ITriple; -import eulergui.project.N3Source; + /** * Result Management: error display * @@ -205,7 +208,15 @@ return clearBeforeRunMode; } - private final class ViewAction extends LocalAction { + public void displayOriginalSourceWithErrors(eulergui.project.N3Source source, N3ParseResult result) { + TextEditor editor = new TextEditor(); + editor.displayEditor( projectGUI, source); + editor.setToolTipText(result.getErrorMessage()); + editor.setCaretPosition(result.getParseResult().getLineNumber(), result.getParseResult().getColumnNumber()); + + } + + private final class ViewAction extends LocalAction { private static final long serialVersionUID = 1L; private ViewAction(String text) { Modified: trunk/eulergui/src/main/java/n3_project/RunAction.java =================================================================== --- trunk/eulergui/src/main/java/n3_project/RunAction.java 2010-03-15 11:24:32 UTC (rev 1307) +++ trunk/eulergui/src/main/java/n3_project/RunAction.java 2010-03-15 11:27:15 UTC (rev 1308) @@ -2,7 +2,10 @@ import java.awt.event.ActionEvent; +import eulergui.parser.n3.impl.parser4j.entity.N3ParseResult; +import eulergui.project.N3Source; import eulergui.project.Project; +import n3_project.exceptions.parser.ParsingException; /** GUI Action for running Euler reasoning engine */ class RunAction extends RunAbstractAction { @@ -34,7 +37,18 @@ // "# CPU Time: " + Long.toString(project.getCPUTime() ) + " ms" ); } catch (Exception e1) { System.err.println(e1); - resultManagement.displayStandardError(); + boolean fineGrainedErrorCouldBeCharacterized = false; + if(e1 instanceof ParsingException){ + ParsingException parsingException = (ParsingException)e1; + if(parsingException.getSource()!=null) { + fineGrainedErrorCouldBeCharacterized = true; + N3Source source = parsingException.getSource(); + N3ParseResult result = parsingException.getResult(); + resultManagement.displayOriginalSourceWithErrors(source, result); + } + } + if(!fineGrainedErrorCouldBeCharacterized) + resultManagement.displayStandardError(); } } } Modified: trunk/eulergui/src/main/java/n3_project/RunDroolsAction.java =================================================================== --- trunk/eulergui/src/main/java/n3_project/RunDroolsAction.java 2010-03-15 11:24:32 UTC (rev 1307) +++ trunk/eulergui/src/main/java/n3_project/RunDroolsAction.java 2010-03-15 11:27:15 UTC (rev 1308) @@ -2,6 +2,8 @@ import java.awt.event.ActionEvent; +import n3_project.exceptions.parser.ParsingException; +import net.sf.parser4j.parser.service.ParserException; import org.apache.log4j.Logger; import eulergui.project.Project; @@ -37,12 +39,16 @@ // TripleStoreDrools.detectException(tripleStore); // } // resultManagement.result = project.runDrools(); + resultManagement.resultTriples = project.runDroolsTriples(); resultManagement.result = project.getN3StringResult(); displayResultsAndErrors(); - } catch (Exception e1) { + } catch(ParsingException ex){ + resultManagement.displayOriginalSourceWithErrors(ex.getSource(), ex.getResult()); + } + catch (Exception e1) { _log.error("error",e1); System.err.println(e1); resultManagement.displayStandardError(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |