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 2015/05/31 12:18:43 UTC

jena git commit: Clean up initialization arguments.

Repository: jena
Updated Branches:
  refs/heads/master 31a8cce9e -> 919b56a14


Clean up initialization arguments.

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

Branch: refs/heads/master
Commit: 919b56a144da5e04c4d79e5d34c24d2ca7f8f257
Parents: 31a8cce
Author: Andy Seaborne <an...@apache.org>
Authored: Sun May 31 11:18:25 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Sun May 31 11:18:25 2015 +0100

----------------------------------------------------------------------
 .../apache/jena/fuseki/build/FusekiConfig.java  |  2 +-
 .../org/apache/jena/fuseki/cmd/FusekiCmd.java   | 10 ++---
 .../apache/jena/fuseki/server/FusekiServer.java | 40 +++++++++++---------
 .../fuseki/server/FusekiServerListener.java     |  5 ++-
 .../jena/fuseki/server/ServerInitialConfig.java | 24 ++++++++----
 5 files changed, 47 insertions(+), 34 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/919b56a1/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/build/FusekiConfig.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/build/FusekiConfig.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/build/FusekiConfig.java
index 549298a..4fe19ea 100644
--- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/build/FusekiConfig.java
+++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/build/FusekiConfig.java
@@ -197,7 +197,7 @@ public class FusekiConfig {
     
     /** Read service descriptions in the given directory */ 
     public static List<DataAccessPoint> readConfigurationDirectory(String dir) {
-         Path pDir = Paths.get(dir).normalize() ;
+        Path pDir = Paths.get(dir).normalize() ;
         File dirFile = pDir.toFile() ;
         if ( ! dirFile.exists() ) {
             log.warn("Not found: directory for assembler files for services: '"+dir+"'") ;

http://git-wip-us.apache.org/repos/asf/jena/blob/919b56a1/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/cmd/FusekiCmd.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/cmd/FusekiCmd.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/cmd/FusekiCmd.java
index 5da6b07..3e6e344 100644
--- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/cmd/FusekiCmd.java
+++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/cmd/FusekiCmd.java
@@ -159,7 +159,7 @@ public class FusekiCmd {
             Logger log = Fuseki.serverLog ;
 
             if ( contains(argFusekiConfig) )
-                cmdLineDataset.fusekiConfigFile = getValue(argFusekiConfig) ;
+                cmdLineDataset.fusekiCmdLineConfigFile = getValue(argFusekiConfig) ;
 
             ArgDecl assemblerDescDecl = new ArgDecl(ArgDecl.HasValue, "desc", "dataset") ;
 
@@ -176,7 +176,7 @@ public class FusekiCmd {
             if ( contains(argMemTDB) )
                 x++ ;
 
-            if ( cmdLineDataset.fusekiConfigFile != null ) {
+            if ( cmdLineDataset.fusekiCmdLineConfigFile != null ) {
                 if ( x >= 1 )
                     throw new CmdException("Dataset specified on the command line but a configuration file also given.") ;
             } else {
@@ -190,7 +190,7 @@ public class FusekiCmd {
             if ( contains(argMem) ) {
                 log.info("Dataset: in-memory") ;
                 cmdLineDataset = new ServerInitialConfig() ;
-                cmdLineDataset.templateFile = Template.templateMemFN ; 
+                cmdLineDataset.argTemplateFile = Template.templateMemFN ; 
             }
 
             if ( contains(argFile) ) {
@@ -213,13 +213,13 @@ public class FusekiCmd {
             if ( contains(argMemTDB) ) {
                 //log.info("TDB dataset: in-memory") ;
                 cmdLineDataset = new ServerInitialConfig() ;
-                cmdLineDataset.templateFile = Template.templateTDBMemFN ;
+                cmdLineDataset.argTemplateFile = Template.templateTDBMemFN ;
                 cmdLineDataset.params.put(Template.DIR, Names.memName) ;
             }
 
             if ( contains(argTDB) ) {
                 cmdLineDataset = new ServerInitialConfig() ;
-                cmdLineDataset.templateFile = Template.templateTDBDirFN ;
+                cmdLineDataset.argTemplateFile = Template.templateTDBDirFN ;
                 String dir = getValue(argTDB) ;
                 cmdLineDataset.params.put(Template.DIR, dir) ;
             }

http://git-wip-us.apache.org/repos/asf/jena/blob/919b56a1/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/FusekiServer.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/FusekiServer.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/FusekiServer.java
index f6488c5..b21df99 100644
--- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/FusekiServer.java
+++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/FusekiServer.java
@@ -25,14 +25,9 @@ import java.io.StringReader ;
 import java.nio.file.Files ;
 import java.nio.file.Path ;
 import java.nio.file.StandardCopyOption ;
-import java.util.ArrayList ;
-import java.util.HashMap ;
-import java.util.List ;
-import java.util.Map ;
-import java.util.Objects;
+import java.util.* ;
 
 import arq.cmd.CmdException ;
-
 import org.apache.jena.atlas.io.IO ;
 import org.apache.jena.atlas.lib.DS ;
 import org.apache.jena.atlas.lib.FileOps ;
@@ -242,19 +237,19 @@ public class FusekiServer
         if ( params == null )
             return datasets ;
 
-        if ( params.fusekiConfigFile != null ) {
-            if ( FileOps.exists(params.fusekiConfigFile ) ) {
-                Fuseki.configLog.info("Configuration file: " + params.fusekiConfigFile) ;
-                List<DataAccessPoint> cmdLineDatasets = FusekiConfig.readConfigFile(params.fusekiConfigFile) ;
-                datasets.addAll(cmdLineDatasets) ;
-            } else {
-                Fuseki.configLog.info("Configuration file '" + params.fusekiConfigFile+"' does not exist") ;
-            }
-        } else if ( params.dsg != null ) {
+        if ( params.fusekiCmdLineConfigFile != null ) {
+            List<DataAccessPoint> confDatasets = processConfigFile(params.fusekiCmdLineConfigFile) ;
+            datasets.addAll(confDatasets) ;
+        }
+        else if ( params.fusekiServerConfigFile != null ) {
+            List<DataAccessPoint> confDatasets = processConfigFile(params.fusekiServerConfigFile) ;
+            datasets.addAll(confDatasets) ;
+        }
+        else if ( params.dsg != null ) {
             DataAccessPoint dap = defaultConfiguration(params.datasetPath, params.dsg, params.allowUpdate) ;
             datasets.add(dap) ;
-        } else if ( params.templateFile != null ) {
-            Fuseki.configLog.info("Template file: " + params.templateFile) ;
+        } else if ( params.argTemplateFile != null ) {
+            Fuseki.configLog.info("Template file: " + params.argTemplateFile) ;
             String dir = params.params.get(Template.DIR) ;
             if ( dir != null ) {
                 if ( Objects.equals(dir, Names.memName) ) {
@@ -265,13 +260,22 @@ public class FusekiServer
                     Fuseki.configLog.info("TDB dataset: directory=" + dir) ;
                 }
             }
-            DataAccessPoint dap = configFromTemplate(params.templateFile, params.datasetPath, params.params) ;
+            DataAccessPoint dap = configFromTemplate(params.argTemplateFile, params.datasetPath, params.params) ;
             datasets.add(dap) ;
         }
         // No datasets is valid.
         return datasets ;
     }
     
+    private static List<DataAccessPoint> processConfigFile(String configFilename) {
+        if ( ! FileOps.exists(configFilename) ) {
+            Fuseki.configLog.warn("Configuration file '" + configFilename+"' does not exist") ;
+            return Collections.emptyList(); 
+        }
+        Fuseki.configLog.info("Configuration file: " + configFilename) ;
+        return FusekiConfig.readConfigFile(configFilename) ;
+    }
+    
     private static DataAccessPoint configFromTemplate(String templateFile, 
                                                       String datasetPath, 
                                                       Map<String, String> params) {

http://git-wip-us.apache.org/repos/asf/jena/blob/919b56a1/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/FusekiServerListener.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/FusekiServerListener.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/FusekiServerListener.java
index 334fc73..188d7d0 100644
--- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/FusekiServerListener.java
+++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/FusekiServerListener.java
@@ -59,11 +59,12 @@ public class FusekiServerListener implements ServletContextListener {
                 Fuseki.serverLog.error("Failed to initialize : Server not running") ;
                 return ;
             }
-
+            // The command line code sets initialSetup. In a non-commandline startup,
+            // initialSetup is null. Set to include a possible config.ttl in the BASE area.
             if ( initialSetup == null ) {
                 initialSetup = new ServerInitialConfig() ;
                 String cfg = FusekiEnv.FUSEKI_BASE.resolve(FusekiServer.DFT_CONFIG).toAbsolutePath().toString() ;
-                initialSetup.fusekiConfigFile = cfg ;
+                initialSetup.fusekiServerConfigFile = cfg ;
             }
 
             if ( initialSetup != null ) {

http://git-wip-us.apache.org/repos/asf/jena/blob/919b56a1/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/ServerInitialConfig.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/ServerInitialConfig.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/ServerInitialConfig.java
index 3bcd2f7..d3b1966 100644
--- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/ServerInitialConfig.java
+++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/ServerInitialConfig.java
@@ -25,15 +25,23 @@ import org.apache.jena.sparql.core.DatasetGraph ;
 
 /** Dataset setup (command line, config file) for a dataset (or several if config file) */
 public class ServerInitialConfig {
+    // Priority order : --conf, templated  
+    // through the command line processing should not allow --conf and a templated /dataset.
+    
     // Either this ...
-    public String    templateFile     = null ;
-    public Map<String,String> params  = new HashMap<>() ;
-    public String    datasetPath      = null ;
-    public boolean   allowUpdate      = false ;
-    // Or this ...
-    public String    fusekiConfigFile = null ;
+    public String    argTemplateFile     = null ;           // Command list args --mem, --loc, --memtdb
+    public String    datasetPath      = null ;              // Dataset name on the command line.
+    public boolean   allowUpdate      = false ;             // Command line --update.
     // Special case - directly pass in the dataset graphs - datasetPath must be given.
-    // This is not persistent across server restarts. 
-    public DatasetGraph dsg           = null ;
+    public DatasetGraph dsg           = null ;              // Command line --file.
+    
+    // Or this ... 
+    public String    fusekiCmdLineConfigFile = null ;       // Command line --conf.
+    // Or this ... (lowest priority)
+    public String    fusekiServerConfigFile = null ;        // "run" area
+    
+    
+    // Additional information.
+    public Map<String,String> params  = new HashMap<>() ;
     
 }