# HG changeset patch # User Babis Nikolaou # Date 1365424873 -10800 # Node ID dd7724b049dec9e45fceecca31df8eba3a514451 # Parent 34a6c207f0d38db8cc8db1596dfce26308078e03 added support of all SPARQL result types provided by Sesame (json, xml, csv, tsv, binary). To get the respective writer, just prepend the string "SPARQL/", e.g., "SPARQL/JSON". This is to ensure that we support all SPARQL result formats of the SPARQL Protocol. diff -r 34a6c207f0d3 -r dd7724b049de endpoint-client/src/main/java/eu/earthobservatory/org/StrabonEndpoint/client/SPARQLEndpoint.java --- a/endpoint-client/src/main/java/eu/earthobservatory/org/StrabonEndpoint/client/SPARQLEndpoint.java Sat Apr 06 18:05:36 2013 +0300 +++ b/endpoint-client/src/main/java/eu/earthobservatory/org/StrabonEndpoint/client/SPARQLEndpoint.java Mon Apr 08 15:41:13 2013 +0300 @@ -215,7 +215,7 @@ SPARQLEndpoint endpoint = new SPARQLEndpoint(host, port, appName); try { - EndpointResult result = endpoint.query(query, stSPARQLQueryResultFormat.valueOf(format)); + EndpointResult result = endpoint.query(query, (stSPARQLQueryResultFormat) stSPARQLQueryResultFormat.valueOf(format)); System.out.println("Status code: " + result.getStatusCode()); System.out.println("Status text: " + result.getStatusText()); diff -r 34a6c207f0d3 -r dd7724b049de endpoint/src/main/java/eu/earthobservatory/org/StrabonEndpoint/BrowseBean.java --- a/endpoint/src/main/java/eu/earthobservatory/org/StrabonEndpoint/BrowseBean.java Sat Apr 06 18:05:36 2013 +0300 +++ b/endpoint/src/main/java/eu/earthobservatory/org/StrabonEndpoint/BrowseBean.java Mon Apr 08 15:41:13 2013 +0300 @@ -23,6 +23,7 @@ import javax.servlet.http.HttpServletResponse; import org.apache.commons.lang.StringEscapeUtils; +import org.openrdf.query.resultio.TupleQueryResultFormat; import org.openrdf.query.resultio.stSPARQLQueryResultFormat; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -179,7 +180,7 @@ String format = request.getParameter("format"); // get stSPARQLQueryResultFormat from given format name - stSPARQLQueryResultFormat queryResultFormat = stSPARQLQueryResultFormat.valueOf(format); + TupleQueryResultFormat queryResultFormat = stSPARQLQueryResultFormat.valueOf(format); if (query == null || format == null || queryResultFormat == null) { dispatcher = request.getRequestDispatcher("browse.jsp"); diff -r 34a6c207f0d3 -r dd7724b049de endpoint/src/main/java/eu/earthobservatory/org/StrabonEndpoint/Common.java --- a/endpoint/src/main/java/eu/earthobservatory/org/StrabonEndpoint/Common.java Sat Apr 06 18:05:36 2013 +0300 +++ b/endpoint/src/main/java/eu/earthobservatory/org/StrabonEndpoint/Common.java Mon Apr 08 15:41:13 2013 +0300 @@ -65,7 +65,7 @@ /** * Keeps the registered and available stSPARQL Query Results Formats. */ - public static final List registeredQueryResultsFormats = new ArrayList(); + public static final List registeredQueryResultsFormats = new ArrayList(); /** * Keeps the name of the registered and available stSPARQL Query Results Formats. @@ -76,10 +76,10 @@ // initialize registered and available stSPARQL query results formats static { for (TupleQueryResultFormat format : stSPARQLQueryResultFormat.values()) { - if (format instanceof stSPARQLQueryResultFormat) { - registeredQueryResultsFormats.add((stSPARQLQueryResultFormat) format); + //if (format instanceof stSPARQLQueryResultFormat) { + registeredQueryResultsFormats.add(format); registeredQueryResultsFormatNames.add(format.getName()); - } + //} } } diff -r 34a6c207f0d3 -r dd7724b049de endpoint/src/main/java/eu/earthobservatory/org/StrabonEndpoint/QueryBean.java --- a/endpoint/src/main/java/eu/earthobservatory/org/StrabonEndpoint/QueryBean.java Sat Apr 06 18:05:36 2013 +0300 +++ b/endpoint/src/main/java/eu/earthobservatory/org/StrabonEndpoint/QueryBean.java Mon Apr 08 15:41:13 2013 +0300 @@ -30,6 +30,7 @@ import org.apache.commons.io.FileUtils; import org.apache.commons.lang.StringEscapeUtils; +import org.openrdf.query.resultio.TupleQueryResultFormat; import org.openrdf.query.resultio.stSPARQLQueryResultFormat; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -221,7 +222,7 @@ String maxLimit = request.getParameter("maxLimit"); // get stSPARQLQueryResultFormat from given format name - stSPARQLQueryResultFormat queryResultFormat = stSPARQLQueryResultFormat.valueOf(format); + TupleQueryResultFormat queryResultFormat = stSPARQLQueryResultFormat.valueOf(format); if (query == null || format == null || queryResultFormat == null) { dispatcher = request.getRequestDispatcher("query.jsp"); diff -r 34a6c207f0d3 -r dd7724b049de pom.xml --- a/pom.xml Sat Apr 06 18:05:36 2013 +0300 +++ b/pom.xml Mon Apr 08 15:41:13 2013 +0300 @@ -214,6 +214,16 @@ sesame-queryresultio-text ${sesame.version} + + org.openrdf.sesame + sesame-queryresultio-binary + ${sesame.version} + + + org.openrdf.sesame + sesame-queryresultio-sparqljson + ${sesame.version} + diff -r 34a6c207f0d3 -r dd7724b049de resultio-spatial/api/src/main/java/org/openrdf/query/resultio/stSPARQLQueryResultFormat.java --- a/resultio-spatial/api/src/main/java/org/openrdf/query/resultio/stSPARQLQueryResultFormat.java Sat Apr 06 18:05:36 2013 +0300 +++ b/resultio-spatial/api/src/main/java/org/openrdf/query/resultio/stSPARQLQueryResultFormat.java Mon Apr 08 15:41:13 2013 +0300 @@ -98,16 +98,16 @@ } /** - * Gets the stSPARQLQueryResultFormat given its name. + * Gets the TupleQueryResultFormat given its name. It may be an + * stSPARQLQueryResultFormat. * * @param formatName * @return */ - public static stSPARQLQueryResultFormat valueOf(String formatName) { + public static TupleQueryResultFormat valueOf(String formatName) { for (TupleQueryResultFormat format : values()) { - if (format instanceof stSPARQLQueryResultFormat && - format.getName().equalsIgnoreCase(formatName)) { - return (stSPARQLQueryResultFormat) format; + if (format.getName().equalsIgnoreCase(formatName)) { + return format; } } diff -r 34a6c207f0d3 -r dd7724b049de runtime/pom.xml --- a/runtime/pom.xml Sat Apr 06 18:05:36 2013 +0300 +++ b/runtime/pom.xml Mon Apr 08 15:41:13 2013 +0300 @@ -44,6 +44,14 @@ org.openrdf.sesame sesame-queryresultio-spatial-text + + org.openrdf.sesame + sesame-queryresultio-sparqljson + + + org.openrdf.sesame + sesame-queryresultio-binary + diff -r 34a6c207f0d3 -r dd7724b049de runtime/src/main/java/eu/earthobservatory/utils/Format.java --- a/runtime/src/main/java/eu/earthobservatory/utils/Format.java Sat Apr 06 18:05:36 2013 +0300 +++ b/runtime/src/main/java/eu/earthobservatory/utils/Format.java Mon Apr 08 15:41:13 2013 +0300 @@ -62,6 +62,31 @@ TSV("TSV"), /** + * Sesame's JSON format + */ + SESAME_JSON("SPARQL/JSON"), + + /** + * Sesame's XML format + */ + SESAME_XML("SPARQL/XML"), + + /** + * Sesame's Binary format + */ + SESAME_BINARY("BINARY"), + + /** + * Sesame's CSV format + */ + SESAME_CSV("SPARQL/CSV"), + + /** + * Sesame's TSV format + */ + SESAME_TSV("SPARQL/TSV"), + + /** * Invalid format. */ INVALID("INVALID"); diff -r 34a6c207f0d3 -r dd7724b049de runtime/src/main/java/eu/earthobservatory/utils/stSPARQLQueryResultToFormatAdapter.java --- a/runtime/src/main/java/eu/earthobservatory/utils/stSPARQLQueryResultToFormatAdapter.java Sat Apr 06 18:05:36 2013 +0300 +++ b/runtime/src/main/java/eu/earthobservatory/utils/stSPARQLQueryResultToFormatAdapter.java Mon Apr 08 15:41:13 2013 +0300 @@ -11,6 +11,8 @@ import java.io.OutputStream; +import org.openrdf.query.resultio.QueryResultIO; +import org.openrdf.query.resultio.TupleQueryResultFormat; import org.openrdf.query.resultio.TupleQueryResultWriter; import org.openrdf.query.resultio.TupleQueryResultWriterFactory; import org.openrdf.query.resultio.sparqlgeojson.stSPARQLResultsGeoJSONWriterFactory; @@ -70,6 +72,30 @@ case TSV: writer = tsv.getWriter(out); + break; + + case SESAME_XML: + writer = QueryResultIO.createWriter(TupleQueryResultFormat.SPARQL, out); + break; + + case SESAME_BINARY: + writer = QueryResultIO.createWriter(TupleQueryResultFormat.BINARY, out); + break; + + case SESAME_JSON: + writer = QueryResultIO.createWriter(TupleQueryResultFormat.JSON, out); + break; + + case SESAME_CSV: + writer = QueryResultIO.createWriter(TupleQueryResultFormat.CSV, out); + break; + + case SESAME_TSV: + writer = QueryResultIO.createWriter(TupleQueryResultFormat.TSV, out); + break; + + default: + // return NULL } return writer;