From: <sk...@us...> - 2008-01-30 11:21:15
|
Revision: 465 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=465&view=rev Author: sknappe Date: 2008-01-30 03:21:13 -0800 (Wed, 30 Jan 2008) Log Message: ----------- added exception handling functionality for sparql queries Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/kb/sparql/Cache.java trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQuery.java trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQueryThreaded.java trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java Added Paths: ----------- trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQueryException.java trunk/src/dl-learner/org/dllearner/server/jaxws/SparqlQueryExceptionBean.java Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/Cache.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/Cache.java 2008-01-30 10:27:21 UTC (rev 464) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/Cache.java 2008-01-30 11:21:13 UTC (rev 465) @@ -219,8 +219,10 @@ } else { query.send(); ResultSet rs = query.getResultSet(); - String json = SparqlQuery.getAsJSON(rs); - addToCache(query.getQueryString(), json); + if (rs!=null){ + String json = SparqlQuery.getAsJSON(rs); + addToCache(query.getQueryString(), json); + } return rs; } } Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQuery.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQuery.java 2008-01-30 10:27:21 UTC (rev 464) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQuery.java 2008-01-30 11:21:13 UTC (rev 465) @@ -50,6 +50,7 @@ private QueryEngineHTTP queryExecution; private SparqlEndpoint endpoint; private ResultSet rs = null; + private SparqlQueryException sendException=null; /** * Standard constructor. @@ -80,9 +81,13 @@ queryExecution.addNamedGraph(ngu); } logger.info("query SPARQL server"); - - rs = queryExecution.execSelect(); - logger.info(rs.getResultVars().toString()); + try{ + rs = queryExecution.execSelect(); + logger.info(rs.getResultVars().toString()); + } catch (Exception e){ + sendException=new SparqlQueryException(e.getMessage()); + logger.info("Exception when querying Sparql Endpoint"); + } isRunning = false; return rs; } @@ -107,6 +112,10 @@ public QueryEngineHTTP getExecution(){ return queryExecution; } + + public SparqlQueryException getException(){ + return sendException; + } public boolean hasCompleted() { return (rs != null); @@ -119,10 +128,7 @@ */ @Deprecated @SuppressWarnings( { "unchecked" }) - public String[][] getAsStringArray() { - if (rs == null) - this.send(); - System.out.println("Starting Query"); + public static String[][] getAsStringArray(ResultSet rs) { List<ResultBinding> l = ResultSetFormatter.toList(rs); List<String> resultVars = rs.getResultVars(); String[][] array = new String[l.size()][resultVars.size()]; @@ -139,7 +145,6 @@ i++; j = 0; } - System.out.println("Query complete"); return array; } Added: trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQueryException.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQueryException.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQueryException.java 2008-01-30 11:21:13 UTC (rev 465) @@ -0,0 +1,10 @@ +package org.dllearner.kb.sparql; + +public class SparqlQueryException extends Exception{ + + static final long serialVersionUID=101; + + public SparqlQueryException (String message) { + super ("Sparql Query failed.\n"+message); + } +} Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQueryThreaded.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQueryThreaded.java 2008-01-30 10:27:21 UTC (rev 464) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQueryThreaded.java 2008-01-30 11:21:13 UTC (rev 465) @@ -11,6 +11,7 @@ private boolean isRunning=false; private Cache cache; private SparqlQuery query; + private ResultSet result; public SparqlQueryThreaded(Cache cache, SparqlQuery query) { @@ -30,11 +31,15 @@ public void send() { isRunning=true; - cache.executeSparqlQuery(query); + result=cache.executeSparqlQuery(query); isRunning=false; } public SparqlQuery getSparqlQuery(){ return query; } + + public ResultSet getResult(){ + return result; + } } Modified: trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java =================================================================== --- trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java 2008-01-30 10:27:21 UTC (rev 464) +++ trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java 2008-01-30 11:21:13 UTC (rev 465) @@ -48,6 +48,7 @@ import org.dllearner.kb.OWLFile; import org.dllearner.kb.sparql.SparqlKnowledgeSource; import org.dllearner.kb.sparql.SparqlQuery; +import org.dllearner.kb.sparql.SparqlQueryException; import org.dllearner.learningproblems.PosNegDefinitionLP; import org.dllearner.learningproblems.PosNegInclusionLP; import org.dllearner.learningproblems.PosOnlyDefinitionLP; @@ -491,10 +492,12 @@ //////////////////////////////////////// @WebMethod - public String[][] getAsStringArray(int sessionID, int queryID) throws ClientNotKnownException + public String[][] getAsStringArray(int sessionID, int queryID) throws ClientNotKnownException, SparqlQueryException { ClientState state = getState(sessionID); - return state.getQuery(queryID).getSparqlQuery().getAsStringArray(); + SparqlQueryException exception=null; + if ((exception=state.getQuery(queryID).getSparqlQuery().getException())!=null) throw exception; + return SparqlQuery.getAsStringArray(state.getQuery(queryID).getResult()); } @WebMethod Added: trunk/src/dl-learner/org/dllearner/server/jaxws/SparqlQueryExceptionBean.java =================================================================== --- trunk/src/dl-learner/org/dllearner/server/jaxws/SparqlQueryExceptionBean.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/server/jaxws/SparqlQueryExceptionBean.java 2008-01-30 11:21:13 UTC (rev 465) @@ -0,0 +1,38 @@ +package org.dllearner.server.jaxws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +/** + * This class was generated by the JAXWS SI. + * JAX-WS RI 2.0_02-b08-fcs + * Generated source version: 2.0_02 + * + */ +@XmlRootElement(name = "SparqlQueryException", namespace = "http://server.dllearner.org/") +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "SparqlQueryException", namespace = "http://server.dllearner.org/") +public class SparqlQueryExceptionBean { + + private String message; + + /** + * + * @return + * returns String + */ + public String getMessage() { + return this.message; + } + + /** + * + * @param message + * the value for the message property + */ + public void setMessage(String message) { + this.message = message; + } +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |