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/11/28 17:49:15 UTC
[1/2] jena git commit: Interface for making fresh instances.
Repository: jena
Updated Branches:
refs/heads/master 302b7fa93 -> 16f7f7da9
Interface for making fresh instances.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/617039a4
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/617039a4
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/617039a4
Branch: refs/heads/master
Commit: 617039a4b3b14764853c5f709e1a03f575a7ebf0
Parents: 302b7fa
Author: Andy Seaborne <an...@apache.org>
Authored: Sat Nov 28 15:31:06 2015 +0000
Committer: Andy Seaborne <an...@apache.org>
Committed: Sat Nov 28 15:31:06 2015 +0000
----------------------------------------------------------------------
.../java/org/apache/jena/atlas/lib/Creator.java | 33 ++++++++++++++++++++
1 file changed, 33 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/617039a4/jena-base/src/main/java/org/apache/jena/atlas/lib/Creator.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/Creator.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/Creator.java
new file mode 100644
index 0000000..756f7e4
--- /dev/null
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/Creator.java
@@ -0,0 +1,33 @@
+/**
+ * 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.atlas.lib;
+
+import java.util.function.Supplier ;
+
+/** Represents a creator of things.
+ *
+ * Unlike {@link Supplier}, this interface contract requres that the returned object
+ * is a new, fresh instance on each call. i.e. two calls return objects that are
+ * not {@code ==}.
+ */
+@FunctionalInterface
+public interface Creator<T> {
+ /** Return a fresh instance */
+ T create() ;
+}
[2/2] jena git commit: Adjust calls to DatasetFactory.createMem()
Posted by an...@apache.org.
Adjust calls to DatasetFactory.createMem()
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/16f7f7da
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/16f7f7da
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/16f7f7da
Branch: refs/heads/master
Commit: 16f7f7da9fdaddd8bec33b51c243c5752778377f
Parents: 617039a
Author: Andy Seaborne <an...@apache.org>
Authored: Sat Nov 28 16:48:52 2015 +0000
Committer: Andy Seaborne <an...@apache.org>
Committed: Sat Nov 28 16:48:52 2015 +0000
----------------------------------------------------------------------
.../org/apache/jena/query/DatasetFactory.java | 13 +++++++--
.../java/org/apache/jena/riot/TestReadData.java | 3 ++
.../jena/riot/langsuite/UnitTestBadEval.java | 2 +-
.../jena/riot/langsuite/UnitTestBadSyntax.java | 2 +-
.../jena/riot/langsuite/UnitTestSyntax.java | 2 +-
.../jena/riot/system/TestJsonLDReadWrite.java | 1 +
.../jena/riot/writer/TestRiotWriterDataset.java | 1 +
.../optimize/TestSemanticEquivalence.java | 2 +-
.../jena/sparql/core/TestDynamicDatasetMem.java | 29 +++++++++++++++++++-
.../apache/jena/sparql/graph/TestDatasets.java | 15 +++++-----
.../jena/sparql/negation/TestGraphDeltas.java | 2 +-
11 files changed, 56 insertions(+), 16 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/16f7f7da/jena-arq/src/main/java/org/apache/jena/query/DatasetFactory.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/query/DatasetFactory.java b/jena-arq/src/main/java/org/apache/jena/query/DatasetFactory.java
index 3acbdf2..15b80c0 100644
--- a/jena-arq/src/main/java/org/apache/jena/query/DatasetFactory.java
+++ b/jena-arq/src/main/java/org/apache/jena/query/DatasetFactory.java
@@ -48,8 +48,17 @@ public class DatasetFactory {
}
/**
- * @return a transactional, in-memory, modifiable Dataset with MR+SW locking
- */
+ * Create an in-memory. transactional Dataset.
+ * <p>
+ * This fully supports transactions, including abort to roll-back changes.
+ * It provides "autocommit" if operations are performed
+ * outside a transaction but with a performance impact
+ * (the implementation adds a begin/commit around each add or delete
+ * so overheads can accumulate).
+ *
+ * @return a transactional, in-memory, modifiable Dataset which
+ *
+ */
public static Dataset createTxnMem() {
return create(DatasetGraphFactory.createTxnMem());
}
http://git-wip-us.apache.org/repos/asf/jena/blob/16f7f7da/jena-arq/src/test/java/org/apache/jena/riot/TestReadData.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/riot/TestReadData.java b/jena-arq/src/test/java/org/apache/jena/riot/TestReadData.java
index 4b7a8fe..24edd96 100644
--- a/jena-arq/src/test/java/org/apache/jena/riot/TestReadData.java
+++ b/jena-arq/src/test/java/org/apache/jena/riot/TestReadData.java
@@ -126,6 +126,7 @@ public class TestReadData extends BaseTest
private static void read(String dataurl, Lang lang)
{
dataurl = filename(dataurl) ;
+ @SuppressWarnings("deprecation")
Dataset ds = DatasetFactory.createMem() ;
RDFDataMgr.read(ds, dataurl, lang) ;
}
@@ -140,12 +141,14 @@ public class TestReadData extends BaseTest
filename = filename(filename) ;
// Read with a base
+ @SuppressWarnings("deprecation")
Dataset ds0 = DatasetFactory.createMem() ;
try(FileInputStream in0 = new FileInputStream(filename)) {
RDFDataMgr.read(ds0, in0, "http://example/base2", lang) ;
}
// Read again, but without base
+ @SuppressWarnings("deprecation")
Dataset ds1 = DatasetFactory.createMem() ;
try(FileInputStream in1 = new FileInputStream(filename)) {
RDFDataMgr.read(ds1, in1, null, lang) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/16f7f7da/jena-arq/src/test/java/org/apache/jena/riot/langsuite/UnitTestBadEval.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/riot/langsuite/UnitTestBadEval.java b/jena-arq/src/test/java/org/apache/jena/riot/langsuite/UnitTestBadEval.java
index 3baab16..8d536be 100644
--- a/jena-arq/src/test/java/org/apache/jena/riot/langsuite/UnitTestBadEval.java
+++ b/jena-arq/src/test/java/org/apache/jena/riot/langsuite/UnitTestBadEval.java
@@ -89,7 +89,7 @@ public class UnitTestBadEval extends LangTestCase
private void run4()
{
- Dataset ds = DatasetFactory.createMem() ;
+ Dataset ds = DatasetFactory.createGeneral() ;
try {
RDFDataMgr.read(ds, input) ;
fail("Managed to read a bad evaluation test without error") ;
http://git-wip-us.apache.org/repos/asf/jena/blob/16f7f7da/jena-arq/src/test/java/org/apache/jena/riot/langsuite/UnitTestBadSyntax.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/riot/langsuite/UnitTestBadSyntax.java b/jena-arq/src/test/java/org/apache/jena/riot/langsuite/UnitTestBadSyntax.java
index adeab4e..e8a361d 100644
--- a/jena-arq/src/test/java/org/apache/jena/riot/langsuite/UnitTestBadSyntax.java
+++ b/jena-arq/src/test/java/org/apache/jena/riot/langsuite/UnitTestBadSyntax.java
@@ -96,7 +96,7 @@ public class UnitTestBadSyntax extends LangTestCase
}
private void run4() {
- Dataset ds = DatasetFactory.createMem() ;
+ Dataset ds = DatasetFactory.createGeneral() ;
try {
RDFDataMgr.read(ds, uri, uri, lang) ;
} catch (RiotException ex) { return ; }
http://git-wip-us.apache.org/repos/asf/jena/blob/16f7f7da/jena-arq/src/test/java/org/apache/jena/riot/langsuite/UnitTestSyntax.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/riot/langsuite/UnitTestSyntax.java b/jena-arq/src/test/java/org/apache/jena/riot/langsuite/UnitTestSyntax.java
index 7a3d541..15b0158 100644
--- a/jena-arq/src/test/java/org/apache/jena/riot/langsuite/UnitTestSyntax.java
+++ b/jena-arq/src/test/java/org/apache/jena/riot/langsuite/UnitTestSyntax.java
@@ -54,7 +54,7 @@ public class UnitTestSyntax extends LangTestCase
}
private void run4() {
- Dataset ds = DatasetFactory.createMem() ;
+ Dataset ds = DatasetFactory.createGeneral() ;
RDFDataMgr.read(ds, uri, uri, lang) ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/16f7f7da/jena-arq/src/test/java/org/apache/jena/riot/system/TestJsonLDReadWrite.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/riot/system/TestJsonLDReadWrite.java b/jena-arq/src/test/java/org/apache/jena/riot/system/TestJsonLDReadWrite.java
index b83e666..621db79 100644
--- a/jena-arq/src/test/java/org/apache/jena/riot/system/TestJsonLDReadWrite.java
+++ b/jena-arq/src/test/java/org/apache/jena/riot/system/TestJsonLDReadWrite.java
@@ -119,6 +119,7 @@ public class TestJsonLDReadWrite extends BaseTest
// System.out.println();
// Read as JSON-LD
+ @SuppressWarnings("deprecation")
Dataset ds2 = DatasetFactory.createMem() ;
RDFDataMgr.read(ds2, r, null, JSONLD) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/16f7f7da/jena-arq/src/test/java/org/apache/jena/riot/writer/TestRiotWriterDataset.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/riot/writer/TestRiotWriterDataset.java b/jena-arq/src/test/java/org/apache/jena/riot/writer/TestRiotWriterDataset.java
index a46d47e..12a6468 100644
--- a/jena-arq/src/test/java/org/apache/jena/riot/writer/TestRiotWriterDataset.java
+++ b/jena-arq/src/test/java/org/apache/jena/riot/writer/TestRiotWriterDataset.java
@@ -97,6 +97,7 @@ public class TestRiotWriterDataset extends AbstractWriterTest
ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray()) ;
String s = StrUtils.fromUTF8bytes(out.toByteArray()) ;
+ @SuppressWarnings("deprecation")
Dataset ds2 = DatasetFactory.createMem() ;
try {
RDFDataMgr.read(ds2, in, lang) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/16f7f7da/jena-arq/src/test/java/org/apache/jena/sparql/algebra/optimize/TestSemanticEquivalence.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/algebra/optimize/TestSemanticEquivalence.java b/jena-arq/src/test/java/org/apache/jena/sparql/algebra/optimize/TestSemanticEquivalence.java
index 92246d9..25eff47 100644
--- a/jena-arq/src/test/java/org/apache/jena/sparql/algebra/optimize/TestSemanticEquivalence.java
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/algebra/optimize/TestSemanticEquivalence.java
@@ -57,7 +57,7 @@ public class TestSemanticEquivalence {
@BeforeClass
public static void setup() {
// Dataset for implicit join tests
- implJoin = DatasetFactory.createMem();
+ implJoin = DatasetFactory.createTxnMem();
Node a = NodeFactory.createURI("http://a");
Node b = NodeFactory.createURI("http://b");
http://git-wip-us.apache.org/repos/asf/jena/blob/16f7f7da/jena-arq/src/test/java/org/apache/jena/sparql/core/TestDynamicDatasetMem.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/core/TestDynamicDatasetMem.java b/jena-arq/src/test/java/org/apache/jena/sparql/core/TestDynamicDatasetMem.java
index 5377d4c..879d9ba 100644
--- a/jena-arq/src/test/java/org/apache/jena/sparql/core/TestDynamicDatasetMem.java
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/core/TestDynamicDatasetMem.java
@@ -18,16 +18,43 @@
package org.apache.jena.sparql.core;
+import java.util.Arrays ;
+import java.util.Collection ;
+
+import org.apache.jena.atlas.lib.Creator ;
import org.apache.jena.query.Dataset ;
import org.apache.jena.query.DatasetFactory ;
+import org.junit.runner.RunWith ;
+import org.junit.runners.Parameterized ;
+import org.junit.runners.Parameterized.Parameters ;
+/** <b>This class is not in the test suite (it tests for currently unavailable features)</b>.
+ * TDB does support this feature and uses AbstractTestDynamicDatase
+ */
+@RunWith(Parameterized.class)
public class TestDynamicDatasetMem extends AbstractTestDynamicDataset
{
+ @Parameters(name = "{index}: {0}")
+ public static Collection<Object[]> data() {
+ Creator<Dataset> datasetGeneralMaker = ()-> DatasetFactory.createGeneral() ;
+ Creator<Dataset> datasetTxnMemMaker = ()-> DatasetFactory.createTxnMem() ;
+ return Arrays.asList(new Object[][] {
+ { "General", datasetGeneralMaker },
+ { "TxnMem", datasetTxnMemMaker} });
+ }
+
+ private final Creator<Dataset> maker;
+
+ public TestDynamicDatasetMem(String name, Creator<Dataset> maker) {
+ this.maker = maker ;
+ }
+
@Override
protected Dataset createDataset()
{
- return DatasetFactory.createMem() ;
+ return maker.create() ;
}
+
@Override
protected void releaseDataset(Dataset ds) {}
http://git-wip-us.apache.org/repos/asf/jena/blob/16f7f7da/jena-arq/src/test/java/org/apache/jena/sparql/graph/TestDatasets.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/graph/TestDatasets.java b/jena-arq/src/test/java/org/apache/jena/sparql/graph/TestDatasets.java
index 3b224d7..a527455 100644
--- a/jena-arq/src/test/java/org/apache/jena/sparql/graph/TestDatasets.java
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/graph/TestDatasets.java
@@ -22,8 +22,8 @@ import java.util.ArrayList ;
import java.util.Arrays ;
import java.util.Collection ;
import java.util.List ;
-import java.util.function.Supplier ;
+import org.apache.jena.atlas.lib.Creator ;
import org.apache.jena.query.* ;
import org.apache.jena.sparql.core.DatasetGraph ;
import org.apache.jena.sparql.core.DynamicDatasets ;
@@ -42,12 +42,11 @@ import org.junit.runners.Parameterized.Parameters ;
public class TestDatasets {
@Parameters(name = "{index}: {0}")
public static Collection<Object[]> data() {
- Supplier<Dataset> datasetGeneralMaker = ()-> DatasetFactory.createGeneral() ;
- Supplier<Dataset> datasetTxnMemMaker = ()-> DatasetFactory.createTxnMem() ;
+ Creator<Dataset> datasetGeneralMaker = ()-> DatasetFactory.createGeneral() ;
+ Creator<Dataset> datasetTxnMemMaker = ()-> DatasetFactory.createTxnMem() ;
return Arrays.asList(new Object[][] { { "General", datasetGeneralMaker },
{ "TxnMem", datasetTxnMemMaker} });
- }
-
+ }
private static final String data = "INSERT DATA { <ex:default> <ex:default> <ex:default>.\n"
+ "GRAPH <ex:from> { <ex:from> <ex:from> <ex:from> }\n"
@@ -55,13 +54,13 @@ public class TestDatasets {
+ "GRAPH <ex:other> { <ex:other> <ex:other> <ex:other> }\n"
+ "}";
- private final Supplier<Dataset> maker;
+ private final Creator<Dataset> maker;
private final Dataset ds;
private final DatasetGraph dsg;
- public TestDatasets(String name, Supplier<Dataset> maker) {
+ public TestDatasets(String name, Creator<Dataset> maker) {
this.maker = maker ;
- this.ds = maker.get() ;
+ this.ds = maker.create() ;
this.dsg = ds.asDatasetGraph() ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/16f7f7da/jena-arq/src/test/java/org/apache/jena/sparql/negation/TestGraphDeltas.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/negation/TestGraphDeltas.java b/jena-arq/src/test/java/org/apache/jena/sparql/negation/TestGraphDeltas.java
index 317e3c4..862b15d 100644
--- a/jena-arq/src/test/java/org/apache/jena/sparql/negation/TestGraphDeltas.java
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/negation/TestGraphDeltas.java
@@ -151,7 +151,7 @@ public class TestGraphDeltas {
* Expected number of differences
*/
private void testDeltas(Model a, Model b, int differences) {
- Dataset ds = DatasetFactory.createMem();
+ Dataset ds = DatasetFactory.createGeneral();
ds.addNamedModel("http://a", a);
ds.addNamedModel("http://b", b);