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/01/22 16:47:09 UTC
svn commit: r1560388 - in /jena/branches/jena-fuseki-new-ui: ./ docs/
src-dev/dev/ src/main/java/org/apache/jena/fuseki/
src/main/java/org/apache/jena/fuseki/mgt/
src/main/java/org/apache/jena/fuseki/server/
src/main/java/org/apache/jena/fuseki/servlets/
Author: andy
Date: Wed Jan 22 15:47:08 2014
New Revision: 1560388
URL: http://svn.apache.org/r1560388
Log:
Reference count operations so that shutdown can happen when it's quiet.
Added:
jena/branches/jena-fuseki-new-ui/ds-offline
- copied, changed from r1558569, jena/branches/jena-fuseki-new-ui/ds-dormant
Removed:
jena/branches/jena-fuseki-new-ui/classpath-jetty-8.1.11
jena/branches/jena-fuseki-new-ui/classpath-jetty-9.1.0
jena/branches/jena-fuseki-new-ui/ds-dormant
Modified:
jena/branches/jena-fuseki-new-ui/docs/fuseki-protocol.md
jena/branches/jena-fuseki-new-ui/ds-active
jena/branches/jena-fuseki-new-ui/ds-get
jena/branches/jena-fuseki-new-ui/src-dev/dev/RunFuseki2.java
jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/FusekiCmd.java
jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/ActionCtl.java
jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/ActionDatasets.java
jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/server/DatasetRef.java
jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/servlets/ActionBase.java
jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/servlets/ActionLib.java
jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/servlets/ActionSPARQL.java
jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/servlets/HttpAction.java
jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/servlets/REST_Quads_R.java
jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_GSP_R.java
Modified: jena/branches/jena-fuseki-new-ui/docs/fuseki-protocol.md
URL: http://svn.apache.org/viewvc/jena/branches/jena-fuseki-new-ui/docs/fuseki-protocol.md?rev=1560388&r1=1560387&r2=1560388&view=diff
==============================================================================
--- jena/branches/jena-fuseki-new-ui/docs/fuseki-protocol.md (original)
+++ jena/branches/jena-fuseki-new-ui/docs/fuseki-protocol.md Wed Jan 22 15:47:08 2014
@@ -55,24 +55,14 @@ Pattern: `/$/server`
The URL `/$/server` returns details about the server and it's current status in JSON.
-@@details of JSON format.
+_@@details of JSON format._
## Datasets and Services
Pattern: `/$/datasets/`
`/$/datasets/` is a container representing all datasets present in the server.
-`/$/datasets/*{name}*` names a specific dataset.
-
-### Backup
-Pattern: `/$/backup/*{name}*`
-
-> _Not implemented_
-
-This operation initiates a backup and returns. It returns, via the Location head (@@?)
-the location of a resource that can be used to monitor the backup operation. Backup
-operations run asynchronously and may take a long time.
-
-Backups are written to the sever local directory 'backups' as gzip-compressed N-Quads files.
+`/$/datasets/*{name}*` names a specific dataset. As a container, operations on items
+in the container, via `GET`, `POST` and `DELETE`, operate on specific dataset.
### Adding a Dataset and its Services.
@@ -98,7 +88,7 @@ For in-memory datasets, the dataset is r
#### Templates
A short-cut form for some common set-ups is provided by <tt>POST</tt>ing with
-the following parameters (query string or HTMl form):
+the following parameters (query string or HTML form):
| Parameter | |
|-----------|-----------------|
@@ -137,6 +127,17 @@ any persistent data can be manipulated o
Datasets are initially "active". The transition from "active" to "offline" is graceful - all outstanding requests are completed.
+### Backup
+Pattern: `/$/backup/*{name}*`
+
+> _Not implemented_
+
+This operation initiates a backup and returns. It returns, via the Location head (@@?)
+the location of a resource that can be used to monitor the backup operation. Backup
+operations run asynchronously and may take a long time.
+
+Backups are written to the sever local directory 'backups' as gzip-compressed N-Quads files.
+
## Statistics
> **`/$/stats/*{name}*`**
Modified: jena/branches/jena-fuseki-new-ui/ds-active
URL: http://svn.apache.org/viewvc/jena/branches/jena-fuseki-new-ui/ds-active?rev=1560388&r1=1560387&r2=1560388&view=diff
==============================================================================
--- jena/branches/jena-fuseki-new-ui/ds-active (original)
+++ jena/branches/jena-fuseki-new-ui/ds-active Wed Jan 22 15:47:08 2014
@@ -1,3 +1,3 @@
#!/bin/bash
-curl -XPOST 'http://localhost:3030/$/datasets/NEW?status=active'
\ No newline at end of file
+curl -XPOST 'http://localhost:3030/$/datasets/NEW?state=active'
\ No newline at end of file
Modified: jena/branches/jena-fuseki-new-ui/ds-get
URL: http://svn.apache.org/viewvc/jena/branches/jena-fuseki-new-ui/ds-get?rev=1560388&r1=1560387&r2=1560388&view=diff
==============================================================================
--- jena/branches/jena-fuseki-new-ui/ds-get (original)
+++ jena/branches/jena-fuseki-new-ui/ds-get Wed Jan 22 15:47:08 2014
@@ -1,3 +1,3 @@
#!/bin/bash
-wget -S -O- -q 'http://localhost:3030/NEW/query?query=ASK{}'
\ No newline at end of file
+wget -S -O- -q 'http://localhost:3030/NEW/query?query=ASK{}'
Copied: jena/branches/jena-fuseki-new-ui/ds-offline (from r1558569, jena/branches/jena-fuseki-new-ui/ds-dormant)
URL: http://svn.apache.org/viewvc/jena/branches/jena-fuseki-new-ui/ds-offline?p2=jena/branches/jena-fuseki-new-ui/ds-offline&p1=jena/branches/jena-fuseki-new-ui/ds-dormant&r1=1558569&r2=1560388&rev=1560388&view=diff
==============================================================================
--- jena/branches/jena-fuseki-new-ui/ds-dormant (original)
+++ jena/branches/jena-fuseki-new-ui/ds-offline Wed Jan 22 15:47:08 2014
@@ -1,3 +1,3 @@
#!/bin/bash
-curl -XPOST 'http://localhost:3030/$/datasets/NEW?status=dormant'
\ No newline at end of file
+curl -XPOST 'http://localhost:3030/$/datasets/NEW?state=offline'
\ No newline at end of file
Modified: jena/branches/jena-fuseki-new-ui/src-dev/dev/RunFuseki2.java
URL: http://svn.apache.org/viewvc/jena/branches/jena-fuseki-new-ui/src-dev/dev/RunFuseki2.java?rev=1560388&r1=1560387&r2=1560388&view=diff
==============================================================================
--- jena/branches/jena-fuseki-new-ui/src-dev/dev/RunFuseki2.java (original)
+++ jena/branches/jena-fuseki-new-ui/src-dev/dev/RunFuseki2.java Wed Jan 22 15:47:08 2014
@@ -61,7 +61,7 @@ public class RunFuseki2
FusekiCmd.main(
// "-v",
- "--update", "--memtdb", "--mgtPort=0", "/ds"
+ "--update", "--memtdb", "--mgt", "/ds"
//"--update", "--loc="+tmpdir+"DB", "--set=tdb:unionDefaultGraph=true", "/ds"
//"--update", "--mem", "/ds"
Modified: jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/FusekiCmd.java
URL: http://svn.apache.org/viewvc/jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/FusekiCmd.java?rev=1560388&r1=1560387&r2=1560388&view=diff
==============================================================================
--- jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/FusekiCmd.java (original)
+++ jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/FusekiCmd.java Wed Jan 22 15:47:08 2014
@@ -353,7 +353,7 @@ public class FusekiCmd extends CmdARQ {
}
if ( ! contains(argMgt) && contains(argMgtPort) )
- Fuseki.configLog.warn("Management port specified by admin fucntions not enabled with --"+argMgt.getKeyName()) ;
+ Fuseki.configLog.warn("Management port specified by admin functions not enabled with --"+argMgt.getKeyName()) ;
if ( contains(argMgt) ) {
jettyServerConfig.mgtPort = 0 ;
Modified: jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/ActionCtl.java
URL: http://svn.apache.org/viewvc/jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/ActionCtl.java?rev=1560388&r1=1560387&r2=1560388&view=diff
==============================================================================
--- jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/ActionCtl.java (original)
+++ jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/ActionCtl.java Wed Jan 22 15:47:08 2014
@@ -60,6 +60,10 @@ public abstract class ActionCtl extends
// if /*
// request.getPathInfo() ; otherwise it's null.
+ // PathInfo is after the servlet name.
+ String x1 = action.request.getServletPath() ;
+ String x2 = action.request.getPathInfo() ;
+
String pathInfo = action.request.getPathInfo() ;
if ( pathInfo == null || pathInfo.isEmpty() || pathInfo.equals("/") )
// Includes calling as a container.
Modified: jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/ActionDatasets.java
URL: http://svn.apache.org/viewvc/jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/ActionDatasets.java?rev=1560388&r1=1560387&r2=1560388&view=diff
==============================================================================
--- jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/ActionDatasets.java (original)
+++ jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/ActionDatasets.java Wed Jan 22 15:47:08 2014
@@ -177,8 +177,9 @@ public class ActionDatasets extends Acti
name = "" ;
action.log.info(format("[%d] POST dataset %s", action.id, name)) ;
- if ( action.dsRef.getDataset() == null )
- ServletOps.errorNotFound("Not found: dataset "+action.dsRef.name);
+// if ( action.dsRef.getDataset() == null )
+// ServletOps.errorNotFound("Not found: dataset "+action.dsRef.name);
+
DatasetRef dsDesc = action.dsRef ;
String s = action.request.getParameter("state") ;
if ( s == null || s.isEmpty() )
@@ -186,7 +187,10 @@ public class ActionDatasets extends Acti
// setDatasetState is a transaction on the persistent state of the server.
if ( s.equalsIgnoreCase("active") ) {
- setDatasetState(name, FusekiVocab.stateActive) ;
+ action.log.info(format("[%d] REBUILD DATASET %s", action.id, name)) ;
+ setDatasetState(name, FusekiVocab.stateActive) ;
+ // DatasetGraph dsg = ???? ;
+ //dsDesc.activate(dsg) ;
dsDesc.activate() ;
} else if ( s.equalsIgnoreCase("offline") ) {
setDatasetState(name, FusekiVocab.stateOffline) ;
Modified: jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/server/DatasetRef.java
URL: http://svn.apache.org/viewvc/jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/server/DatasetRef.java?rev=1560388&r1=1560387&r2=1560388&view=diff
==============================================================================
--- jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/server/DatasetRef.java (original)
+++ jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/server/DatasetRef.java Wed Jan 22 15:47:08 2014
@@ -18,13 +18,19 @@
package org.apache.jena.fuseki.server;
-import static org.apache.jena.fuseki.server.DatasetStatus.* ;
+import static org.apache.jena.fuseki.server.DatasetStatus.ACTIVE ;
+import static org.apache.jena.fuseki.server.DatasetStatus.CLOSING ;
+import static org.apache.jena.fuseki.server.DatasetStatus.OFFLINE ;
+import static org.apache.jena.fuseki.server.DatasetStatus.UNINITIALIZED ;
+import static java.lang.String.format ;
import java.util.* ;
+import java.util.concurrent.atomic.AtomicBoolean ;
import java.util.concurrent.atomic.AtomicLong ;
import org.apache.jena.fuseki.Fuseki ;
import org.apache.jena.fuseki.FusekiException ;
+import org.apache.jena.fuseki.servlets.HttpAction ;
import com.hp.hpl.jena.query.ReadWrite ;
import com.hp.hpl.jena.sparql.core.DatasetGraph ;
@@ -53,6 +59,10 @@ public class DatasetRef implements Datas
@Override
public CounterSet getCounters() { return counters ; }
+ private final AtomicLong requestCounter = new AtomicLong(0) ;
+ private final AtomicBoolean offlineInProgress = new AtomicBoolean(false) ;
+ private final AtomicBoolean offline = new AtomicBoolean(false) ;
+
private Map<String, ServiceRef> endpoints = new HashMap<String, ServiceRef>() ;
private List<ServiceRef> serviceRefs = new ArrayList<ServiceRef>() ;
private volatile DatasetStatus state = UNINITIALIZED ;
@@ -76,6 +86,28 @@ public class DatasetRef implements Datas
this.link = link ;
}
+ public void startRequest(HttpAction action) {
+ // Deny if going offline
+ if ( offline.get() ) {
+ Fuseki.serverLog.warn("Dataset "+name+" is offline");
+ }
+
+ requestCounter.incrementAndGet() ;
+ }
+
+ public void finishRequest(HttpAction action) {
+ long x = requestCounter.decrementAndGet() ;
+ action.log.info(format("[%d] Action finishRequest : now %d", action.id, x)) ;
+ // TRANSITION ONCE
+
+ if ( x == 0 && offlineInProgress.get() ) {
+ // No operations should be coming in so we're the only one here.
+ // caveat management operations.
+ shutdown() ;
+ offlineInProgress.set(false) ;
+ }
+ }
+
public boolean isActive() { return getState() == ACTIVE ; }
/** Follow links */
@@ -94,8 +126,9 @@ public class DatasetRef implements Datas
return here ;
}
-
+ @Deprecated
public DatasetStatus getStatus() { return state ; }
+ @Deprecated
public void setStatus(DatasetStatus newStatus) { setState(newStatus) ; }
private DatasetStatus getState() {
@@ -130,10 +163,10 @@ public class DatasetRef implements Datas
initServices() ;
setState(OFFLINE) ;
- if ( dataset instanceof DatasetGraphTransaction )
- StoreConnection.release( ((DatasetGraphTransaction)dataset).getLocation() ) ;
- else
- dataset.close() ;
+ offline.set(true) ;
+ offlineInProgress.set(true) ;
+ // finishRequest will perform the shutdown.
+ // XXX Check with the mgt operations that they have the right dsRef and hence this works.
}
@Override public String toString() { return "DatasetRef:'"+name+"'" ; }
@@ -219,12 +252,19 @@ public class DatasetRef implements Datas
}
private void shutdown() {
+ Fuseki.serverLog.info("Shutting down dataset: "+name);
+
+// if ( dataset instanceof DatasetGraphTransaction )
+// StoreConnection.release( ((DatasetGraphTransaction)dataset).getLocation() ) ;
+// else
+// dataset.close() ;
+
dataset.close() ;
if ( dataset instanceof DatasetGraphTransaction ) {
DatasetGraphTransaction dsgtxn = (DatasetGraphTransaction)dataset ;
StoreConnection.release(dsgtxn.getLocation()) ;
}
- setState(OFFLINE) ;
+ dataset = null ;
}
//TODO Need to be able to set this from the config file.
@@ -249,6 +289,7 @@ public class DatasetRef implements Datas
checkShutdown() ;
}
+ // DatasetMXBean
@Override
public String getName() { return name ; }
Modified: jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/servlets/ActionBase.java
URL: http://svn.apache.org/viewvc/jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/servlets/ActionBase.java?rev=1560388&r1=1560387&r2=1560388&view=diff
==============================================================================
--- jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/servlets/ActionBase.java (original)
+++ jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/servlets/ActionBase.java Wed Jan 22 15:47:08 2014
@@ -114,9 +114,13 @@ public abstract class ActionBase extends
}
// Default start/finish steps.
- protected void startRequest(HttpAction action) { }
+ protected final void startRequest(HttpAction action) {
+ action.startRequest() ;
+ }
- protected void finishRequest(HttpAction action) { }
+ protected final void finishRequest(HttpAction action) {
+ action.finishRequest() ;
+ }
private void archiveHttpAction(HttpAction action) {
action.minimize() ;
Modified: jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/servlets/ActionLib.java
URL: http://svn.apache.org/viewvc/jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/servlets/ActionLib.java?rev=1560388&r1=1560387&r2=1560388&view=diff
==============================================================================
--- jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/servlets/ActionLib.java (original)
+++ jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/servlets/ActionLib.java Wed Jan 22 15:47:08 2014
@@ -20,6 +20,10 @@ package org.apache.jena.fuseki.servlets;
import javax.servlet.http.HttpServletRequest ;
+import org.apache.jena.atlas.web.AcceptList ;
+import org.apache.jena.atlas.web.MediaType ;
+import org.apache.jena.fuseki.DEF ;
+import org.apache.jena.fuseki.conneg.ConNeg ;
import org.apache.jena.fuseki.server.DatasetRef ;
import org.apache.jena.fuseki.server.DatasetRegistry ;
@@ -131,5 +135,28 @@ public class ActionLib {
//log.info("removeContext: uri = "+uri+" contextPath="+contextPath+ "--> x="+x) ;
return x ;
}
+
+ /** Negotiate the content-type and set the response headers */
+ public static MediaType contentNegotation(HttpAction action, AcceptList myPrefs,
+ MediaType defaultMediaType) {
+ MediaType mt = ConNeg.chooseContentType(action.request, myPrefs, defaultMediaType) ;
+ if ( mt == null )
+ return null ;
+ if ( mt.getContentType() != null )
+ action.response.setContentType(mt.getContentType()) ;
+ if ( mt.getCharset() != null )
+ action.response.setCharacterEncoding(mt.getCharset()) ;
+ return mt ;
+ }
+
+ /** Negotiate the content-type for an RDF triples syntax and set the response headers */
+ public static MediaType contentNegotationRDF(HttpAction action) {
+ return contentNegotation(action, DEF.rdfOffer, DEF.acceptRDFXML) ;
+ }
+
+ /** Negotiate the content-type for an RDF quads syntax and set the response headers */
+ public static MediaType contentNegotationQuads(HttpAction action) {
+ return contentNegotation(action, DEF.quadsOffer, DEF.acceptNQuads) ;
+ }
}
Modified: jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/servlets/ActionSPARQL.java
URL: http://svn.apache.org/viewvc/jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/servlets/ActionSPARQL.java?rev=1560388&r1=1560387&r2=1560388&view=diff
==============================================================================
--- jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/servlets/ActionSPARQL.java (original)
+++ jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/servlets/ActionSPARQL.java Wed Jan 22 15:47:08 2014
@@ -83,29 +83,33 @@ public abstract class ActionSPARQL exten
{
incCounter(action.dsRef, Requests) ;
incCounter(action.srvRef, Requests) ;
-
+
startRequest(action) ;
try {
- validate(action) ;
- } catch (ActionErrorException ex) {
- incCounter(action.dsRef,RequestsBad) ;
- incCounter(action.srvRef, RequestsBad) ;
- throw ex ;
- }
+ // Either exit this via "bad request" on validation
+ // or in
+ try {
+ validate(action) ;
+ } catch (ActionErrorException ex) {
+ incCounter(action.dsRef,RequestsBad) ;
+ incCounter(action.srvRef, RequestsBad) ;
+ throw ex ;
+ }
- try {
- perform(action) ;
- // Success
- incCounter(action.srvRef, RequestsGood) ;
- incCounter(action.dsRef, RequestsGood) ;
- } catch (ActionErrorException ex) {
- incCounter(action.srvRef, RequestsBad) ;
- incCounter(action.dsRef, RequestsBad) ;
- throw ex ;
- } catch (QueryCancelledException ex) {
- incCounter(action.srvRef, RequestsBad) ;
- incCounter(action.dsRef, RequestsBad) ;
- throw ex ;
+ try {
+ perform(action) ;
+ // Success
+ incCounter(action.srvRef, RequestsGood) ;
+ incCounter(action.dsRef, RequestsGood) ;
+ } catch (ActionErrorException ex) {
+ incCounter(action.srvRef, RequestsBad) ;
+ incCounter(action.dsRef, RequestsBad) ;
+ throw ex ;
+ } catch (QueryCancelledException ex) {
+ incCounter(action.srvRef, RequestsBad) ;
+ incCounter(action.dsRef, RequestsBad) ;
+ throw ex ;
+ }
} finally {
finishRequest(action) ;
}
Modified: jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/servlets/HttpAction.java
URL: http://svn.apache.org/viewvc/jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/servlets/HttpAction.java?rev=1560388&r1=1560387&r2=1560388&view=diff
==============================================================================
--- jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/servlets/HttpAction.java (original)
+++ jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/servlets/HttpAction.java Wed Jan 22 15:47:08 2014
@@ -28,10 +28,7 @@ import javax.servlet.http.HttpServletReq
import javax.servlet.http.HttpServletResponse ;
import org.apache.jena.atlas.logging.Log ;
-import org.apache.jena.atlas.web.MediaType ;
-import org.apache.jena.fuseki.DEF ;
import org.apache.jena.fuseki.FusekiException ;
-import org.apache.jena.fuseki.conneg.ConNeg ;
import org.apache.jena.fuseki.server.DatasetRef ;
import org.apache.jena.fuseki.server.ServiceRef ;
import org.slf4j.Logger ;
@@ -210,7 +207,11 @@ public class HttpAction
transactional.end() ;
activeDSG = null ;
}
-
+
+ public void startRequest() { if ( dsRef != null ) dsRef.startRequest(this) ; }
+
+ public void finishRequest() { if ( dsRef != null ) dsRef.finishRequest(this) ; }
+
public final DatasetGraph getActiveDSG() {
return activeDSG ;
}
@@ -259,19 +260,4 @@ public class HttpAction
public void sync() {
SystemARQ.sync(dsg) ;
}
-
- public static MediaType contentNegotationRDF(HttpAction action) {
- MediaType mt = ConNeg.chooseContentType(action.request, DEF.rdfOffer, DEF.acceptRDFXML) ;
- if ( mt == null )
- return null ;
- if ( mt.getContentType() != null )
- action.response.setContentType(mt.getContentType()) ;
- if ( mt.getCharset() != null )
- action.response.setCharacterEncoding(mt.getCharset()) ;
- return mt ;
- }
-
- public static MediaType contentNegotationQuads(HttpAction action) {
- return ConNeg.chooseContentType(action.request, DEF.quadsOffer, DEF.acceptNQuads) ;
- }
}
Modified: jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/servlets/REST_Quads_R.java
URL: http://svn.apache.org/viewvc/jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/servlets/REST_Quads_R.java?rev=1560388&r1=1560387&r2=1560388&view=diff
==============================================================================
--- jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/servlets/REST_Quads_R.java (original)
+++ jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/servlets/REST_Quads_R.java Wed Jan 22 15:47:08 2014
@@ -46,7 +46,7 @@ public class REST_Quads_R extends REST_Q
@Override
protected void doGet(HttpAction action) {
- MediaType mediaType = HttpAction.contentNegotationQuads(action) ;
+ MediaType mediaType = ActionLib.contentNegotationQuads(action) ;
ServletOutputStream output ;
try {
output = action.response.getOutputStream() ;
@@ -90,7 +90,7 @@ public class REST_Quads_R extends REST_Q
protected void doHead(HttpAction action) {
action.beginRead() ;
try {
- MediaType mediaType = HttpAction.contentNegotationQuads(action) ;
+ MediaType mediaType = ActionLib.contentNegotationQuads(action) ;
ServletOps.success(action) ;
} finally {
action.endRead() ;
Modified: jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_GSP_R.java
URL: http://svn.apache.org/viewvc/jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_GSP_R.java?rev=1560388&r1=1560387&r2=1560388&view=diff
==============================================================================
--- jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_GSP_R.java (original)
+++ jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_GSP_R.java Wed Jan 22 15:47:08 2014
@@ -46,7 +46,7 @@ public class SPARQL_GSP_R extends SPARQL
{
// Assume success - do the set up before grabbing the lock.
// Sets content type.
- MediaType mediaType = HttpAction.contentNegotationRDF(action) ;
+ MediaType mediaType = ActionLib.contentNegotationRDF(action) ;
ServletOutputStream output ;
try { output = action.response.getOutputStream() ; }
@@ -102,7 +102,7 @@ public class SPARQL_GSP_R extends SPARQL
ServletOps.successNotFound(action) ;
return ;
}
- MediaType mediaType = HttpAction.contentNegotationRDF(action) ;
+ MediaType mediaType = ActionLib.contentNegotationRDF(action) ;
ServletOps.success(action) ;
} finally { action.endRead() ; }
}