You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@marmotta.apache.org by an...@apache.org on 2013/09/27 05:04:30 UTC

[1/4] git commit: MARMOTTA-325 : Deprecate APIs that make it difficult to extend formats

Updated Branches:
  refs/heads/develop f111fb068 -> 8b6981545


MARMOTTA-325 : Deprecate APIs that make it difficult to extend formats

After deprecating both SPARQLGraphResultWriter, and the API methods that
rely on every type of query being applicable to a QueryResultWriter, the
code is substantially simpler, including removal of private methods in
SparqlWebService that are no longer required.

QueryResultWriter is only relevant to Tuple and Boolean results, so
hacking it to work with Graph results instead of using RDFHandler makes
it difficult to integrate with other API methods. Referencing RDFHandler
isn't even necessary in SparqlService if you only want to output to a
document, as
QueryResultIO.write(GraphQueryResult,RDFFormat,OutputStream) does the
resolution and handling automatically, as long as you can deal with
RDFHandlerException.

Project: http://git-wip-us.apache.org/repos/asf/incubator-marmotta/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-marmotta/commit/9b9f6856
Tree: http://git-wip-us.apache.org/repos/asf/incubator-marmotta/tree/9b9f6856
Diff: http://git-wip-us.apache.org/repos/asf/incubator-marmotta/diff/9b9f6856

Branch: refs/heads/develop
Commit: 9b9f68565f7228db1ef975c9e4b90ef4b622085d
Parents: f111fb0
Author: Peter Ansell <p_...@yahoo.com>
Authored: Fri Sep 27 12:26:32 2013 +1000
Committer: Peter Ansell <p_...@yahoo.com>
Committed: Fri Sep 27 12:26:32 2013 +1000

----------------------------------------------------------------------
 .../sparql/api/sparql/SparqlService.java        |  4 ++
 .../services/sparql/SparqlServiceImpl.java      | 39 +++++++-----
 .../sparqlio/rdf/SPARQLGraphResultWriter.java   | 10 ++++
 .../sparql/webservices/SparqlWebService.java    | 62 +-------------------
 4 files changed, 39 insertions(+), 76 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/9b9f6856/platform/marmotta-sparql/src/main/java/org/apache/marmotta/platform/sparql/api/sparql/SparqlService.java
----------------------------------------------------------------------
diff --git a/platform/marmotta-sparql/src/main/java/org/apache/marmotta/platform/sparql/api/sparql/SparqlService.java b/platform/marmotta-sparql/src/main/java/org/apache/marmotta/platform/sparql/api/sparql/SparqlService.java
index 00730cd..67984eb 100644
--- a/platform/marmotta-sparql/src/main/java/org/apache/marmotta/platform/sparql/api/sparql/SparqlService.java
+++ b/platform/marmotta-sparql/src/main/java/org/apache/marmotta/platform/sparql/api/sparql/SparqlService.java
@@ -35,6 +35,7 @@ import org.openrdf.query.resultio.BooleanQueryResultWriter;
 import org.openrdf.query.resultio.QueryResultWriter;
 import org.openrdf.query.resultio.TupleQueryResultWriter;
 import org.openrdf.repository.RepositoryException;
+import org.openrdf.rio.RDFHandler;
 
 /**
  * Add file description here!
@@ -123,6 +124,7 @@ public interface SparqlService {
      * @throws MalformedQueryException
      * @throws QueryEvaluationException
      * @throws TimeoutException
+     * @deprecated Use {@link #query(QueryLanguage, String, OutputStream, String, int)} instead
      */
     @Deprecated
     void query(QueryLanguage queryLanguage, String query, TupleQueryResultWriter tupleWriter, BooleanQueryResultWriter booleanWriter, SPARQLGraphResultWriter graphWriter, int timeoutInSeconds) throws MarmottaException, MalformedQueryException, QueryEvaluationException, TimeoutException;
