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<>() ;
}