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