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 2016/08/05 17:40:41 UTC

jena git commit: Reduce direct use of DataAccessPointRegistry.get()

Repository: jena
Updated Branches:
  refs/heads/master ae299cf67 -> a6937c83b


Reduce direct use of DataAccessPointRegistry.get()

Steps towards removing all static configuration globals.



Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/a6937c83
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/a6937c83
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/a6937c83

Branch: refs/heads/master
Commit: a6937c83b210b17dc956dd384ea958267015bda5
Parents: ae299cf
Author: Andy Seaborne <an...@apache.org>
Authored: Fri Aug 5 18:39:46 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Fri Aug 5 18:39:46 2016 +0100

----------------------------------------------------------------------
 .../org/apache/jena/fuseki/mgt/ActionCtl.java   |  3 +--
 .../apache/jena/fuseki/mgt/ActionDatasets.java  | 14 +++++------
 .../jena/fuseki/mgt/ActionServerStatus.java     |  6 ++---
 .../org/apache/jena/fuseki/mgt/ActionStats.java | 25 ++++++++++++--------
 .../apache/jena/fuseki/mgt/JsonDescription.java |  2 +-
 .../apache/jena/fuseki/servlets/ActionLib.java  |  4 ++--
 .../jena/fuseki/servlets/ActionSPARQL.java      |  2 +-
 .../apache/jena/fuseki/servlets/HttpAction.java | 14 +++++++----
 .../jena/fuseki/servlets/SPARQL_GSP_R.java      |  4 +++-
 .../fuseki/servlets/SPARQL_UberServlet.java     |  2 +-
 10 files changed, 44 insertions(+), 32 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/a6937c83/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionCtl.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionCtl.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionCtl.java
index c0bbb41..d78517d 100644
--- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionCtl.java
+++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionCtl.java
@@ -20,7 +20,6 @@ package org.apache.jena.fuseki.mgt;
 
 import org.apache.jena.fuseki.Fuseki ;
 import org.apache.jena.fuseki.server.DataAccessPoint ;
-import org.apache.jena.fuseki.server.DataAccessPointRegistry ;
 import org.apache.jena.fuseki.server.DataService ;
 import org.apache.jena.fuseki.servlets.ActionBase ;
 import org.apache.jena.fuseki.servlets.HttpAction ;
