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/09/09 13:26:27 UTC

svn commit: r1167103 - in /incubator/jena/Jena2/Fuseki/trunk/src: main/java/org/openjena/fuseki/ main/java/org/openjena/fuseki/mgt/ main/java/org/openjena/fuseki/server/ main/java/org/openjena/fuseki/servlets/ test/java/org/openjena/fuseki/

Author: andy
Date: Fri Sep  9 11:26:26 2011
New Revision: 1167103

URL: http://svn.apache.org/viewvc?rev=1167103&view=rev
Log:
Use DatasetRef, not DatasetGraph, server-wide.

Added:
    incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/server/DatasetRef.java   (contents, props changed)
      - copied, changed from r1165206, incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/server/ServiceDesc.java
Modified:
    incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/FusekiCmd.java
    incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/mgt/Functions.java
    incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/server/DatasetRegistry.java
    incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/server/FusekiConfig.java
    incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/server/SPARQLServer.java
    incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/server/ServiceDesc.java
    incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/servlets/SPARQL_ServletBase.java
    incubator/jena/Jena2/Fuseki/trunk/src/test/java/org/openjena/fuseki/ServerTest.java

Modified: incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/FusekiCmd.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/FusekiCmd.java?rev=1167103&r1=1167102&r2=1167103&view=diff
==============================================================================
--- incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/FusekiCmd.java (original)
+++ incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/FusekiCmd.java Fri Sep  9 11:26:26 2011
@@ -29,7 +29,7 @@ import org.openjena.atlas.lib.FileOps ;
 import org.openjena.atlas.lib.Sink ;
 import org.openjena.fuseki.server.FusekiConfig ;
 import org.openjena.fuseki.server.SPARQLServer ;
-import org.openjena.fuseki.server.ServiceDesc ;
+import org.openjena.fuseki.server.DatasetRef ;
 import org.openjena.riot.Lang ;
 import org.openjena.riot.RiotLoader ;
 import org.openjena.riot.lang.SinkQuadsToDataset ;
@@ -279,12 +279,12 @@ public class FusekiCmd extends CmdARQ
         SPARQLServer server ;
         if ( fusekiConfigFile != null )
         {
-            List<ServiceDesc> services = FusekiConfig.configure(fusekiConfigFile) ;
+            List<DatasetRef> services = FusekiConfig.configure(fusekiConfigFile) ;
             server =  new SPARQLServer(jettyConfigFile, port, services) ;
         }
         else
         {
-            ServiceDesc sDesc = FusekiConfig.defaultConfiguration(datasetPath, dsg, allowUpdate) ;
+            DatasetRef sDesc = FusekiConfig.defaultConfiguration(datasetPath, dsg, allowUpdate) ;
             server = new SPARQLServer(jettyConfigFile, port, Arrays.asList(sDesc) ) ;
         }
         server.start() ;

Modified: incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/mgt/Functions.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/mgt/Functions.java?rev=1167103&r1=1167102&r2=1167103&view=diff
==============================================================================
--- incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/mgt/Functions.java (original)
+++ incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/mgt/Functions.java Fri Sep  9 11:26:26 2011
@@ -25,6 +25,7 @@ import javax.servlet.http.HttpSession ;
 
 import org.openjena.atlas.io.IndentedLineBuffer ;
 import org.openjena.fuseki.server.DatasetRegistry ;
+import org.openjena.fuseki.server.DatasetRef ;
 
 import com.hp.hpl.jena.shared.PrefixMapping ;
 import com.hp.hpl.jena.sparql.core.DatasetGraph ;
@@ -53,6 +54,16 @@ public class Functions
         String ds = (String)session.getAttribute("dataset") ;
         return ds ;
     }
+
+    /** Return the dataset description reference for currnet dataset */  
+    public static DatasetRef datasetDesc(HttpServletRequest request)
+    {
+        HttpSession session = request.getSession(false) ;
+        if ( session == null )
+            return null ;
+        String ds = (String)session.getAttribute("dataset") ;
+        return DatasetRegistry.get().get(ds) ;
+    }
     
     /** Return lists of datasets */ 
     public static String datasetsAsSelectOptions(HttpServletRequest request)
