You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2014/03/27 18:15:35 UTC

svn commit: r1582408 - in /jena/trunk/jena-arq/src/main/java/org/apache/jena: riot/WebContent.java web/DatasetGraphAccessorHTTP.java

Author: andy
Date: Thu Mar 27 17:15:34 2014
New Revision: 1582408

URL: http://svn.apache.org/r1582408
Log:
JENA-663 : Use general Accept header

1/ Accept header to prefer Turtle, then NT, JSON-LD and RDF/XML (then anything).
2/ Allow "Accept:" and outgoing "Content-type:" to be set by the application.

Modified:
    jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/WebContent.java
    jena/trunk/jena-arq/src/main/java/org/apache/jena/web/DatasetGraphAccessorHTTP.java

Modified: jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/WebContent.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/WebContent.java?rev=1582408&r1=1582407&r2=1582408&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/WebContent.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/WebContent.java Thu Mar 27 17:15:34 2014
@@ -157,9 +157,10 @@ public class WebContent
     
     /** Accept header part when looking for a graph */
     private static final String defaultGraphAccept          
-        =  "text/turtle,application/n-triples;q=0.9,application/rdf+xml;q=0.8,application/xml;q=0.7,application/ld+json;q=0.5" ;
+        =  "text/turtle,application/n-triples;q=0.9,application/ld+json;q=0.8,application/rdf+xml;q=0.7" ;
     
     /** Accept header when looking for a graph */
+    // Catches aplication/xml and application.json
     public static final String defaultGraphAcceptHeader     =  defaultGraphAccept+",*/*;q=0.5" ; 
 
     /** Accept header part when looking for a dataset */

Modified: jena/trunk/jena-arq/src/main/java/org/apache/jena/web/DatasetGraphAccessorHTTP.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/web/DatasetGraphAccessorHTTP.java?rev=1582408&r1=1582407&r2=1582408&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/apache/jena/web/DatasetGraphAccessorHTTP.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/apache/jena/web/DatasetGraphAccessorHTTP.java Thu Mar 27 17:15:34 2014
@@ -46,12 +46,32 @@ import com.hp.hpl.jena.shared.JenaExcept
 public class DatasetGraphAccessorHTTP implements DatasetGraphAccessor {
     // Test for this class are in Fuseki so they can be run with a server.
 
+    private static final HttpResponseHandler noResponse        = HttpResponseLib.nullResponse ;
+    /** Format used to send a graph to the server */
+    private static final RDFFormat           defaultSendLang   = RDFFormat.RDFXML_PLAIN ;
+
     private final String                     remote ;
-    private static final HttpResponseHandler noResponse = HttpResponseLib.nullResponse ;
     private HttpAuthenticator                authenticator ;
 
-    /** Format used to send a graph to the server */
-    private static RDFFormat                 defaultSendLang   = RDFFormat.RDFXML_PLAIN ;
+    private RDFFormat                        formatPutPost     = defaultSendLang ;
+
+    /**
+     * Accept header for fetching graphs - prefer N-triples.
+     * @See WebContent.defaultGraphAcceptHeader
+     */
+    private String                           graphAcceptHeader = WebContent.defaultGraphAcceptHeader ;  
+
+    /** RDF syntax to use when sending graphs with POST and PUT. */
+    public RDFFormat getOutboundSyntax()  { return formatPutPost ; }
+
+    /** Set the RDF syntax to use when sending graphs with POST and PUT. Defaults to RDF/XML. */
+    public void setOutboundSyntax(RDFFormat format)  { formatPutPost = format ; }
+
+    /** HTTP accept header used to GET a graph. */
+    public String getGraphAcceptHeader()  { return graphAcceptHeader ; }
+
+    /** Set the HTTP accept header used to GET a graph. */
+    public void setGraphAcceptHeader(String header)  { graphAcceptHeader = header ; }
 
     /**
      * Create a DatasetUpdater for the remote URL
@@ -108,18 +128,10 @@ public class DatasetGraphAccessorHTTP im
         return doGet(target(graphName)) ;
     }
 
-    /**
-     * Accept header for fetching graphs - prefer N-triples
-     * 
-     * @See WebContent.defaultGraphAcceptHeader
-     * 
-     */
-    private static String GetAcceptHeader = "application/n-triples,text/turtle;q=0.9,application/rdf+xml;q=0.8,application/xml;q=0.7" ;
-
     protected Graph doGet(String url) {
         HttpCaptureResponse<Graph> graph = HttpResponseLib.graphHandler() ;
         try {
-            HttpOp.execHttpGet(url, GetAcceptHeader, graph, this.authenticator) ;
+            HttpOp.execHttpGet(url, graphAcceptHeader, graph, this.authenticator) ;
         } catch (HttpException ex) {
             if ( ex.getResponseCode() == HttpSC.NOT_FOUND_404 )
                 return null ;
@@ -222,11 +234,6 @@ public class DatasetGraphAccessorHTTP im
         return remote + "?" + HttpNames.paramGraph + "=" + guri ;
     }
 
-    /**
-     * RDF syntax to use when sending graphs  with POST and PUT  
-     */
-    protected RDFFormat getOutboundSyntax()  { return defaultSendLang ; } 
-    
     /** Create an HttpEntity for the graph */  
     protected HttpEntity graphToHttpEntity(final Graph graph) {