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 2021/11/21 09:22:57 UTC

[jena] branch main updated: JENA-2200: Make Fuseki default database to TDB2

This is an automated email from the ASF dual-hosted git repository.

andy pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/jena.git


The following commit(s) were added to refs/heads/main by this push:
     new 6b3616b  JENA-2200: Make Fuseki default database to TDB2
     new c867211  Merge pull request #1113 from afs/fuseki-tdb2
6b3616b is described below

commit 6b3616b83d3249b3ad67819b6fda7209e3301c30
Author: Andy Seaborne <an...@apache.org>
AuthorDate: Thu Nov 18 21:16:52 2021 +0000

    JENA-2200: Make Fuseki default database to TDB2
---
 .../org/apache/jena/fuseki/servlets/HttpAction.java   |  2 +-
 .../org/apache/jena/fuseki/main/cmds/DSGSetup.java    | 10 ++++++++++
 .../org/apache/jena/fuseki/main/cmds/FusekiMain.java  | 19 ++++++++-----------
 .../java/org/apache/jena/fuseki/cmd/FusekiCmd.java    | 14 +++++++++++---
 4 files changed, 30 insertions(+), 15 deletions(-)

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 0feb85f..c16a449 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
@@ -210,7 +210,7 @@ public class HttpAction
     }
 
     /**
-     * Return the authenticated user this {@code HttpAction}.
+     * Return the authenticated user for this {@code HttpAction}.
      * Return null for no authenticated user.
      */
     public String getUser() {
diff --git a/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/cmds/DSGSetup.java b/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/cmds/DSGSetup.java
index c674bcc..19d97b6 100644
--- a/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/cmds/DSGSetup.java
+++ b/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/cmds/DSGSetup.java
@@ -72,4 +72,14 @@ import org.apache.jena.tdb2.DatabaseMgr;
         serverConfig.datasetDescription = "TDB2 dataset: location="+directory;
         serverConfig.dsg = DatabaseMgr.connectDatasetGraph(directory);
     }
+
+    public static void setupMemTDB(boolean useTDB2, ServerConfig serverConfig) {
+        String tag = useTDB2 ? "TDB2" : "TDB1";
+        serverConfig.datasetDescription = tag+" dataset in-memory";
+        serverConfig.dsg = useTDB2
+            ? DatabaseMgr.createDatasetGraph()
+            : TDBFactory.createDatasetGraph();
+        serverConfig.allowUpdate = true;
+
+    }
 }
diff --git a/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/cmds/FusekiMain.java b/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/cmds/FusekiMain.java
index b4e1c78..e3399ba 100644
--- a/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/cmds/FusekiMain.java
+++ b/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/cmds/FusekiMain.java
@@ -55,9 +55,7 @@ import org.apache.jena.riot.RiotException;
 import org.apache.jena.sparql.core.DatasetGraphFactory;
 import org.apache.jena.sys.JenaSystem;
 import org.apache.jena.system.Txn;
-import org.apache.jena.tdb.TDBFactory;
 import org.apache.jena.tdb.transaction.TransactionManager;
