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 2012/08/07 21:36:42 UTC
svn commit: r1370465 - in
/jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki: ./ conneg/
server/ servlets/
Author: andy
Date: Tue Aug 7 19:36:41 2012
New Revision: 1370465
URL: http://svn.apache.org/viewvc?rev=1370465&view=rev
Log:
Extensive clean up of the code base
Implement (but not enable until more testing done)
+ direct naming for GSP
+ queryString operations directly on the dataset URL itself
+ get on datset -> quads.
Added:
jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Dataset.java
Modified:
jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/DEF.java
jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/FusekiLib.java
jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/HttpNames.java
jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/conneg/ConNeg.java
jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/FusekiConfig.java
jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/SPARQLServer.java
jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/HttpAction.java
jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/REST_Quads.java
jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Protocol.java
jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Query.java
jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_QueryDataset.java
jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_QueryGeneral.java
jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_REST.java
jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_REST_R.java
jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_ServletBase.java
jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Update.java
jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Upload.java
jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/ServletBase.java
Modified: jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/DEF.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/DEF.java?rev=1370465&r1=1370464&r2=1370465&view=diff
==============================================================================
--- jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/DEF.java (original)
+++ jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/DEF.java Tue Aug 7 19:36:41 2012
@@ -39,7 +39,7 @@ public class DEF
public static final MediaType acceptRSXML = MediaType.create(WebContent.contentTypeResultsXML) ;
public static final AcceptList rdfOffer = AcceptList.create(acceptRDFXML, acceptTurtle1, acceptTurtle2, acceptTurtle3, acceptNTriples, acceptNTriplesAlt) ;
- public static final AcceptList quadsOffer = AcceptList.create(acceptTriG, acceptTriGAlt, acceptNQuads, acceptNQuadsAlt) ;
+ public static final AcceptList quadsOffer = AcceptList.create(acceptNQuads, acceptNQuadsAlt, acceptTriG, acceptTriGAlt) ;
public static final AcceptList charsetOffer = AcceptList.create(charsetUTF8) ;
public static final AcceptList rsOffer = AcceptList.create(WebContent.contentTypeResultsXML,
Modified: jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/FusekiLib.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/FusekiLib.java?rev=1370465&r1=1370464&r2=1370465&view=diff
==============================================================================
--- jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/FusekiLib.java (original)
+++ jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/FusekiLib.java Tue Aug 7 19:36:41 2012
@@ -58,6 +58,13 @@ public class FusekiLib
mapContentTypeToLang.put(WebContent.contentTypeTurtleAlt2, Lang.TURTLE) ;
mapContentTypeToLang.put(WebContent.contentTypeNTriples, Lang.NTRIPLES) ; // text/plain
mapContentTypeToLang.put(WebContent.contentTypeNTriplesAlt, Lang.NTRIPLES) ;
+
+
+ mapContentTypeToLang.put(WebContent.contentTypeTriG, Lang.TRIG) ;
+ mapContentTypeToLang.put(WebContent.contentTypeTriGAlt, Lang.TRIG) ;
+ mapContentTypeToLang.put(WebContent.contentTypeNQuads, Lang.NQUADS) ;
+ mapContentTypeToLang.put(WebContent.contentTypeNQuadsAlt, Lang.NQUADS) ;
+
}
// ----
Modified: jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/HttpNames.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/HttpNames.java?rev=1370465&r1=1370464&r2=1370465&view=diff
==============================================================================
--- jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/HttpNames.java (original)
+++ jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/HttpNames.java Tue Aug 7 19:36:41 2012
@@ -61,8 +61,7 @@ public class HttpNames
public static final String paramTimeout = "timeout" ;
public static final String paramUpdate = "update" ;
- public static final String paramRequest = "request" ; // Alternative name.
-
+ public static final String paramRequest = "request" ;
public static final String METHOD_DELETE = "DELETE";
public static final String METHOD_HEAD = "HEAD";
@@ -81,7 +80,6 @@ public class HttpNames
public static final String ServiceQueryAlt = "sparql" ;
public static final String ServiceUpdate = "update" ;
public static final String ServiceData = "data" ;
- public static final String ServiceData1 = "" ;
public static final String ServiceUpload = "upload" ;
// Posisble values of fields.
Modified: jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/conneg/ConNeg.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/conneg/ConNeg.java?rev=1370465&r1=1370464&r2=1370465&view=diff
==============================================================================
--- jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/conneg/ConNeg.java (original)
+++ jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/conneg/ConNeg.java Tue Aug 7 19:36:41 2012
@@ -20,7 +20,6 @@ package org.apache.jena.fuseki.conneg;
import static org.apache.jena.fuseki.HttpNames.hAcceptCharset ;
-
import javax.servlet.http.HttpServletRequest ;
import org.openjena.atlas.web.AcceptList ;
Modified: jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/FusekiConfig.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/FusekiConfig.java?rev=1370465&r1=1370464&r2=1370465&view=diff
==============================================================================
--- jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/FusekiConfig.java (original)
+++ jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/FusekiConfig.java Tue Aug 7 19:36:41 2012
@@ -97,13 +97,9 @@ public class FusekiConfig
sDesc.updateEP.add(HttpNames.ServiceUpdate) ;
sDesc.uploadEP.add(HttpNames.ServiceUpload) ;
sDesc.readWriteGraphStoreEP.add(HttpNames.ServiceData) ;
- sDesc.readWriteGraphStoreEP.add(HttpNames.ServiceData1) ;
}
else
- {
sDesc.readGraphStoreEP.add(HttpNames.ServiceData) ;
- sDesc.readGraphStoreEP.add(HttpNames.ServiceData1) ;
- }
ServerConfig config = new ServerConfig() ;
config.services = Arrays.asList(sDesc) ;
config.port = 3030 ;
Modified: jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/SPARQLServer.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/SPARQLServer.java?rev=1370465&r1=1370464&r2=1370465&view=diff
==============================================================================
--- jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/SPARQLServer.java (original)
+++ jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/SPARQLServer.java Tue Aug 7 19:36:41 2012
@@ -22,10 +22,7 @@ import static java.lang.String.format ;
import static org.apache.jena.fuseki.Fuseki.serverLog ;
import java.io.FileInputStream ;
-import java.util.EnumSet ;
-import java.util.HashMap ;
-import java.util.List ;
-import java.util.Map ;
+import java.util.* ;
import javax.servlet.http.HttpServlet ;
@@ -63,6 +60,8 @@ public class SPARQLServer
private Server server = null ;
private boolean verboseLogging = false ;
+ private static List<String> epDataset = Arrays.asList("*") ;
+
//private static int ThreadPoolSize = 100 ;
public SPARQLServer(ServerConfig config)
@@ -160,7 +159,7 @@ public class SPARQLServer
// Should all services be /_/.... or some such?
- if ( installManager || installServices)
+ if ( installManager || installServices )
{
// TODO Respect port.
if ( serverConfig.pagesPort != serverConfig.port )
@@ -225,17 +224,27 @@ public class SPARQLServer
DatasetRegistry.get().put(datasetPath, sDesc) ;
serverLog.info(format("Dataset path = %s", datasetPath)) ;
- HttpServlet sparqlQuery = new SPARQL_QueryDataset(verboseLogging) ;
- HttpServlet sparqlUpdate = new SPARQL_Update(verboseLogging) ;
- HttpServlet sparqlUpload = new SPARQL_Upload(verboseLogging) ;
- HttpServlet sparqlHttpR = new SPARQL_REST_R(verboseLogging) ;
- HttpServlet sparqlHttpRW = new SPARQL_REST_RW(verboseLogging) ;
-
- addServlet(context, datasetPath, sparqlQuery, sDesc.queryEP, enableCompression) ;
- addServlet(context, datasetPath, sparqlUpdate, sDesc.updateEP, false) ; // No point - no results of any size.
- addServlet(context, datasetPath, sparqlUpload, sDesc.uploadEP, false) ;
- addServlet(context, datasetPath, sparqlHttpR, sDesc.readGraphStoreEP, enableCompression) ;
- addServlet(context, datasetPath, sparqlHttpRW, sDesc.readWriteGraphStoreEP, enableCompression) ;
+ HttpServlet sparqlQuery = new SPARQL_QueryDataset(verboseLogging) ;
+ HttpServlet sparqlUpdate = new SPARQL_Update(verboseLogging) ;
+ HttpServlet sparqlUpload = new SPARQL_Upload(verboseLogging) ;
+ HttpServlet sparqlHttpR = new SPARQL_REST_R(verboseLogging) ;
+ HttpServlet sparqlHttpRW = new SPARQL_REST_RW(verboseLogging) ;
+ HttpServlet sparqlDataset = new SPARQL_Dataset(verboseLogging) ;
+
+ addServlet(context, datasetPath, sparqlQuery, sDesc.queryEP, enableCompression) ;
+ addServlet(context, datasetPath, sparqlUpdate, sDesc.updateEP, false) ;
+ addServlet(context, datasetPath, sparqlUpload, sDesc.uploadEP, false) ; // No point - no results of any size.
+ addServlet(context, datasetPath, sparqlHttpR, sDesc.readGraphStoreEP, enableCompression) ;
+ addServlet(context, datasetPath, sparqlHttpRW, sDesc.readWriteGraphStoreEP, enableCompression) ;
+
+ // This is the servlet that:
+ // 1/ handles Graph Store Protocol direct naming.
+ // 2/ Handles dataset?operation.
+ // 3/ Handles GET dataset
+ // The servlet naming rules and priorities are a bit obscure - this takes priority over the above!
+ // ??No compression support because it is right sometimes and not others.
+
+ //addServlet(context, datasetPath, sparqlDataset, epDataset, enableCompression) ;
}
private static Server configServer(String jettyConfig)
Modified: jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/HttpAction.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/HttpAction.java?rev=1370465&r1=1370464&r2=1370465&view=diff
==============================================================================
--- jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/HttpAction.java (original)
+++ jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/HttpAction.java Tue Aug 7 19:36:41 2012
@@ -22,8 +22,11 @@ package org.apache.jena.fuseki.servlets;
import javax.servlet.http.HttpServletRequest ;
import javax.servlet.http.HttpServletResponse ;
+import org.apache.jena.fuseki.DEF ;
+import org.apache.jena.fuseki.conneg.ConNeg ;
import org.apache.jena.fuseki.server.DatasetRef ;
import org.openjena.atlas.logging.Log ;
+import org.openjena.atlas.web.MediaType ;
import com.hp.hpl.jena.query.ReadWrite ;
import com.hp.hpl.jena.shared.Lock ;
@@ -161,4 +164,22 @@ public class HttpAction
{
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/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/REST_Quads.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/REST_Quads.java?rev=1370465&r1=1370464&r2=1370465&view=diff
==============================================================================
--- jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/REST_Quads.java (original)
+++ jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/REST_Quads.java Tue Aug 7 19:36:41 2012
@@ -23,6 +23,7 @@ import static java.lang.String.format ;
import java.io.IOException ;
import javax.servlet.ServletOutputStream ;
+import javax.servlet.http.HttpServletRequest ;
import org.apache.jena.fuseki.FusekiLib ;
import org.apache.jena.fuseki.HttpNames ;
@@ -35,29 +36,31 @@ import com.hp.hpl.jena.sparql.core.Datas
/**
* Servlet that serves up quads for a dataset.
- * Combine with something for RDF GET on graphs?
*/
public class REST_Quads extends SPARQL_REST
{
- // This is nearly SPARQL_REST_R
+ public REST_Quads(boolean verbose)
+ { super(verbose) ; }
- // Have a "serve quads", "serve triples" library.
- // ResponseQuads, ResponseTriples
+ @Override
+ protected void validate(HttpServletRequest request)
+ {
+ // already checked?
+ }
@Override
protected void doGet(HttpActionREST action)
{
- if ( action.hasTarget() )
- errorBadRequest("Attempt to use GET for quads and name a graph") ;
-
- MediaType mediaType = contentNegotationQuads(action) ;
+ MediaType mediaType = HttpAction.contentNegotationQuads(action) ;
ServletOutputStream output ;
try { output = action.response.getOutputStream() ; }
catch (IOException ex) { errorOccurred(ex) ; output = null ; }
TypedOutputStream out = new TypedOutputStream(output, mediaType) ;
Lang lang = FusekiLib.langFromContentType(mediaType.getContentType()) ;
+ if ( lang == null )
+ lang = Lang.TRIG ;
if ( action.verbose )
log.info(format("[%d] Get: Content-Type=%s, Charset=%s => %s",
@@ -90,12 +93,9 @@ public class REST_Quads extends SPARQL_R
@Override
protected void doHead(HttpActionREST action)
{
- if ( action.hasTarget() )
- errorBadRequest("Attempt to use GET for quads and name a graph") ;
-
action.beginRead() ;
try {
- MediaType mediaType = contentNegotationQuads(action) ;
+ MediaType mediaType = HttpAction.contentNegotationQuads(action) ;
success(action) ;
} finally { action.endRead() ; }
}
Added: jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Dataset.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Dataset.java?rev=1370465&view=auto
==============================================================================
--- jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Dataset.java (added)
+++ jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Dataset.java Tue Aug 7 19:36:41 2012
@@ -0,0 +1,238 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jena.fuseki.servlets;
+
+import java.util.Iterator ;
+import java.util.List ;
+
+import javax.servlet.http.HttpServletRequest ;
+import javax.servlet.http.HttpServletResponse ;
+
+import org.apache.jena.fuseki.DEF ;
+import org.apache.jena.fuseki.HttpNames ;
+import org.apache.jena.fuseki.conneg.ConNeg ;
+import org.apache.jena.fuseki.http.HttpSC ;
+import org.apache.jena.fuseki.server.DatasetRef ;
+import org.apache.jena.fuseki.server.DatasetRegistry ;
+import org.apache.jena.fuseki.servlets.SPARQL_REST.HttpActionREST ;
+import org.openjena.atlas.iterator.Filter ;
+import org.openjena.atlas.iterator.Iter ;
+import org.openjena.atlas.web.MediaType ;
+
+/** This servlet can be attached to a dataset location
+ * and acts as a router for all SPARQL operations
+ * (query, update, graph store, both direct and indirect naming).
+ */
+public class SPARQL_Dataset extends SPARQL_ServletBase
+{
+ // To test: enable in SPARQLServer.configureOneDataset
+
+ // Restructure:
+ // Remove PlainRequestFlag - just use the query string override.
+ // doCommonWorker without perform.
+ // pull
+ // or allow validate(HttpServletRequest) override.
+
+ public SPARQL_Dataset(boolean verbose_debug)
+ {
+ // Split SPARQL_ServletBase or move doCommon stub to ServletBase
+ super(verbose_debug) ;
+ }
+
+ protected String findDataset(final String uri)
+ {
+ // Find the dataset.
+ Iterator<String> datasets = DatasetRegistry.get().keys() ;
+ Filter<String> matchDS = new Filter<String>()
+ {
+ @Override
+ public boolean accept(String datasetname)
+ {
+ return uri.startsWith(datasetname) ;
+ }
+ } ;
+
+
+ String ds = Iter.first(datasets, matchDS) ;
+ return ds ;
+ }
+
+ private SPARQL_ServletBase queryServlet = new SPARQL_QueryDataset(verbose_debug) ;
+ private SPARQL_ServletBase updateServlet = new SPARQL_Update(verbose_debug) ;
+ // No upload support on the dataset itself - use service (or REST!)
+ //private SPARQL_ServletBase uploadServlet = new SPARQL_Upload(verbose_debug) ;
+ private SPARQL_ServletBase restServlet_RW = new SPARQL_REST_RW(verbose_debug) ;
+ private SPARQL_ServletBase restServlet_R = new SPARQL_REST_R(verbose_debug) ;
+ private SPARQL_ServletBase restQuads = new REST_Quads(verbose_debug) ;
+
+ @Override
+ protected void validate(HttpServletRequest request)
+ {
+ // already checked in SPARQ_Dataset?
+ }
+
+ @Override
+ protected void doCommonWorker(long id, HttpServletRequest request, HttpServletResponse response)
+ {
+ String uri = request.getRequestURI() ;
+ String method = request.getMethod() ;
+ String dsname = findDataset(uri) ;
+ String trailing = uri.substring(dsname.length()) ;
+ String qs = request.getQueryString() ;
+
+ DatasetRef desc = DatasetRegistry.get().get(dsname) ;
+
+ //log.info(format("[%d] All: %S %s :: %s ? %s", id, method, dsname, trailing, qs==null?"":qs)) ;
+
+ if ( trailing.length() != 0 )
+ {
+ // Is it a registered service?
+ if ( checkDispatch(desc.queryEP, trailing, queryServlet, desc, id, request, response) ) return ;
+ if ( checkDispatch(desc.updateEP, trailing, updateServlet, desc, id, request, response) ) return ;
+ if ( checkDispatch(desc.uploadEP, trailing, restServlet_RW, desc, id, request, response) ) return ;
+ if ( checkDispatch(desc.readGraphStoreEP, trailing, restServlet_R, desc, id, request, response) ) return ;
+ if ( checkDispatch(desc.readWriteGraphStoreEP, trailing, restServlet_RW, desc, id, request, response) ) return ;
+ }
+
+ // if no query string => direct naming or REST on the dataset itself.
+ if ( qs == null )
+ {
+ if ( trailing.length() != 0 )
+ {
+ // Direct naming
+ String absURI = request.getRequestURL().toString() ;
+ HttpActionREST a = new HttpActionREST(id, desc, absURI, request, response, verbose_debug) ;
+ // Conneg.
+ // Check access.
+ new SPARQL_REST_RW(verbose_debug).dispatch(a) ;
+ }
+ else
+ {
+ restQuads.doCommonWorker(id, request, response) ;
+ return ;
+ }
+ }
+
+ if ( trailing.length() != 0 )
+ {
+ errorBadRequest("Can't invoke a query-string service on a direct named graph") ;
+ return ;
+ }
+
+ datasetQueryString(id, desc, request, response) ;
+ }
+
+
+ // It's an ?operation on the dataset
+ private void datasetQueryString(long id, DatasetRef desc, HttpServletRequest request, HttpServletResponse response)
+ {
+ String method = request.getMethod() ;
+ // Query string.
+ boolean hasParamQuery = request.getParameter(HttpNames.paramQuery) != null ;
+ boolean hasParamRequest = request.getParameter(HttpNames.paramRequest) != null ;
+ boolean hasParamGraph = request.getParameter(HttpNames.paramGraph) != null ;
+
+ int c = 0 ;
+ if ( hasParamQuery ) c++ ;
+ if ( hasParamRequest ) c++ ;
+ if ( hasParamGraph ) c++ ;
+ if ( c > 1 )
+ errorBadRequest("Multiple possible actions") ;
+ if ( c == 0 )
+ errorBadRequest("Query string does not contain a speific action") ;
+
+ // Check an endpoint is registered.
+ if ( hasParamQuery )
+ {
+ if ( desc.queryEP.size() > 0 )
+ queryServlet.doCommonWorker(id, request, response) ;
+ else
+ errorMethodNotAllowed(method) ;
+ }
+
+ if ( hasParamRequest )
+ {
+ if ( desc.updateEP.size() > 0 )
+ updateServlet.doCommonWorker(id, request, response) ;
+ else
+ errorMethodNotAllowed(method) ;
+ }
+
+ if ( hasParamGraph )
+ {
+ if ( desc.readWriteGraphStoreEP.size() > 0 )
+ restServlet_RW.doCommonWorker(id, request, response) ;
+ else if ( desc.readGraphStoreEP.size() > 0 )
+ restServlet_R.doCommonWorker(id, request, response) ;
+ else
+ errorMethodNotAllowed(method) ;
+ }
+ }
+
+ protected static MediaType contentNegotationQuads(HttpAction action)
+ {
+ MediaType mt = ConNeg.chooseContentType(action.request, DEF.quadsOffer, DEF.acceptNQuads) ;
+ 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 ;
+ }
+
+ private boolean checkDispatch(List<String> endpointNames, String srvName , SPARQL_ServletBase servlet , DatasetRef desc, long id,
+ HttpServletRequest request, HttpServletResponse response)
+ {
+ if ( ! endpointNames.contains(srvName) )
+ return false ;
+ servlet.doCommonWorker(id, request, response) ;
+ return true ;
+ }
+
+
+ @Override
+ protected void perform(long id, DatasetRef desc, HttpServletRequest request, HttpServletResponse response)
+ {
+ // Dummy - restructure SPARQL_ServletBase?
+ error(HttpSC.INTERNAL_SERVER_ERROR_500, "Operation directed to general indirection servlet") ;
+ }
+
+ @Override
+ protected void doHead(HttpServletRequest request, HttpServletResponse response)
+ { doCommon(request, response) ; }
+
+ @Override
+ protected void doGet(HttpServletRequest request, HttpServletResponse response)
+ { doCommon(request, response) ; }
+
+ @Override
+ protected void doOptions(HttpServletRequest request, HttpServletResponse response)
+ { doCommon(request, response) ; }
+
+ @Override
+ protected void doPut(HttpServletRequest request, HttpServletResponse response)
+ { doCommon(request, response) ; }
+
+ @Override
+ protected void doDelete(HttpServletRequest request, HttpServletResponse response)
+ { doCommon(request, response) ; }
+
+}
+
Modified: jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Protocol.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Protocol.java?rev=1370465&r1=1370464&r2=1370465&view=diff
==============================================================================
--- jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Protocol.java (original)
+++ jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Protocol.java Tue Aug 7 19:36:41 2012
@@ -50,9 +50,9 @@ public abstract class SPARQL_Protocol e
}
}
- protected SPARQL_Protocol(PlainRequestFlag noQueryStringIsOK, boolean verbose_debug)
+ protected SPARQL_Protocol(boolean verbose_debug)
{
- super(noQueryStringIsOK, verbose_debug) ;
+ super(verbose_debug) ;
}
protected static String messageForQPE(QueryParseException ex)
@@ -63,12 +63,6 @@ public abstract class SPARQL_Protocol e
return Lib.classShortName(ex.getCause().getClass()) ;
return null ;
}
-
- // These are the operations passed on by SPARQL_ServletBase
-// protected abstract String mapRequestToDataset(String uri) ;
-// protected abstract void perform(long id, DatasetGraph dsg, HttpServletRequest request, HttpServletResponse response) ;
-// protected abstract boolean requestNoQueryString(HttpServletRequest request, HttpServletResponse response) ;
-
protected static DatasetDescription getDatasetDescription(HttpActionQuery action)
{
Modified: jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Query.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Query.java?rev=1370465&r1=1370464&r2=1370465&view=diff
==============================================================================
--- jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Query.java (original)
+++ jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Query.java Tue Aug 7 19:36:41 2012
@@ -79,7 +79,7 @@ public abstract class SPARQL_Query exten
}
public SPARQL_Query(boolean verbose)
- { super(PlainRequestFlag.DIFFERENT, verbose) ; }
+ { super(verbose) ; }
public SPARQL_Query()
@@ -148,6 +148,7 @@ public abstract class SPARQL_Query exten
paramTimeout } ;
protected static Set<String> allParams = new HashSet<String>(Arrays.asList(params_)) ;
/** Called to validate arguments */
+ @Override
protected abstract void validate(HttpServletRequest request) ;
/** Helper for validating request */
Modified: jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_QueryDataset.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_QueryDataset.java?rev=1370465&r1=1370464&r2=1370465&view=diff
==============================================================================
--- jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_QueryDataset.java (original)
+++ jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_QueryDataset.java Tue Aug 7 19:36:41 2012
@@ -19,7 +19,6 @@
package org.apache.jena.fuseki.servlets;
import javax.servlet.http.HttpServletRequest ;
-import javax.servlet.http.HttpServletResponse ;
import org.apache.jena.fuseki.HttpNames ;
@@ -38,6 +37,17 @@ public class SPARQL_QueryDataset extends
@Override
protected void validate(HttpServletRequest request)
{
+ String method = request.getMethod().toUpperCase() ;
+
+ if ( ! HttpNames.METHOD_POST.equals(method) && ! HttpNames.METHOD_GET.equals(method) )
+ errorMethodNotAllowed("Not a GET or POST request") ;
+
+ if ( HttpNames.METHOD_GET.equals(method) && request.getQueryString() == null )
+ {
+ warning("Service Description / SPARQL Query / "+request.getRequestURI()) ;
+ errorNotFound("Service Description: "+request.getRequestURI()) ;
+ }
+
validate(request, allParams) ;
}
@@ -50,20 +60,4 @@ public class SPARQL_QueryDataset extends
{
return DatasetFactory.create(action.getActiveDSG()) ;
}
-
- @Override
- protected boolean requestNoQueryString(HttpServletRequest request, HttpServletResponse response)
- {
- if ( HttpNames.METHOD_POST.equals(request.getMethod().toUpperCase()) )
- return true ;
-
- if ( ! HttpNames.METHOD_GET.equals(request.getMethod().toUpperCase()) )
- {
- errorNotImplemented("Not a GET or POST request") ;
- return false ;
- }
- warning("Service Description / SPARQL Query / "+request.getRequestURI()) ;
- errorNotFound("Service Description: "+request.getRequestURI()) ;
- return false ;
- }
}
Modified: jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_QueryGeneral.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_QueryGeneral.java?rev=1370465&r1=1370464&r2=1370465&view=diff
==============================================================================
--- jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_QueryGeneral.java (original)
+++ jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_QueryGeneral.java Tue Aug 7 19:36:41 2012
@@ -23,7 +23,6 @@ import static java.lang.String.format ;
import java.util.List ;
import javax.servlet.http.HttpServletRequest ;
-import javax.servlet.http.HttpServletResponse ;
import org.apache.jena.fuseki.HttpNames ;
import org.apache.jena.fuseki.migrate.GraphLoadUtils ;
@@ -52,13 +51,14 @@ public class SPARQL_QueryGeneral extends
@Override
protected void validate(HttpServletRequest request)
{
+ if ( HttpNames.METHOD_GET.equals(request.getMethod().toUpperCase()) && request.getQueryString() == null )
+ errorBadRequest("No query string given") ;
validate(request, allParams) ;
}
@Override
protected void validateQuery(HttpActionQuery action, Query query)
{
- // One or the other,
}
@Override
@@ -78,15 +78,6 @@ public class SPARQL_QueryGeneral extends
return datasetFromDescription(action, datasetDesc) ;
}
-
- @Override
- protected boolean requestNoQueryString(HttpServletRequest request, HttpServletResponse response)
- {
- if ( HttpNames.METHOD_POST.equals(request.getMethod().toUpperCase()) )
- return true ;
- errorBadRequest("No query string given") ;
- return false ;
- }
/**
* Construct a Dataset based on a dataset description.
Modified: jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_REST.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_REST.java?rev=1370465&r1=1370464&r2=1370465&view=diff
==============================================================================
--- jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_REST.java (original)
+++ jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_REST.java Tue Aug 7 19:36:41 2012
@@ -38,14 +38,11 @@ import javax.servlet.ServletException ;
import javax.servlet.http.HttpServletRequest ;
import javax.servlet.http.HttpServletResponse ;
-import org.apache.jena.fuseki.DEF ;
import org.apache.jena.fuseki.FusekiLib ;
import org.apache.jena.fuseki.HttpNames ;
-import org.apache.jena.fuseki.conneg.ConNeg ;
import org.apache.jena.fuseki.server.DatasetRef ;
import org.openjena.atlas.lib.Sink ;
import org.openjena.atlas.web.ContentType ;
-import org.openjena.atlas.web.MediaType ;
import org.openjena.riot.* ;
import org.openjena.riot.lang.LangRIOT ;
import org.openjena.riot.lang.SinkTriplesToGraph ;
@@ -67,7 +64,16 @@ public abstract class SPARQL_REST extend
protected static ErrorHandler errorHandler = ErrorHandlerFactory.errorHandlerStd(log) ;
- protected class HttpActionREST extends HttpAction {
+ public static class HttpActionREST extends HttpAction {
+
+ // Special ; direct.
+ HttpActionREST(long id, DatasetRef desc, String absUri, HttpServletRequest request, HttpServletResponse response, boolean verbose)
+ {
+ super(id, desc, request, response, verbose) ;
+ Node gn = Node.createURI(absUri) ;
+ _target = Target.createNamed(desc.dataset, absUri, gn) ;
+ }
+
private Target _target = null ;
protected HttpActionREST(long id, DatasetRef desc, HttpServletRequest request, HttpServletResponse response, boolean verbose)
{
@@ -165,7 +171,7 @@ public abstract class SPARQL_REST extend
}
public SPARQL_REST(boolean verbose)
- { super(PlainRequestFlag.DIFFERENT, verbose) ; }
+ { super(verbose) ; }
public SPARQL_REST()
{ this(false) ; }
@@ -191,7 +197,8 @@ public abstract class SPARQL_REST extend
dispatch(action) ;
}
- private void dispatch(HttpActionREST action)
+ // Public for general dispatch
+ public void dispatch(HttpActionREST action)
{
HttpServletRequest req = action.request ;
HttpServletResponse resp = action.response ;
@@ -229,49 +236,6 @@ public abstract class SPARQL_REST extend
protected abstract void doPut(HttpActionREST action) ;
protected abstract void doOptions(HttpActionREST action) ;
- @Override
- protected boolean requestNoQueryString(HttpServletRequest request, HttpServletResponse response)
- {
- errorBadRequest("No query string") ;
- return false ;
- }
-
-// private TypedStream createTypedStream(MediaType contentType)
-// {
-// MediaType contentType = contentNegotationRDF(request) ;
-// String charset = null ;
-//
-// if ( ! DEF.acceptRDFXML.equals(contentType) )
-// charset = ConNeg.chooseCharset(request, DEF.charsetOffer, DEF.charsetUTF8).getType() ;
-//
-// String contentTypeStr = contentType.getMediaType() ;
-// try {
-// TypedStream ts = new TypedStream(request.getInputStream(),
-// contentTypeStr,
-// charset) ;
-// return ts ;
-// } catch (IOException ex) { errorOccurred(ex) ; return null ; }
-// }
-
- protected static MediaType contentNegotationRDF(HttpActionREST 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 ;
- }
-
- protected static MediaType contentNegotationQuads(HttpActionREST action)
- {
- return ConNeg.chooseContentType(action.request, DEF.quadsOffer, DEF.acceptTriG) ;
- }
-
- // Auxilliary functionality.
-
protected static void deleteGraph(HttpActionREST action)
{
if ( action.getTarget().isDefault )
@@ -379,8 +343,12 @@ public abstract class SPARQL_REST extend
return dsgTmp ;
}
- protected static void validate(HttpServletRequest request)
+ @Override
+ protected void validate(HttpServletRequest request)
{
+ if ( request.getQueryString() == null )
+ errorBadRequest("No query string") ;
+
String g = request.getParameter(HttpNames.paramGraph) ;
String d = request.getParameter(HttpNames.paramGraphDefault) ;
Modified: jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_REST_R.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_REST_R.java?rev=1370465&r1=1370464&r2=1370465&view=diff
==============================================================================
--- jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_REST_R.java (original)
+++ jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_REST_R.java Tue Aug 7 19:36:41 2012
@@ -48,7 +48,7 @@ public class SPARQL_REST_R extends SPARQ
{
// Assume success - do the set up before grabbing the lock.
// Sets content type.
- MediaType mediaType = contentNegotationRDF(action) ;
+ MediaType mediaType = HttpAction.contentNegotationRDF(action) ;
ServletOutputStream output ;
try { output = action.response.getOutputStream() ; }
@@ -95,7 +95,7 @@ public class SPARQL_REST_R extends SPARQ
successNotFound(action) ;
return ;
}
- MediaType mediaType = contentNegotationRDF(action) ;
+ MediaType mediaType = HttpAction.contentNegotationRDF(action) ;
success(action) ;
} finally { action.endRead() ; }
}
Modified: jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_ServletBase.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_ServletBase.java?rev=1370465&r1=1370464&r2=1370465&view=diff
==============================================================================
--- jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_ServletBase.java (original)
+++ jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_ServletBase.java Tue Aug 7 19:36:41 2012
@@ -42,16 +42,16 @@ import com.hp.hpl.jena.tdb.migrate.Datas
public abstract class SPARQL_ServletBase extends ServletBase
{
- private final PlainRequestFlag queryStringHandling ;
+// private final PlainRequestFlag queryStringHandling ;
private static DatasetGraph dummyDSG = new DatasetGraphReadOnly(DatasetGraphFactory.createMemFixed()) ;
// Flag for whether a request (no query string) is handled as a regular operation or
// routed to special handler.
- protected enum PlainRequestFlag { REGULAR, DIFFERENT }
+// protected enum PlainRequestFlag { REGULAR, DIFFERENT }
- protected SPARQL_ServletBase(PlainRequestFlag noQueryStringIsOK, boolean verbose_debug)
+ protected SPARQL_ServletBase(boolean verbose_debug)
{
super(verbose_debug) ;
- this.queryStringHandling = noQueryStringIsOK ;
+ //this.queryStringHandling = noQueryStringIsOK ;
}
// Common framework for handling HTTP requests
@@ -63,44 +63,17 @@ public abstract class SPARQL_ServletBase
HttpServletResponseTracker responseTracked = new HttpServletResponseTracker(response) ;
response = responseTracked ;
-
- String uri = request.getRequestURI() ;
initResponse(request, response) ;
-
- DatasetRef desc = null ;
Context cxt = ARQ.getContext() ;
-
- try {
- if ( request.getQueryString() == null && queryStringHandling == PlainRequestFlag.DIFFERENT )
- {
- boolean requestContinue = requestNoQueryString(request, response) ;
- if ( ! requestContinue )
- return ;
- }
- uri = mapRequestToDataset(uri) ;
-
- if ( uri != null )
- {
- desc = DatasetRegistry.get().get(uri) ;
- if ( desc == null )
- {
- errorNotFound("No dataset for URI: "+uri) ;
- return ;
- }
- //cxt = desc.dataset.getContext() ;
- }
- else {
- desc = new DatasetRef();
- desc.dataset = dummyDSG;
- }
- perform(id, desc, request, response) ;
- //serverlog.info(String.format("[%d] 200 Success", id)) ;
+ try {
+ validate(request) ;
+ doCommonWorker(id, request, response) ;
} catch (QueryCancelledException ex)
{
// Also need the per query info ...
- String message = String.format("The query timed out (restricted to %s ms)", cxt.get(ARQ.queryTimeout));
- responseSendError(response, HttpSC.REQUEST_TIMEOUT_408, message);
+ String message = String.format("The query timed out (restricted to %s ms)", cxt.get(ARQ.queryTimeout));
+ responseSendError(response, HttpSC.REQUEST_TIMEOUT_408, message);
// Log message done by printResponse in a moment.
} catch (ActionErrorException ex)
{
@@ -118,10 +91,38 @@ public abstract class SPARQL_ServletBase
log.warn(format("[%d] RC = %d : %s", id, HttpSC.INTERNAL_SERVER_ERROR_500, ex.getMessage()), ex) ;
responseSendError(response, HttpSC.INTERNAL_SERVER_ERROR_500, ex.getMessage()) ;
}
-
+
printResponse(id, responseTracked) ;
}
+ protected abstract void validate(HttpServletRequest request) ;
+
+ protected void doCommonWorker(long id, HttpServletRequest request, HttpServletResponse response)
+ {
+ DatasetRef desc = null ;
+ String uri = request.getRequestURI() ;
+
+ validate(request) ;
+
+ uri = mapRequestToDataset(uri) ;
+
+ if ( uri != null )
+ {
+ desc = DatasetRegistry.get().get(uri) ;
+ if ( desc == null )
+ {
+ errorNotFound("No dataset for URI: "+uri) ;
+ return ;
+ }
+ //cxt = desc.dataset.getContext() ;
+ }
+ else {
+ desc = new DatasetRef();
+ desc.dataset = dummyDSG;
+ }
+ perform(id, desc, request, response) ;
+ }
+
@SuppressWarnings("unused") // ServletException
protected void doPatch(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
@@ -182,18 +183,6 @@ public abstract class SPARQL_ServletBase
log.info(String.format("[%d] %d %s", id, response.statusCode, response.message)) ;
}
- private void responseSendError(HttpServletResponse response, int statusCode, String message)
- {
- try { response.sendError(statusCode, message) ; }
- catch (IOException ex) { errorOccurred(ex) ; }
- }
-
- private void responseSendError(HttpServletResponse response, int statusCode)
- {
- try { response.sendError(statusCode) ; }
- catch (IOException ex) { errorOccurred(ex) ; }
- }
-
/** Map request to uri in the registry.
* null means no mapping done (passthrough).
*/
@@ -220,11 +209,4 @@ public abstract class SPARQL_ServletBase
}
protected abstract void perform(long id, DatasetRef desc, HttpServletRequest request, HttpServletResponse response) ;
-
- /** Request had no query string.
- * Either: (1) handle the request in this opeation - throw an error or send response
- * and return "false" (don't continue)
- * Or: (2) return true for continue.
- */
- protected abstract boolean requestNoQueryString(HttpServletRequest request, HttpServletResponse response) ;
}
Modified: jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Update.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Update.java?rev=1370465&r1=1370464&r2=1370465&view=diff
==============================================================================
--- jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Update.java (original)
+++ jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Update.java Tue Aug 7 19:36:41 2012
@@ -59,7 +59,7 @@ public class SPARQL_Update extends SPARQ
}
public SPARQL_Update(boolean verbose)
- { super(PlainRequestFlag.REGULAR, verbose) ; }
+ { super(verbose) ; }
public SPARQL_Update()
{ this(false) ; }
@@ -86,15 +86,6 @@ public class SPARQL_Update extends SPARQ
}
@Override
- protected boolean requestNoQueryString(HttpServletRequest request, HttpServletResponse response)
- {
- if ( HttpNames.METHOD_POST.equals(request.getMethod().toUpperCase()) )
- return true ;
- errorOccurred("Bad!") ;
- return false ;
- }
-
- @Override
protected void perform(long id, DatasetRef desc, HttpServletRequest request, HttpServletResponse response)
{
// validate -> action.
@@ -125,8 +116,12 @@ public class SPARQL_Update extends SPARQ
error(HttpSC.UNSUPPORTED_MEDIA_TYPE_415, "Bad content type: " + request.getContentType()) ;
}
- private void validate(HttpServletRequest request)
+ @Override
+ protected void validate(HttpServletRequest request)
{
+ if ( ! HttpNames.METHOD_POST.equals(request.getMethod().toUpperCase()) )
+ errorMethodNotAllowed("SPARQL Update : use POST") ;
+
// WebContent needs to migrate to using ContentType.
String ctStr ;
{
Modified: jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Upload.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Upload.java?rev=1370465&r1=1370464&r2=1370465&view=diff
==============================================================================
--- jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Upload.java (original)
+++ jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Upload.java Tue Aug 7 19:36:41 2012
@@ -61,7 +61,7 @@ public class SPARQL_Upload extends SPARQ
public SPARQL_Upload(boolean verbose_debug)
{
- super(PlainRequestFlag.REGULAR, verbose_debug) ;
+ super(verbose_debug) ;
}
// Methods to respond to.
@@ -198,15 +198,8 @@ public class SPARQL_Upload extends SPARQ
return ;
}
}
-
- private void validate(HttpServletRequest request)
- {}
-
+
@Override
- protected boolean requestNoQueryString(HttpServletRequest request, HttpServletResponse response)
- {
- errorOccurred("requestNoQueryString") ;
- return true ;
- }
-
+ protected void validate(HttpServletRequest request)
+ {}
}
Modified: jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/ServletBase.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/ServletBase.java?rev=1370465&r1=1370464&r2=1370465&view=diff
==============================================================================
--- jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/ServletBase.java (original)
+++ jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/ServletBase.java Tue Aug 7 19:36:41 2012
@@ -43,13 +43,13 @@ public abstract class ServletBase extend
this.verbose_debug = verbose_debug ;
}
- private void responseSendError(HttpServletResponse response, int statusCode, String message)
+ protected void responseSendError(HttpServletResponse response, int statusCode, String message)
{
try { response.sendError(statusCode, message) ; }
catch (IOException ex) { errorOccurred(ex) ; }
}
- private void responseSendError(HttpServletResponse response, int statusCode)
+ protected void responseSendError(HttpServletResponse response, int statusCode)
{
try { response.sendError(statusCode) ; }
catch (IOException ex) { errorOccurred(ex) ; }
@@ -116,7 +116,7 @@ public abstract class ServletBase extend
out.flush() ;
} catch (IOException ex) { errorOccurred(ex) ; }
}
-
+
protected static void warning(String string)
{
log.warn(string) ;