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 2012/01/27 19:19:47 UTC
svn commit: r1236798 - in /incubator/jena/Jena2/TDB/trunk: src-dev/dev/
src/main/java/com/hp/hpl/jena/tdb/ src/main/java/com/hp/hpl/jena/tdb/sys/
src/main/java/tdb/tools/ src/test/java/com/hp/hpl/jena/tdb/
src/test/java/com/hp/hpl/jena/tdb/store/
Author: andy
Date: Fri Jan 27 18:19:46 2012
New Revision: 1236798
URL: http://svn.apache.org/viewvc?rev=1236798&view=rev
Log:
Switch to cerating datasets via StoreConnection always (uses StoreConnection cache for non-transaction usage DSGs).
Added:
incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/sys/TDBMakerTxn.java
- copied, changed from r1235846, incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/TDBFactoryTxn.java
Removed:
incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/TDBFactoryTxn.java
Modified:
incubator/jena/Jena2/TDB/trunk/src-dev/dev/Jena202_TDBDatasetSetChurn.java
incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/TDB.java
incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/TDBFactory.java
incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/sys/TDBMaker.java
incubator/jena/Jena2/TDB/trunk/src/main/java/tdb/tools/dumpnodetable.java
incubator/jena/Jena2/TDB/trunk/src/test/java/com/hp/hpl/jena/tdb/TestTDBFactory.java
incubator/jena/Jena2/TDB/trunk/src/test/java/com/hp/hpl/jena/tdb/store/TestDatasetTDBPersist.java
Modified: incubator/jena/Jena2/TDB/trunk/src-dev/dev/Jena202_TDBDatasetSetChurn.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/TDB/trunk/src-dev/dev/Jena202_TDBDatasetSetChurn.java?rev=1236798&r1=1236797&r2=1236798&view=diff
==============================================================================
--- incubator/jena/Jena2/TDB/trunk/src-dev/dev/Jena202_TDBDatasetSetChurn.java (original)
+++ incubator/jena/Jena2/TDB/trunk/src-dev/dev/Jena202_TDBDatasetSetChurn.java Fri Jan 27 18:19:46 2012
@@ -22,6 +22,7 @@ import org.openjena.atlas.iterator.Iter
import org.openjena.atlas.lib.FileOps ;
import org.openjena.atlas.logging.Log ;
+import com.hp.hpl.jena.graph.Node ;
import com.hp.hpl.jena.graph.Triple ;
import com.hp.hpl.jena.query.Dataset ;
import com.hp.hpl.jena.query.ReadWrite ;
@@ -43,7 +44,7 @@ public class Jena202_TDBDatasetSetChurn
int i ;
int Chunk = 1000 ;
int tock = 100 ;
- for ( i = 0 ; i < 10000 ; i ++ )
+ for ( i = 0 ; i < 1000 ; i ++ )
{
if ( i != 0 && i%tock == 0 )
System.out.println() ;
@@ -52,7 +53,7 @@ public class Jena202_TDBDatasetSetChurn
Dataset ds = TDBFactory.createDataset(DB) ;
ds.begin(ReadWrite.WRITE) ;
for ( int j = i*Chunk; j < (i+1)*Chunk ; j++ )
- ds.getDefaultModel().getGraph().add(SSE.parseTriple("(<s> <p> 'X"+j+"')")) ;
+ ds.getDefaultModel().getGraph().add(triple(j)) ;
ds.commit();
ds.end() ;
@@ -68,4 +69,12 @@ public class Jena202_TDBDatasetSetChurn
System.out.println("DONE") ;
System.exit(0) ;
}
+
+ static Node s = Node.createURI("s") ;
+ static Node p = Node.createURI("s") ;
+ static Triple triple(int i)
+ {
+ Node o = Node.createLiteral("X"+i) ;
+ return new Triple(s,p,o) ;
+ }
}
Modified: incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/TDB.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/TDB.java?rev=1236798&r1=1236797&r2=1236798&view=diff
==============================================================================
--- incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/TDB.java (original)
+++ incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/TDB.java Fri Jan 27 18:19:46 2012
@@ -110,7 +110,8 @@ public class TDB
*/
public static void closedown()
{
- TDBMaker.clearDatasetCache() ;
+ TDBMaker.reset() ;
+ StoreConnection.reset() ;
}
/** Set the global flag that control the "No BGP optimizer" warning.
Modified: incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/TDBFactory.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/TDBFactory.java?rev=1236798&r1=1236797&r2=1236798&view=diff
==============================================================================
--- incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/TDBFactory.java (original)
+++ incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/TDBFactory.java Fri Jan 27 18:19:46 2012
@@ -18,8 +18,6 @@
package com.hp.hpl.jena.tdb;
-import org.openjena.atlas.logging.Log ;
-
import com.hp.hpl.jena.graph.Graph ;
import com.hp.hpl.jena.graph.Node ;
import com.hp.hpl.jena.query.Dataset ;
@@ -27,15 +25,12 @@ import com.hp.hpl.jena.query.DatasetFact
import com.hp.hpl.jena.rdf.model.Model ;
import com.hp.hpl.jena.rdf.model.ModelFactory ;
import com.hp.hpl.jena.sparql.core.DatasetGraph ;
-import com.hp.hpl.jena.sparql.core.Transactional ;
import com.hp.hpl.jena.sparql.core.assembler.AssemblerUtils ;
-import com.hp.hpl.jena.sparql.engine.optimizer.reorder.ReorderLib ;
-import com.hp.hpl.jena.sparql.engine.optimizer.reorder.ReorderTransformation ;
import com.hp.hpl.jena.tdb.assembler.VocabTDB ;
import com.hp.hpl.jena.tdb.base.file.Location ;
import com.hp.hpl.jena.tdb.store.DatasetGraphTDB ;
-import com.hp.hpl.jena.tdb.sys.SystemTDB ;
import com.hp.hpl.jena.tdb.sys.TDBMaker ;
+import com.hp.hpl.jena.tdb.sys.TDBMakerTxn ;
import com.hp.hpl.jena.tdb.transaction.DatasetGraphTransaction ;
/** Public factory for creating objects datasets backed by TDB storage */
@@ -96,55 +91,131 @@ public class TDBFactory
return DatasetFactory.create(TDBMaker._createDatasetGraph()) ;
}
+ /** Create a TDB-backed Dataset directly over the storage in memory (not transactional) (testing only) */
+ public static void release(Dataset dataset)
+ {
+ _release(location(dataset)) ;
+ }
+
+ /** Create a TDB-backed Dataset directly over the storage in memory (not transactional) (testing only) */
+ public static void release(DatasetGraph dataset)
+ {
+ _release(location(dataset)) ;
+ }
+
+ /** Reset internal state, releasing all datasets.
+ * No checking done, do not call while TDB is execution queries or updates.
+ * Mainly for the tests to have a known clean state.
+ */
+ public static void reset()
+ {
+ //TDBMaker.reset() ;
+ TDBMakerTxn.reset() ;
+ }
+
+ // >>>>--------------------------------------
+ // Chocie of actual making process.
+
+// // TDB 0.8.x version
+//
+// private static DatasetGraph _createDatasetGraphNonTxn(Location location)
+// {
+// DatasetGraphTDB dsg = TDBMaker._createDatasetGraph(location) ;
+// if ( dsg instanceof Transactional)
+// {
+// Log.info(TDBFactory.class, "TDBMaker returns a transactional DatasetGraphs") ;
+// // v0.9.0 - doesn't happen but this prepares for a possible future.
+// return dsg ;
+// }
+// // Not transactional - add the switching wrapper.
+// return asTransactional(dsg) ; }
+//
+// private static DatasetGraph _createDatasetGraphNonTxn()
+// {
+// // Make silent by setting the optimizer to the no-opt
+// ReorderTransformation rt = SystemTDB.defaultOptimizer ;
+// if ( rt == null )
+// SystemTDB.defaultOptimizer = ReorderLib.identity() ;
+// DatasetGraphTDB dsg = TDBMaker._createDatasetGraph() ;
+// SystemTDB.defaultOptimizer = rt ;
+// return asTransactional(dsg) ;
+// }
+//
+// private static boolean MAKE_TRANSACTIONAL_DATASETS = true ;
+//
+// private static DatasetGraph asTransactional(DatasetGraphTDB dsg)
+// {
+// if ( dsg instanceof DatasetGraphTxn )
+// throw new TDBException("DatasetGraphTDB is a transaction") ;
+//
+// if ( MAKE_TRANSACTIONAL_DATASETS )
+// return new DatasetGraphTransaction(dsg) ;
+// else
+// return dsg ;
+// }
+//
+// private static void _release(Location location)
+// {
+// if ( location == null )
+// return ;
+// TDBMaker.releaseLocation(location) ;
+// }
+
private static DatasetGraph _createDatasetGraph(Location location)
- {
- DatasetGraphTDB dsg = TDBMaker._createDatasetGraph(location) ;
- if ( dsg instanceof Transactional)
- {
- Log.info(TDBFactory.class, "TDBMaker returns a transactional DatasetGraphs") ;
- // v0.9.0 - doesn't happen but this prepares for a possible future.
- return dsg ;
- }
- // Not transactional - add the switching wrapper.
- return asTransactional(dsg) ; }
+ {
+ return TDBMakerTxn.createDatasetGraph(location) ;
+ }
private static DatasetGraph _createDatasetGraph()
{
- // Make silent by setting the optimizer to the no-opt
- ReorderTransformation rt = SystemTDB.defaultOptimizer ;
- if ( rt == null )
- SystemTDB.defaultOptimizer = ReorderLib.identity() ;
- DatasetGraphTDB dsg = TDBMaker._createDatasetGraph() ;
- SystemTDB.defaultOptimizer = rt ;
- return asTransactional(dsg) ;
+ return TDBMakerTxn.createDatasetGraph() ;
}
- /** By default, TDBFactory returns Datasets and DatasetGraphs that can be used in
- * transactions. To force a return to TDB 0.8.x behaviour of returning
- * Datasets and DatasetGraphs attached directly to the storage, set this
- * to false. Warning: it's global.
- */
+ private static void _release(Location location)
+ {
+ if ( location == null )
+ return ;
+ TDBMakerTxn.releaseLocation(location) ;
+ }
+
+ // <<<<--------------------------------------
- public static boolean MAKE_TRANSACTIONAL_DATASETS = true ;
+ /** Return the location of a dataset if it is backed by TDB, else null */
+ public static boolean isBackedByTDB(Dataset dataset)
+ {
+ DatasetGraph dsg = dataset.asDatasetGraph() ;
+ return isBackedByTDB(dsg) ;
+ }
- private static DatasetGraph asTransactional(DatasetGraphTDB dsg)
+ /** Return the location of a dataset if it is backed by TDB, else null */
+ public static boolean isBackedByTDB(DatasetGraph datasetGraph)
{
- if ( MAKE_TRANSACTIONAL_DATASETS )
- return new DatasetGraphTransaction(dsg) ;
- else
- return dsg ;
+ if ( datasetGraph instanceof DatasetGraphTransaction )
+ // The swicthing "connection" for TDB
+ return true ;
+ if ( datasetGraph instanceof DatasetGraphTDB )
+ // A transaction or the base storage.
+ return true ;
+ return false ;
}
+
+
/** Return the location of a dataset if it is backed by TDB, else null */
public static Location location(Dataset dataset)
{
- return TDBFactoryTxn.location(dataset) ;
+ DatasetGraph dsg = dataset.asDatasetGraph() ;
+ return location(dsg) ;
}
- /** Return the location of a dataset if it is backed by TDB, else null */
- public static Location location(DatasetGraph dataset)
+ /** Return the location of a DatasetGraph if it is backed by TDB, else null */
+ public static Location location(DatasetGraph datasetGraph)
{
- return TDBFactoryTxn.location(dataset) ;
+ if ( datasetGraph instanceof DatasetGraphTDB )
+ return ((DatasetGraphTDB)datasetGraph).getLocation() ;
+ if ( datasetGraph instanceof DatasetGraphTransaction )
+ return ((DatasetGraphTransaction)datasetGraph).getLocation() ;
+ return null ;
}
/** Read the file and assembler a graph, of type TDB persistent graph
Modified: incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/sys/TDBMaker.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/sys/TDBMaker.java?rev=1236798&r1=1236797&r2=1236798&view=diff
==============================================================================
--- incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/sys/TDBMaker.java (original)
+++ incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/sys/TDBMaker.java Fri Jan 27 18:19:46 2012
@@ -21,7 +21,9 @@ package com.hp.hpl.jena.tdb.sys;
import com.hp.hpl.jena.tdb.base.file.Location ;
import com.hp.hpl.jena.tdb.store.DatasetGraphTDB ;
-/** The workhorse for TDB Factory - hides the internal operations from
+/**
+ * Non-transactions dataaset creation.
+ * The workhorse for TDB Factory - hides the internal operations from
* the public interface (and javadoc) of TDBFactory for clarity.
*/
public class TDBMaker
@@ -33,7 +35,7 @@ public class TDBMaker
/** Implementation factory for cached creation of datasets */
public final static DatasetGraphMakerTDB cachedFactory = new CachingTDBMaker(uncachedFactory) ;
-
+
// Caching by location.
private final static boolean CACHING = true ;
@@ -53,7 +55,7 @@ public class TDBMaker
private static DatasetGraphMakerTDB factory = stdFactory ;
/** Clear any TDB dataset cache */
- public static void clearDatasetCache()
+ public static void reset()
{
if ( factory instanceof CachingTDBMaker )
((CachingTDBMaker)factory).flush();
Copied: incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/sys/TDBMakerTxn.java (from r1235846, incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/TDBFactoryTxn.java)
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/sys/TDBMakerTxn.java?p2=incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/sys/TDBMakerTxn.java&p1=incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/TDBFactoryTxn.java&r1=1235846&r2=1236798&rev=1236798&view=diff
==============================================================================
--- incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/TDBFactoryTxn.java (original)
+++ incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/sys/TDBMakerTxn.java Fri Jan 27 18:19:46 2012
@@ -16,85 +16,32 @@
* limitations under the License.
*/
-package com.hp.hpl.jena.tdb;
+package com.hp.hpl.jena.tdb.sys;
-import com.hp.hpl.jena.query.Dataset ;
-import com.hp.hpl.jena.query.DatasetFactory ;
-import com.hp.hpl.jena.sparql.core.DatasetGraph ;
-import com.hp.hpl.jena.sparql.core.assembler.AssemblerUtils ;
-import com.hp.hpl.jena.tdb.assembler.VocabTDB ;
+import com.hp.hpl.jena.tdb.StoreConnection ;
import com.hp.hpl.jena.tdb.base.file.Location ;
import com.hp.hpl.jena.tdb.store.DatasetGraphTDB ;
import com.hp.hpl.jena.tdb.transaction.DatasetGraphTransaction ;
/** factory for creating objects datasets backed by TDB storage which support transactions */
-class TDBFactoryTxn
+public class TDBMakerTxn
{
- // This is TDBFactory with a different maker.??
-
- // Assembler versions
-
- /** Create a Dataset that supports transactions */
- public static Dataset XcreateDataset(Location location)
- {
- return DatasetFactory.create(XcreateDatasetGraph(location)) ;
- }
-
- /** Create a Dataset that supports transactions */
- public static Dataset XcreateDataset(String location)
- {
- return DatasetFactory.create(XcreateDatasetGraph(location)) ;
- }
-
- /** Create a Dataset that supports transactions but runs in-memory (for creating test cases)*/
- public static Dataset XcreateDataset()
- {
- return XcreateDataset(Location.mem()) ;
- }
-
- /** Read the assembler file and create a dataset with transctional capabilities.
- * Assumes the file contains exactly one definition of a TDB dataset.
- */
- public static Dataset XassembleDataset(String assemblerFile)
- {
- Dataset ds = (Dataset)AssemblerUtils.build(assemblerFile, VocabTDB.tDatasetTDB) ;
- DatasetGraphTDB dsg = (DatasetGraphTDB)(ds.asDatasetGraph()) ;
- return DatasetFactory.create(_create(dsg)) ;
- }
-
- /** Return the location of a dataset if it is backed by TDB, else null */
- public static Location location(Dataset dataset)
- {
- DatasetGraph dsg = dataset.asDatasetGraph() ;
- return location(dsg) ;
- }
-
- /** Return the location of a DatasetGraph if it is backed by TDB, else null */
- public static Location location(DatasetGraph datasetGraph)
- {
- if ( datasetGraph instanceof DatasetGraphTDB )
- return ((DatasetGraphTDB)datasetGraph).getLocation() ;
- if ( datasetGraph instanceof DatasetGraphTransaction )
- return ((DatasetGraphTransaction)datasetGraph).getLocation() ;
- return null ;
- }
-
/** Create a DatasetGraph that supports transactions */
- public static DatasetGraphTransaction XcreateDatasetGraph(String location)
+ public static DatasetGraphTransaction createDatasetGraph(String location)
{
- return XcreateDatasetGraph(new Location(location)) ;
+ return createDatasetGraph(new Location(location)) ;
}
/** Create a Dataset that supports transactions */
- public static DatasetGraphTransaction XcreateDatasetGraph(Location location)
+ public static DatasetGraphTransaction createDatasetGraph(Location location)
{
return _create(location) ;
}
/** Create a Dataset that supports transactions but runs in-memory (for creating test cases)*/
- public static DatasetGraphTransaction XcreateDatasetGraph()
+ public static DatasetGraphTransaction createDatasetGraph()
{
- return XcreateDatasetGraph(Location.mem()) ;
+ return createDatasetGraph(Location.mem()) ;
}
private static DatasetGraphTransaction _create(Location location)
@@ -108,5 +55,15 @@ class TDBFactoryTxn
// No need to cache StoreConnection does all that.
return new DatasetGraphTransaction(dsg) ;
}
+
+ public static void releaseLocation(Location location)
+ {
+ StoreConnection.release(location) ;
+ }
+
+ public static void reset()
+ {
+ StoreConnection.reset() ;
+ }
}
Modified: incubator/jena/Jena2/TDB/trunk/src/main/java/tdb/tools/dumpnodetable.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/TDB/trunk/src/main/java/tdb/tools/dumpnodetable.java?rev=1236798&r1=1236797&r2=1236798&view=diff
==============================================================================
--- incubator/jena/Jena2/TDB/trunk/src/main/java/tdb/tools/dumpnodetable.java (original)
+++ incubator/jena/Jena2/TDB/trunk/src/main/java/tdb/tools/dumpnodetable.java Fri Jan 27 18:19:46 2012
@@ -33,6 +33,7 @@ import com.hp.hpl.jena.graph.Node ;
import com.hp.hpl.jena.graph.Node_Literal ;
import com.hp.hpl.jena.sparql.util.FmtUtils ;
import com.hp.hpl.jena.sparql.util.Utils ;
+import com.hp.hpl.jena.tdb.StoreConnection ;
import com.hp.hpl.jena.tdb.base.file.Location ;
import com.hp.hpl.jena.tdb.nodetable.NodeTable ;
import com.hp.hpl.jena.tdb.store.DatasetGraphTDB ;
@@ -40,7 +41,6 @@ import com.hp.hpl.jena.tdb.store.NodeId
import com.hp.hpl.jena.tdb.sys.Names ;
import com.hp.hpl.jena.tdb.sys.SetupTDB ;
import com.hp.hpl.jena.tdb.sys.SystemTDB ;
-import com.hp.hpl.jena.tdb.sys.TDBMaker ;
public class dumpnodetable extends CmdGeneral
{
@@ -59,7 +59,8 @@ public class dumpnodetable extends CmdGe
List<String> quadIndexes = Arrays.asList(Names.quadIndexes) ;
Location loc = modLocation.getLocation() ;
- DatasetGraphTDB dsg = TDBMaker._createDatasetGraph(loc) ;
+ StoreConnection sConn = StoreConnection.make(loc) ;
+ DatasetGraphTDB dsg = sConn.getBaseDataset() ;
NodeTable nodeTable = dsg.getQuadTable().getNodeTupleTable().getNodeTable() ;
dump(System.out, nodeTable) ;
}
Modified: incubator/jena/Jena2/TDB/trunk/src/test/java/com/hp/hpl/jena/tdb/TestTDBFactory.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/TDB/trunk/src/test/java/com/hp/hpl/jena/tdb/TestTDBFactory.java?rev=1236798&r1=1236797&r2=1236798&view=diff
==============================================================================
--- incubator/jena/Jena2/TDB/trunk/src/test/java/com/hp/hpl/jena/tdb/TestTDBFactory.java (original)
+++ incubator/jena/Jena2/TDB/trunk/src/test/java/com/hp/hpl/jena/tdb/TestTDBFactory.java Fri Jan 27 18:19:46 2012
@@ -24,15 +24,23 @@ import org.junit.Test ;
import org.openjena.atlas.junit.BaseTest ;
import org.openjena.atlas.lib.FileOps ;
+import com.hp.hpl.jena.sparql.core.DatasetGraph ;
+import com.hp.hpl.jena.sparql.core.Quad ;
+import com.hp.hpl.jena.sparql.sse.SSE ;
import com.hp.hpl.jena.tdb.base.file.Location ;
import com.hp.hpl.jena.tdb.store.DatasetGraphTDB ;
import com.hp.hpl.jena.tdb.sys.DatasetGraphMakerTDB ;
import com.hp.hpl.jena.tdb.sys.TDBMaker ;
+import com.hp.hpl.jena.tdb.sys.TDBMakerTxn ;
+import com.hp.hpl.jena.tdb.transaction.DatasetGraphTransaction ;
public class TestTDBFactory extends BaseTest
{
static final String DIR = ConfigTest.getTestingDirDB() ;
+ static Quad quad1 = SSE.parseQuad("(_ <s> <p> 1)") ;
+ static Quad quad2 = SSE.parseQuad("(_ <s> <p> 1)") ;
+
@BeforeClass public static void beforeClass()
{
FileOps.clearDirectory(DIR) ;
@@ -43,18 +51,72 @@ public class TestTDBFactory extends Base
FileOps.clearDirectory(DIR) ;
}
- @Test public void factory1()
+ @Test public void testTDBFactory1()
{
- DatasetGraphTDB dg1 = TDBMaker._createDatasetGraph(Location.mem()) ;
- DatasetGraphTDB dg2 = TDBMaker._createDatasetGraph(Location.mem()) ;
+ TDBFactory.reset() ;
+ DatasetGraph dg1 = TDBFactory.createDatasetGraph(Location.mem("FOO")) ;
+ DatasetGraph dg2 = TDBFactory.createDatasetGraph(Location.mem("FOO")) ;
+ dg1.add(quad1) ;
+ assertTrue(dg2.contains(quad1)) ;
+ }
+
+ @Test public void testTDBFactory2()
+ {
+ TDBFactory.reset() ;
+ // The unnamed location is unique each time.
+ DatasetGraph dg1 = TDBFactory.createDatasetGraph(Location.mem()) ;
+ DatasetGraph dg2 = TDBFactory.createDatasetGraph(Location.mem()) ;
+ dg1.add(quad1) ;
+ assertFalse(dg2.contains(quad1)) ;
+ }
+
+ @Test public void testTDBMakerTxn1()
+ {
+ TDBMakerTxn.reset() ;
+ DatasetGraph dg1 = TDBMakerTxn.createDatasetGraph(DIR) ;
+ DatasetGraph dg2 = TDBMakerTxn.createDatasetGraph(DIR) ;
+
+ DatasetGraph dgBase1 = ((DatasetGraphTransaction)dg1).getBaseDatasetGraph() ;
+ DatasetGraph dgBase2 = ((DatasetGraphTransaction)dg2).getBaseDatasetGraph() ;
+
+ assertSame(dgBase1, dgBase2) ;
+ }
+
+ @Test public void testTDBMakerTxn2()
+ {
+ TDBMakerTxn.reset() ;
+ DatasetGraph dg1 = TDBMakerTxn.createDatasetGraph(Location.mem("FOO")) ;
+ DatasetGraph dg2 = TDBMakerTxn.createDatasetGraph(Location.mem("FOO")) ;
+
+ DatasetGraph dgBase1 = ((DatasetGraphTransaction)dg1).getBaseDatasetGraph() ;
+ DatasetGraph dgBase2 = ((DatasetGraphTransaction)dg2).getBaseDatasetGraph() ;
+
+ assertSame(dgBase1, dgBase2) ;
+ }
+
+ @Test public void testTDBMaker1()
+ {
+ TDBMaker.reset() ;
+ DatasetGraph dg1 = TDBMaker._createDatasetGraph(Location.mem()) ;
+ DatasetGraph dg2 = TDBMaker._createDatasetGraph(Location.mem()) ;
assertSame(dg1, dg2) ;
}
- @Test public void factory2()
+ @Test public void testTDBMaker2()
{
+ TDBMaker.reset() ;
+ DatasetGraph dg1 = TDBMaker._createDatasetGraph(DIR) ;
+ DatasetGraph dg2 = TDBMaker._createDatasetGraph(DIR) ;
+ assertSame(dg1, dg2) ;
+ }
+
+ @Test public void testTDBMaker3()
+ {
+ TDBMaker.reset() ;
+
DatasetGraphMakerTDB f = TDBMaker.getImplFactory() ;
- TDBMaker.clearDatasetCache() ;
+
DatasetGraphTDB dg0 = TDBMaker._createDatasetGraph(Location.mem()) ;
// Uncached.
Modified: incubator/jena/Jena2/TDB/trunk/src/test/java/com/hp/hpl/jena/tdb/store/TestDatasetTDBPersist.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/TDB/trunk/src/test/java/com/hp/hpl/jena/tdb/store/TestDatasetTDBPersist.java?rev=1236798&r1=1236797&r2=1236798&view=diff
==============================================================================
--- incubator/jena/Jena2/TDB/trunk/src/test/java/com/hp/hpl/jena/tdb/store/TestDatasetTDBPersist.java (original)
+++ incubator/jena/Jena2/TDB/trunk/src/test/java/com/hp/hpl/jena/tdb/store/TestDatasetTDBPersist.java Fri Jan 27 18:19:46 2012
@@ -66,7 +66,7 @@ public class TestDatasetTDBPersist exten
@After public void after()
{
- TDBMaker.clearDatasetCache() ;
+ TDBMaker.reset() ;
if ( graphLocation != null )
graphLocation.release() ;
graphLocation.clearDirectory() ; // Does nto have the desired effect on Windows.