-import org.apache.jena.tdb2.DatabaseMgr;
 import org.slf4j.Logger;
 
 public class FusekiMain extends CmdARQ {
@@ -68,6 +66,7 @@ public class FusekiMain extends CmdARQ {
     private static ArgDecl  argUpdate       = new ArgDecl(ArgDecl.NoValue,  "update", "allowUpdate");
     private static ArgDecl  argFile         = new ArgDecl(ArgDecl.HasValue, "file");
 
+    private static ArgDecl  argTDB1mode     = new ArgDecl(ArgDecl.NoValue,  "tdb1");
     private static ArgDecl  argTDB2mode     = new ArgDecl(ArgDecl.NoValue,  "tdb2");
     private static ArgDecl  argMemTDB       = new ArgDecl(ArgDecl.NoValue,  "memtdb", "memTDB", "tdbmem");
     private static ArgDecl  argTDB          = new ArgDecl(ArgDecl.HasValue, "loc", "location", "tdb");
@@ -112,7 +111,8 @@ public class FusekiMain extends CmdARQ {
     private static ModDatasetAssembler modDataset      = new ModDatasetAssembler();
 
     private final ServerConfig serverConfig  = new ServerConfig();
-    private boolean useTDB2;
+    // Default
+    private boolean useTDB2 = true;
 
     /** Build, but do not start, a server based on command line syntax. */
     public static FusekiServer build(String... argv) {
@@ -280,8 +280,10 @@ public class FusekiMain extends CmdARQ {
         // Only one of these is choose from the checking above.
 
         // Which TDB to use to create a command line TDB database.
-        useTDB2 = contains(argTDB2mode);
-        String tag = useTDB2 ? "TDB2" : "TDB1";
+        if ( contains(argTDB1mode) )
+            useTDB2 = false;
+        if ( contains(argTDB2mode) )
+            useTDB2 = true;
 
         if ( allowEmpty ) {
             serverConfig.empty = true;
@@ -341,12 +343,7 @@ public class FusekiMain extends CmdARQ {
         }
 
         if ( contains(argMemTDB) ) {
-            serverConfig.datasetDescription = tag+" dataset in-memory";
-            serverConfig.dsg =
-                useTDB2
-                ? DatabaseMgr.createDatasetGraph()
-                    : TDBFactory.createDatasetGraph();
-                serverConfig.allowUpdate = true;
+            DSGSetup.setupMemTDB(useTDB2, serverConfig);
         }
 
         if ( contains(argTDB) ) {
diff --git a/jena-fuseki2/jena-fuseki-webapp/src/main/java/org/apache/jena/fuseki/cmd/FusekiCmd.java b/jena-fuseki2/jena-fuseki-webapp/src/main/java/org/apache/jena/fuseki/cmd/FusekiCmd.java
index 6d1fb4c..e66abe0 100644
--- a/jena-fuseki2/jena-fuseki-webapp/src/main/java/org/apache/jena/fuseki/cmd/FusekiCmd.java
+++ b/jena-fuseki2/jena-fuseki-webapp/src/main/java/org/apache/jena/fuseki/cmd/FusekiCmd.java
@@ -82,6 +82,7 @@ public class FusekiCmd {
         // This does not apply to empty in-memory setups.
         private static ArgDecl  argUpdate       = new ArgDecl(ArgDecl.NoValue,  "update", "allowUpdate");
         private static ArgDecl  argFile         = new ArgDecl(ArgDecl.HasValue, "file");
+        private static ArgDecl  argTDB1mode     = new ArgDecl(ArgDecl.NoValue,  "tdb1");
         private static ArgDecl  argTDB2mode     = new ArgDecl(ArgDecl.NoValue,  "tdb2");
         private static ArgDecl  argMemTDB       = new ArgDecl(ArgDecl.NoValue,  "memtdb", "memTDB", "tdbmem");
         private static ArgDecl  argTDB          = new ArgDecl(ArgDecl.HasValue, "loc", "location", "tdb");
@@ -118,7 +119,7 @@ public class FusekiCmd {
         }
 
         private final FusekiArgs cmdLine = new FusekiArgs();
-        private boolean useTDB2;
+        private boolean useTDB2 = true;
 
         public FusekiCmdInner(String... argv) {
             super(argv);
@@ -129,8 +130,10 @@ public class FusekiCmd {
                 "Create an in-memory, non-persistent dataset for the server");
             add(argFile, "--file=FILE",
                 "Create an in-memory, non-persistent dataset for the server, initialised with the contents of the file");
+            add(argTDB1mode, "--tdb1",
+                "Use TDB1 for command line persistent datasets (default is TDB2)");
             add(argTDB2mode, "--tdb2",
-                "Use TDB2 for command line persistent datasets (default is TDB1)");
+                "Use TDB2 for command line persistent datasets (default is TDB2)");
             add(argTDB, "--loc=DIR",
                 "Use an existing TDB database (or create if does not exist)");
             add(argMemTDB, "--memTDB",
@@ -239,7 +242,12 @@ public class FusekiCmd {
                 throw new CmdException("Need to define RDFS setup in the configuration file.");
 
             // Which TDB to use to create a command line TDB database.
-            useTDB2 = contains(argTDB2mode);
+            // Which TDB to use to create a command line TDB database.
+            if ( contains(argTDB1mode) )
+                useTDB2 = false;
+            if ( contains(argTDB2mode) )
+                useTDB2 = true;
+
 
             cmdLine.allowUpdate = contains(argUpdate);