@@ -134,7 +136,9 @@ public interface SparqlService {
      * @param query
      * @param writer
      * @param timeoutInSeconds
+     * @deprecated Use {@link #query(QueryLanguage, String, OutputStream, String, int)} instead
      */
+    @Deprecated
     void query(QueryLanguage queryLanguage, String query, QueryResultWriter writer, int timeoutInSeconds) throws MarmottaException, MalformedQueryException, QueryEvaluationException, TimeoutException;
     
 }

http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/9b9f6856/platform/marmotta-sparql/src/main/java/org/apache/marmotta/platform/sparql/services/sparql/SparqlServiceImpl.java
----------------------------------------------------------------------
diff --git a/platform/marmotta-sparql/src/main/java/org/apache/marmotta/platform/sparql/services/sparql/SparqlServiceImpl.java b/platform/marmotta-sparql/src/main/java/org/apache/marmotta/platform/sparql/services/sparql/SparqlServiceImpl.java
index 0fc1417..eb87934 100644
--- a/platform/marmotta-sparql/src/main/java/org/apache/marmotta/platform/sparql/services/sparql/SparqlServiceImpl.java
+++ b/platform/marmotta-sparql/src/main/java/org/apache/marmotta/platform/sparql/services/sparql/SparqlServiceImpl.java
@@ -76,6 +76,11 @@ import org.openrdf.query.resultio.TupleQueryResultFormat;
 import org.openrdf.query.resultio.TupleQueryResultWriter;
 import org.openrdf.repository.RepositoryConnection;
 import org.openrdf.repository.RepositoryException;
+import org.openrdf.rio.RDFFormat;
+import org.openrdf.rio.RDFHandler;
+import org.openrdf.rio.RDFHandlerException;
+import org.openrdf.rio.Rio;
+import org.openrdf.rio.UnsupportedRDFormatException;
 import org.slf4j.Logger;
 
 /**
@@ -166,7 +171,7 @@ public class SparqlServiceImpl implements SparqlService {
                         } else if (sparqlQuery instanceof BooleanQuery) {
                             query((BooleanQuery) sparqlQuery, booleanWriter);
                         } else if (sparqlQuery instanceof GraphQuery) {
-                            query((GraphQuery) sparqlQuery, graphWriter);
+                            query((GraphQuery) sparqlQuery, graphWriter.getOutputStream(), graphWriter.getFormat());
                         } else {
                             connection.rollback();
                             throw new InvalidArgumentException("SPARQL query type " + sparqlQuery.getClass() + " not supported!");
@@ -212,9 +217,10 @@ public class SparqlServiceImpl implements SparqlService {
     }
     
     @Override
-    public  void query(final QueryLanguage queryLanguage, final String query, final QueryResultWriter writer, final int timeoutInSeconds) throws MarmottaException, MalformedQueryException, QueryEvaluationException, TimeoutException {
+    public void query(final QueryLanguage queryLanguage, final String query, final QueryResultWriter writer, final int timeoutInSeconds) throws MarmottaException, MalformedQueryException, QueryEvaluationException, TimeoutException {
         log.debug("executing SPARQL query:\n{}", query);
         Future<Boolean> future = executorService.submit(new Callable<Boolean>() {
+            @SuppressWarnings("deprecation")
             @Override
             public Boolean call() throws Exception {
                 long start = System.currentTimeMillis();
@@ -229,7 +235,7 @@ public class SparqlServiceImpl implements SparqlService {
 	                    } else if (sparqlQuery instanceof BooleanQuery) {
 	                        query((BooleanQuery) sparqlQuery, (BooleanQueryResultWriter)writer);
 	                    } else if (sparqlQuery instanceof GraphQuery) {
-	                        query((GraphQuery) sparqlQuery, (SPARQLGraphResultWriter)writer);
+	                        query((GraphQuery) sparqlQuery, ((SPARQLGraphResultWriter)writer).getOutputStream(), ((SPARQLGraphResultWriter)writer).getFormat());
 	                    } else {
 	                        connection.rollback();
 	                        throw new InvalidArgumentException("SPARQL query type " + sparqlQuery.getClass() + " not supported!");
@@ -309,10 +315,10 @@ public class SparqlServiceImpl implements SparqlService {
                     throw new MarmottaException("error while getting repository connection", e);
                 } catch (QueryEvaluationException e) {
                     log.error("error while evaluating query: {}", e);
-                    throw new MarmottaException("error while writing query result in format ", e);
+                    throw new MarmottaException("error while evaluating query ", e);
                 } catch (MalformedQueryException e) {
                     log.error("error because malformed query: {}", e);
-                    throw new MarmottaException("error because malformed query result in format ", e);
+                    throw new MarmottaException("error because malformed query", e);
                 }
 
                 log.debug("SPARQL execution took {}ms", System.currentTimeMillis()-start);
@@ -363,16 +369,22 @@ public class SparqlServiceImpl implements SparqlService {
         query(query, getBooleanResultWriter(format, output));
     }
 
-    private void query(GraphQuery query, SPARQLGraphResultWriter writer) throws QueryEvaluationException {
+    private void query(GraphQuery query, OutputStream output, String format) throws QueryEvaluationException {
+        query(query, output, Rio.getWriterFormatForMIMEType(format, RDFFormat.RDFXML));
+    }
+
+    private void query(GraphQuery query, OutputStream output, RDFFormat format) throws QueryEvaluationException {
         try {
-            writer.write(query.evaluate());
+            QueryResultIO.write(query.evaluate(), format, output);
         } catch (IOException e) {
             throw new QueryEvaluationException("error while writing query graph result: ",e);
         }
-    }
-
-    private void query(GraphQuery query, OutputStream output, String format) throws QueryEvaluationException {
-        query(query, getGraphResultWriter(format, output));
+        catch(RDFHandlerException e) {
+            throw new QueryEvaluationException("error while writing query graph result: ",e);
+        }
+        catch(UnsupportedRDFormatException e) {
+            throw new QueryEvaluationException("Could not find requested output RDF format for results of query: ",e);
+        }
     }
 
     /**
@@ -526,9 +538,4 @@ public class SparqlServiceImpl implements SparqlService {
         } 
         return QueryResultIO.createWriter(resultFormat, os);
     }
-
-    private SPARQLGraphResultWriter getGraphResultWriter(String format, OutputStream os) {
-        return new SPARQLGraphResultWriter(os, format);
-    }
-
 }

http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/9b9f6856/platform/marmotta-sparql/src/main/java/org/apache/marmotta/platform/sparql/services/sparqlio/rdf/SPARQLGraphResultWriter.java
----------------------------------------------------------------------
diff --git a/platform/marmotta-sparql/src/main/java/org/apache/marmotta/platform/sparql/services/sparqlio/rdf/SPARQLGraphResultWriter.java b/platform/marmotta-sparql/src/main/java/org/apache/marmotta/platform/sparql/services/sparqlio/rdf/SPARQLGraphResultWriter.java
index 07a744b..614c923 100644
--- a/platform/marmotta-sparql/src/main/java/org/apache/marmotta/platform/sparql/services/sparqlio/rdf/SPARQLGraphResultWriter.java
+++ b/platform/marmotta-sparql/src/main/java/org/apache/marmotta/platform/sparql/services/sparqlio/rdf/SPARQLGraphResultWriter.java
@@ -44,7 +44,9 @@ import edu.emory.mathcs.backport.java.util.Collections;
  * 
  * @author Sebastian Schaffert
  * @author Sergio Fernández
+ * @deprecated Only the getFormat and getOutputStream methods are used. Use alternative non-deprecated API methods to avoid using this class.
  */
+@Deprecated
 public class SPARQLGraphResultWriter implements QueryResultWriter {
 
     private OutputStream outputStream;
@@ -63,6 +65,14 @@ public class SPARQLGraphResultWriter implements QueryResultWriter {
         this.format = Rio.getWriterFormatForMIMEType(mimeType, RDFFormat.RDFXML);
     }
 
+    public RDFFormat getFormat() {
+        return format;
+    }
+    
+    public OutputStream getOutputStream() {
+        return outputStream;
+    }
+    
     @Deprecated
     public void write(GraphQueryResult result) throws IOException {
         try {

http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/9b9f6856/platform/marmotta-sparql/src/main/java/org/apache/marmotta/platform/sparql/webservices/SparqlWebService.java
----------------------------------------------------------------------
diff --git a/platform/marmotta-sparql/src/main/java/org/apache/marmotta/platform/sparql/webservices/SparqlWebService.java b/platform/marmotta-sparql/src/main/java/org/apache/marmotta/platform/sparql/webservices/SparqlWebService.java
index 06ab136..887158d 100644
--- a/platform/marmotta-sparql/src/main/java/org/apache/marmotta/platform/sparql/webservices/SparqlWebService.java
+++ b/platform/marmotta-sparql/src/main/java/org/apache/marmotta/platform/sparql/webservices/SparqlWebService.java
@@ -59,9 +59,6 @@ import org.apache.marmotta.platform.core.util.WebServiceUtil;
 import org.apache.marmotta.platform.sparql.api.sparql.QueryType;
 import org.apache.marmotta.platform.sparql.api.sparql.SparqlService;
 import org.apache.marmotta.platform.sparql.services.sparql.SparqlWritersHelper;
-import org.apache.marmotta.platform.sparql.services.sparqlio.rdf.SPARQLGraphResultWriter;
-import org.apache.marmotta.platform.sparql.services.sparqlio.sparqlhtml.SPARQLBooleanHTMLWriter;
-import org.apache.marmotta.platform.sparql.services.sparqlio.sparqlhtml.SPARQLResultsHTMLWriter;
 import org.openrdf.query.MalformedQueryException;
 import org.openrdf.query.QueryEvaluationException;
 import org.openrdf.query.QueryLanguage;
@@ -471,23 +468,10 @@ public class SparqlWebService {
         StreamingOutput entity = new StreamingOutput() {
             @Override
             public void write(OutputStream output) throws IOException, WebApplicationException {
-        		QueryResultWriter writer = null;
-            	if (QueryType.TUPLE.equals(queryType)) {
-            		writer = getTupleResultWriter(format.getMime(), output);
-            	} else if (QueryType.BOOL.equals(queryType)) {
-            		writer = getBooleanResultWriter(format.getMime(), output);
-            	} else if (QueryType.GRAPH.equals(queryType)) {
-            		writer = getGraphResultWriter(format.getMime(), output);
-            	} else {
-            		throw new RuntimeException("Unknown result writer for query type '" + queryType + "'");
-            	}
-            	
                 try {
-                	sparqlService.query(QueryLanguage.SPARQL, query, writer, configurationService.getIntConfiguration("sparql.timeout", 60));
+                	sparqlService.query(QueryLanguage.SPARQL, query, output, format.getMime(), configurationService.getIntConfiguration("sparql.timeout", 60));
                 } catch (MarmottaException ex) {
                     throw new WebApplicationException(ex.getCause(), Response.status(Response.Status.BAD_REQUEST).entity(WebServiceUtil.jsonErrorResponse(ex)).build());
-                } catch (QueryEvaluationException e) {
-                    throw new WebApplicationException(e.getCause(), Response.status(Response.Status.BAD_REQUEST).entity(WebServiceUtil.jsonErrorResponse(e)).build());
                 } catch (MalformedQueryException e) {
                     throw new WebApplicationException(e.getCause(), Response.status(Response.Status.BAD_REQUEST).entity(WebServiceUtil.jsonErrorResponse(e)).build());
                 } catch (TimeoutException e) {
@@ -504,11 +488,9 @@ public class SparqlWebService {
             @Override
             public void write(OutputStream output) throws IOException, WebApplicationException {
                 try {
-                    sparqlService.query(QueryLanguage.SPARQL,query,getTupleResultWriter(resultType,output),getBooleanResultWriter(resultType,output), getGraphResultWriter(resultType,output), configurationService.getIntConfiguration("sparql.timeout", 60));
+                    sparqlService.query(QueryLanguage.SPARQL,query,output,resultType, configurationService.getIntConfiguration("sparql.timeout", 60));
                 } catch (MarmottaException ex) {
                     throw new WebApplicationException(ex.getCause(), Response.status(Response.Status.BAD_REQUEST).entity(WebServiceUtil.jsonErrorResponse(ex)).build());
-                } catch (QueryEvaluationException e) {
-                    throw new WebApplicationException(e.getCause(), Response.status(Response.Status.BAD_REQUEST).entity(WebServiceUtil.jsonErrorResponse(e)).build());
                 } catch (MalformedQueryException e) {
                     throw new WebApplicationException(e.getCause(), Response.status(Response.Status.BAD_REQUEST).entity(WebServiceUtil.jsonErrorResponse(e)).build());
                 } catch (TimeoutException e) {
@@ -549,44 +531,4 @@ public class SparqlWebService {
         else
             return mimeType;
     }
-
-
-    private TupleQueryResultWriter getTupleResultWriter(String format, OutputStream os) {
-        //build outputwriter
-        final TupleQueryResultWriter out;
-        if(format == null) {
-            out = QueryResultIO.createWriter(TupleQueryResultFormat.SPARQL, os);
-        } else if(SparqlWritersHelper.parseSubType(format).equals("html")) {
-            out = new SPARQLResultsHTMLWriter(os, templatingService);
-        } else if(SparqlWritersHelper.parseSubType(format).equals("json")) {
-            out = QueryResultIO.createWriter(TupleQueryResultFormat.JSON, os);
-        } else if(SparqlWritersHelper.parseSubType(format).equals("xml")) {
-            out = QueryResultIO.createWriter(TupleQueryResultFormat.SPARQL, os);
-        } else if(SparqlWritersHelper.parseSubType(format).equals("csv")) {
-            out = QueryResultIO.createWriter(TupleQueryResultFormat.CSV, os);
-        } else throw new InvalidArgumentException("could not produce format "+format);
-        return out;
-    }
-
-    private BooleanQueryResultWriter getBooleanResultWriter(String format, OutputStream os) {
-        //build outputwriter
-        final BooleanQueryResultWriter out;
-        if(format == null) {
-            out = QueryResultIO.createWriter(BooleanQueryResultFormat.SPARQL, os);
-        } else if(SparqlWritersHelper.parseSubType(format).equals("html")) {
-            out = new SPARQLBooleanHTMLWriter(os);
-        } else if(SparqlWritersHelper.parseSubType(format).equals("json")) {
-            out = QueryResultIO.createWriter(BooleanQueryResultFormat.JSON, os);
-        } else if(SparqlWritersHelper.parseSubType(format).equals("xml")) {
-            out = QueryResultIO.createWriter(BooleanQueryResultFormat.SPARQL, os);
-        } else if(SparqlWritersHelper.parseSubType(format).equals("csv")) {
-            out = QueryResultIO.createWriter(BooleanQueryResultFormat.TEXT, os);
-        } else throw new InvalidArgumentException("could not produce format "+format);
-        return out;
-    }
-
-    protected SPARQLGraphResultWriter getGraphResultWriter(String format, OutputStream os) {
-        return new SPARQLGraphResultWriter(os, format);
-    }
-
 }


[4/4] git commit: MARMOTTA-325 : Autogenerate the list of available response types

Posted by an...@apache.org.
MARMOTTA-325 : Autogenerate the list of available response types

Uses the registries to generate the list of response types, which
previously included application/rdf+xml for tuple and boolean results
and will not include them after this update.

Project: http://git-wip-us.apache.org/repos/asf/incubator-marmotta/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-marmotta/commit/8b698154
Tree: http://git-wip-us.apache.org/repos/asf/incubator-marmotta/tree/8b698154
Diff: http://git-wip-us.apache.org/repos/asf/incubator-marmotta/diff/8b698154

Branch: refs/heads/develop
Commit: 8b69815459a3b7c4db067ba0fcd2929b47c22d2d
Parents: 7c956c9
Author: Peter Ansell <p_...@yahoo.com>
Authored: Fri Sep 27 12:59:40 2013 +1000
Committer: Peter Ansell <p_...@yahoo.com>
Committed: Fri Sep 27 12:59:40 2013 +1000

----------------------------------------------------------------------
 .../sparql/webservices/SparqlWebService.java    | 23 ++++++++++++++++++--
 1 file changed, 21 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/8b698154/platform/marmotta-sparql/src/main/java/org/apache/marmotta/platform/sparql/webservices/SparqlWebService.java
----------------------------------------------------------------------
diff --git a/platform/marmotta-sparql/src/main/java/org/apache/marmotta/platform/sparql/webservices/SparqlWebService.java b/platform/marmotta-sparql/src/main/java/org/apache/marmotta/platform/sparql/webservices/SparqlWebService.java
index 887158d..570ba2a 100644
--- a/platform/marmotta-sparql/src/main/java/org/apache/marmotta/platform/sparql/webservices/SparqlWebService.java
+++ b/platform/marmotta-sparql/src/main/java/org/apache/marmotta/platform/sparql/webservices/SparqlWebService.java
@@ -23,8 +23,10 @@ import java.io.UnsupportedEncodingException;
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.net.URLDecoder;
+import java.util.Collection;
 import java.util.HashMap;
 import java.util.HashSet;
+import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -65,10 +67,14 @@ import org.openrdf.query.QueryLanguage;
 import org.openrdf.query.UpdateExecutionException;
 import org.openrdf.query.resultio.BooleanQueryResultFormat;
 import org.openrdf.query.resultio.BooleanQueryResultWriter;
+import org.openrdf.query.resultio.BooleanQueryResultWriterRegistry;
+import org.openrdf.query.resultio.QueryResultFormat;
 import org.openrdf.query.resultio.QueryResultIO;
 import org.openrdf.query.resultio.QueryResultWriter;
 import org.openrdf.query.resultio.TupleQueryResultFormat;
 import org.openrdf.query.resultio.TupleQueryResultWriter;
+import org.openrdf.query.resultio.TupleQueryResultWriterRegistry;
+import org.openrdf.rio.RDFParserRegistry;
 import org.slf4j.Logger;
 
 import com.google.common.collect.Lists;
@@ -236,9 +242,9 @@ public class SparqlWebService {
 	        		acceptedTypes = MarmottaHttpUtils.parseAcceptHeader(acceptHeader);
 	        	}
 	        	if (QueryType.TUPLE.equals(queryType)) {
-	        		offeredTypes  = MarmottaHttpUtils.parseStringList(Lists.newArrayList("application/sparql-results+xml","application/sparql-results+json", "text/html", "application/rdf+xml", "text/csv"));
+	        		offeredTypes  = MarmottaHttpUtils.parseStringList(getTypes(TupleQueryResultWriterRegistry.getInstance().getKeys()));
 	        	} else if (QueryType.BOOL.equals(queryType)) {
-	        		offeredTypes  = MarmottaHttpUtils.parseStringList(Lists.newArrayList("application/sparql-results+xml","application/sparql-results+json", "text/html", "application/rdf+xml", "text/csv"));
+	        		offeredTypes  = MarmottaHttpUtils.parseStringList(getTypes(BooleanQueryResultWriterRegistry.getInstance().getKeys()));
 	        	} else if (QueryType.GRAPH.equals(queryType)) {
 	        		Set<String> producedTypes = new HashSet<String>(exportService.getProducedTypes());
 	        		producedTypes.remove("application/xml");
@@ -523,6 +529,19 @@ public class SparqlWebService {
         return r;
     }
 
+    /**
+     * Build a set of mime types based on the given formats
+     * @param types
+     * @return
+     */
+    private Set<String> getTypes(Collection<? extends QueryResultFormat> types) {
+        Set<String> results = new LinkedHashSet<String>();
+        for(QueryResultFormat type : types) {
+            results.addAll(type.getMIMETypes());
+        }
+        return results;
+    }
+    
     private static Pattern subTypePattern = Pattern.compile("[a-z]+/([a-z0-9-._]+\\+)?([a-z0-9-._]+)(;.*)?");
     private String parseSubType(String mimeType) {
         Matcher matcher = subTypePattern.matcher(mimeType);


[2/4] git commit: MARMOTTA-325 : Make io service more flexible wrt dynamic services

Posted by an...@apache.org.
MARMOTTA-325 : Make io service more flexible wrt dynamic services

If parsers were loaded into the registry after startup, the current code
would not recognise them. In order to make it possible to do this for
marmotta, the io service needs to call the authoritative service
registry when asked about questions.

In addition, the list of accept types could contain duplicates if more
than one parser supports a given format, so filtering through a set.

Project: http://git-wip-us.apache.org/repos/asf/incubator-marmotta/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-marmotta/commit/57272d71
Tree: http://git-wip-us.apache.org/repos/asf/incubator-marmotta/tree/57272d71
Diff: http://git-wip-us.apache.org/repos/asf/incubator-marmotta/diff/57272d71

Branch: refs/heads/develop
Commit: 57272d7129f35e7bb144d89b01f9c9d31e3b8061
Parents: 9b9f685
Author: Peter Ansell <p_...@yahoo.com>
Authored: Fri Sep 27 12:40:51 2013 +1000
Committer: Peter Ansell <p_...@yahoo.com>
Committed: Fri Sep 27 12:40:51 2013 +1000

----------------------------------------------------------------------
 .../core/services/io/MarmottaIOServiceImpl.java | 42 ++++++++------------
 1 file changed, 17 insertions(+), 25 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/57272d71/platform/marmotta-core/src/main/java/org/apache/marmotta/platform/core/services/io/MarmottaIOServiceImpl.java
----------------------------------------------------------------------
diff --git a/platform/marmotta-core/src/main/java/org/apache/marmotta/platform/core/services/io/MarmottaIOServiceImpl.java b/platform/marmotta-core/src/main/java/org/apache/marmotta/platform/core/services/io/MarmottaIOServiceImpl.java
index 3c8d9b6..683b07c 100644
--- a/platform/marmotta-core/src/main/java/org/apache/marmotta/platform/core/services/io/MarmottaIOServiceImpl.java
+++ b/platform/marmotta-core/src/main/java/org/apache/marmotta/platform/core/services/io/MarmottaIOServiceImpl.java
@@ -21,6 +21,7 @@ import org.apache.marmotta.platform.core.api.io.MarmottaIOService;
 import org.openrdf.rio.RDFFormat;
 import org.openrdf.rio.RDFParserRegistry;
 import org.openrdf.rio.RDFWriterRegistry;
+import org.openrdf.rio.Rio;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -28,7 +29,9 @@ import javax.annotation.PostConstruct;
 import javax.enterprise.context.ApplicationScoped;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.LinkedHashSet;
 import java.util.List;
+import java.util.Set;
 
 /**
  * User: Thomas Kurz
@@ -40,31 +43,12 @@ public class MarmottaIOServiceImpl implements MarmottaIOService {
 
     private Logger log = LoggerFactory.getLogger(this.getClass());
 
-    private RDFParserRegistry parserRegistry;
-    private RDFWriterRegistry writerRegistry;
-
-    private List<String> acceptTypes;
-    private List<String> producedTypes;
-
     @PostConstruct
     public void initialise() {
         log.info("initialising Apache Marmotta I/O service ...");
 
-        parserRegistry = RDFParserRegistry.getInstance();
-
-        acceptTypes = new ArrayList<String>();
-        for(RDFFormat format : parserRegistry.getKeys()) {
-            acceptTypes.addAll(format.getMIMETypes());
-        }
-        log.info(" - available parsers: {}", Arrays.toString(acceptTypes.toArray()));
-
-        writerRegistry = RDFWriterRegistry.getInstance();
-
-        producedTypes = new ArrayList<String>();
-        for(RDFFormat format : writerRegistry.getKeys()) {
-            producedTypes.addAll(format.getMIMETypes());
-        }
-        log.info(" - available writers: {}", Arrays.toString(producedTypes.toArray()));
+        log.info(" - available parsers: {}", Arrays.toString(getAcceptTypes().toArray()));
+        log.info(" - available writers: {}", Arrays.toString(getProducedTypes().toArray()));
     }
 
 	/**
@@ -73,7 +57,11 @@ public class MarmottaIOServiceImpl implements MarmottaIOService {
 	 */
 	@Override
 	public List<String> getAcceptTypes() {
-		return acceptTypes;
+        Set<String> acceptTypes = new LinkedHashSet<String>();
+        for(RDFFormat format : RDFParserRegistry.getInstance().getKeys()) {
+            acceptTypes.addAll(format.getMIMETypes());
+        }
+        return new ArrayList<String>(acceptTypes);
 	}
 
 	/**
@@ -82,7 +70,11 @@ public class MarmottaIOServiceImpl implements MarmottaIOService {
 	 */
 	@Override
 	public List<String> getProducedTypes() {
-		return producedTypes;
+	    Set<String> producedTypes = new LinkedHashSet<String>();
+        for(RDFFormat format : RDFWriterRegistry.getInstance().getKeys()) {
+            producedTypes.addAll(format.getMIMETypes());
+        }
+        return new ArrayList<String>(producedTypes);
 	}
 
 	/**
@@ -92,7 +84,7 @@ public class MarmottaIOServiceImpl implements MarmottaIOService {
 	 */
 	@Override
 	public RDFFormat getSerializer(String mimetype) {
-		return writerRegistry.getFileFormatForMIMEType(mimetype);
+		return Rio.getWriterFormatForMIMEType(mimetype);
 	}
 
 	/**
@@ -102,7 +94,7 @@ public class MarmottaIOServiceImpl implements MarmottaIOService {
 	 */
 	@Override
 	public RDFFormat getParser(String mimetype) {
-		return parserRegistry.getFileFormatForMIMEType(mimetype);
+		return Rio.getParserFormatForMIMEType(mimetype);
 	}
 	
 }


[3/4] git commit: MARMOTTA-325 : Add deprecated annotation on method that is not being used but it still on the API

Posted by an...@apache.org.
MARMOTTA-325 : Add deprecated annotation on method that is not being
used but it still on the API

Project: http://git-wip-us.apache.org/repos/asf/incubator-marmotta/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-marmotta/commit/7c956c92
Tree: http://git-wip-us.apache.org/repos/asf/incubator-marmotta/tree/7c956c92
Diff: http://git-wip-us.apache.org/repos/asf/incubator-marmotta/diff/7c956c92

Branch: refs/heads/develop
Commit: 7c956c92ece9328c99dd3667220a24401cdc544f
Parents: 57272d7
Author: Peter Ansell <p_...@yahoo.com>
Authored: Fri Sep 27 12:41:27 2013 +1000
Committer: Peter Ansell <p_...@yahoo.com>
Committed: Fri Sep 27 12:41:27 2013 +1000

----------------------------------------------------------------------
 .../marmotta/platform/sparql/services/sparql/SparqlServiceImpl.java | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/7c956c92/platform/marmotta-sparql/src/main/java/org/apache/marmotta/platform/sparql/services/sparql/SparqlServiceImpl.java
----------------------------------------------------------------------
diff --git a/platform/marmotta-sparql/src/main/java/org/apache/marmotta/platform/sparql/services/sparql/SparqlServiceImpl.java b/platform/marmotta-sparql/src/main/java/org/apache/marmotta/platform/sparql/services/sparql/SparqlServiceImpl.java
index eb87934..bdefc8b 100644
--- a/platform/marmotta-sparql/src/main/java/org/apache/marmotta/platform/sparql/services/sparql/SparqlServiceImpl.java
+++ b/platform/marmotta-sparql/src/main/java/org/apache/marmotta/platform/sparql/services/sparql/SparqlServiceImpl.java
@@ -217,6 +217,7 @@ public class SparqlServiceImpl implements SparqlService {
     }
     
     @Override
+    @Deprecated
     public void query(final QueryLanguage queryLanguage, final String query, final QueryResultWriter writer, final int timeoutInSeconds) throws MarmottaException, MalformedQueryException, QueryEvaluationException, TimeoutException {
         log.debug("executing SPARQL query:\n{}", query);
         Future<Boolean> future = executorService.submit(new Callable<Boolean>() {