# HG changeset patch # User Babis Nikolaou # Date 1366994886 -10800 # Node ID 0944a501d9888c52a4aad50ae54744ca0e3acae8 # Parent 95c7633544ad38e153fabd0fd63b6f033e890c2d added UnsupportedExtensionFunctionException (just extends QueryEvaluationException) which is thrown in GeneralDBEvaluation when no extension function is found. Added also a catch case for this kind of exceptions in monetdb.QueryOp and postgis.QueryOp. Afterall, we should not throw any exceptions to the end-user. An ERROR is sufficient enough. Exceptions should only be thrown only in cases of bugs. diff -r 95c7633544ad -r 0944a501d988 generaldb/src/main/java/org/openrdf/sail/generaldb/evaluation/GeneralDBEvaluation.java --- a/generaldb/src/main/java/org/openrdf/sail/generaldb/evaluation/GeneralDBEvaluation.java Mon Apr 15 18:39:56 2013 +0300 +++ b/generaldb/src/main/java/org/openrdf/sail/generaldb/evaluation/GeneralDBEvaluation.java Fri Apr 26 19:48:06 2013 +0300 @@ -92,6 +92,7 @@ import org.openrdf.sail.generaldb.algebra.GeneralDBSqlSpatialProperty; import org.openrdf.sail.generaldb.algebra.GeneralDBURIColumn; import org.openrdf.sail.generaldb.algebra.base.GeneralDBSqlExpr; +import org.openrdf.sail.generaldb.exceptions.UnsupportedExtensionFunctionException; import org.openrdf.sail.generaldb.model.GeneralDBPolyhedron; import org.openrdf.sail.generaldb.schema.IdSequence; import org.openrdf.sail.generaldb.util.StSPARQLValueComparator; @@ -246,8 +247,7 @@ Function function = FunctionRegistry.getInstance().get(fc.getURI()); if (function == null) { - logger.warn("[Strabon.evaluation(FunctionCall)] Extension function <{}> is not supported.", fc.getURI()); - return null; + throw new UnsupportedExtensionFunctionException("Extension function " + fc.getURI()+ " is not supported."); } // get the first argument of the function call diff -r 95c7633544ad -r 0944a501d988 generaldb/src/main/java/org/openrdf/sail/generaldb/exceptions/UnsupportedExtensionFunctionException.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/generaldb/src/main/java/org/openrdf/sail/generaldb/exceptions/UnsupportedExtensionFunctionException.java Fri Apr 26 19:48:06 2013 +0300 @@ -0,0 +1,30 @@ +/** + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright (C) 2013, Pyravlos Team + * + * http://www.strabon.di.uoa.gr/ + */ +package org.openrdf.sail.generaldb.exceptions; + +import org.openrdf.query.QueryEvaluationException; + +/** + * This exception is raised when a SPARQL query contains an + * extension function that is not supported by Strabon. + * + * @author Charalampos Nikolaou + */ +public class UnsupportedExtensionFunctionException extends QueryEvaluationException { + private static final long serialVersionUID = -5926890463141193859L; + + public UnsupportedExtensionFunctionException() { + super(); + } + + public UnsupportedExtensionFunctionException(String msg) { + super(msg); + } +} diff -r 95c7633544ad -r 0944a501d988 runtime/src/main/java/eu/earthobservatory/runtime/monetdb/QueryOp.java --- a/runtime/src/main/java/eu/earthobservatory/runtime/monetdb/QueryOp.java Mon Apr 15 18:39:56 2013 +0300 +++ b/runtime/src/main/java/eu/earthobservatory/runtime/monetdb/QueryOp.java Fri Apr 26 19:48:06 2013 +0300 @@ -11,6 +11,7 @@ import eu.earthobservatory.utils.Format; +import org.openrdf.sail.generaldb.exceptions.UnsupportedExtensionFunctionException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -54,6 +55,9 @@ strabon = new Strabon(db, user, passwd, port, host, forceDelete); strabon.query(queryString, Format.fromString(resultsFormat), strabon.getSailRepoConnection(), System.out); + } catch (UnsupportedExtensionFunctionException e) { + logger.error("[Strabon.QueryOp] {}", e.getMessage()); + } catch (Exception e) { logger.error("[Strabon.QueryOp] Error during execution of SPARQL query.", e); diff -r 95c7633544ad -r 0944a501d988 runtime/src/main/java/eu/earthobservatory/runtime/postgis/QueryOp.java --- a/runtime/src/main/java/eu/earthobservatory/runtime/postgis/QueryOp.java Mon Apr 15 18:39:56 2013 +0300 +++ b/runtime/src/main/java/eu/earthobservatory/runtime/postgis/QueryOp.java Fri Apr 26 19:48:06 2013 +0300 @@ -11,6 +11,7 @@ import eu.earthobservatory.utils.Format; +import org.openrdf.sail.generaldb.exceptions.UnsupportedExtensionFunctionException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -54,6 +55,9 @@ strabon = new Strabon(db, user, passwd, port, host, forceDelete); strabon.query(queryString, Format.fromString(resultsFormat), strabon.getSailRepoConnection(), System.out); + } catch (UnsupportedExtensionFunctionException e) { + logger.error("[Strabon.QueryOp] {}", e.getMessage()); + } catch (Exception e) { logger.error("[Strabon.QueryOp] Error during execution of SPARQL query.", e);