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 2011/11/17 21:54:27 UTC
svn commit: r1203361 - in
/incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/servlets:
SPARQL_Protocol.java SPARQL_Query.java SPARQL_QueryDataset.java
SPARQL_QueryGeneral.java SPARQL_ServletBase.java SPARQL_Update.java
Author: andy
Date: Thu Nov 17 20:54:26 2011
New Revision: 1203361
URL: http://svn.apache.org/viewvc?rev=1203361&view=rev
Log:
Use DatasetDescriptions. Refactor.
Added:
incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/servlets/SPARQL_Protocol.java
Modified:
incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/servlets/SPARQL_Query.java
incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/servlets/SPARQL_QueryDataset.java
incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/servlets/SPARQL_QueryGeneral.java
incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/servlets/SPARQL_ServletBase.java
incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/servlets/SPARQL_Update.java
Added: incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/servlets/SPARQL_Protocol.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/servlets/SPARQL_Protocol.java?rev=1203361&view=auto
==============================================================================
--- incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/servlets/SPARQL_Protocol.java (added)
+++ incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/servlets/SPARQL_Protocol.java Thu Nov 17 20:54:26 2011
@@ -0,0 +1,112 @@
+/**
+ * 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.openjena.fuseki.servlets;
+
+import static org.openjena.fuseki.HttpNames.paramDefaultGraphURI ;
+import static org.openjena.fuseki.HttpNames.paramNamedGraphURI ;
+
+import java.util.Arrays ;
+import java.util.Collections ;
+import java.util.List ;
+
+import javax.servlet.http.HttpServletRequest ;
+import javax.servlet.http.HttpServletResponse ;
+
+import org.openjena.atlas.iterator.Filter ;
+import org.openjena.atlas.iterator.Iter ;
+import org.openjena.atlas.lib.Lib ;
+import org.openjena.fuseki.servlets.SPARQL_Query.HttpActionQuery ;
+
+import com.hp.hpl.jena.query.Query ;
+import com.hp.hpl.jena.query.QueryParseException ;
+import com.hp.hpl.jena.sparql.core.DatasetDescription ;
+import com.hp.hpl.jena.sparql.core.DatasetGraph ;
+
+/** Support for the SPARQL protocol (SPARQL Query, SPARQL Update)
+ */
+public abstract class SPARQL_Protocol extends SPARQL_ServletBase
+{
+ protected class HttpActionProtocol extends HttpAction {
+ DatasetDescription datasetDesc = null ;
+
+ public HttpActionProtocol(long id, DatasetGraph dsg, HttpServletRequest request, HttpServletResponse response, boolean verbose)
+ {
+ super(id, dsg, request, response, verbose) ;
+ }
+ }
+
+ protected SPARQL_Protocol(PlainRequestFlag noQueryStringIsOK, boolean verbose_debug)
+ {
+ super(noQueryStringIsOK, verbose_debug) ;
+ }
+
+ protected static String messageForQPE(QueryParseException ex)
+ {
+ if ( ex.getMessage() != null )
+ return ex.getMessage() ;
+ if ( ex.getCause() != null )
+ 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)
+ {
+ List<String> graphURLs = toStrList(action.request.getParameterValues(paramDefaultGraphURI)) ;
+ List<String> namedGraphs = toStrList(action.request.getParameterValues(paramNamedGraphURI)) ;
+
+ graphURLs = removeEmptyValues(graphURLs) ;
+ namedGraphs = removeEmptyValues(namedGraphs) ;
+
+ if ( graphURLs.size() == 0 && namedGraphs.size() == 0 )
+ return null ;
+ return DatasetDescription.create(graphURLs, namedGraphs) ;
+ }
+
+ protected static DatasetDescription getDatasetDescription(Query query)
+ {
+ return DatasetDescription.create(query) ;
+ }
+
+ private static List<String> toStrList(String[] array)
+ {
+ if ( array == null )
+ return Collections.emptyList() ;
+ return Arrays.asList(array) ;
+ }
+
+ private static List<String> removeEmptyValues(List<String> list)
+ {
+ return Iter.iter(list).filter(acceptNonEmpty).toList() ;
+ }
+
+ private static Filter<String> acceptNonEmpty = new Filter<String>(){
+ @Override
+ public boolean accept(String item)
+ {
+ return item != null && item.length() != 0 ;
+ }
+ } ;
+}
+
Modified: incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/servlets/SPARQL_Query.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/servlets/SPARQL_Query.java?rev=1203361&r1=1203360&r2=1203361&view=diff
==============================================================================
--- incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/servlets/SPARQL_Query.java (original)
+++ incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/servlets/SPARQL_Query.java Thu Nov 17 20:54:26 2011
@@ -19,11 +19,13 @@
package org.openjena.fuseki.servlets;
import static java.lang.String.format ;
-import static org.openjena.fuseki.HttpNames.paramQuery ;
+import static org.openjena.fuseki.HttpNames.* ;
import java.io.IOException ;
import java.io.InputStream ;
+import java.util.Arrays ;
import java.util.Enumeration ;
+import java.util.HashSet ;
import java.util.Set ;
import javax.servlet.http.HttpServletRequest ;
@@ -38,22 +40,14 @@ import org.openjena.fuseki.migrate.WebIO
import org.openjena.riot.ContentType ;
import org.openjena.riot.WebContent ;
-import com.hp.hpl.jena.query.Dataset ;
-import com.hp.hpl.jena.query.Query ;
-import com.hp.hpl.jena.query.QueryException ;
-import com.hp.hpl.jena.query.QueryExecution ;
-import com.hp.hpl.jena.query.QueryExecutionFactory ;
-import com.hp.hpl.jena.query.QueryFactory ;
-import com.hp.hpl.jena.query.QueryParseException ;
-import com.hp.hpl.jena.query.ResultSet ;
-import com.hp.hpl.jena.query.Syntax ;
+import com.hp.hpl.jena.query.* ;
import com.hp.hpl.jena.rdf.model.Model ;
import com.hp.hpl.jena.sparql.core.DatasetGraph ;
import com.hp.hpl.jena.sparql.resultset.SPARQLResult ;
-public abstract class SPARQL_Query extends SPARQL_ServletBase
+public abstract class SPARQL_Query extends SPARQL_Protocol
{
- protected class HttpActionQuery extends HttpAction {
+ protected class HttpActionQuery extends HttpActionProtocol {
public HttpActionQuery(long id, DatasetGraph dsg, HttpServletRequest request, HttpServletResponse response, boolean verbose)
{
super(id, dsg, request, response, verbose) ;
@@ -92,20 +86,23 @@ public abstract class SPARQL_Query exten
{
validate(request) ;
HttpActionQuery action = new HttpActionQuery(id, dsg, request, response, verbose_debug) ;
+ // GET
if ( request.getMethod().equals(HttpNames.METHOD_GET) )
{
executeWithParameter(action) ;
return ;
}
- // POST
ContentType ct = FusekiLib.contentType(request) ;
String incoming = ct.getContentType() ;
+
+ // POST application/sparql-query
if (WebContent.contentTypeSPARQLQuery.equals(incoming))
{
executeBody(action) ;
return ;
}
+ // POST application/x-www-form-url
if (WebContent.contentTypeForm.equals(incoming))
{
executeWithParameter(action) ;
@@ -115,16 +112,15 @@ public abstract class SPARQL_Query exten
error(HttpSC.UNSUPPORTED_MEDIA_TYPE_415, "Bad content type: "+incoming) ;
}
-// // All the params we support
-// private static String[] params_ = { paramQuery, paramDefaultGraphURI, paramNamedGraphURI,
-// paramQueryRef,
-// paramStyleSheet,
-// paramAccept,
-// paramOutput1, paramOutput2,
-// paramCallback,
-// paramForceAccept } ;
-// private static Set<String> params = new HashSet<String>(Arrays.asList(params_)) ;
-//
+ // All the params we support
+ private static String[] params_ = { paramQuery, paramDefaultGraphURI, paramNamedGraphURI,
+ paramQueryRef,
+ paramStyleSheet,
+ paramAccept,
+ paramOutput1, paramOutput2,
+ paramCallback,
+ paramForceAccept } ;
+ protected static Set<String> allParams = new HashSet<String>(Arrays.asList(params_)) ;
/** Called to validate arguments */
protected abstract void validate(HttpServletRequest request) ;
@@ -232,11 +228,11 @@ public abstract class SPARQL_Query exten
// Force some query execution now.
// Do this to force the query to do something that should touch any underlying database,
- // and hence ensure the communications layer is working. MySQL can time out after
- // 8 hours of an idle connection
+ // and hence ensure the communications layer is working.
+ // MySQL can time out after 8 hours of an idle connection
rs.hasNext() ;
-// // Not necessary if we are inside readlock under end of sending results.
+// // Not necessary if we are inside a read lock until the end of sending results.
// rs = ResultSetFactory.copyResults(rs) ;
log.info(format("[%d] OK/select", action.id)) ;
Modified: incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/servlets/SPARQL_QueryDataset.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/servlets/SPARQL_QueryDataset.java?rev=1203361&r1=1203360&r2=1203361&view=diff
==============================================================================
--- incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/servlets/SPARQL_QueryDataset.java (original)
+++ incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/servlets/SPARQL_QueryDataset.java Thu Nov 17 20:54:26 2011
@@ -18,18 +18,6 @@
package org.openjena.fuseki.servlets;
-import static org.openjena.fuseki.HttpNames.paramAccept ;
-import static org.openjena.fuseki.HttpNames.paramCallback ;
-import static org.openjena.fuseki.HttpNames.paramForceAccept ;
-import static org.openjena.fuseki.HttpNames.paramOutput1 ;
-import static org.openjena.fuseki.HttpNames.paramOutput2 ;
-import static org.openjena.fuseki.HttpNames.paramQuery ;
-import static org.openjena.fuseki.HttpNames.paramStyleSheet ;
-
-import java.util.Arrays ;
-import java.util.HashSet ;
-import java.util.Set ;
-
import javax.servlet.http.HttpServletRequest ;
import javax.servlet.http.HttpServletResponse ;
@@ -38,7 +26,6 @@ import org.openjena.fuseki.HttpNames ;
import com.hp.hpl.jena.query.Dataset ;
import com.hp.hpl.jena.query.DatasetFactory ;
import com.hp.hpl.jena.query.Query ;
-import com.hp.hpl.jena.tdb.store.DatasetGraphTDB ;
public class SPARQL_QueryDataset extends SPARQL_Query
{
@@ -50,31 +37,15 @@ public class SPARQL_QueryDataset extends
static String[] tails = { HttpNames.ServiceQuery, HttpNames.ServiceQueryAlt } ;
- // All the params we support
- private static String[] params_ = { paramQuery,
- //paramDefaultGraphURI, paramNamedGraphURI, -- only a fixed dataset
- //paramQueryRef,
- paramStyleSheet,
- paramAccept,
- paramOutput1, paramOutput2,
- paramCallback,
- paramForceAccept } ;
- private static Set<String> params = new HashSet<String>(Arrays.asList(params_)) ;
-
@Override
protected void validate(HttpServletRequest request)
{
- validate(request, params) ;
+ validate(request, allParams) ;
}
@Override
protected void validateQuery(HttpActionQuery action, Query query)
- {
- // TEMP
- // Push checking whether a dataset description is acceptable down to a TDB dataset.
- if ( ! (action.dsg instanceof DatasetGraphTDB) && query.hasDatasetDescription() )
- errorBadRequest("Query may not include a dataset description (FROM/FROM NAMED)") ;
- }
+ { }
@Override
protected Dataset decideDataset(HttpActionQuery action, Query query, String queryStringLog)
Modified: incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/servlets/SPARQL_QueryGeneral.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/servlets/SPARQL_QueryGeneral.java?rev=1203361&r1=1203360&r2=1203361&view=diff
==============================================================================
--- incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/servlets/SPARQL_QueryGeneral.java (original)
+++ incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/servlets/SPARQL_QueryGeneral.java Thu Nov 17 20:54:26 2011
@@ -19,24 +19,12 @@
package org.openjena.fuseki.servlets;
import static java.lang.String.format ;
-import static org.openjena.fuseki.HttpNames.paramAccept ;
-import static org.openjena.fuseki.HttpNames.paramCallback ;
-import static org.openjena.fuseki.HttpNames.paramDefaultGraphURI ;
-import static org.openjena.fuseki.HttpNames.paramForceAccept ;
-import static org.openjena.fuseki.HttpNames.paramNamedGraphURI ;
-import static org.openjena.fuseki.HttpNames.paramOutput1 ;
-import static org.openjena.fuseki.HttpNames.paramOutput2 ;
-import static org.openjena.fuseki.HttpNames.paramQuery ;
-import static org.openjena.fuseki.HttpNames.paramQueryRef ;
-import static org.openjena.fuseki.HttpNames.paramStyleSheet ;
-import java.util.* ;
+import java.util.List ;
import javax.servlet.http.HttpServletRequest ;
import javax.servlet.http.HttpServletResponse ;
-import org.openjena.atlas.iterator.Filter ;
-import org.openjena.atlas.iterator.Iter ;
import org.openjena.atlas.lib.InternalErrorException ;
import org.openjena.fuseki.migrate.GraphLoadUtils ;
import org.openjena.riot.RiotException ;
@@ -46,10 +34,11 @@ import com.hp.hpl.jena.query.DatasetFact
import com.hp.hpl.jena.query.Query ;
import com.hp.hpl.jena.rdf.model.Model ;
import com.hp.hpl.jena.rdf.model.ModelFactory ;
+import com.hp.hpl.jena.sparql.core.DatasetDescription ;
public class SPARQL_QueryGeneral extends SPARQL_Query
{
- final int MaxTriples = 100*1000 ;
+ final static int MaxTriples = 100*1000 ;
public SPARQL_QueryGeneral(boolean verbose)
{
@@ -59,21 +48,10 @@ public class SPARQL_QueryGeneral extends
public SPARQL_QueryGeneral()
{ this(false) ; }
- // All the params we support
- private static String[] params_ = { paramQuery,
- paramDefaultGraphURI, paramNamedGraphURI,
- paramQueryRef,
- paramStyleSheet,
- paramAccept,
- paramOutput1, paramOutput2,
- paramCallback,
- paramForceAccept } ;
- private static Set<String> params = new HashSet<String>(Arrays.asList(params_)) ;
-
@Override
protected void validate(HttpServletRequest request)
{
- validate(request, params) ;
+ validate(request, allParams) ;
}
@Override
@@ -87,12 +65,15 @@ public class SPARQL_QueryGeneral extends
@Override
protected Dataset decideDataset(HttpActionQuery action, Query query, String queryStringLog)
{
- Dataset ds = datasetFromProtocol(action) ;
- if ( ds == null )
- ds = datasetFromQuery(action, query) ;
- if ( ds == null )
+ action.datasetDesc = getDatasetDescription(action) ;
+ // To the context.
+ DatasetDescription datasetDesc = action.datasetDesc ;
+ if ( datasetDesc == null )
+ datasetDesc = getDatasetDescription(query) ;
+ if ( datasetDesc == null )
errorBadRequest("No dataset description in protocol request or in the query string") ;
- return ds ;
+
+ return datasetFromDescription(action, datasetDesc) ;
}
@Override
@@ -102,45 +83,23 @@ public class SPARQL_QueryGeneral extends
return false ;
}
- private boolean datasetInProtocol(HttpServletRequest request)
- {
- String d = request.getParameter(paramDefaultGraphURI) ;
- if ( d != null && !d.equals("") )
- return true ;
-
- List<String> n = toStrList(request.getParameterValues(paramNamedGraphURI)) ;
- if ( n != null && n.size() > 0 )
- return true ;
- return false ;
- }
-
- protected Dataset datasetFromProtocol(HttpActionQuery action)
- {
- List<String> graphURLs = toStrList(action.request.getParameterValues(paramDefaultGraphURI)) ;
- List<String> namedGraphs = toStrList(action.request.getParameterValues(paramNamedGraphURI)) ;
- return datasetFromDescription(action, graphURLs, namedGraphs) ;
- }
-
- protected Dataset datasetFromQuery(HttpActionQuery action, Query query)
- {
- List<String> graphURLs = query.getGraphURIs() ;
- List<String> namedGraphs = query.getNamedGraphURIs() ;
- return datasetFromDescription(action, graphURLs, namedGraphs) ;
- }
-
/**
- * Construct a Dataset based on a list of IRIs for the default graph
- * and list of IRI s for he named graphs
+ * Construct a Dataset based on a dadaset description.
*/
- protected Dataset datasetFromDescription(HttpActionQuery action, List<String> graphURLs, List<String> namedGraphs)
+ protected static Dataset datasetFromDescription(HttpActionQuery action, DatasetDescription datasetDesc)
{
try {
- graphURLs = removeEmptyValues(graphURLs) ;
- namedGraphs = removeEmptyValues(namedGraphs) ;
+ if ( datasetDesc == null )
+ return null ;
+ if ( datasetDesc.isEmpty() )
+ return null ;
+
+ List<String> graphURLs = datasetDesc.getDefaultGraphURIs() ;
+ List<String> namedGraphs = datasetDesc.getNamedGraphURIs() ;
if ( graphURLs.size() == 0 && namedGraphs.size() == 0 )
- return null ;
+ return null ;
Dataset dataset = DatasetFactory.createMem() ;
// Look in cache for loaded graphs!!
@@ -202,26 +161,5 @@ public class SPARQL_QueryGeneral extends
errorBadRequest("Parameter error: "+ex.getMessage());
return null ;
}
-
- }
-
- private List<String> toStrList(String[] array)
- {
- if ( array == null )
- return Collections.emptyList() ;
- return Arrays.asList(array) ;
}
-
- private List<String> removeEmptyValues(List<String> list)
- {
- return Iter.iter(list).filter(acceptNonEmpty).toList() ;
- }
-
- private static Filter<String> acceptNonEmpty = new Filter<String>(){
- @Override
- public boolean accept(String item)
- {
- return item != null && item.length() != 0 ;
- }
- } ;
}
Modified: incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/servlets/SPARQL_ServletBase.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/servlets/SPARQL_ServletBase.java?rev=1203361&r1=1203360&r2=1203361&view=diff
==============================================================================
--- incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/servlets/SPARQL_ServletBase.java (original)
+++ incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/servlets/SPARQL_ServletBase.java Thu Nov 17 20:54:26 2011
@@ -31,24 +31,22 @@ import javax.servlet.http.HttpServlet ;
import javax.servlet.http.HttpServletRequest ;
import javax.servlet.http.HttpServletResponse ;
-import org.openjena.atlas.lib.Lib ;
import org.openjena.fuseki.Fuseki ;
import org.openjena.fuseki.HttpNames ;
import org.openjena.fuseki.http.HttpSC ;
-import org.openjena.fuseki.server.DatasetRegistry ;
import org.openjena.fuseki.server.DatasetRef ;
+import org.openjena.fuseki.server.DatasetRegistry ;
import org.slf4j.Logger ;
-import com.hp.hpl.jena.query.ARQ;
-import com.hp.hpl.jena.query.QueryCancelledException;
-import com.hp.hpl.jena.query.QueryParseException ;
+import com.hp.hpl.jena.query.ARQ ;
+import com.hp.hpl.jena.query.QueryCancelledException ;
import com.hp.hpl.jena.sparql.core.DatasetGraph ;
public abstract class SPARQL_ServletBase extends HttpServlet
{
protected static final Logger log = Fuseki.requestLog ;
protected static AtomicLong requestIdAlloc = new AtomicLong(0) ;
- private final PlainRequestFlag noQueryString ;
+ private final PlainRequestFlag queryStringHandling ;
protected final boolean verbose_debug ;
// Flag for whether a request (no query string) is handled as a regular operation or
@@ -57,7 +55,7 @@ public abstract class SPARQL_ServletBase
protected SPARQL_ServletBase(PlainRequestFlag noQueryStringIsOK, boolean verbose_debug)
{
- this.noQueryString = noQueryStringIsOK ;
+ this.queryStringHandling = noQueryStringIsOK ;
this.verbose_debug = verbose_debug ;
}
@@ -75,7 +73,7 @@ public abstract class SPARQL_ServletBase
setCommonHeaders(response) ;
try {
- if ( request.getQueryString() == null && noQueryString == PlainRequestFlag.DIFFERENT )
+ if ( request.getQueryString() == null && queryStringHandling == PlainRequestFlag.DIFFERENT )
{
boolean requestContinue = requestNoQueryString(request, response) ;
if ( ! requestContinue )
@@ -333,16 +331,7 @@ public abstract class SPARQL_ServletBase
return string ;
}
- protected static String messageForQPE(QueryParseException ex)
- {
- if ( ex.getMessage() != null )
- return ex.getMessage() ;
- if ( ex.getCause() != null )
- return Lib.classShortName(ex.getCause().getClass()) ;
- return null ;
- }
-
- public static void setCommonHeaders(HttpServletResponse httpResponse)
+ public static void setCommonHeaders(HttpServletResponse httpResponse)
{
httpResponse.setHeader(HttpNames.hAccessControlAllowOrigin, "*") ;
httpResponse.setHeader(HttpNames.hServer, Fuseki.serverHttpName) ;
Modified: incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/servlets/SPARQL_Update.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/servlets/SPARQL_Update.java?rev=1203361&r1=1203360&r2=1203361&view=diff
==============================================================================
--- incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/servlets/SPARQL_Update.java (original)
+++ incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/servlets/SPARQL_Update.java Thu Nov 17 20:54:26 2011
@@ -47,11 +47,11 @@ import com.hp.hpl.jena.update.UpdateExce
import com.hp.hpl.jena.update.UpdateFactory ;
import com.hp.hpl.jena.update.UpdateRequest ;
-public class SPARQL_Update extends SPARQL_ServletBase
+public class SPARQL_Update extends SPARQL_Protocol
{
private static String updateParseBase = "http://example/base/" ;
- private class HttpActionUpdate extends HttpAction {
+ private class HttpActionUpdate extends HttpActionProtocol {
public HttpActionUpdate(long id, DatasetGraph dsg, HttpServletRequest request, HttpServletResponse response, boolean verbose)
{
super(id, dsg, request, response, verbose) ;
@@ -228,7 +228,7 @@ public class SPARQL_Update extends SPARQ
req = UpdateFactory.create(requestStr, updateParseBase) ;
}
catch (UpdateException ex) { errorBadRequest(ex.getMessage()) ; req = null ; }
- catch (QueryParseException ex) { errorBadRequest(ex.getMessage()) ; req = null ; }
+ catch (QueryParseException ex) { errorBadRequest(messageForQPE(ex)) ; req = null ; }
execute(action, req) ;
successPage(action,"Update succeeded") ;
}