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 2017/09/28 11:08:34 UTC
[18/50] [abbrv] jena git commit: Update cmds
Update cmds
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/cf4b7a82
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/cf4b7a82
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/cf4b7a82
Branch: refs/heads/jena-tdb2
Commit: cf4b7a8202f6b20d33c6ba1b7e396e85e6befeab
Parents: df59082
Author: Andy Seaborne <an...@seaborne.org>
Authored: Mon Sep 4 17:13:08 2017 +0100
Committer: Andy Seaborne <an...@seaborne.org>
Committed: Mon Sep 4 17:13:08 2017 +0100
----------------------------------------------------------------------
.../src/main/java/tdb2/cmdline/CmdSub.java | 49 +++++++++-----------
.../src/main/java/tdb2/cmdline/CmdTDB.java | 10 ++--
tdb2-cmds/src/main/java/tdb2/tdbbackup.java | 39 +++++++++++++---
tdb2-cmds/src/main/java/tdb2/tdbcompact.java | 45 ++++++++++++++++++
tdb2-cmds/src/main/java/tdb2/tdbdump.java | 3 +-
tdb2-cmds/src/main/java/tdb2/tdbstats.java | 3 +-
tdb2-cmds/tdb2 | 2 +-
.../java/org/seaborne/tdb2/sys/TDBInternal.java | 12 ++++-
8 files changed, 119 insertions(+), 44 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/cf4b7a82/tdb2-cmds/src/main/java/tdb2/cmdline/CmdSub.java
----------------------------------------------------------------------
diff --git a/tdb2-cmds/src/main/java/tdb2/cmdline/CmdSub.java b/tdb2-cmds/src/main/java/tdb2/cmdline/CmdSub.java
index 03b12af..bda20c5 100644
--- a/tdb2-cmds/src/main/java/tdb2/cmdline/CmdSub.java
+++ b/tdb2-cmds/src/main/java/tdb2/cmdline/CmdSub.java
@@ -24,37 +24,34 @@ import java.util.Map;
import jena.cmd.CmdException;
-public class CmdSub
-{
- public interface Exec { public void exec(String[] argv) ; }
- Map<String, Exec> dispatch = new HashMap<>() ;
-
- String subCmd ;
- String args[] ;
-
- public CmdSub(String ...argv)
- {
+public class CmdSub {
+ public interface Exec {
+ public void exec(String[] argv) ;
+ }
+ private Map<String, Exec> dispatch = new HashMap<>() ;
+
+ private String subCmd ;
+ private String args[] ;
+
+ public CmdSub(String... argv) {
subCmd = subCommand(argv) ;
args = cmdline(argv) ;
}
-
- protected void exec()
- {
+
+ protected void exec() {
Exec exec = dispatch.get(subCmd) ;
if ( exec == null )
- throw new CmdException("No subcommand: "+subCmd) ;
+ throw new CmdException("No subcommand: " + subCmd) ;
exec.exec(args) ;
}
- protected static String[] cmdline(String ... argv)
- {
- String [] a = new String[argv.length-1] ;
- System.arraycopy(argv, 1, a, 0, argv.length-1) ;
- return a ;
+ protected static String[] cmdline(String... argv) {
+ String[] a = new String[argv.length - 1] ;
+ System.arraycopy(argv, 1, a, 0, argv.length - 1) ;
+ return a ;
}
- protected static String subCommand(String ... argv)
- {
+ protected static String subCommand(String... argv) {
if ( argv.length == 0 )
throw new CmdException("Missing subcommand") ;
@@ -63,14 +60,12 @@ public class CmdSub
throw new CmdException("Argument found where subcommand expected") ;
return subCmd ;
}
-
- protected void addSubCommand(String subCmdName, Exec exec)
- {
+
+ protected void addSubCommand(String subCmdName, Exec exec) {
dispatch.put(subCmdName, exec) ;
}
-
- protected Collection<String> subCommandNames()
- {
+
+ protected Collection<String> subCommandNames() {
return dispatch.keySet() ;
}
}
http://git-wip-us.apache.org/repos/asf/jena/blob/cf4b7a82/tdb2-cmds/src/main/java/tdb2/cmdline/CmdTDB.java
----------------------------------------------------------------------
diff --git a/tdb2-cmds/src/main/java/tdb2/cmdline/CmdTDB.java b/tdb2-cmds/src/main/java/tdb2/cmdline/CmdTDB.java
index 556cf67..da799fd 100644
--- a/tdb2-cmds/src/main/java/tdb2/cmdline/CmdTDB.java
+++ b/tdb2-cmds/src/main/java/tdb2/cmdline/CmdTDB.java
@@ -28,9 +28,8 @@ import org.apache.jena.sparql.core.DatasetGraph ;
import org.apache.jena.system.JenaSystem ;
import org.seaborne.dboe.base.file.Location;
import org.seaborne.tdb2.TDB2;
-import org.seaborne.tdb2.store.DatasetGraphTDB;
-import org.seaborne.tdb2.sys.TDBInternal;
-import tdb2.cmdline.ModTDBDataset;
+import org.seaborne.tdb2.store.DatasetGraphSwitchable ;
+import org.seaborne.tdb2.sys.TDBInternal ;
public abstract class CmdTDB extends CmdARQ
{
@@ -70,9 +69,8 @@ public abstract class CmdTDB extends CmdARQ
return getDataset().asDatasetGraph() ;
}
- protected DatasetGraphTDB getDatasetGraphTDB() {
- DatasetGraph dsg = getDatasetGraph() ;
- return TDBInternal.getDatasetGraphTDB(dsg) ;
+ protected DatasetGraphSwitchable getDatabaseContainer() {
+ return TDBInternal.getDatabaseContainer(getDatasetGraph());
}
protected Dataset getDataset() {
http://git-wip-us.apache.org/repos/asf/jena/blob/cf4b7a82/tdb2-cmds/src/main/java/tdb2/tdbbackup.java
----------------------------------------------------------------------
diff --git a/tdb2-cmds/src/main/java/tdb2/tdbbackup.java b/tdb2-cmds/src/main/java/tdb2/tdbbackup.java
index 3f75741..8291514 100644
--- a/tdb2-cmds/src/main/java/tdb2/tdbbackup.java
+++ b/tdb2-cmds/src/main/java/tdb2/tdbbackup.java
@@ -1,4 +1,4 @@
-/**
+/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
@@ -18,11 +18,38 @@
package tdb2;
-public class tdbbackup
+import arq.cmdline.ModLangOutput ;
+import org.seaborne.tdb2.store.DatasetGraphSwitchable ;
+import org.seaborne.tdb2.sys.DatabaseOps ;
+import tdb2.cmdline.CmdTDB;
+
+public class tdbbackup extends CmdTDB
{
- // For now, implement as "dump".
- static public void main(String... argv) {
- tdbdump.main(argv);
+ static ModLangOutput modLangOutput = new ModLangOutput() ;
+
+ static public void main(String... argv)
+ {
+ CmdTDB.init() ;
+ new tdbbackup(argv).mainRun() ;
}
-}
+ protected tdbbackup(String[] argv)
+ {
+ super(argv) ;
+ addModule(modLangOutput) ;
+ }
+
+ @Override
+ protected String getSummary()
+ {
+ return getCommandName()+" : Backup a TDB dataset" ;
+ }
+
+ @Override
+ protected void exec()
+ {
+ DatasetGraphSwitchable dsg = getDatabaseContainer();
+ String fn = DatabaseOps.backup(dsg);
+ System.out.println("Backup written to "+fn);
+ }
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/cf4b7a82/tdb2-cmds/src/main/java/tdb2/tdbcompact.java
----------------------------------------------------------------------
diff --git a/tdb2-cmds/src/main/java/tdb2/tdbcompact.java b/tdb2-cmds/src/main/java/tdb2/tdbcompact.java
new file mode 100644
index 0000000..373e822
--- /dev/null
+++ b/tdb2-cmds/src/main/java/tdb2/tdbcompact.java
@@ -0,0 +1,45 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package tdb2;
+
+import org.seaborne.tdb2.store.DatasetGraphSwitchable ;
+import org.seaborne.tdb2.sys.DatabaseOps ;
+import tdb2.cmdline.CmdTDB;
+
+public class tdbcompact extends CmdTDB {
+ static public void main(String... argv) {
+ CmdTDB.init() ;
+ new tdbcompact(argv).mainRun() ;
+ }
+
+ protected tdbcompact(String[] argv) {
+ super(argv) ;
+ }
+
+ @Override
+ protected String getSummary() {
+ return getCommandName() + " : Compact a TDB2 dataset" ;
+ }
+
+ @Override
+ protected void exec() {
+ DatasetGraphSwitchable dsg = getDatabaseContainer() ;
+ DatabaseOps.compact(dsg) ;
+ }
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/cf4b7a82/tdb2-cmds/src/main/java/tdb2/tdbdump.java
----------------------------------------------------------------------
diff --git a/tdb2-cmds/src/main/java/tdb2/tdbdump.java b/tdb2-cmds/src/main/java/tdb2/tdbdump.java
index e562196..f54220c 100644
--- a/tdb2-cmds/src/main/java/tdb2/tdbdump.java
+++ b/tdb2-cmds/src/main/java/tdb2/tdbdump.java
@@ -52,8 +52,7 @@ public class tdbdump extends CmdTDB
@Override
protected void exec()
{
- DatasetGraph dsg = super.getDatasetGraphTDB() ;
-
+ DatasetGraph dsg = getDatasetGraph() ;
// Prefer stream over fully pretty output formats.
RDFFormat fmt = modLangOutput.getOutputStreamFormat() ;
// Stream writing happens naturally - no need to call StreamRDFWriter.
http://git-wip-us.apache.org/repos/asf/jena/blob/cf4b7a82/tdb2-cmds/src/main/java/tdb2/tdbstats.java
----------------------------------------------------------------------
diff --git a/tdb2-cmds/src/main/java/tdb2/tdbstats.java b/tdb2-cmds/src/main/java/tdb2/tdbstats.java
index 162bff2..7f53199 100644
--- a/tdb2-cmds/src/main/java/tdb2/tdbstats.java
+++ b/tdb2-cmds/src/main/java/tdb2/tdbstats.java
@@ -33,6 +33,7 @@ import org.seaborne.tdb2.store.DatasetGraphTDB;
import org.seaborne.tdb2.store.NodeId;
import org.seaborne.tdb2.store.nodetable.NodeTable;
import org.seaborne.tdb2.store.nodetupletable.NodeTupleTable;
+import org.seaborne.tdb2.sys.TDBInternal ;
import tdb2.cmdline.CmdTDB;
import tdb2.cmdline.CmdTDBGraph;
@@ -90,7 +91,7 @@ public class tdbstats extends CmdTDBGraph {
@Override
protected void exec() {
- DatasetGraphTDB dsg = getDatasetGraphTDB();
+ DatasetGraphTDB dsg = TDBInternal.getDatasetGraphTDB(getDatasetGraph());
Node gn = getGraphName();
StatsResults results = stats(dsg, gn);
Stats.write(System.out, results);
http://git-wip-us.apache.org/repos/asf/jena/blob/cf4b7a82/tdb2-cmds/tdb2
----------------------------------------------------------------------
diff --git a/tdb2-cmds/tdb2 b/tdb2-cmds/tdb2
index 583ca7e..d2772db 100755
--- a/tdb2-cmds/tdb2
+++ b/tdb2-cmds/tdb2
@@ -79,7 +79,7 @@ TDB2_PKG="tdb2"
case $CMD in
"")
;;
- tdbbackup | tdbdump | tdbloader | tdbquery | tdbstats | tdbupdate)
+ tdbbackup | tdbdump | tdbloader | tdbquery | tdbstats | tdbupdate | tdbcompact)
CMD_CLS="$TDB2_PKG"."$CMD"
;;
## tools.*)
http://git-wip-us.apache.org/repos/asf/jena/blob/cf4b7a82/tdb2/src/main/java/org/seaborne/tdb2/sys/TDBInternal.java
----------------------------------------------------------------------
diff --git a/tdb2/src/main/java/org/seaborne/tdb2/sys/TDBInternal.java b/tdb2/src/main/java/org/seaborne/tdb2/sys/TDBInternal.java
index 3bd7427..0b57de8 100644
--- a/tdb2/src/main/java/org/seaborne/tdb2/sys/TDBInternal.java
+++ b/tdb2/src/main/java/org/seaborne/tdb2/sys/TDBInternal.java
@@ -106,10 +106,20 @@ public class TDBInternal {
* Return the DatasetGraphTDB for a DatasetGraph, or null.
* Use the {@link DatasetGraphTDB} with care.
*/
+ public static DatasetGraphSwitchable getDatabaseContainer(DatasetGraph dsg) {
+ if ( dsg instanceof DatasetGraphSwitchable )
+ return (DatasetGraphSwitchable)dsg;
+ throw new TDBException("Not a TDB database container");
+ }
+
+ /**
+ * Return the DatasetGraphTDB for a DatasetGraph, or null.
+ * Use the {@link DatasetGraphTDB} with care.
+ */
public static DatasetGraphTDB getDatasetGraphTDB(DatasetGraph dsg) {
return unwrap(dsg);
}
-
+
/**
* Return the DatasetGraphTDB for a DatasetGraph, or throw an exception.
*/