@@ -41,7 +40,7 @@ public abstract class ActionCtl extends ActionBase
         
         String datasetUri = mapRequestToDatasetName(action) ;
         if ( datasetUri != null ) {
-            dataAccessPoint = DataAccessPointRegistry.get().get(datasetUri) ;
+            dataAccessPoint = action.getDataAccessPointRegistry().get(datasetUri) ;
             if ( dataAccessPoint == null ) {
                 ServletOps.errorNotFound("Not found: "+datasetUri) ;
                 return ;

http://git-wip-us.apache.org/repos/asf/jena/blob/a6937c83/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionDatasets.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionDatasets.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionDatasets.java
index 1157e51..cf6cae8 100644
--- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionDatasets.java
+++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionDatasets.java
@@ -90,7 +90,7 @@ public class ActionDatasets extends ActionContainerItem {
         JsonBuilder builder = new JsonBuilder() ;
         builder.startObject("D") ;
         builder.key(JsonConst.datasets) ;
-        JsonDescription.arrayDatasets(builder, DataAccessPointRegistry.get());
+        JsonDescription.arrayDatasets(builder, action.getDataAccessPointRegistry());
         builder.finishObject("D") ;
         return builder.build() ;
     }
@@ -99,7 +99,7 @@ public class ActionDatasets extends ActionContainerItem {
     protected JsonValue execGetItem(HttpAction action) {
         action.log.info(format("[%d] GET dataset %s", action.id, action.getDatasetName())) ;
         JsonBuilder builder = new JsonBuilder() ;
-        DataAccessPoint dsDesc = DataAccessPointRegistry.get().get(action.getDatasetName()) ;
+        DataAccessPoint dsDesc = action.getDataAccessPointRegistry().get(action.getDatasetName()) ;
         if ( dsDesc == null )
             ServletOps.errorNotFound("Not found: dataset "+action.getDatasetName());
         JsonDescription.describe(builder, dsDesc) ;
@@ -184,7 +184,7 @@ public class ActionDatasets extends ActionContainerItem {
 //            System.err.println("'"+datasetPath+"'") ;
 //            DataAccessPointRegistry.get().forEach((s,dap)->System.err.println("'"+s+"'")); 
             // ---- Check whether it already exists 
-            if ( DataAccessPointRegistry.get().isRegistered(datasetPath) )
+            if ( action.getDataAccessPointRegistry().isRegistered(datasetPath) )
                 // And abort.
                 ServletOps.error(HttpSC.CONFLICT_409, "Name already registered "+datasetPath) ;
             
@@ -319,7 +319,7 @@ public class ActionDatasets extends ActionContainerItem {
             name = "" ;
         action.log.info(format("[%d] DELETE ds=%s", action.id, name)) ;
 
-        if ( ! DataAccessPointRegistry.get().isRegistered(name) )
+        if ( ! action.getDataAccessPointRegistry().isRegistered(name) )
             ServletOps.errorNotFound("No such dataset registered: "+name);
 
         systemDSG.begin(ReadWrite.WRITE) ;
@@ -329,13 +329,13 @@ public class ActionDatasets extends ActionContainerItem {
             // Need to reference count operations when they drop to zero
             // or a timer goes off, we delete the dataset.
             
-            DataAccessPoint ref = DataAccessPointRegistry.get().get(name) ;
+            DataAccessPoint ref = action.getDataAccessPointRegistry().get(name) ;
             // Redo check inside transaction.
             if ( ref == null )
                 ServletOps.errorNotFound("No such dataset registered: "+name);
 
             // Make it invisible to the outside.
-            DataAccessPointRegistry.get().remove(name) ;
+            action.getDataAccessPointRegistry().remove(name) ;
             // Delete configuration file.
             // Should be only one, undo damage if multiple.
             FusekiEnv.existingConfigurationFile(name).stream().forEach(FileOps::deleteSilent);
@@ -361,7 +361,7 @@ public class ActionDatasets extends ActionContainerItem {
         }
         
         // Remove the configuration file (if any).
-        DataAccessPointRegistry.get().remove(name) ;
+        action.getDataAccessPointRegistry().remove(name) ;
     }
 
     // Persistent state change.

http://git-wip-us.apache.org/repos/asf/jena/blob/a6937c83/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionServerStatus.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionServerStatus.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionServerStatus.java
index a8acd1b..6102383 100644
--- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionServerStatus.java
+++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionServerStatus.java
@@ -70,7 +70,7 @@ public class ActionServerStatus extends ActionCtl
         JsonBuilder builder = new JsonBuilder() ; 
         builder.startObject() ;
         describeServer(builder, action.request.getLocalPort()) ;
-        describeDatasets(builder) ;
+        describeDatasets(builder, action.getDataAccessPointRegistry()) ;
         builder.finishObject() ;
         
         JsonValue v = builder.build() ;
@@ -107,9 +107,9 @@ public class ActionServerStatus extends ActionCtl
             
     }
 
-    private void describeDatasets(JsonBuilder builder) {
+    private void describeDatasets(JsonBuilder builder, DataAccessPointRegistry registry) {
         builder.key(JsonConst.datasets) ;
-        JsonDescription.arrayDatasets(builder, DataAccessPointRegistry.get());
+        JsonDescription.arrayDatasets(builder, registry);
     }
 
 }

http://git-wip-us.apache.org/repos/asf/jena/blob/a6937c83/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionStats.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionStats.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionStats.java
index 82af759..b44e678 100644
--- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionStats.java
+++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionStats.java
@@ -49,8 +49,10 @@ public class ActionStats extends ActionContainerItem
         
         builder.key(JsonConst.datasets) ;
         builder.startObject("datasets") ;
-        for ( String ds : DataAccessPointRegistry.get().keys() )
-            statsDataset(builder, ds) ; 
+        for ( String ds : action.getDataAccessPointRegistry().keys() ) {
+            DataAccessPoint access = action.getDataAccessPointRegistry().get(ds) ;
+            statsDataset(builder, access) ; 
+        }
         builder.finishObject("datasets") ;
         
         builder.finishObject("top") ;
@@ -67,18 +69,21 @@ public class ActionStats extends ActionContainerItem
         
         builder.key(JsonConst.datasets) ;
         builder.startObject("datasets") ;
-        statsDataset(builder, datasetPath) ;
+        statsDataset(builder, datasetPath, action.getDataAccessPointRegistry()) ;
         builder.finishObject("datasets") ;
         
         builder.finishObject("TOP") ;
         return builder.build() ;
     }
 
-    private void statsDataset(JsonBuilder builder, String ds) {
+    private void statsDataset(JsonBuilder builder, String name, DataAccessPointRegistry registry) {
+        DataAccessPoint access = registry.get(name) ;
+        statsDataset(builder, access);
+    }
+    
+    private void statsDataset(JsonBuilder builder, DataAccessPoint access) {
         // Object started
-        builder.key(ds) ;
-        
-        DataAccessPoint access = DataAccessPointRegistry.get().get(ds) ;
+        builder.key(access.getName()) ;
         DataService dSrv = access.getDataService() ;
         builder.startObject("counters") ;
         
@@ -131,17 +136,17 @@ public class ActionStats extends ActionContainerItem
         }
     }
 
-    private void statsTxt(HttpServletResponse resp) throws IOException
+    private void statsTxt(HttpServletResponse resp, DataAccessPointRegistry registry) throws IOException
     {
         ServletOutputStream out = resp.getOutputStream() ;
         resp.setContentType(contentTypeTextPlain);
         resp.setCharacterEncoding(charsetUTF8) ;
 
-        Iterator<String> iter = DataAccessPointRegistry.get().keys().iterator() ;
+        Iterator<String> iter = registry.keys().iterator() ;
         while(iter.hasNext())
         {
             String ds = iter.next() ;
-            DataAccessPoint desc = DataAccessPointRegistry.get().get(ds) ;
+            DataAccessPoint desc = registry.get(ds) ;
             statsTxt(out, desc) ;
             if ( iter.hasNext() )
                 out.println() ;

http://git-wip-us.apache.org/repos/asf/jena/blob/a6937c83/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/JsonDescription.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/JsonDescription.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/JsonDescription.java
index f54ead2..8f0d939 100644
--- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/JsonDescription.java
+++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/JsonDescription.java
@@ -32,7 +32,7 @@ public class JsonDescription {
     public static void arrayDatasets(JsonBuilder builder, DataAccessPointRegistry registry) {
         builder.startArray() ;
         for ( String ds : registry.keys() ) {
-            DataAccessPoint access = DataAccessPointRegistry.get().get(ds) ;
+            DataAccessPoint access = registry.get(ds) ;
             JsonDescription.describe(builder, access) ;
         }
         builder.finishArray() ;

http://git-wip-us.apache.org/repos/asf/jena/blob/a6937c83/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/ActionLib.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/ActionLib.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/ActionLib.java
index 182b46e..ae911d0 100644
--- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/ActionLib.java
+++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/ActionLib.java
@@ -78,7 +78,7 @@ public class ActionLib {
      * the longest match in the registry.
      * This includes use in direct naming GSP. 
      */
-    public static String mapRequestToDatasetLongest$(String uri) 
+    public static String mapRequestToDatasetLongest$(String uri, DataAccessPointRegistry registry) 
     {
         if ( uri == null )
             return null ;
@@ -88,7 +88,7 @@ public class ActionLib {
         // forms.
 
         String ds = null ;
-        for ( String ds2 : DataAccessPointRegistry.get().keys() ) {
+        for ( String ds2 : registry.keys() ) {
             if ( ! uri.startsWith(ds2) )
                 continue ;
 

http://git-wip-us.apache.org/repos/asf/jena/blob/a6937c83/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/ActionSPARQL.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/ActionSPARQL.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/ActionSPARQL.java
index 6a4a267..f74eacc 100644
--- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/ActionSPARQL.java
+++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/ActionSPARQL.java
@@ -59,7 +59,7 @@ public abstract class ActionSPARQL extends ActionBase
         
         String datasetUri = mapRequestToDataset(action) ;
         if ( datasetUri != null ) {
-            dataAccessPoint = DataAccessPointRegistry.get().get(datasetUri) ;
+            dataAccessPoint = action.getDataAccessPointRegistry().get(datasetUri) ;
             if ( dataAccessPoint == null ) {
                 ServletOps.errorNotFound("No dataset for URI: "+datasetUri) ;
                 return ;

http://git-wip-us.apache.org/repos/asf/jena/blob/a6937c83/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/HttpAction.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/HttpAction.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/HttpAction.java
index 33a77ed..41dc250 100644
--- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/HttpAction.java
+++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/HttpAction.java
@@ -30,10 +30,7 @@ import javax.servlet.http.HttpServletResponse ;
 import org.apache.jena.atlas.logging.Log ;
 import org.apache.jena.fuseki.Fuseki ;
 import org.apache.jena.fuseki.FusekiException ;
-import org.apache.jena.fuseki.server.DataAccessPoint ;
-import org.apache.jena.fuseki.server.DataService ;
-import org.apache.jena.fuseki.server.Endpoint ;
-import org.apache.jena.fuseki.server.RequestLog ;
+import org.apache.jena.fuseki.server.* ;
 import org.apache.jena.query.ReadWrite ;
 import org.apache.jena.sparql.SystemARQ ;
 import org.apache.jena.sparql.core.DatasetGraph ;
@@ -94,6 +91,8 @@ public class HttpAction
     public HttpServletResponseTracker response ;
     private final String actionURI ;
     private final String contextPath ;
+    // Currently, global.
+    private final DataAccessPointRegistry dataAccessPointRegistry ;
     
     /**
      * Creates a new HTTP Action, using the HTTP request and response, and a given ID.
@@ -114,6 +113,7 @@ public class HttpAction
         this.verbose = verbose ;
         this.contextPath = request.getServletContext().getContextPath() ;
         this.actionURI = ActionLib.actionURI(request) ;
+        this.dataAccessPointRegistry = DataAccessPointRegistry.get() ;
     }
 
     /** Initialization after action creation during lifecycle setup.
@@ -226,6 +226,12 @@ public class HttpAction
         return contextPath ;
     }
     
+    /**
+     * Get the DataAccessPointRegistry for this action
+     */
+    public DataAccessPointRegistry getDataAccessPointRegistry() {
+        return dataAccessPointRegistry ;
+    }
     
     /** Set the endpoint and endpoint name that this is an action for. 
      * @param srvRef {@link Endpoint}

http://git-wip-us.apache.org/repos/asf/jena/blob/a6937c83/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_GSP_R.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_GSP_R.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_GSP_R.java
index 632f3d6..e385c55 100644
--- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_GSP_R.java
+++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_GSP_R.java
@@ -40,7 +40,9 @@ public class SPARQL_GSP_R extends SPARQL_GSP
     { super() ; }
     
     @Override
-    protected String mapRequestToDataset(HttpAction action) { return ActionLib.mapRequestToDatasetLongest$(action.request.getRequestURI()) ; } 
+    protected String mapRequestToDataset(HttpAction action) {
+        return ActionLib.mapRequestToDatasetLongest$(action.request.getRequestURI(), action.getDataAccessPointRegistry()) ;
+    }
 
     @Override
     protected void doGet(HttpAction action) {

http://git-wip-us.apache.org/repos/asf/jena/blob/a6937c83/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_UberServlet.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_UberServlet.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_UberServlet.java
index d04a3a3..ae2dd5c 100644
--- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_UberServlet.java
+++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_UberServlet.java
@@ -141,7 +141,7 @@ public abstract class SPARQL_UberServlet extends ActionSPARQL
     @Override
     protected String mapRequestToDataset(HttpAction action) {
         String uri = ActionLib.removeContextPath(action) ;
-        return ActionLib.mapRequestToDatasetLongest$(uri) ;
+        return ActionLib.mapRequestToDatasetLongest$(uri, action.getDataAccessPointRegistry()) ;
     }
 
     /** Intercept the processing cycle at the point where the action has been set up,