|
From: <iam...@us...> - 2010-03-15 11:24:40
|
Revision: 1307
http://eulergui.svn.sourceforge.net/eulergui/?rev=1307&view=rev
Author: iamlolive
Date: 2010-03-15 11:24:32 +0000 (Mon, 15 Mar 2010)
Log Message:
-----------
rethrowing of the parsingException to the upper level.
Modified Paths:
--------------
trunk/eulergui/src/main/java/eulergui/gui/view/QueryView.java
trunk/eulergui/src/main/java/eulergui/project/Project.java
trunk/eulergui/src/main/java/eulergui/project/ProjectSequence.java
trunk/eulergui/src/main/java/eulergui/project/ProjectWithSubProjects.java
trunk/eulergui/src/main/java/n3_project/ProjectFileManagement.java
trunk/eulergui/src/main/java/n3_project/helpers/N3SourcetoDrools.java
trunk/eulergui/src/main/java/n3_project/helpers/N3toDroolsUpdater.java
Modified: trunk/eulergui/src/main/java/eulergui/gui/view/QueryView.java
===================================================================
--- trunk/eulergui/src/main/java/eulergui/gui/view/QueryView.java 2010-03-15 11:11:49 UTC (rev 1306)
+++ trunk/eulergui/src/main/java/eulergui/gui/view/QueryView.java 2010-03-15 11:24:32 UTC (rev 1307)
@@ -64,10 +64,11 @@
@Override
public void actionPerformed(ActionEvent e) {
// <<<<<<<< TODO should be in actions package
- projectGUI.getProject().prepareDrools();
+
+ try {
+ projectGUI.getProject().prepareDrools();
projectGUI.getProject().getTranslator().copyN3factsToDrools();
String searchName = n3.getURI();
- try {
projectGUI.getProject().getTranslator().translateQuery( n3);
List<ITriple> result = projectGUI.getProject().search(
searchName, null);
Modified: trunk/eulergui/src/main/java/eulergui/project/Project.java
===================================================================
--- trunk/eulergui/src/main/java/eulergui/project/Project.java 2010-03-15 11:11:49 UTC (rev 1306)
+++ trunk/eulergui/src/main/java/eulergui/project/Project.java 2010-03-15 11:24:32 UTC (rev 1307)
@@ -37,6 +37,7 @@
import n3_project.helpers.ITriple;
import n3_project.helpers.N3toDroolsUpdater;
+import net.sf.parser4j.parser.service.ParserException;
import org.drools.RuleBase;
import org.drools.WorkingMemory;
@@ -710,14 +711,20 @@
* only used in TestProject.testReasonDrools() */
public N3Source runDrools() {
setErrors(null);
+ try {
doRunDrools();
+ } catch(ParserException e){
+ e.printStackTrace();
+ //TODO very bad exception handling below :
+ throw new RuntimeException("Drools was unable to parse an input file. Exiting.", e);
+ }
return getN3StringResult();
// return new N3Source(translator.getN3StringResult());
}
/** run Drools and return Triples,
* avoiding parsing the result */
- public List<ITriple> runDroolsTriples() {
+ public List<ITriple> runDroolsTriples() throws ParserException {
setErrors(null);
doRunDrools();
return getTranslator().getN3Result();
@@ -733,7 +740,7 @@
/**
* bare Drools Run
*/
- private void doRunDrools() {
+ private void doRunDrools() throws ParserException {
prepareDrools();
if( debug ) {
@@ -748,7 +755,7 @@
/** initialize Drools, and translate N3 rules to Drools;
* N3 facts are *not* inserted into the Working Memory */
- public void prepareDrools() {
+ public void prepareDrools() throws ParserException {
initializeDrools();
getTranslator().prepare();
translateN32Drools();
@@ -759,7 +766,7 @@
* see {@link N3toDroolsUpdater#getFactsTriples()};
* the Rules are fed to the Rule Base; see {@link #getRuleBase()}
*/
- public void translateN32Drools() {
+ public void translateN32Drools() throws ParserException {
// copy sources to avoid ConcurrentModificationException
Collection<N3Source> sources_ = new ArrayList<N3Source>(sources.values());
Modified: trunk/eulergui/src/main/java/eulergui/project/ProjectSequence.java
===================================================================
--- trunk/eulergui/src/main/java/eulergui/project/ProjectSequence.java 2010-03-15 11:11:49 UTC (rev 1306)
+++ trunk/eulergui/src/main/java/eulergui/project/ProjectSequence.java 2010-03-15 11:24:32 UTC (rev 1307)
@@ -15,6 +15,7 @@
import n3_project.helpers.SimplifiedURI;
import n3_project.helpers.TripleResult;
+import net.sf.parser4j.parser.service.ParserException;
import org.drools.RuleBase;
import org.drools.WorkingMemory;
@@ -139,11 +140,11 @@
}
@Override
- public List<ITriple> runDroolsTriples() {
+ public List<ITriple> runDroolsTriples() throws ParserException {
return runDroolsTriples( null );
}
- public List<ITriple> runDroolsTriples(List<ITriple> intermediary) {
+ public List<ITriple> runDroolsTriples(List<ITriple> intermediary) throws ParserException {
List<ITriple> result = super.runDroolsTriples();
if( intermediary != null ) {
intermediary.addAll(result); }
Modified: trunk/eulergui/src/main/java/eulergui/project/ProjectWithSubProjects.java
===================================================================
--- trunk/eulergui/src/main/java/eulergui/project/ProjectWithSubProjects.java 2010-03-15 11:11:49 UTC (rev 1306)
+++ trunk/eulergui/src/main/java/eulergui/project/ProjectWithSubProjects.java 2010-03-15 11:24:32 UTC (rev 1307)
@@ -14,6 +14,7 @@
import n3_project.helpers.ITriple;
import n3_project.helpers.SimplifiedURI;
+import net.sf.parser4j.parser.service.ParserException;
import org.drools.RuleBase;
import org.drools.WorkingMemory;
@@ -120,7 +121,7 @@
* @see eulergui.project.Project#runDroolsTriples()
*/
@Override
- public List<ITriple> runDroolsTriples() {
+ public List<ITriple> runDroolsTriples() throws ParserException {
gathering = gather();
return gathering.runDroolsTriples();
}
Modified: trunk/eulergui/src/main/java/n3_project/ProjectFileManagement.java
===================================================================
--- trunk/eulergui/src/main/java/n3_project/ProjectFileManagement.java 2010-03-15 11:11:49 UTC (rev 1306)
+++ trunk/eulergui/src/main/java/n3_project/ProjectFileManagement.java 2010-03-15 11:24:32 UTC (rev 1307)
@@ -20,6 +20,7 @@
import eulergui.project.Project;
import eulergui.project.ProjectSequence;
import eulergui.project.ProjectWithSubProjects;
+import net.sf.parser4j.parser.service.ParserException;
/**
* Project File Management: open, open from URL, save, save as, new,
@@ -223,7 +224,12 @@
N3SourcetoDrools.setSaveRulesOnDisk(true);
p.runDroolsTriples();
N3SourcetoDrools.setSaveRulesOnDisk(false);
- } catch (Exception e1) {
+
+ } catch(ParserException ex){
+ //TODO shall we do something else (i.e something specific) when parsing of input file fails?
+ ex.printStackTrace();
+ } catch (Exception e1) {
+
e1.printStackTrace();
}
}
Modified: trunk/eulergui/src/main/java/n3_project/helpers/N3SourcetoDrools.java
===================================================================
--- trunk/eulergui/src/main/java/n3_project/helpers/N3SourcetoDrools.java 2010-03-15 11:11:49 UTC (rev 1306)
+++ trunk/eulergui/src/main/java/n3_project/helpers/N3SourcetoDrools.java 2010-03-15 11:24:32 UTC (rev 1307)
@@ -14,6 +14,8 @@
import java.util.Set;
import java.util.TreeMap;
+import n3_project.exceptions.parser.ParsingException;
+import net.sf.parser4j.parser.service.ParserException;
import org.drools.FactException;
import org.drools.ObjectFilter;
import org.drools.RuleBase;
@@ -182,7 +184,7 @@
}
}
- public List<ITriple> translate(N3Source rdfModel) {
+ public List<ITriple> translate(N3Source rdfModel) throws ParserException {
lastN3Source = rdfModel;
current_document = rdfModel.uri();
List<ITriple> facts = Collections.emptyList();
@@ -200,7 +202,12 @@
facts = translate(parserLink);
} catch ( Exception e ) {
e.printStackTrace();
- }
+ if (e instanceof ParsingException) {
+ ((ParsingException)e).setSource(rdfModel);
+ }
+ if(e instanceof ParserException)
+ throw (ParserException)e;
+ }
}
return facts;
}
Modified: trunk/eulergui/src/main/java/n3_project/helpers/N3toDroolsUpdater.java
===================================================================
--- trunk/eulergui/src/main/java/n3_project/helpers/N3toDroolsUpdater.java 2010-03-15 11:11:49 UTC (rev 1306)
+++ trunk/eulergui/src/main/java/n3_project/helpers/N3toDroolsUpdater.java 2010-03-15 11:24:32 UTC (rev 1307)
@@ -10,6 +10,7 @@
import java.util.Set;
import java.util.TreeMap;
+import net.sf.parser4j.parser.service.ParserException;
import org.drools.QueryResult;
import org.drools.QueryResults;
import org.drools.RuleBase;
@@ -51,7 +52,7 @@
translator.setQuery(isQuery);
}
- public List<ITriple> translate(N3Source rdfModel) {
+ public List<ITriple> translate(N3Source rdfModel) throws ParserException {
if (uptodate(rdfModel)) {
System.out.println("Compilation of " + rdfModel.getURI()
+ " is uptodate.");
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|