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 2019/05/30 11:27:06 UTC
[jena] branch master updated: JENA-1714: Migrate 'migrate' packages
This is an automated email from the ASF dual-hosted git repository.
andy pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/jena.git
The following commit(s) were added to refs/heads/master by this push:
new d3a1dab JENA-1714: Migrate 'migrate' packages
new 34cc2b3 Merge pull request #571 from afs/migrate
d3a1dab is described below
commit d3a1dab3cbce2f3e353f3226ae8f36a9574d88c3
Author: Andy Seaborne <an...@apache.org>
AuthorDate: Sun May 26 18:38:36 2019 +0100
JENA-1714: Migrate 'migrate' packages
---
.../system/{StreamOps.java => StreamRDFOps.java} | 11 +-
.../apache/jena/riot/system/StreamRDFWriter.java | 12 +-
.../jena/riot/thrift/WriterDatasetThrift.java | 4 +-
.../apache/jena/riot/thrift/WriterGraphThrift.java | 4 +-
.../org/apache/jena/riot/writer/NQuadsWriter.java | 4 +-
.../apache/jena/riot/writer/NTriplesWriter.java | 4 +-
.../apache/jena/riot/writer/TriGWriterBlocks.java | 4 +-
.../apache/jena/riot/writer/TriGWriterFlat.java | 4 +-
.../jena/riot/writer/TurtleWriterBlocks.java | 4 +-
.../apache/jena/riot/writer/TurtleWriterFlat.java | 4 +-
.../org/apache/jena/riot/writer/WriterTriX.java | 6 +-
.../java/org/apache/jena/sparql/algebra/OpLib.java | 35 ++--
.../jena/sparql/algebra}/TransformGraphRename.java | 4 +-
.../java/org/apache/jena/sparql/core/Match.java | 28 +--
.../jena/riot/thrift/TestStreamRDFThrift.java | 6 +-
.../src/main/java/org/apache/jena/atlas/io/IO.java | 199 +++++++++++++--------
.../java/org/apache/jena/atlas/lib}/StreamOps.java | 16 +-
.../java/org/apache/jena/atlas/lib/ThreadLib.java | 99 +---------
.../java/org/apache/jena/shared/uuid/LibUUID.java | 1 +
.../java/org/apache/jena/dboe/sys/LibUUID.java | 58 ++++++
.../jena/dboe/storage/simple/StorageTuplesN.java | 6 +-
.../jena/dboe/trans/recovery/TestRecovery.java | 19 +-
.../apache/jena/dboe/transaction/TransInteger.java | 3 +-
.../jena/dboe/transaction/txn/TxnIdUuid.java | 6 +-
.../TestTransactionCoordinatorControl.java | 16 +-
.../transaction/TestTransactionLifecycle2.java | 12 +-
.../main/java/org/apache/jena/tdb2/migrate/A2.java | 38 ----
.../jena/tdb2/migrate/TransformGraphRename.java | 54 ------
.../apache/jena/tdb2/solver/QueryEngineTDB.java | 4 +-
.../main/java/org/apache/jena/tdb/migrate/A2.java | 38 ----
.../org/apache/jena/tdb/migrate/CachingPF.java | 51 ------
.../java/org/apache/jena/tdb/migrate/LockTx.java | 71 --------
.../org/apache/jena/tdb/solver/QueryEngineTDB.java | 4 +-
33 files changed, 284 insertions(+), 545 deletions(-)
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/system/StreamOps.java b/jena-arq/src/main/java/org/apache/jena/riot/system/StreamRDFOps.java
similarity index 95%
rename from jena-arq/src/main/java/org/apache/jena/riot/system/StreamOps.java
rename to jena-arq/src/main/java/org/apache/jena/riot/system/StreamRDFOps.java
index 89bf376..66b99fd 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/system/StreamOps.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/system/StreamRDFOps.java
@@ -39,7 +39,7 @@ import org.apache.jena.sparql.core.Quad ;
* whereas other operations do.
*/
-public class StreamOps {
+public class StreamRDFOps {
/** Send a dataset to a StreamRDF as prefixes, triples and quads, enclosed in stream.start()/stream.finish() */
public static void datasetToStream(DatasetGraph datasetGraph, StreamRDF stream) {
@@ -90,10 +90,10 @@ public class StreamOps {
// Default graph
Iterator<Triple> iter1 = datasetGraph.getDefaultGraph().find(null, null, null) ;
- StreamOps.sendTriplesToStream(iter1, stream) ;
+ StreamRDFOps.sendTriplesToStream(iter1, stream) ;
Iterator<Quad> iter2 = datasetGraph.findNG(null, null, null, null) ;
- StreamOps.sendQuadsToStream(iter2, stream) ;
+ StreamRDFOps.sendQuadsToStream(iter2, stream) ;
}
@@ -108,7 +108,7 @@ public class StreamOps {
if ( prefixMap != null )
sendPrefixesToStream(prefixMap, stream) ;
Iterator<Triple> iter = graph.find(null, null, null) ;
- StreamOps.sendTriplesToStream(iter, stream) ;
+ StreamRDFOps.sendTriplesToStream(iter, stream) ;
}
/** Send the triples of graph to a StreamRDF (no prefix mapping) */
@@ -129,7 +129,7 @@ public class StreamOps {
/** Send quads of a dataset (including default graph as quads) to a StreamRDF, without prefixes */
public static void sendQuadsToStream(DatasetGraph datasetGraph, StreamRDF stream) {
Iterator<Quad> iter2 = datasetGraph.find(null, null, null, null) ;
- StreamOps.sendQuadsToStream(iter2, stream) ;
+ StreamRDFOps.sendQuadsToStream(iter2, stream) ;
}
/** Set quads to a StreamRDF - does not call .start/.finish */
@@ -141,5 +141,4 @@ public class StreamOps {
dest.quad(q) ;
}
}
-
}
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/system/StreamRDFWriter.java b/jena-arq/src/main/java/org/apache/jena/riot/system/StreamRDFWriter.java
index 7fcd875..ba1303c 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/system/StreamRDFWriter.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/system/StreamRDFWriter.java
@@ -159,8 +159,8 @@ public class StreamRDFWriter {
* @param output OutputStream
* @param lang The syntax
* @return StreamRDF, or null if Lang does not have a streaming format.
- * @see StreamOps#graphToStream
- * @see StreamOps#datasetToStream
+ * @see StreamRDFOps#graphToStream
+ * @see StreamRDFOps#datasetToStream
*/
public static StreamRDF getWriterStream(OutputStream output, Lang lang) {
RDFFormat fmt = registry.choose(lang) ;
@@ -172,8 +172,8 @@ public class StreamRDFWriter {
* @param output OutputStream
* @param format The syntax (as an {@link RDFFormat})
* @return StreamRDF, or null if format is not registered for streaming.
- * @see StreamOps#graphToStream
- * @see StreamOps#datasetToStream
+ * @see StreamRDFOps#graphToStream
+ * @see StreamRDFOps#datasetToStream
*/
public static StreamRDF getWriterStream(OutputStream output, RDFFormat format) {
StreamRDFWriterFactory x = registry.get(format) ;
@@ -218,7 +218,7 @@ public class StreamRDFWriter {
*/
public static void write(OutputStream output, Graph graph, RDFFormat lang) {
StreamRDF stream = getWriterStream(output, lang) ;
- StreamOps.graphToStream(graph, stream) ;
+ StreamRDFOps.graphToStream(graph, stream) ;
}
/** Write a DatasetGraph in streaming fashion
@@ -240,7 +240,7 @@ public class StreamRDFWriter {
*/
public static void write(OutputStream output, DatasetGraph datasetGraph, RDFFormat format) {
StreamRDF stream = getWriterStream(output, format) ;
- StreamOps.datasetToStream(datasetGraph, stream) ;
+ StreamRDFOps.datasetToStream(datasetGraph, stream) ;
}
private static class StreamTriplesOnly extends StreamRDFWrapper {
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/thrift/WriterDatasetThrift.java b/jena-arq/src/main/java/org/apache/jena/riot/thrift/WriterDatasetThrift.java
index 0f8b85c..e0eb5ce 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/thrift/WriterDatasetThrift.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/thrift/WriterDatasetThrift.java
@@ -27,7 +27,7 @@ import org.apache.jena.riot.Lang ;
import org.apache.jena.riot.RDFFormat ;
import org.apache.jena.riot.WriterDatasetRIOT ;
import org.apache.jena.riot.system.PrefixMap ;
-import org.apache.jena.riot.system.StreamOps ;
+import org.apache.jena.riot.system.StreamRDFOps ;
import org.apache.jena.riot.system.StreamRDF ;
import org.apache.jena.sparql.core.DatasetGraph ;
import org.apache.jena.sparql.util.Context ;
@@ -51,7 +51,7 @@ public class WriterDatasetThrift implements WriterDatasetRIOT
public void write(OutputStream out, DatasetGraph dsg, PrefixMap prefixMap, String baseURI, Context context) {
StreamRDF stream = BinRDF.streamToOutputStream(out, withValues) ;
stream.start();
- StreamOps.sendDatasetToStream(dsg, stream, prefixMap) ;
+ StreamRDFOps.sendDatasetToStream(dsg, stream, prefixMap) ;
stream.finish();
}
}
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/thrift/WriterGraphThrift.java b/jena-arq/src/main/java/org/apache/jena/riot/thrift/WriterGraphThrift.java
index 66d6d92..2ec3a47 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/thrift/WriterGraphThrift.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/thrift/WriterGraphThrift.java
@@ -29,7 +29,7 @@ import org.apache.jena.riot.Lang ;
import org.apache.jena.riot.RDFFormat ;
import org.apache.jena.riot.WriterGraphRIOT ;
import org.apache.jena.riot.system.PrefixMap ;
-import org.apache.jena.riot.system.StreamOps ;
+import org.apache.jena.riot.system.StreamRDFOps ;
import org.apache.jena.riot.system.StreamRDF ;
import org.apache.jena.sparql.util.Context ;
@@ -52,7 +52,7 @@ public class WriterGraphThrift implements WriterGraphRIOT
public void write(OutputStream out, Graph graph, PrefixMap prefixMap, String baseURI, Context context) {
StreamRDF stream = BinRDF.streamToOutputStream(out, withValues) ;
stream.start() ;
- StreamOps.graphToStream(graph, stream) ;
+ StreamRDFOps.graphToStream(graph, stream) ;
stream.finish() ;
}
}
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/writer/NQuadsWriter.java b/jena-arq/src/main/java/org/apache/jena/riot/writer/NQuadsWriter.java
index 56e30a0..52c0ea0 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/writer/NQuadsWriter.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/writer/NQuadsWriter.java
@@ -25,7 +25,7 @@ import java.util.Iterator ;
import org.apache.jena.atlas.lib.CharSpace ;
import org.apache.jena.riot.Lang ;
import org.apache.jena.riot.system.PrefixMap ;
-import org.apache.jena.riot.system.StreamOps ;
+import org.apache.jena.riot.system.StreamRDFOps ;
import org.apache.jena.riot.system.StreamRDF ;
import org.apache.jena.riot.system.StreamRDFLib ;
import org.apache.jena.sparql.core.DatasetGraph ;
@@ -59,7 +59,7 @@ public class NQuadsWriter extends WriterDatasetRIOTBase
private static void write$(StreamRDF s, Iterator<Quad> iter)
{
s.start() ;
- StreamOps.sendQuadsToStream(iter, s) ;
+ StreamRDFOps.sendQuadsToStream(iter, s) ;
s.finish();
}
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/writer/NTriplesWriter.java b/jena-arq/src/main/java/org/apache/jena/riot/writer/NTriplesWriter.java
index 491611a..ec6d31f 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/writer/NTriplesWriter.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/writer/NTriplesWriter.java
@@ -29,7 +29,7 @@ import org.apache.jena.graph.Graph ;
import org.apache.jena.graph.Triple ;
import org.apache.jena.riot.Lang ;
import org.apache.jena.riot.system.PrefixMap ;
-import org.apache.jena.riot.system.StreamOps ;
+import org.apache.jena.riot.system.StreamRDFOps ;
import org.apache.jena.riot.system.StreamRDF ;
import org.apache.jena.riot.system.StreamRDFLib ;
import org.apache.jena.sparql.util.Context ;
@@ -61,7 +61,7 @@ public class NTriplesWriter extends WriterGraphRIOTBase
private static void write$(StreamRDF s, Iterator<Triple> iter)
{
s.start() ;
- StreamOps.sendTriplesToStream(iter, s) ;
+ StreamRDFOps.sendTriplesToStream(iter, s) ;
s.finish();
}
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/writer/TriGWriterBlocks.java b/jena-arq/src/main/java/org/apache/jena/riot/writer/TriGWriterBlocks.java
index 2161d32..e052327 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/writer/TriGWriterBlocks.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/writer/TriGWriterBlocks.java
@@ -20,7 +20,7 @@ package org.apache.jena.riot.writer;
import org.apache.jena.atlas.io.IndentedWriter ;
import org.apache.jena.riot.system.PrefixMap ;
-import org.apache.jena.riot.system.StreamOps ;
+import org.apache.jena.riot.system.StreamRDFOps ;
import org.apache.jena.riot.system.StreamRDF ;
import org.apache.jena.sparql.core.DatasetGraph ;
import org.apache.jena.sparql.util.Context ;
@@ -35,7 +35,7 @@ public class TriGWriterBlocks extends TriGWriterBase
StreamRDF dest = new WriterStreamRDFBlocks(iOut) ;
dest.start() ;
dest.base(baseURI) ;
- StreamOps.sendDatasetToStream(dsg, dest, prefixMap) ;
+ StreamRDFOps.sendDatasetToStream(dsg, dest, prefixMap) ;
dest.finish() ;
}
}
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/writer/TriGWriterFlat.java b/jena-arq/src/main/java/org/apache/jena/riot/writer/TriGWriterFlat.java
index 46025b7..a18ddc2 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/writer/TriGWriterFlat.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/writer/TriGWriterFlat.java
@@ -20,7 +20,7 @@ package org.apache.jena.riot.writer;
import org.apache.jena.atlas.io.IndentedWriter ;
import org.apache.jena.riot.system.PrefixMap ;
-import org.apache.jena.riot.system.StreamOps ;
+import org.apache.jena.riot.system.StreamRDFOps ;
import org.apache.jena.riot.system.StreamRDF ;
import org.apache.jena.sparql.core.DatasetGraph ;
import org.apache.jena.sparql.util.Context ;
@@ -36,7 +36,7 @@ public class TriGWriterFlat extends TriGWriterBase
StreamRDF dest = new WriterStreamRDFFlat(iOut) ;
dest.start() ;
dest.base(baseURI) ;
- StreamOps.sendDatasetToStream(datasetGraph, dest, prefixMap) ;
+ StreamRDFOps.sendDatasetToStream(datasetGraph, dest, prefixMap) ;
dest.finish() ;
}
}
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/writer/TurtleWriterBlocks.java b/jena-arq/src/main/java/org/apache/jena/riot/writer/TurtleWriterBlocks.java
index 66bbf32..47bfb42 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/writer/TurtleWriterBlocks.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/writer/TurtleWriterBlocks.java
@@ -21,7 +21,7 @@ package org.apache.jena.riot.writer;
import org.apache.jena.atlas.io.IndentedWriter ;
import org.apache.jena.graph.Graph ;
import org.apache.jena.riot.system.PrefixMap ;
-import org.apache.jena.riot.system.StreamOps ;
+import org.apache.jena.riot.system.StreamRDFOps ;
import org.apache.jena.riot.system.StreamRDF ;
import org.apache.jena.sparql.util.Context ;
@@ -35,7 +35,7 @@ public class TurtleWriterBlocks extends TurtleWriterBase
StreamRDF dest = new WriterStreamRDFBlocks(out) ;
dest.start() ;
dest.base(baseURI) ;
- StreamOps.sendGraphToStream(graph, dest, prefixMap) ;
+ StreamRDFOps.sendGraphToStream(graph, dest, prefixMap) ;
dest.finish() ;
}
}
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/writer/TurtleWriterFlat.java b/jena-arq/src/main/java/org/apache/jena/riot/writer/TurtleWriterFlat.java
index 688748a..08fa481 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/writer/TurtleWriterFlat.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/writer/TurtleWriterFlat.java
@@ -21,7 +21,7 @@ package org.apache.jena.riot.writer;
import org.apache.jena.atlas.io.IndentedWriter ;
import org.apache.jena.graph.Graph ;
import org.apache.jena.riot.system.PrefixMap ;
-import org.apache.jena.riot.system.StreamOps ;
+import org.apache.jena.riot.system.StreamRDFOps ;
import org.apache.jena.riot.system.StreamRDF ;
import org.apache.jena.sparql.util.Context ;
@@ -33,7 +33,7 @@ public class TurtleWriterFlat extends TurtleWriterBase
StreamRDF dest = new WriterStreamRDFFlat(out) ;
dest.start() ;
dest.base(baseURI) ;
- StreamOps.sendGraphToStream(graph, dest, prefixMap) ;
+ StreamRDFOps.sendGraphToStream(graph, dest, prefixMap) ;
dest.finish() ;
}
}
\ No newline at end of file
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/writer/WriterTriX.java b/jena-arq/src/main/java/org/apache/jena/riot/writer/WriterTriX.java
index 94a4b43..623cfbe 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/writer/WriterTriX.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/writer/WriterTriX.java
@@ -31,7 +31,7 @@ import org.apache.jena.riot.lang.ReaderTriX ;
import org.apache.jena.riot.lang.TriX ;
import org.apache.jena.riot.system.PrefixMap ;
import org.apache.jena.riot.system.RiotLib ;
-import org.apache.jena.riot.system.StreamOps ;
+import org.apache.jena.riot.system.StreamRDFOps ;
import org.apache.jena.sparql.core.DatasetGraph ;
import org.apache.jena.sparql.util.Context ;
@@ -66,7 +66,7 @@ public class WriterTriX implements WriterDatasetRIOT, WriterGraphRIOT {
private void write(IndentedWriter out, DatasetGraph datasetGraph, PrefixMap prefixMap, String baseURI, Context context) {
StreamWriterTriX w = new StreamWriterTriX(out) ;
- StreamOps.datasetToStream(datasetGraph, w) ;
+ StreamRDFOps.datasetToStream(datasetGraph, w) ;
}
// Graph
@@ -84,7 +84,7 @@ public class WriterTriX implements WriterDatasetRIOT, WriterGraphRIOT {
private static void write(IndentedWriter out, Graph graph, PrefixMap prefixMap, String baseURI, Object context) {
StreamWriterTriX w = new StreamWriterTriX(out) ;
- StreamOps.graphToStream(graph, w) ;
+ StreamRDFOps.graphToStream(graph, w) ;
}
}
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/OpLib.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/OpLib.java
index f8982ef..03db7fc 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/OpLib.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/OpLib.java
@@ -18,31 +18,18 @@
package org.apache.jena.sparql.algebra;
-import org.apache.jena.sparql.algebra.op.* ;
-
-// NB Operations take and return nulls for convenience.
+import org.apache.jena.sparql.core.Quad;
public class OpLib
{
- public static Op sub(Op1 op) { return op==null ? null : op.getSubOp() ; }
-
- public static boolean isProject(Op op) { return op instanceof OpProject ; }
- public static OpProject asProject(Op op)
- { return isProject(op) ? (OpProject)op : null ; }
-
- public static boolean isDistinct(Op op) { return op instanceof OpDistinct ; }
- public static OpDistinct asDistinct(Op op)
- { return isDistinct(op) ? (OpDistinct)op : null ; }
-
- public static boolean isReduced(Op op) { return op instanceof OpReduced ; }
- public static OpReduced asReduced(Op op)
- { return isReduced(op) ? (OpReduced)op : null ; }
-
- public static boolean isOrder(Op op) { return op instanceof OpOrder ; }
- public static OpOrder asOrder(Op op)
- { return isOrder(op) ? (OpOrder)op : null ; }
-
- public static boolean isSlice(Op op) { return op instanceof OpSlice ; }
- public static OpSlice asSlice(Op op)
- { return isSlice(op) ? (OpSlice)op : null ; }
+ /** Convert a pattern, assumed to be quad form,
+ * so that the default graph is the union of named graphs.
+ */
+ public static Op unionDefaultGraphQuads(Op op)
+ {
+ // Rewrite so that any explicitly named "default graph" is union graph.
+ Transform t = new TransformGraphRename(Quad.defaultGraphNodeGenerated, Quad.unionGraph) ;
+ op = Transformer.transform(t, op) ;
+ return op ;
+ }
}
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/migrate/TransformGraphRename.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/TransformGraphRename.java
similarity index 96%
rename from jena-tdb/src/main/java/org/apache/jena/tdb/migrate/TransformGraphRename.java
rename to jena-arq/src/main/java/org/apache/jena/sparql/algebra/TransformGraphRename.java
index 8fbb66b..47f8f28 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/migrate/TransformGraphRename.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/TransformGraphRename.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package org.apache.jena.tdb.migrate;
+package org.apache.jena.sparql.algebra;
import org.apache.jena.graph.Node ;
import org.apache.jena.sparql.algebra.Op ;
@@ -24,6 +24,7 @@ import org.apache.jena.sparql.algebra.TransformCopy ;
import org.apache.jena.sparql.algebra.op.OpGraph ;
import org.apache.jena.sparql.algebra.op.OpQuadPattern ;
+/** Rename quad form alegra */
public class TransformGraphRename extends TransformCopy
{
private Node oldGraphName ;
@@ -35,7 +36,6 @@ public class TransformGraphRename extends TransformCopy
this.newGraphName = newGraphName ;
}
- // Does not affect variables.
@Override
public Op transform(OpGraph opGraph, Op x)
{
diff --git a/jena-db/jena-dboe-storage/src/main/java/org/apache/jena/dboe/storage/migrate/M.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/Match.java
similarity index 63%
rename from jena-db/jena-dboe-storage/src/main/java/org/apache/jena/dboe/storage/migrate/M.java
rename to jena-arq/src/main/java/org/apache/jena/sparql/core/Match.java
index 0382fac..925d129 100644
--- a/jena-db/jena-dboe-storage/src/main/java/org/apache/jena/dboe/storage/migrate/M.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/Match.java
@@ -15,25 +15,13 @@
* information regarding copyright ownership.
*/
-package org.apache.jena.dboe.storage.migrate;
+package org.apache.jena.sparql.core;
import org.apache.jena.graph.Node;
import org.apache.jena.graph.Triple;
-import org.apache.jena.sparql.core.Quad;
-
-/** Ways to match triples. quads */
-public class M {
-
-// public static Stream<Triple> match(Collection<Triple> triples, Node s, Node p, Node o) {
-// return triples.stream()
-// .filter(t-> match(t, s,p,o));
-// }
-//
-// public static Stream<Quad> match(Collection<Quad> quads, Node g, Node s, Node p, Node o) {
-// return quads.stream()
-// .filter(q-> match(q, g,s,p,o));
-// }
+/** Match triples, quads, with wioldcar rules (null or {@link Node#ANY} are wildcards). */
+public class Match {
public static boolean match(Quad quad, Node g, Node s, Node p, Node o) {
return
match(quad.getGraph(), g) &&
@@ -52,14 +40,4 @@ public class M {
public static boolean match(Node node, Node pattern) {
return pattern == null || pattern == Node.ANY || pattern.equals(node);
}
-
-// public static void checkConcrete(Node...nodes) {
-// for ( Node n : nodes )
-// checkConcrete(n);
-// }
-//
-// public static void checkConcrete(Node n) {
-// if ( ! n.isConcrete() )
-// throw new IllegalArgumentException("Not concrete: "+n);
-// }
}
diff --git a/jena-arq/src/test/java/org/apache/jena/riot/thrift/TestStreamRDFThrift.java b/jena-arq/src/test/java/org/apache/jena/riot/thrift/TestStreamRDFThrift.java
index ee69691..2644a1e 100644
--- a/jena-arq/src/test/java/org/apache/jena/riot/thrift/TestStreamRDFThrift.java
+++ b/jena-arq/src/test/java/org/apache/jena/riot/thrift/TestStreamRDFThrift.java
@@ -30,7 +30,7 @@ import org.apache.jena.graph.Node ;
import org.apache.jena.graph.Triple ;
import org.apache.jena.riot.Lang ;
import org.apache.jena.riot.RDFDataMgr ;
-import org.apache.jena.riot.system.StreamOps ;
+import org.apache.jena.riot.system.StreamRDFOps ;
import org.apache.jena.riot.system.StreamRDF ;
import org.apache.jena.riot.system.StreamRDFLib ;
import org.apache.jena.riot.system.StreamRDFWriter ;
@@ -72,7 +72,7 @@ public class TestStreamRDFThrift extends BaseTest {
@Test public void graph_01() {
ByteArrayOutputStream out = new ByteArrayOutputStream() ;
StreamRDF stream = BinRDF.streamToOutputStream(out, true) ; // With values.
- StreamOps.graphToStream(graph, stream) ;
+ StreamRDFOps.graphToStream(graph, stream) ;
byte[] bytes = out.toByteArray() ;
ByteArrayInputStream in = new ByteArrayInputStream(bytes) ;
@@ -114,7 +114,7 @@ public class TestStreamRDFThrift extends BaseTest {
DatasetGraph dsg1 = datasetGraph ;
ByteArrayOutputStream out = new ByteArrayOutputStream() ;
StreamRDF stream = BinRDF.streamToOutputStream(out) ;
- StreamOps.datasetToStream(dsg1, stream) ;
+ StreamRDFOps.datasetToStream(dsg1, stream) ;
byte[] bytes = out.toByteArray() ;
ByteArrayInputStream in = new ByteArrayInputStream(bytes) ;
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/io/IO.java b/jena-base/src/main/java/org/apache/jena/atlas/io/IO.java
index 2c64cb5..d22f5c3 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/io/IO.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/io/IO.java
@@ -18,42 +18,44 @@
package org.apache.jena.atlas.io;
-import java.io.* ;
-import java.nio.charset.Charset ;
-import java.nio.charset.StandardCharsets ;
+import java.io.*;
+import java.nio.ByteBuffer;
+import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
import java.nio.file.FileVisitResult;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.SimpleFileVisitor;
import java.nio.file.attribute.BasicFileAttributes;
-import java.util.zip.GZIPInputStream ;
-import java.util.zip.GZIPOutputStream ;
+import java.util.zip.GZIPInputStream;
+import java.util.zip.GZIPOutputStream;
import org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream;
import org.apache.commons.compress.compressors.bzip2.BZip2CompressorOutputStream;
import org.apache.commons.compress.compressors.snappy.SnappyCompressorInputStream;
import org.apache.commons.io.FilenameUtils;
-import org.apache.jena.atlas.RuntimeIOException ;
-import org.apache.jena.atlas.lib.IRILib ;
+import org.apache.jena.atlas.RuntimeIOException;
+import org.apache.jena.atlas.lib.IRILib;
+import org.apache.jena.atlas.lib.StrUtils;
public class IO
{
- public static final int EOF = -1 ;
- public static final int UNSET = -2 ;
+ public static final int EOF = -1;
+ public static final int UNSET = -2;
// Buffer size. Larger than Java's default.
- private static final int BUFFER_SIZE = 128*1024 ;
+ private static final int BUFFER_SIZE = 128*1024;
- private static Charset utf8 = StandardCharsets.UTF_8 ;
- private static Charset ascii = StandardCharsets.US_ASCII ;
+ private static Charset utf8 = StandardCharsets.UTF_8;
+ private static Charset ascii = StandardCharsets.US_ASCII;
/** Open an input stream to a file.
* If the filename is null or "-", return System.in
* If the filename ends in .gz, wrap in GZIPInputStream
*/
static public InputStream openFile(String filename) {
- try { return openFileEx(filename) ; }
- catch (IOException ex) { IO.exception(ex); return null ; }
+ try { return openFileEx(filename); }
+ catch (IOException ex) { IO.exception(ex); return null; }
}
/**
@@ -65,9 +67,9 @@ public class IO
*/
static public InputStream openFileBuffered(String filename) {
try {
- InputStream in = openFileEx(filename) ;
- return new BufferedInputStream(in, BUFFER_SIZE) ;
- } catch (IOException ex) { IO.exception(ex); return null ; }
+ InputStream in = openFileEx(filename);
+ return new BufferedInputStream(in, BUFFER_SIZE);
+ } catch (IOException ex) { IO.exception(ex); return null; }
}
/** Open an input stream to a file; do not mask IOExceptions.
@@ -79,21 +81,21 @@ public class IO
*/
static public InputStream openFileEx(String filename) throws IOException, FileNotFoundException {
if ( filename == null || filename.equals("-") )
- return System.in ;
+ return System.in;
if ( filename.startsWith("file:") )
{
- filename = filename.substring("file:".length()) ;
- filename = IRILib.decode(filename) ;
+ filename = filename.substring("file:".length());
+ filename = IRILib.decode(filename);
}
- InputStream in = new FileInputStream(filename) ;
+ InputStream in = new FileInputStream(filename);
String ext = FilenameUtils.getExtension(filename);
switch ( ext ) {
case "": return in;
- case "gz": return new GZIPInputStream(in) ;
+ case "gz": return new GZIPInputStream(in);
case "bz2": return new BZip2CompressorInputStream(in);
case "sz": return new SnappyCompressorInputStream(in);
}
- return in ;
+ return in;
}
private static String[] extensions = { "gz", "bz2", "sz" };
@@ -112,18 +114,18 @@ public class IO
* If the filename is null or "-", use System.in
* If the filename ends in .gz, use GZIPInputStream
*/
- static public Reader openFileUTF8(String filename) { return openFileReader(filename, utf8) ; }
+ static public Reader openFileUTF8(String filename) { return openFileReader(filename, utf8); }
/** Open an ASCII Reader for a file.
* If the filename is null or "-", use System.in
* If the filename ends in .gz, use GZIPInputStream
*/
- static public Reader openFileASCII(String filename) { return openFileReader(filename, ascii) ; }
+ static public Reader openFileASCII(String filename) { return openFileReader(filename, ascii); }
private static Reader openFileReader(String filename, Charset charset)
{
- InputStream in = openFile(filename) ;
- return new InputStreamReader(in, charset) ;
+ InputStream in = openFile(filename);
+ return new InputStreamReader(in, charset);
}
/** Create an unbuffered reader that uses UTF-8 encoding */
@@ -140,7 +142,7 @@ public class IO
/** Create an buffered reader that uses UTF-8 encoding */
static public BufferedReader asBufferedUTF8(InputStream in) {
- return new BufferedReader(asUTF8(in)) ;
+ return new BufferedReader(asUTF8(in));
}
/** Create a writer that uses UTF-8 encoding */
@@ -156,13 +158,13 @@ public class IO
/** Create a writer that uses UTF-8 encoding and is buffered. */
static public Writer asBufferedUTF8(OutputStream out) {
Writer w = new OutputStreamWriter(out, utf8.newEncoder());
- return new BufferingWriter(w) ;
+ return new BufferingWriter(w);
}
/** Open a file for output - may include adding gzip processing. */
static public OutputStream openOutputFile(String filename) {
- try { return openOutputFileEx(filename) ; }
- catch (IOException ex) { IO.exception(ex) ; return null ; }
+ try { return openOutputFileEx(filename); }
+ catch (IOException ex) { IO.exception(ex); return null; }
}
/** Open an input stream to a file; do not mask IOExceptions.
@@ -174,31 +176,31 @@ public class IO
static public OutputStream openOutputFileEx(String filename) throws FileNotFoundException,IOException
{
if ( filename == null || filename.equals("-") )
- return System.out ;
+ return System.out;
if ( filename.startsWith("file:") )
{
- filename = filename.substring("file:".length()) ;
- filename = IRILib.decode(filename) ;
+ filename = filename.substring("file:".length());
+ filename = IRILib.decode(filename);
}
- OutputStream out = new FileOutputStream(filename) ;
+ OutputStream out = new FileOutputStream(filename);
String ext = FilenameUtils.getExtension(filename);
switch ( ext ) {
case "": return out;
- case "gz": return new GZIPOutputStream(out) ;
+ case "gz": return new GZIPOutputStream(out);
case "bz2": return new BZip2CompressorOutputStream(out);
case "sz": throw new UnsupportedOperationException("Snappy output");
}
- return out ;
+ return out;
}
/** Wrap in a general writer interface */
- static public AWriter wrap(Writer w) { return Writer2.wrap(w) ; }
+ static public AWriter wrap(Writer w) { return Writer2.wrap(w); }
/** Wrap in a general writer interface */
- static public AWriter wrapUTF8(OutputStream out) { return wrap(asUTF8(out)) ; }
+ static public AWriter wrapUTF8(OutputStream out) { return wrap(asUTF8(out)); }
/** Wrap in a general writer interface */
- static public AWriter wrapASCII(OutputStream out) { return wrap(asASCII(out)) ; }
+ static public AWriter wrapASCII(OutputStream out) { return wrap(asASCII(out)); }
/** Create a print writer that uses UTF-8 encoding */
static public PrintWriter asPrintWriterUTF8(OutputStream out) {
@@ -206,7 +208,7 @@ public class IO
}
public static void close(org.apache.jena.atlas.lib.Closeable resource) {
- resource.close() ;
+ resource.close();
}
public static void closeSilent(org.apache.jena.atlas.lib.Closeable resource) {
@@ -215,88 +217,88 @@ public class IO
public static void close(java.io.Closeable resource) {
if ( resource == null )
- return ;
- try { resource.close(); } catch (IOException ex) { exception(ex) ; }
+ return;
+ try { resource.close(); } catch (IOException ex) { exception(ex); }
}
public static void closeSilent(java.io.Closeable resource) {
if ( resource == null )
- return ;
+ return;
try { resource.close(); } catch (IOException ex) { }
}
public static void close(AWriter resource) {
if ( resource == null )
- return ;
+ return;
resource.close();
}
public static void closeSilent(AWriter resource) {
if ( resource == null )
- return ;
+ return;
try { resource.close(); } catch (Exception ex) { }
}
public static void close(IndentedWriter resource) {
if ( resource == null )
- return ;
+ return;
resource.close();
}
public static void closeSilent(IndentedWriter resource) {
if ( resource == null )
- return ;
+ return;
try { resource.close(); } catch (Exception ex) { }
}
/** Throw a RuntimeIOException - this function is guaranteed not to return normally */
public static void exception(String message) {
- throw new RuntimeIOException(message) ;
+ throw new RuntimeIOException(message);
}
/** Throw a RuntimeIOException - this function is guaranteed not to return normally */
public static void exception(IOException ex) {
- throw new RuntimeIOException(ex) ;
+ throw new RuntimeIOException(ex);
}
/** Throw a RuntimeIOException - this function is guaranteed not to return normally */
public static void exception(String msg, IOException ex) {
- throw new RuntimeIOException(msg, ex) ;
+ throw new RuntimeIOException(msg, ex);
}
public static void flush(OutputStream out) {
if ( out == null )
- return ;
- try { out.flush(); } catch (IOException ex) { exception(ex) ; }
+ return;
+ try { out.flush(); } catch (IOException ex) { exception(ex); }
}
public static void flush(Writer out) {
if ( out == null )
- return ;
- try { out.flush(); } catch (IOException ex) { exception(ex) ; }
+ return;
+ try { out.flush(); } catch (IOException ex) { exception(ex); }
}
public static void flush(AWriter out) {
if ( out == null )
- return ;
+ return;
out.flush();
}
public static byte[] readWholeFile(InputStream in) {
- final int WHOLE_FILE_BUFFER_SIZE = 32*1024 ;
+ final int WHOLE_FILE_BUFFER_SIZE = 32*1024;
try(ByteArrayOutputStream out = new ByteArrayOutputStream(WHOLE_FILE_BUFFER_SIZE)) {
- byte buff[] = new byte[WHOLE_FILE_BUFFER_SIZE] ;
+ byte buff[] = new byte[WHOLE_FILE_BUFFER_SIZE];
while (true) {
- int l = in.read(buff) ;
+ int l = in.read(buff);
if ( l <= 0 )
- break ;
- out.write(buff, 0, l) ;
+ break;
+ out.write(buff, 0, l);
}
- return out.toByteArray() ;
+ return out.toByteArray();
}
catch (IOException ex) {
- exception(ex) ;
- return null ;
+ exception(ex);
+ return null;
}
}
@@ -308,7 +310,7 @@ public class IO
public static String readWholeFileAsUTF8(String filename) throws IOException {
try ( InputStream in = new FileInputStream(filename) ) {
- return readWholeFileAsUTF8(in) ;
+ return readWholeFileAsUTF8(in);
}
}
@@ -321,7 +323,7 @@ public class IO
public static String readWholeFileAsUTF8(InputStream in) throws IOException {
// Don't buffer - we're going to read in large chunks anyway
try ( Reader r = asUTF8(in) ) {
- return readWholeFileAsUTF8(r) ;
+ return readWholeFileAsUTF8(r);
}
}
@@ -334,7 +336,7 @@ public class IO
// Private worker as we are trying to force UTF-8.
private static String readWholeFileAsUTF8(Reader r) throws IOException {
- final int WHOLE_FILE_BUFFER_SIZE = 32*1024 ;
+ final int WHOLE_FILE_BUFFER_SIZE = 32*1024;
try(StringWriter sw = new StringWriter(WHOLE_FILE_BUFFER_SIZE)) {
char buff[] = new char[WHOLE_FILE_BUFFER_SIZE];
for (;;)
@@ -348,25 +350,64 @@ public class IO
}
}
+ /** Write a string to a file as UTF-8. The file is closed after the operation.
+ * @param filename
+ * @param content String to be written
+ * @throws IOException
+ */
+
+ public static void writeStringAsUTF8(String filename, String content) throws IOException {
+ try ( OutputStream out = IO.openOutputFileEx(filename) ) {
+ writeStringAsUTF8(out, content);
+ out.flush();
+ }
+ }
+
+ /** Write a string into an {@link OutputStream} as UTF-8.
+ *
+ * @param out OutputStream destination.
+ * @param content String to be written
+ * @throws IOException
+ */
+ public static void writeStringAsUTF8(OutputStream out, String content) throws IOException {
+ Writer w = new OutputStreamWriter(out, StandardCharsets.UTF_8);
+ w.write(content);
+ w.flush();
+ // Not close.
+ }
+
+ /** String to ByteBuffer as UTF-8 bytes */
+ public static ByteBuffer stringToByteBuffer(String str) {
+ byte[] b = StrUtils.asUTF8bytes(str);
+ return ByteBuffer.wrap(b);
+ }
+
+ /** ByteBuffer to String */
+ public static String byteBufferToString(ByteBuffer bb) {
+ byte[] b = new byte[bb.remaining()];
+ bb.get(b);
+ return StrUtils.fromUTF8bytes(b);
+ }
+
public static String uniqueFilename(String directory, String base, String ext) {
- File d = new File(directory) ;
+ File d = new File(directory);
if ( !d.exists() )
- throw new IllegalArgumentException("Not found: " + directory) ;
+ throw new IllegalArgumentException("Not found: " + directory);
try {
- String fn0 = d.getCanonicalPath() + File.separator + base ;
- String fn = fn0 ;
- int x = 1 ;
+ String fn0 = d.getCanonicalPath() + File.separator + base;
+ String fn = fn0;
+ int x = 1;
while (true) {
if ( ext != null )
- fn = fn + "."+ext ;
- File f = new File(fn) ;
+ fn = fn + "."+ext;
+ File f = new File(fn);
if ( ! f.exists() )
- return fn ;
- fn = fn0 + "-" + (x++) ;
+ return fn;
+ fn = fn0 + "-" + (x++);
}
} catch (IOException e) {
- IO.exception(e) ;
- return null ;
+ IO.exception(e);
+ return null;
}
}
@@ -394,6 +435,6 @@ public class IO
}
});
}
- catch (IOException ex) { IO.exception(ex) ; return; }
+ catch (IOException ex) { IO.exception(ex); return; }
}
}
diff --git a/jena-db/jena-dboe-storage/src/main/java/org/apache/jena/dboe/storage/migrate/StreamOps.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/StreamOps.java
similarity index 77%
rename from jena-db/jena-dboe-storage/src/main/java/org/apache/jena/dboe/storage/migrate/StreamOps.java
rename to jena-base/src/main/java/org/apache/jena/atlas/lib/StreamOps.java
index f42636e..01a39c5 100644
--- a/jena-db/jena-dboe-storage/src/main/java/org/apache/jena/dboe/storage/migrate/StreamOps.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/StreamOps.java
@@ -15,7 +15,7 @@
* information regarding copyright ownership.
*/
-package org.apache.jena.dboe.storage.migrate;
+package org.apache.jena.atlas.lib;
import java.util.Collection;
import java.util.Iterator;
@@ -26,6 +26,11 @@ import java.util.stream.Stream;
import org.apache.jena.atlas.iterator.Iter;
+/**
+ * Collect some stream operations into one place.
+ * Sometimes, the function form reads better.
+ * @see Iter Iter - a stream-like class for iterators.
+ */
public class StreamOps {
/** Iterator to Stream.
* Call to {@linkplain Iter#asStream}.
@@ -34,25 +39,32 @@ public class StreamOps {
return Iter.asStream(iter);
}
+ /** Stream to {@link List} */
public static <X> List<X> toList(Stream<X> stream) {
return stream.collect(Collectors.toList());
}
+ /** Stream to {@link Set} */
public static <X> Set<X> toSet(Stream<X> stream) {
return stream.collect(Collectors.toSet());
}
+ /** First element or null */
public static <X> X first(Stream<X> stream) {
return stream.findFirst().orElse(null);
}
+ /** An element from a {@link Collection} */
public static <X> X element(Collection<X> collection) {
return first(collection.stream());
}
+ /** Debug : print stream.
+ * This operation prints the whole stream at the point it is used,
+ * and then returns a new stream of the same elements.
+ */
public static <X> Stream<X> print(Stream<X> stream) {
stream = stream.map(item -> { System.out.println(item); return item; });
return toList(stream).stream();
}
}
-
diff --git a/jena-db/jena-dboe-base/src/main/java/org/apache/jena/dboe/migrate/L.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/ThreadLib.java
similarity index 54%
rename from jena-db/jena-dboe-base/src/main/java/org/apache/jena/dboe/migrate/L.java
rename to jena-base/src/main/java/org/apache/jena/atlas/lib/ThreadLib.java
index 5c5bdd5..4cd7935 100644
--- a/jena-db/jena-dboe-base/src/main/java/org/apache/jena/dboe/migrate/L.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/ThreadLib.java
@@ -16,59 +16,17 @@
* limitations under the License.
*/
-package org.apache.jena.dboe.migrate;
+package org.apache.jena.atlas.lib;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-import java.io.Writer;
-import java.nio.ByteBuffer;
-import java.nio.charset.StandardCharsets;
-import java.util.UUID;
-import java.util.concurrent.*;
+import java.util.concurrent.Callable;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.Semaphore;
import java.util.concurrent.locks.Lock;
import java.util.function.Supplier;
-import org.apache.jena.atlas.io.IO;
-import org.apache.jena.atlas.lib.Bytes;
-import org.apache.jena.atlas.lib.StrUtils;
-import org.apache.jena.shared.uuid.JenaUUID;
-
/** Misc class */
-public class L {
-
- // Not to be confused with UUID.nameUUIDFromBytes (a helper for version 3 UUIDs)
- /**
- * Java UUID to bytes (most significant first)
- */
- public static byte[] uuidAsBytes(UUID uuid) {
- return uuidAsBytes(uuid.getMostSignificantBits(), uuid.getLeastSignificantBits());
- }
-
- /**
- * Jena UUID to bytes (most significant first)
- */
- public static byte[] uuidAsBytes(JenaUUID uuid) {
- return uuidAsBytes(uuid.getMostSignificantBits(), uuid.getLeastSignificantBits());
- }
-
- /** UUID, as two longs, as bytes */
- public static byte[] uuidAsBytes(long mostSignificantBits, long leastSignificantBits) {
- byte[] bytes = new byte[16];
- Bytes.setLong(mostSignificantBits, bytes, 0);
- Bytes.setLong(leastSignificantBits, bytes, 8);
- return bytes;
- }
-
- /** A UUID string to bytes */
- public static byte[] uuidAsBytes(String str) {
- return uuidAsBytes(UUID.fromString(str));
- }
-
- public static String uuidToString(long mostSignificantBits, long leastSignificantBits) {
- return new UUID(mostSignificantBits, leastSignificantBits).toString();
- //JenaUUID.toString(mostSignificantBits, leastSignificantBits)
- }
+public class ThreadLib {
private static ExecutorService executor = Executors.newCachedThreadPool();
@@ -157,49 +115,4 @@ public class L {
public static void withLock(Lock lock, Runnable r) {
withBeforeAfter(r, ()->lock.lock(), ()->lock.unlock());
}
-
- // ==> IO.writeWholeFileAsUTF8
-
- /** Write a string to a file as UTF-8. The file is closed after the operation.
- * @param filename
- * @param content String to be written
- * @throws IOException
- */
-
- public static void writeStringAsUTF8(String filename, String content) throws IOException {
- try ( OutputStream out = IO.openOutputFileEx(filename) ) {
- writeStringAsUTF8(out, content);
- out.flush();
- }
- }
-
- /** Write a string into an {@link OutputStream} as UTF-8.
- *
- * @param out OutputStream destination.
- * @param content String to be written
- * @throws IOException
- */
- public static void writeStringAsUTF8(OutputStream out, String content) throws IOException {
- Writer w = new OutputStreamWriter(out, StandardCharsets.UTF_8);
- w.write(content);
- w.flush();
- // Not close.
- }
-
- // ==> IO.writeWholeFileAsUTF8
-
- /** String to ByteBuffer as UTF-8 bytes */
- public static ByteBuffer stringToByteBuffer(String str) {
- byte[] b = StrUtils.asUTF8bytes(str);
- return ByteBuffer.wrap(b);
- }
-
- /** ByteBuffer to String */
- public static String byteBufferToString(ByteBuffer bb) {
- byte[] b = new byte[bb.remaining()];
- bb.get(b);
- return StrUtils.fromUTF8bytes(b);
- }
-
}
-
diff --git a/jena-core/src/main/java/org/apache/jena/shared/uuid/LibUUID.java b/jena-core/src/main/java/org/apache/jena/shared/uuid/LibUUID.java
index 7533360..79001b9 100644
--- a/jena-core/src/main/java/org/apache/jena/shared/uuid/LibUUID.java
+++ b/jena-core/src/main/java/org/apache/jena/shared/uuid/LibUUID.java
@@ -25,6 +25,7 @@ import java.util.Random;
import org.apache.jena.JenaRuntime ;
+/** Internal */
class LibUUID
{
//static boolean warningSent = false ;
diff --git a/jena-db/jena-dboe-base/src/main/java/org/apache/jena/dboe/sys/LibUUID.java b/jena-db/jena-dboe-base/src/main/java/org/apache/jena/dboe/sys/LibUUID.java
new file mode 100644
index 0000000..6a98c0b
--- /dev/null
+++ b/jena-db/jena-dboe-base/src/main/java/org/apache/jena/dboe/sys/LibUUID.java
@@ -0,0 +1,58 @@
+/*
+ * 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 org.apache.jena.dboe.sys;
+
+import java.util.UUID;
+
+import org.apache.jena.atlas.lib.Bytes;
+import org.apache.jena.shared.uuid.JenaUUID;
+
+public class LibUUID {
+
+ /** Generate bytes for a Java UUID (most significant first) */
+ public static byte[] uuidAsBytes(UUID uuid) {
+ // Not to be confused with UUID.nameUUIDFromBytes (a helper for version 3 UUIDs)
+ return uuidAsBytes(uuid.getMostSignificantBits(), uuid.getLeastSignificantBits());
+ }
+
+ /** Generate bytes for a Jena UUID (most significant first) */
+ public static byte[] uuidAsBytes(JenaUUID uuid) {
+ return uuidAsBytes(uuid.getMostSignificantBits(), uuid.getLeastSignificantBits());
+ }
+
+ /** UUID, as two longs, as bytes */
+ public static byte[] uuidAsBytes(long mostSignificantBits, long leastSignificantBits) {
+ byte[] bytes = new byte[16];
+ Bytes.setLong(mostSignificantBits, bytes, 0);
+ Bytes.setLong(leastSignificantBits, bytes, 8);
+ return bytes;
+ }
+
+ /** A UUID string to bytes */
+ public static byte[] uuidAsBytes(String str) {
+ return uuidAsBytes(UUID.fromString(str));
+ }
+
+ /** UUID, as two longs, in RFC string format */
+ public static String uuidToString(long mostSignificantBits, long leastSignificantBits) {
+ return new UUID(mostSignificantBits, leastSignificantBits).toString();
+ //JenaUUID.toString(mostSignificantBits, leastSignificantBits)
+ }
+
+}
diff --git a/jena-db/jena-dboe-storage/src/main/java/org/apache/jena/dboe/storage/simple/StorageTuplesN.java b/jena-db/jena-dboe-storage/src/main/java/org/apache/jena/dboe/storage/simple/StorageTuplesN.java
index 9084d04..042d780 100644
--- a/jena-db/jena-dboe-storage/src/main/java/org/apache/jena/dboe/storage/simple/StorageTuplesN.java
+++ b/jena-db/jena-dboe-storage/src/main/java/org/apache/jena/dboe/storage/simple/StorageTuplesN.java
@@ -24,8 +24,8 @@ import java.util.stream.Stream;
import org.apache.jena.atlas.lib.ListUtils;
import org.apache.jena.atlas.lib.tuple.Tuple;
-import org.apache.jena.dboe.storage.migrate.M;
import org.apache.jena.graph.Node;
+import org.apache.jena.sparql.core.Match;
/** Tuple of Nodes */
public class StorageTuplesN {
@@ -65,7 +65,7 @@ public class StorageTuplesN {
private boolean match(Tuple<Node> terms, Tuple<Node> pattern) {
for (int i = 0; i < terms.len(); i++ ) {
- if ( ! M.match(terms.get(i), pattern.get(i) ) ) {
+ if ( ! Match.match(terms.get(i), pattern.get(i) ) ) {
return false;
}
}
@@ -74,7 +74,7 @@ public class StorageTuplesN {
private static boolean match(Node node, Node pattern) {
// This is the only use of M
- return M.match(node, pattern);
+ return Match.match(node, pattern);
//return pattern == null || pattern == Node.ANY || pattern.equals(node);
}
diff --git a/jena-db/jena-dboe-trans-data/src/test/java/org/apache/jena/dboe/trans/recovery/TestRecovery.java b/jena-db/jena-dboe-trans-data/src/test/java/org/apache/jena/dboe/trans/recovery/TestRecovery.java
index 800bf3a..9ba969f 100644
--- a/jena-db/jena-dboe-trans-data/src/test/java/org/apache/jena/dboe/trans/recovery/TestRecovery.java
+++ b/jena-db/jena-dboe-trans-data/src/test/java/org/apache/jena/dboe/trans/recovery/TestRecovery.java
@@ -25,18 +25,21 @@ import static org.junit.Assert.assertNotNull;
import java.nio.ByteBuffer;
import java.util.Arrays;
+import org.apache.jena.atlas.io.IO;
import org.apache.jena.atlas.lib.FileOps;
import org.apache.jena.dboe.base.file.BufferChannel;
import org.apache.jena.dboe.base.file.BufferChannelFile;
import org.apache.jena.dboe.base.file.Location;
-import org.apache.jena.dboe.migrate.L;
import org.apache.jena.dboe.trans.data.TransBlob;
import org.apache.jena.dboe.transaction.txn.ComponentId;
import org.apache.jena.dboe.transaction.txn.TransactionCoordinator;
import org.apache.jena.dboe.transaction.txn.journal.Journal;
import org.apache.jena.dboe.transaction.txn.journal.JournalEntry;
import org.apache.jena.dboe.transaction.txn.journal.JournalEntryType;
-import org.junit.*;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
import org.junit.rules.TemporaryFolder;
// We need something to recover io order to test recovery.
@@ -78,7 +81,7 @@ public class TestRecovery {
// Write out a journal.
{
Journal journal = Journal.create(Location.create(dir.getRoot().getAbsolutePath()));
- journal.write(JournalEntryType.REDO, cid, L.stringToByteBuffer(str));
+ journal.write(JournalEntryType.REDO, cid, IO.stringToByteBuffer(str));
journal.writeJournal(JournalEntry.COMMIT);
journal.close();
}
@@ -91,7 +94,7 @@ public class TestRecovery {
ByteBuffer blob = tBlob.getBlob();
assertNotNull(blob);
- String s = L.byteBufferToString(blob);
+ String s = IO.byteBufferToString(blob);
assertEquals(str,s);
coord.shutdown();
}
@@ -105,8 +108,8 @@ public class TestRecovery {
// Write out a journal for two components.
{
Journal journal = Journal.create(Location.create(dir.getRoot().getAbsolutePath()));
- journal.write(JournalEntryType.REDO, cid1, L.stringToByteBuffer(str1));
- journal.write(JournalEntryType.REDO, cid2, L.stringToByteBuffer(str2));
+ journal.write(JournalEntryType.REDO, cid1, IO.stringToByteBuffer(str1));
+ journal.write(JournalEntryType.REDO, cid2, IO.stringToByteBuffer(str2));
journal.writeJournal(JournalEntry.COMMIT);
journal.close();
}
@@ -121,12 +124,12 @@ public class TestRecovery {
ByteBuffer blob1 = tBlob1.getBlob();
assertNotNull(blob1);
- String s1 = L.byteBufferToString(blob1);
+ String s1 = IO.byteBufferToString(blob1);
assertEquals(str1,s1);
ByteBuffer blob2 = tBlob2.getBlob();
assertNotNull(blob2);
- String s2 = L.byteBufferToString(blob2);
+ String s2 = IO.byteBufferToString(blob2);
assertEquals(str2,s2);
assertNotEquals(str1,str2);
diff --git a/jena-db/jena-dboe-transaction/src/main/java/org/apache/jena/dboe/transaction/TransInteger.java b/jena-db/jena-dboe-transaction/src/main/java/org/apache/jena/dboe/transaction/TransInteger.java
index f3a7e80..196e079 100644
--- a/jena-db/jena-dboe-transaction/src/main/java/org/apache/jena/dboe/transaction/TransInteger.java
+++ b/jena-db/jena-dboe-transaction/src/main/java/org/apache/jena/dboe/transaction/TransInteger.java
@@ -26,7 +26,6 @@ import org.apache.jena.atlas.io.IO;
import org.apache.jena.atlas.lib.FileOps;
import org.apache.jena.atlas.lib.InternalErrorException;
import org.apache.jena.atlas.logging.Log;
-import org.apache.jena.dboe.migrate.L;
import org.apache.jena.dboe.transaction.txn.ComponentId;
import org.apache.jena.dboe.transaction.txn.TransactionalComponentLifecycle;
import org.apache.jena.dboe.transaction.txn.TxnId;
@@ -121,7 +120,7 @@ public class TransInteger extends TransactionalComponentLifecycle<TransInteger.I
}
private static void write(String filename, long value) {
- try { L.writeStringAsUTF8(filename, Long.toString(value)); }
+ try { IO.writeStringAsUTF8(filename, Long.toString(value)); }
catch (IOException ex) {}
catch (NumberFormatException ex) {}
}
diff --git a/jena-db/jena-dboe-transaction/src/main/java/org/apache/jena/dboe/transaction/txn/TxnIdUuid.java b/jena-db/jena-dboe-transaction/src/main/java/org/apache/jena/dboe/transaction/txn/TxnIdUuid.java
index c691d61..0f9b106 100644
--- a/jena-db/jena-dboe-transaction/src/main/java/org/apache/jena/dboe/transaction/txn/TxnIdUuid.java
+++ b/jena-db/jena-dboe-transaction/src/main/java/org/apache/jena/dboe/transaction/txn/TxnIdUuid.java
@@ -21,7 +21,7 @@ package org.apache.jena.dboe.transaction.txn;
import java.util.UUID;
import org.apache.jena.atlas.lib.Bytes;
-import org.apache.jena.dboe.migrate.L;
+import org.apache.jena.dboe.sys.LibUUID;
import org.apache.jena.shared.uuid.JenaUUID;
/** {@link TxnId} based on a {@link UUID}.
@@ -57,14 +57,14 @@ public class TxnIdUuid implements TxnId {
@Override
public String name() {
if ( name == null )
- name = L.uuidToString(mostSignificantBits, leastSignificantBits);
+ name = LibUUID.uuidToString(mostSignificantBits, leastSignificantBits);
return name;
}
@Override
public byte[] bytes() {
if ( bytes == null )
- bytes = L.uuidAsBytes(mostSignificantBits, leastSignificantBits);
+ bytes = LibUUID.uuidAsBytes(mostSignificantBits, leastSignificantBits);
return bytes;
}
diff --git a/jena-db/jena-dboe-transaction/src/test/java/org/apache/jena/dboe/transaction/TestTransactionCoordinatorControl.java b/jena-db/jena-dboe-transaction/src/test/java/org/apache/jena/dboe/transaction/TestTransactionCoordinatorControl.java
index 5d48fba..4259fe8 100644
--- a/jena-db/jena-dboe-transaction/src/test/java/org/apache/jena/dboe/transaction/TestTransactionCoordinatorControl.java
+++ b/jena-db/jena-dboe-transaction/src/test/java/org/apache/jena/dboe/transaction/TestTransactionCoordinatorControl.java
@@ -23,9 +23,9 @@ import static org.junit.Assert.*;
import java.util.concurrent.Semaphore;
import java.util.concurrent.atomic.AtomicInteger;
+import org.apache.jena.atlas.lib.ThreadLib;
import org.apache.jena.dboe.base.file.Location;
import org.apache.jena.system.Txn;
-import org.apache.jena.dboe.migrate.L;
import org.apache.jena.dboe.transaction.txn.Transaction;
import org.apache.jena.dboe.transaction.txn.TransactionCoordinator;
import org.apache.jena.dboe.transaction.txn.TransactionException;
@@ -67,10 +67,10 @@ public class TestTransactionCoordinatorControl {
@Test public void txn_coord_disable_writers_2() {
txnMgr.blockWriters();
- Transaction txn = L.syncCallThread(()->txnMgr.begin(TxnType.WRITE, false));
+ Transaction txn = ThreadLib.syncCallThread(()->txnMgr.begin(TxnType.WRITE, false));
assertNull(txn);
txnMgr.enableWriters();
- Transaction txn2 = L.syncCallThread(()-> {
+ Transaction txn2 = ThreadLib.syncCallThread(()-> {
Transaction txn1 = txnMgr.begin(TxnType.WRITE, false);
assertNotNull(txn1);
txn1.abort(); txn1.end();
@@ -81,21 +81,21 @@ public class TestTransactionCoordinatorControl {
@Test public void txn_coord_disable_writers_3() {
txnMgr.blockWriters();
- Transaction txn = L.syncCallThread(() -> {
+ Transaction txn = ThreadLib.syncCallThread(() -> {
Transaction tx = txnMgr.begin(TxnType.READ, false);
tx.end();
return tx;
});
assertNotNull(txn);
txnMgr.enableWriters();
- Transaction txn1 = L.syncCallThread(() -> {
+ Transaction txn1 = ThreadLib.syncCallThread(() -> {
Transaction tx = txnMgr.begin(TxnType.WRITE, false);
tx.commit();
tx.end();
return tx;
});
assertNotNull(txn1);
- Transaction txn2 = L.syncCallThread(() -> {
+ Transaction txn2 = ThreadLib.syncCallThread(() -> {
Transaction tx = txnMgr.begin(TxnType.READ, false);
tx.end();
return tx;
@@ -120,7 +120,7 @@ public class TestTransactionCoordinatorControl {
@Test public void txn_coord_exclusive_1() {
txnMgr.startExclusiveMode();
- L.syncOtherThread(()->{
+ ThreadLib.syncOtherThread(()->{
Transaction txn1 = txnMgr.begin(TxnType.WRITE, false);
assertNull(txn1);
Transaction txn2 = txnMgr.begin(TxnType.READ, false);
@@ -128,7 +128,7 @@ public class TestTransactionCoordinatorControl {
});
txnMgr.finishExclusiveMode();
- L.syncOtherThread(()->{
+ ThreadLib.syncOtherThread(()->{
Transaction txn1 = txnMgr.begin(TxnType.WRITE, false);
assertNotNull(txn1);
Transaction txn2 = txnMgr.begin(TxnType.READ, false);
diff --git a/jena-db/jena-dboe-transaction/src/test/java/org/apache/jena/dboe/transaction/TestTransactionLifecycle2.java b/jena-db/jena-dboe-transaction/src/test/java/org/apache/jena/dboe/transaction/TestTransactionLifecycle2.java
index cad6dcd..736a2da 100644
--- a/jena-db/jena-dboe-transaction/src/test/java/org/apache/jena/dboe/transaction/TestTransactionLifecycle2.java
+++ b/jena-db/jena-dboe-transaction/src/test/java/org/apache/jena/dboe/transaction/TestTransactionLifecycle2.java
@@ -22,8 +22,8 @@ import static org.junit.Assert.*;
import java.util.concurrent.atomic.AtomicReference;
+import org.apache.jena.atlas.lib.ThreadLib;
import org.apache.jena.dboe.base.file.Location;
-import org.apache.jena.dboe.migrate.L;
import org.apache.jena.dboe.transaction.txn.Transaction;
import org.apache.jena.dboe.transaction.txn.TransactionCoordinator;
import org.apache.jena.dboe.transaction.txn.TransactionException;
@@ -228,7 +228,7 @@ public class TestTransactionLifecycle2 {
@Test
public void txn_promote_thread_writer_1() {
Transaction txn1 = txnMgr.begin(TxnType.READ_PROMOTE);
- L.syncOtherThread(()->{
+ ThreadLib.syncOtherThread(()->{
Transaction txn2 = txnMgr.begin(TxnType.WRITE);
txn2.commit();
txn2.end();
@@ -243,7 +243,7 @@ public class TestTransactionLifecycle2 {
@Test
public void txn_promote_thread_writer_2() {
Transaction txn1 = txnMgr.begin(TxnType.READ_PROMOTE);
- L.syncOtherThread(()->{
+ ThreadLib.syncOtherThread(()->{
Transaction txn2 = txnMgr.begin(TxnType.WRITE);
txn2.abort();
txn2.end();
@@ -263,7 +263,7 @@ public class TestTransactionLifecycle2 {
boolean b = txn1.promote();
assertTrue(b);
AtomicReference<Transaction> ref = new AtomicReference<>(txn1);
- L.syncOtherThread(()->{
+ ThreadLib.syncOtherThread(()->{
// Should fail.
Transaction txn2 = txnMgr.begin(TxnType.WRITE, false);
ref.set(txn2);
@@ -279,7 +279,7 @@ public class TestTransactionLifecycle2 {
boolean b = txn1.promote();
assertTrue(b);
AtomicReference<Transaction> ref = new AtomicReference<>(txn1);
- L.syncOtherThread(()->{
+ ThreadLib.syncOtherThread(()->{
// Should fail.
Transaction txn2 = txnMgr.begin(TxnType.WRITE, false);
ref.set(txn2);
@@ -288,7 +288,7 @@ public class TestTransactionLifecycle2 {
txn1.abort();
txn1.end();
- L.syncOtherThread(()->{
+ ThreadLib.syncOtherThread(()->{
// Should suceed
Transaction txn2 = txnMgr.begin(TxnType.WRITE, false);
ref.set(txn2);
diff --git a/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/migrate/A2.java b/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/migrate/A2.java
deleted file mode 100644
index a24209a..0000000
--- a/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/migrate/A2.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * 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 org.apache.jena.tdb2.migrate;
-
-import org.apache.jena.sparql.algebra.Op ;
-import org.apache.jena.sparql.algebra.Transform ;
-import org.apache.jena.sparql.algebra.Transformer ;
-import org.apache.jena.sparql.core.Quad ;
-
-public class A2
-{
- /** Convert a pattern, assumed to be quad form,
- * so that the default graph is the union of named graphs.
- */
- public static Op unionDefaultGraphQuads(Op op)
- {
- // Rewrite so that any explicitly named "default graph" is union graph.
- Transform t = new TransformGraphRename(Quad.defaultGraphNodeGenerated, Quad.unionGraph) ;
- op = Transformer.transform(t, op) ;
- return op ;
- }
-}
diff --git a/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/migrate/TransformGraphRename.java b/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/migrate/TransformGraphRename.java
deleted file mode 100644
index b439e84..0000000
--- a/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/migrate/TransformGraphRename.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * 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 org.apache.jena.tdb2.migrate;
-
-import org.apache.jena.graph.Node ;
-import org.apache.jena.sparql.algebra.Op ;
-import org.apache.jena.sparql.algebra.TransformCopy ;
-import org.apache.jena.sparql.algebra.op.OpGraph ;
-import org.apache.jena.sparql.algebra.op.OpQuadPattern ;
-
-public class TransformGraphRename extends TransformCopy
-{
- private Node oldGraphName ;
- private Node newGraphName ;
-
- public TransformGraphRename(Node oldGraphName, Node newGraphName)
- {
- this.oldGraphName = oldGraphName ;
- this.newGraphName = newGraphName ;
- }
-
- // Does not affect variables.
- @Override
- public Op transform(OpGraph opGraph, Op x)
- {
- if ( opGraph.getNode().equals(oldGraphName) )
- opGraph = new OpGraph(newGraphName, x) ;
- return super.transform(opGraph, x) ;
- }
-
- @Override
- public Op transform(OpQuadPattern opQuadPattern)
- {
- if ( opQuadPattern.getGraphNode().equals(oldGraphName) )
- opQuadPattern = new OpQuadPattern(newGraphName, opQuadPattern.getBasicPattern()) ;
- return super.transform(opQuadPattern) ;
- }
-}
diff --git a/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/solver/QueryEngineTDB.java b/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/solver/QueryEngineTDB.java
index b73f36e..136bf42 100644
--- a/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/solver/QueryEngineTDB.java
+++ b/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/solver/QueryEngineTDB.java
@@ -22,6 +22,7 @@ import org.apache.jena.atlas.lib.Lib ;
import org.apache.jena.query.Query ;
import org.apache.jena.sparql.algebra.Algebra ;
import org.apache.jena.sparql.algebra.Op ;
+import org.apache.jena.sparql.algebra.OpLib;
import org.apache.jena.sparql.core.DatasetDescription ;
import org.apache.jena.sparql.core.DatasetGraph ;
import org.apache.jena.sparql.core.DynamicDatasets ;
@@ -36,7 +37,6 @@ import org.apache.jena.sparql.mgt.Explain ;
import org.apache.jena.sparql.util.Context ;
import org.apache.jena.tdb2.TDB2;
import org.apache.jena.tdb2.TDBException;
-import org.apache.jena.tdb2.migrate.A2;
import org.apache.jena.tdb2.store.DatasetGraphTDB;
import org.apache.jena.tdb2.sys.TDBInternal;
@@ -102,7 +102,7 @@ public class QueryEngineTDB extends QueryEngineMain
// Fix DatasetGraph for global union.
if ( isUnionDefaultGraph(context) && ! isDynamicDataset() )
{
- op = A2.unionDefaultGraphQuads(op) ;
+ op = OpLib.unionDefaultGraphQuads(op) ;
Explain.explain("REWRITE(Union default graph)", op, context) ;
}
QueryIterator results = super.eval(op, dsg, input, context) ;
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/migrate/A2.java b/jena-tdb/src/main/java/org/apache/jena/tdb/migrate/A2.java
deleted file mode 100644
index eab78a3..0000000
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/migrate/A2.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * 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 org.apache.jena.tdb.migrate;
-
-import org.apache.jena.sparql.algebra.Op ;
-import org.apache.jena.sparql.algebra.Transform ;
-import org.apache.jena.sparql.algebra.Transformer ;
-import org.apache.jena.sparql.core.Quad ;
-
-public class A2
-{
- /** Convert a pattern, assumed to be quad form,
- * so that the default graph is the union of named graphs.
- */
- public static Op unionDefaultGraphQuads(Op op)
- {
- // Rewrite so that any explicitly named "default graph" is union graph.
- Transform t = new TransformGraphRename(Quad.defaultGraphNodeGenerated, Quad.unionGraph) ;
- op = Transformer.transform(t, op) ;
- return op ;
- }
-}
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/migrate/CachingPF.java b/jena-tdb/src/main/java/org/apache/jena/tdb/migrate/CachingPF.java
deleted file mode 100644
index 02b8837..0000000
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/migrate/CachingPF.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * 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 org.apache.jena.tdb.migrate;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.jena.graph.Node ;
-import org.apache.jena.sparql.engine.ExecutionContext ;
-import org.apache.jena.sparql.engine.QueryIterator ;
-import org.apache.jena.sparql.engine.binding.Binding ;
-import org.apache.jena.sparql.engine.iterator.QueryIterPlainWrapper ;
-import org.apache.jena.sparql.pfunction.PropFuncArg ;
-import org.apache.jena.sparql.pfunction.PropertyFunction ;
-
-/** A Property function that ignores it's arguments but reads and caches it's inputs */
-public class CachingPF implements PropertyFunction
-{
-
- @Override
- public void build(PropFuncArg argSubject, Node predicate, PropFuncArg argObject, ExecutionContext execCxt)
- {}
-
- //Override
- @Override
- public QueryIterator exec(QueryIterator input, PropFuncArg argSubject, Node predicate, PropFuncArg argObject,
- ExecutionContext execCxt)
- {
- List<Binding> bindings = new ArrayList<>() ;
- for ( ; input.hasNext() ; )
- bindings.add(input.nextBinding()) ;
- return new QueryIterPlainWrapper(bindings.iterator(), execCxt) ;
- }
-
-}
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/migrate/LockTx.java b/jena-tdb/src/main/java/org/apache/jena/tdb/migrate/LockTx.java
deleted file mode 100644
index 07d47dc..0000000
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/migrate/LockTx.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * 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 org.apache.jena.tdb.migrate;
-
-import org.apache.jena.query.ReadWrite ;
-import org.apache.jena.shared.Lock ;
-import org.apache.jena.tdb.transaction.DatasetGraphTransaction ;
-import org.apache.jena.tdb.transaction.TDBTransactionException ;
-import static org.apache.jena.tdb.migrate.LockTx.LockTxState.* ;
-
-/** Lock that provides transactions
- * Not reentrant.
- */
-
-public class LockTx implements Lock
-{
- private DatasetGraphTransaction dsg ;
-
- public LockTx(DatasetGraphTransaction dsg) { this.dsg = dsg ; }
-
- static enum LockTxState { TxNONE, TxREAD, TxWRITE }
-
- private LockTxState state = TxNONE ;
-
- @Override
- public void enterCriticalSection(boolean readLockRequested)
- {
- if ( state != TxNONE )
- throw new TDBTransactionException("Illegal state: "+state) ;
-
- if ( readLockRequested )
- {
- state = TxREAD ;
- dsg.begin(ReadWrite.READ) ;
- }
- else
- {
- state = TxWRITE ;
- dsg.begin(ReadWrite.WRITE) ;
- }
- }
-
- @Override
- public void leaveCriticalSection()
- {
- switch (state)
- {
- case TxNONE : throw new TDBTransactionException("Illegal state: "+state) ;
- case TxREAD : dsg.close() ; break ;
- case TxWRITE : dsg.commit() ; break ;
- }
- state = TxNONE ;
- }
-
-}
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/solver/QueryEngineTDB.java b/jena-tdb/src/main/java/org/apache/jena/tdb/solver/QueryEngineTDB.java
index cf2aa7b..d7250b8 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/solver/QueryEngineTDB.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/solver/QueryEngineTDB.java
@@ -22,6 +22,7 @@ import org.apache.jena.atlas.lib.Lib ;
import org.apache.jena.query.Query ;
import org.apache.jena.sparql.algebra.Algebra ;
import org.apache.jena.sparql.algebra.Op ;
+import org.apache.jena.sparql.algebra.OpLib;
import org.apache.jena.sparql.core.DatasetDescription ;
import org.apache.jena.sparql.core.DatasetGraph ;
import org.apache.jena.sparql.core.DynamicDatasets ;
@@ -36,7 +37,6 @@ import org.apache.jena.sparql.mgt.Explain ;
import org.apache.jena.sparql.util.Context ;
import org.apache.jena.tdb.TDB ;
import org.apache.jena.tdb.TDBException ;
-import org.apache.jena.tdb.migrate.A2 ;
import org.apache.jena.tdb.store.DatasetGraphTDB ;
import org.apache.jena.tdb.transaction.DatasetGraphTransaction ;
@@ -96,7 +96,7 @@ public class QueryEngineTDB extends QueryEngineMain
// Fix DatasetGraph for global union.
if ( context.isTrue(TDB.symUnionDefaultGraph) && ! isDynamicDataset() )
{
- op = A2.unionDefaultGraphQuads(op) ;
+ op = OpLib.unionDefaultGraphQuads(op) ;
Explain.explain("REWRITE(Union default graph)", op, context) ;
}
QueryIterator results = super.eval(op, dsg, input, context) ;