@@ -85,7 +96,11 @@ public class Functions
     public static String prefixes(HttpServletRequest request)
     {
         String dsName = dataset(request) ;
-        DatasetGraph dsg = DatasetRegistry.get().get(dsName) ;
+        DatasetRef desc = DatasetRegistry.get().get(dsName) ;
+        if ( desc == null )
+            return "<not found>" ;
+        DatasetGraph dsg = desc.dataset ; 
+        
         if ( dsg instanceof DatasetGraphTDB )
         {
             PrefixMapping pmap = ((DatasetGraphTDB)dsg).getPrefixes().getPrefixMapping() ;

Copied: incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/server/DatasetRef.java (from r1165206, incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/server/ServiceDesc.java)
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/server/DatasetRef.java?p2=incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/server/DatasetRef.java&p1=incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/server/ServiceDesc.java&r1=1165206&r2=1167103&rev=1167103&view=diff
==============================================================================
--- incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/server/ServiceDesc.java (original)
+++ incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/server/DatasetRef.java Fri Sep  9 11:26:26 2011
@@ -23,7 +23,7 @@ import java.util.List ;
 
 import com.hp.hpl.jena.sparql.core.DatasetGraph ;
 
-public class ServiceDesc
+public class DatasetRef
 {
     public String name                          = null ;
     public List<String> queryEP                 = new ArrayList<String>() ;

Propchange: incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/server/DatasetRef.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/server/DatasetRegistry.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/server/DatasetRegistry.java?rev=1167103&r1=1167102&r2=1167103&view=diff
==============================================================================
--- incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/server/DatasetRegistry.java (original)
+++ incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/server/DatasetRegistry.java Fri Sep  9 11:26:26 2011
@@ -20,9 +20,7 @@ package org.openjena.fuseki.server;
 
 import org.openjena.fuseki.migrate.Registry ;
 
-import com.hp.hpl.jena.sparql.core.DatasetGraph ;
-
-public class DatasetRegistry extends Registry<DatasetGraph>
+public class DatasetRegistry extends Registry<DatasetRef>
 {
     private static DatasetRegistry singleton = new DatasetRegistry() ;
 

Modified: incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/server/FusekiConfig.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/server/FusekiConfig.java?rev=1167103&r1=1167102&r2=1167103&view=diff
==============================================================================
--- incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/server/FusekiConfig.java (original)
+++ incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/server/FusekiConfig.java Fri Sep  9 11:26:26 2011
@@ -75,9 +75,9 @@ public class FusekiConfig
     "PREFIX afn:     <http://jena.hpl.hp.com/ARQ/function#>" ,
     "") ;
     
-    public static ServiceDesc defaultConfiguration(String datasetPath, DatasetGraph dsg, boolean allowUpdate)
+    public static DatasetRef defaultConfiguration(String datasetPath, DatasetGraph dsg, boolean allowUpdate)
     {
-        ServiceDesc sDesc = new ServiceDesc() ;
+        DatasetRef sDesc = new DatasetRef() ;
         sDesc.name = datasetPath ;
         sDesc.dataset = dsg ;
         sDesc.queryEP.add(HttpNames.ServiceQuery) ;
@@ -94,7 +94,7 @@ public class FusekiConfig
         return sDesc ;
     }
     
-    public static List<ServiceDesc> configure(String filename)
+    public static List<DatasetRef> configure(String filename)
     {
         // Be absolutely sure everything has initaialized.
         // Some initialization registers assemblers and sets abbreviation vocabulary. 
@@ -119,13 +119,13 @@ public class FusekiConfig
         if ( ! rs.hasNext() )
             log.warn("No services found") ;
         
-        List<ServiceDesc> services =  new ArrayList<ServiceDesc>() ; 
+        List<DatasetRef> services =  new ArrayList<DatasetRef>() ; 
         
         for ( ; rs.hasNext() ; )
         {
             QuerySolution soln = rs.next() ;
             Resource svc = soln.getResource("member") ;
-            ServiceDesc sd = processService(svc) ;
+            DatasetRef sd = processService(svc) ;
             services.add(sd) ;
         }
         
@@ -180,9 +180,9 @@ public class FusekiConfig
         catch (Exception e)         { throw new FusekiConfigException(e) ; }
     }
 
-    private static ServiceDesc processService(Resource svc)
+    private static DatasetRef processService(Resource svc)
     {
-        ServiceDesc sDesc = new ServiceDesc() ;
+        DatasetRef sDesc = new DatasetRef() ;
         log.info("Service: "+nodeLabel(svc)) ;
         
         sDesc.name = ((Literal)getOne(svc, "fu:name")).getLexicalForm() ;

Modified: incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/server/SPARQLServer.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/server/SPARQLServer.java?rev=1167103&r1=1167102&r2=1167103&view=diff
==============================================================================
--- incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/server/SPARQLServer.java (original)
+++ incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/server/SPARQLServer.java Fri Sep  9 11:26:26 2011
@@ -61,12 +61,12 @@ public class SPARQLServer
     
     //private static int ThreadPoolSize = 100 ;
     
-    public SPARQLServer(String jettyConfig, int port, List<ServiceDesc> services)
+    public SPARQLServer(String jettyConfig, int port, List<DatasetRef> services)
     {
         this.port = port ; 
         ServletContextHandler context = buildServer(jettyConfig) ;
         // Build them all.
-        for ( ServiceDesc sDesc : services )
+        for ( DatasetRef sDesc : services )
             configureOneDataset(context, sDesc) ;
     }
     
@@ -190,7 +190,7 @@ public class SPARQLServer
         
     }
     
-    private void configureOneDataset(ServletContextHandler context, ServiceDesc sDesc)
+    private void configureOneDataset(ServletContextHandler context, DatasetRef sDesc)
     {
         String datasetPath = sDesc.name ;
         if ( datasetPath.equals("/") )
@@ -201,7 +201,7 @@ public class SPARQLServer
         if ( datasetPath.endsWith("/") )
             datasetPath = datasetPath.substring(0, datasetPath.length()-1) ; 
 
-        DatasetRegistry.get().put(datasetPath, sDesc.dataset) ;
+        DatasetRegistry.get().put(datasetPath, sDesc) ;
         serverLog.info(format("Dataset path = %s", datasetPath)) ;
         
         HttpServlet sparqlQuery = new SPARQL_QueryDataset(verbose) ;

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=1167103&r1=1167102&r2=1167103&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 Fri Sep  9 11:26:26 2011
@@ -36,6 +36,7 @@ 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.slf4j.Logger ;
 
 import com.hp.hpl.jena.query.QueryParseException ;
@@ -83,12 +84,13 @@ public abstract class SPARQL_ServletBase
             DatasetGraph dsg = null ;
             if ( uri != null )
             {
-                dsg = DatasetRegistry.get().get(uri) ;
-                if ( dsg == null )
+                DatasetRef desc = DatasetRegistry.get().get(uri) ;
+                if ( desc == null )
                 {
                     errorNotFound("No dataset for URI: "+uri) ;
                     return ;
                 }
+                dsg = desc.dataset ;
             }
             perform(id, dsg, request, response) ;
             //serverlog.info(String.format("[%d] 200 Success", id)) ;

Modified: incubator/jena/Jena2/Fuseki/trunk/src/test/java/org/openjena/fuseki/ServerTest.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/Fuseki/trunk/src/test/java/org/openjena/fuseki/ServerTest.java?rev=1167103&r1=1167102&r2=1167103&view=diff
==============================================================================
--- incubator/jena/Jena2/Fuseki/trunk/src/test/java/org/openjena/fuseki/ServerTest.java (original)
+++ incubator/jena/Jena2/Fuseki/trunk/src/test/java/org/openjena/fuseki/ServerTest.java Fri Sep  9 11:26:26 2011
@@ -26,7 +26,7 @@ import org.openjena.atlas.logging.Log ;
 import org.openjena.fuseki.http.UpdateRemote ;
 import org.openjena.fuseki.server.FusekiConfig ;
 import org.openjena.fuseki.server.SPARQLServer ;
-import org.openjena.fuseki.server.ServiceDesc ;
+import org.openjena.fuseki.server.DatasetRef ;
 
 import com.hp.hpl.jena.sparql.core.DatasetGraph ;
 import com.hp.hpl.jena.sparql.core.DatasetGraphFactory ;
@@ -69,7 +69,7 @@ public class ServerTest extends BaseServ
         
         DatasetGraph dsg = DatasetGraphFactory.createMem() ;
         // This must agree with BaseServerTest
-        ServiceDesc sDesc = FusekiConfig.defaultConfiguration(datasetPath, dsg, true) ;
+        DatasetRef sDesc = FusekiConfig.defaultConfiguration(datasetPath, dsg, true) ;
 //        public static final String serviceUpdate = "http://localhost:"+ServerTest.port+datasetPath+"/update" ; 
 //        public static final String serviceQuery  = "http://localhost:"+ServerTest.port+datasetPath+"/query" ; 
 //        public static final String serviceREST   = "http://localhost:"+ServerTest.port+datasetPath+"/data" ; // ??????