Author: andy
Date: Sat Aug 24 16:41:57 2013
New Revision: 1517165

URL: http://svn.apache.org/r1517165
Log:
Return 404 on attempt to invoke service-style on a direct named graph.

Modified:
    
jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_UberServlet.java

Modified: 
jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_UberServlet.java
URL: 
http://svn.apache.org/viewvc/jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_UberServlet.java?rev=1517165&r1=1517164&r2=1517165&view=diff
==============================================================================
--- 
jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_UberServlet.java
 (original)
+++ 
jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_UberServlet.java
 Sat Aug 24 16:41:57 2013
@@ -215,13 +215,20 @@ public abstract class SPARQL_UberServlet
         }       
         // There is a trailing part - params are illegal by this point.
         if ( hasParams )
-            // Revisit to include query-on-one-graph 
-            errorBadRequest("Can't invoke a query-string service on a direct 
named graph") ; 
+            // ?? Revisit to include query-on-one-graph 
+            //errorBadRequest("Can't invoke a query-string service on a direct 
named graph") ;
+            errorNotFound("Not found: dataset='"+printName(desc.name)+"' 
service='"+printName(trailing)+"'");
 
         // There is a trailing part - not a service, no params ==> GSP direct 
naming.
         doGraphStoreProtocol(action) ;
     }
     
+    private String printName(String x) {
+        if ( x.startsWith("/") )
+            return x.substring(1) ;
+        return x ;
+    }
+    
     private void doGraphStoreProtocol(HttpAction action)
     {
         // The GSP servlets handle direct and indirect naming. 
@@ -296,7 +303,7 @@ public abstract class SPARQL_UberServlet
         return true ;
     }
 
-    /** Find the dataset name even if direct naming */ 
+    /** Find the graph (direct naming) or service name */ 
     protected static String findTrailing(String uri, String dsname) 
     {
         if ( dsname.length() >= uri.length() )


Reply via email to