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 2011/06/30 13:33:48 UTC

svn commit: r1141487 - in /incubator/jena/Experimental/TxTDB/trunk: ./ Licenses/ src-dev/tx/ src/main/java/com/hp/hpl/jena/tdb/setup/ src/main/java/com/hp/hpl/jena/tdb/transaction/

Author: andy
Date: Thu Jun 30 11:33:47 2011
New Revision: 1141487

URL: http://svn.apache.org/viewvc?rev=1141487&view=rev
Log: (empty)

Added:
    incubator/jena/Experimental/TxTDB/trunk/Licenses/
    incubator/jena/Experimental/TxTDB/trunk/Licenses/other.txt   (with props)
    incubator/jena/Experimental/TxTDB/trunk/NOTICE.txt   (with props)
    incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/setup/Builder.java   (with props)
Modified:
    incubator/jena/Experimental/TxTDB/trunk/src-dev/tx/Builder.java
    incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/setup/DatasetBuilderStd.java
    incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/DatasetBuilderTxn.java

Added: incubator/jena/Experimental/TxTDB/trunk/Licenses/other.txt
URL: http://svn.apache.org/viewvc/incubator/jena/Experimental/TxTDB/trunk/Licenses/other.txt?rev=1141487&view=auto
==============================================================================
--- incubator/jena/Experimental/TxTDB/trunk/Licenses/other.txt (added)
+++ incubator/jena/Experimental/TxTDB/trunk/Licenses/other.txt Thu Jun 30 11:33:47 2011
@@ -0,0 +1,28 @@
+/*
+ * (c) Copyright 2009 Hewlett-Packard Development Company, LP All rights
+ * reserved.
+ * (c) Copyright 2010 Talis Systems Ltd
+ * (c) Copyright 2010 IBM Corp. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */

Propchange: incubator/jena/Experimental/TxTDB/trunk/Licenses/other.txt
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: incubator/jena/Experimental/TxTDB/trunk/NOTICE.txt
URL: http://svn.apache.org/viewvc/incubator/jena/Experimental/TxTDB/trunk/NOTICE.txt?rev=1141487&view=auto
==============================================================================
--- incubator/jena/Experimental/TxTDB/trunk/NOTICE.txt (added)
+++ incubator/jena/Experimental/TxTDB/trunk/NOTICE.txt Thu Jun 30 11:33:47 2011
@@ -0,0 +1,15 @@
+Copyright ownership:
+
+Portions of this software were originally based on the following
+original contributions to Apache Software Foundation:
+
+(c) Copyright 2010, 2011 Epimorphics Ltd.
+(c) Copyright 2004, 2005, 2006, 2007, 2008, 2009 Hewlett-Packard Development Company, LP
+(c) Copyright 2009, 2010 Talis Systems Ltd.
+
+Other contributions:
+(c) Copyright 2010 IBM Corp. All rights reserved.
+  Licenses/other.txt
+
+Subsequent copyrights:
+Epimorphics Ltd.

Propchange: incubator/jena/Experimental/TxTDB/trunk/NOTICE.txt
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: incubator/jena/Experimental/TxTDB/trunk/src-dev/tx/Builder.java
URL: http://svn.apache.org/viewvc/incubator/jena/Experimental/TxTDB/trunk/src-dev/tx/Builder.java?rev=1141487&r1=1141486&r2=1141487&view=diff
==============================================================================
--- incubator/jena/Experimental/TxTDB/trunk/src-dev/tx/Builder.java (original)
+++ incubator/jena/Experimental/TxTDB/trunk/src-dev/tx/Builder.java Thu Jun 30 11:33:47 2011
@@ -41,6 +41,9 @@ public final class Builder
     
     // Become a library of builders - take code from DatasetBuilderStd
     
+    
+    //static BlockMgrBuilder blkMgrBuilder = new BlockMgrBuilderStd() ;
+    
     public static Index createIndex(FileSet fileset, RecordFactory recordFactory)
     {
         return createRangeIndex(fileset, recordFactory) ;

Added: incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/setup/Builder.java
URL: http://svn.apache.org/viewvc/incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/setup/Builder.java?rev=1141487&view=auto
==============================================================================
--- incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/setup/Builder.java (added)
+++ incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/setup/Builder.java Thu Jun 30 11:33:47 2011
@@ -0,0 +1,199 @@
+/**
+ * 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 com.hp.hpl.jena.tdb.setup;
+
+import static com.hp.hpl.jena.tdb.sys.SystemTDB.SizeOfNodeId ;
+import org.openjena.atlas.lib.ColumnMap ;
+
+import com.hp.hpl.jena.tdb.base.block.BlockMgr ;
+import com.hp.hpl.jena.tdb.base.block.BlockMgrFactory ;
+import com.hp.hpl.jena.tdb.base.file.FileFactory ;
+import com.hp.hpl.jena.tdb.base.file.FileSet ;
+import com.hp.hpl.jena.tdb.base.objectfile.ObjectFile ;
+import com.hp.hpl.jena.tdb.base.record.RecordFactory ;
+import com.hp.hpl.jena.tdb.index.Index ;
+import com.hp.hpl.jena.tdb.index.RangeIndex ;
+import com.hp.hpl.jena.tdb.index.TupleIndex ;
+import com.hp.hpl.jena.tdb.index.TupleIndexRecord ;
+import com.hp.hpl.jena.tdb.index.bplustree.BPlusTree ;
+import com.hp.hpl.jena.tdb.index.bplustree.BPlusTreeParams ;
+import com.hp.hpl.jena.tdb.nodetable.NodeTable ;
+import com.hp.hpl.jena.tdb.nodetable.NodeTableCache ;
+import com.hp.hpl.jena.tdb.nodetable.NodeTableInline ;
+import com.hp.hpl.jena.tdb.nodetable.NodeTableNative ;
+import com.hp.hpl.jena.tdb.sys.Names ;
+import com.hp.hpl.jena.tdb.sys.SystemTDB ;
+
+public class Builder
+{
+
+    public static class TupleIndexBuilderStd implements TupleIndexBuilder
+    {
+        private final RangeIndexBuilder rangeIndexBuilder ;
+    
+        public TupleIndexBuilderStd(RangeIndexBuilder rangeIndexBuilder)
+        {
+            this.rangeIndexBuilder = rangeIndexBuilder ;
+        }
+        
+        @Override
+        public TupleIndex buildTupleIndex(FileSet fileSet, ColumnMap colMap)
+        {
+            RecordFactory recordFactory = new RecordFactory(SizeOfNodeId*colMap.length(),0) ;
+            
+            RangeIndex rIdx = rangeIndexBuilder.buildRangeIndex(fileSet, recordFactory) ;
+            TupleIndex tIdx = new TupleIndexRecord(colMap.length(), colMap, recordFactory, rIdx) ;
+            return tIdx ;
+        }
+    }
+
+    public static class NodeTableBuilderStd implements NodeTableBuilder
+    {
+        private final IndexBuilder indexBuilder ;
+        private final ObjectFileBuilder objectFileBuilder ;
+        
+        public NodeTableBuilderStd(IndexBuilder indexBuilder, ObjectFileBuilder objectFileBuilder)
+        { 
+            this.indexBuilder = indexBuilder ;
+            this.objectFileBuilder = objectFileBuilder ;
+        }
+        
+        @Override
+        public NodeTable buildNodeTable(FileSet fsIndex, FileSet fsObjectFile, int sizeNode2NodeIdCache, int sizeNodeId2NodeCache)
+        {
+            RecordFactory recordFactory = new RecordFactory(SystemTDB.LenNodeHash, SystemTDB.SizeOfNodeId) ;
+            Index idx = indexBuilder.buildIndex(fsIndex, recordFactory) ;
+            ObjectFile objectFile = objectFileBuilder.buildObjectFile(fsObjectFile, Names.extNodeData) ;
+            NodeTable nodeTable = new NodeTableNative(idx, objectFile) ;
+            nodeTable = NodeTableCache.create(nodeTable, sizeNode2NodeIdCache, sizeNodeId2NodeCache) ;
+            nodeTable = NodeTableInline.create(nodeTable) ;
+            return nodeTable ;
+        }
+    }
+    // ----
+
+    public static class IndexBuilderStd implements IndexBuilder
+    {
+        protected BlockMgrBuilder bMgrNodes ;
+        protected BlockMgrBuilder bMgrRecords ;
+        protected RangeIndexBuilderStd other ;
+    
+        public IndexBuilderStd(BlockMgrBuilder bMgrNodes, BlockMgrBuilder bMgrRecords)
+        {
+            this.bMgrNodes = bMgrNodes ;
+            this.bMgrRecords = bMgrRecords ;
+            this.other = new RangeIndexBuilderStd(bMgrNodes, bMgrRecords) ;
+        }
+        
+        @Override
+        public Index buildIndex(FileSet fileSet, RecordFactory recordFactory)
+        {
+            // Cheap.
+            return other.buildRangeIndex(fileSet, recordFactory) ;
+        }
+    }
+
+    public static class RangeIndexBuilderStd implements RangeIndexBuilder
+        {
+            private BlockMgrBuilder bMgrNodes ;
+            private BlockMgrBuilder bMgrRecords ;
+            public RangeIndexBuilderStd( BlockMgrBuilder blockMgrBuilderNodes,
+                                         BlockMgrBuilder blockMgrBuilderRecords)
+            {
+                this.bMgrNodes = blockMgrBuilderNodes ;
+                this.bMgrRecords = blockMgrBuilderRecords ;
+            }
+    
+            @Override
+            public RangeIndex buildRangeIndex(FileSet fileSet, RecordFactory recordFactory)
+            {
+                int blkSize = SystemTDB.BlockSize ;
+                int order = BPlusTreeParams.calcOrder(blkSize, recordFactory.recordLength()) ;
+                int readCacheSize = SystemTDB.BlockReadCacheSize ;
+                int writeCacheSize = SystemTDB.BlockWriteCacheSize ;
+                RangeIndex rIndex = createBPTree(fileSet, order, blkSize, readCacheSize, writeCacheSize, bMgrNodes, bMgrRecords, recordFactory) ;
+                return rIndex ;
+            }
+            
+            /** Knowing all the parameters, create a B+Tree */
+            private RangeIndex createBPTree(FileSet fileset, int order, 
+                                            int blockSize,
+                                            int readCacheSize, int writeCacheSize,
+                                            BlockMgrBuilder blockMgrBuilderNodes,
+                                            BlockMgrBuilder blockMgrBuilderRecords,
+                                            RecordFactory factory)
+            {
+                // ---- Checking
+                if (blockSize < 0 && order < 0) throw new IllegalArgumentException("Neither blocksize nor order specified") ;
+                if (blockSize >= 0 && order < 0) order = BPlusTreeParams.calcOrder(blockSize, factory.recordLength()) ;
+                if (blockSize >= 0 && order >= 0)
+                {
+                    int order2 = BPlusTreeParams.calcOrder(blockSize, factory.recordLength()) ;
+                    if (order != order2) throw new IllegalArgumentException("Wrong order (" + order + "), calculated = "
+                                                                            + order2) ;
+                }
+            
+                // Iffy - does not allow for slop.
+                if (blockSize < 0 && order >= 0)
+                {
+                    // Only in-memory.
+                    blockSize = BPlusTreeParams.calcBlockSize(order, factory) ;
+                }
+            
+                BPlusTreeParams params = new BPlusTreeParams(order, factory) ;
+                
+                BlockMgr blkMgrNodes = blockMgrBuilderNodes.buildBlockMgr(fileset, Names.bptExtTree, blockSize) ;
+                BlockMgr blkMgrRecords = blockMgrBuilderRecords.buildBlockMgr(fileset, Names.bptExtRecords, blockSize) ;
+                return BPlusTree.create(params, blkMgrNodes, blkMgrRecords) ;
+            }
+        }
+
+    public static class ObjectFileBuilderStd implements ObjectFileBuilder
+    {
+        @Override
+        public ObjectFile buildObjectFile(FileSet fileSet, String ext)
+        {
+            if ( fileSet.isMem() )
+                return FileFactory.createObjectFileMem() ;
+            String filename = fileSet.filename(ext) ;
+            return FileFactory.createObjectFileDisk(filename) ;
+        }
+    }
+
+    public static class BlockMgrBuilderStd implements BlockMgrBuilder
+    {
+        public BlockMgrBuilderStd() {}
+    
+        @Override
+        public BlockMgr buildBlockMgr(FileSet fileset, String ext, int blockSize)
+        {
+            //int readCacheSize = PropertyUtils.getPropertyAsInteger(config, Names.pBlockReadCacheSize) ;
+            //int writeCacheSize = PropertyUtils.getPropertyAsInteger(config, Names.pBlockWriteCacheSize) ;
+            
+            int readCacheSize = SystemTDB.BlockReadCacheSize ;
+            int writeCacheSize = SystemTDB.BlockWriteCacheSize ;
+            
+            BlockMgr mgr = BlockMgrFactory.create(fileset, ext, blockSize, readCacheSize, writeCacheSize) ;
+            return mgr ;
+        }
+        
+    }
+
+}
+

Propchange: incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/setup/Builder.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/setup/DatasetBuilderStd.java
URL: http://svn.apache.org/viewvc/incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/setup/DatasetBuilderStd.java?rev=1141487&r1=1141486&r2=1141487&view=diff
==============================================================================
--- incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/setup/DatasetBuilderStd.java (original)
+++ incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/setup/DatasetBuilderStd.java Thu Jun 30 11:33:47 2011
@@ -6,7 +6,6 @@
 
 package com.hp.hpl.jena.tdb.setup;
 
-import static com.hp.hpl.jena.tdb.sys.SystemTDB.SizeOfNodeId ;
 
 import java.util.Properties ;
 
@@ -18,24 +17,12 @@ import com.hp.hpl.jena.sparql.core.Datas
 import com.hp.hpl.jena.sparql.engine.optimizer.reorder.ReorderTransformation ;
 import com.hp.hpl.jena.tdb.TDB ;
 import com.hp.hpl.jena.tdb.TDBException ;
-import com.hp.hpl.jena.tdb.base.block.BlockMgr ;
-import com.hp.hpl.jena.tdb.base.block.BlockMgrFactory ;
-import com.hp.hpl.jena.tdb.base.file.FileFactory ;
 import com.hp.hpl.jena.tdb.base.file.FileSet ;
 import com.hp.hpl.jena.tdb.base.file.Location ;
 import com.hp.hpl.jena.tdb.base.file.MetaFile ;
 import com.hp.hpl.jena.tdb.base.objectfile.ObjectFile ;
-import com.hp.hpl.jena.tdb.base.record.RecordFactory ;
-import com.hp.hpl.jena.tdb.index.Index ;
-import com.hp.hpl.jena.tdb.index.RangeIndex ;
 import com.hp.hpl.jena.tdb.index.TupleIndex ;
-import com.hp.hpl.jena.tdb.index.TupleIndexRecord ;
-import com.hp.hpl.jena.tdb.index.bplustree.BPlusTree ;
-import com.hp.hpl.jena.tdb.index.bplustree.BPlusTreeParams ;
 import com.hp.hpl.jena.tdb.nodetable.NodeTable ;
-import com.hp.hpl.jena.tdb.nodetable.NodeTableCache ;
-import com.hp.hpl.jena.tdb.nodetable.NodeTableInline ;
-import com.hp.hpl.jena.tdb.nodetable.NodeTableNative ;
 import com.hp.hpl.jena.tdb.nodetable.NodeTupleTable ;
 import com.hp.hpl.jena.tdb.nodetable.NodeTupleTableConcrete ;
 import com.hp.hpl.jena.tdb.store.DatasetGraphTDB ;
@@ -88,15 +75,15 @@ public class DatasetBuilderStd implement
         
     protected void setStd()
     {
-        ObjectFileBuilder objectFileBuilder     = new ObjectFileBuilderStd() ;
+        ObjectFileBuilder objectFileBuilder     = new Builder.ObjectFileBuilderStd() ;
         // Depends on memory/file?
-        BlockMgrBuilder blockMgrBuilder         = new BlockMgrBuilderStd() ;
+        BlockMgrBuilder blockMgrBuilder         = new Builder.BlockMgrBuilderStd() ;
         
-        IndexBuilder indexBuilder               = new IndexBuilderStd(blockMgrBuilder, blockMgrBuilder) ;
-        RangeIndexBuilder rangeIndexBuilder     = new RangeIndexBuilderStd(blockMgrBuilder, blockMgrBuilder) ;
+        IndexBuilder indexBuilder               = new Builder.IndexBuilderStd(blockMgrBuilder, blockMgrBuilder) ;
+        RangeIndexBuilder rangeIndexBuilder     = new Builder.RangeIndexBuilderStd(blockMgrBuilder, blockMgrBuilder) ;
         
-        NodeTableBuilder nodeTableBuilder       = new NodeTableBuilderStd(indexBuilder, objectFileBuilder) ;
-        TupleIndexBuilder tupleIndexBuilder     = new TupleIndexBuilderStd(rangeIndexBuilder) ;
+        NodeTableBuilder nodeTableBuilder       = new Builder.NodeTableBuilderStd(indexBuilder, objectFileBuilder) ;
+        TupleIndexBuilder tupleIndexBuilder     = new Builder.TupleIndexBuilderStd(rangeIndexBuilder) ;
         
         set(nodeTableBuilder, tupleIndexBuilder, 
             indexBuilder, rangeIndexBuilder, 
@@ -330,196 +317,6 @@ public class DatasetBuilderStd implement
         return nt ;
     }
 
-    public static class TupleIndexBuilderStd implements TupleIndexBuilder
-    {
-        private final RangeIndexBuilder rangeIndexBuilder ;
-
-        public TupleIndexBuilderStd(RangeIndexBuilder rangeIndexBuilder)
-        {
-            this.rangeIndexBuilder = rangeIndexBuilder ;
-        }
-        
-        @Override
-        public TupleIndex buildTupleIndex(FileSet fileSet, ColumnMap colMap)
-        {
-            RecordFactory recordFactory = new RecordFactory(SizeOfNodeId*colMap.length(),0) ;
-            
-            RangeIndex rIdx = rangeIndexBuilder.buildRangeIndex(fileSet, recordFactory) ;
-            TupleIndex tIdx = new TupleIndexRecord(colMap.length(), colMap, recordFactory, rIdx) ;
-            return tIdx ;
-        }
-    }
-    
-    // ----
-    
-    public static class NodeTableBuilderStd implements NodeTableBuilder
-    {
-        private final IndexBuilder indexBuilder ;
-        private final ObjectFileBuilder objectFileBuilder ;
-        
-        public NodeTableBuilderStd(IndexBuilder indexBuilder, ObjectFileBuilder objectFileBuilder)
-        { 
-            this.indexBuilder = indexBuilder ;
-            this.objectFileBuilder = objectFileBuilder ;
-        }
-        
-        @Override
-        public NodeTable buildNodeTable(FileSet fsIndex, FileSet fsObjectFile, int sizeNode2NodeIdCache, int sizeNodeId2NodeCache)
-        {
-            RecordFactory recordFactory = new RecordFactory(SystemTDB.LenNodeHash, SystemTDB.SizeOfNodeId) ;
-            Index idx = indexBuilder.buildIndex(fsIndex, recordFactory) ;
-            ObjectFile objectFile = objectFileBuilder.buildObjectFile(fsObjectFile, Names.extNodeData) ;
-            NodeTable nodeTable = new NodeTableNative(idx, objectFile) ;
-            nodeTable = NodeTableCache.create(nodeTable, sizeNode2NodeIdCache, sizeNodeId2NodeCache) ;
-            nodeTable = NodeTableInline.create(nodeTable) ;
-            return nodeTable ;
-        }
-    }
-    // ----
-    
-    public static class IndexBuilderStd implements IndexBuilder
-    {
-        protected BlockMgrBuilder bMgrNodes ;
-        protected BlockMgrBuilder bMgrRecords ;
-        protected RangeIndexBuilderStd other ;
-
-        public IndexBuilderStd(BlockMgrBuilder bMgrNodes, BlockMgrBuilder bMgrRecords)
-        {
-            this.bMgrNodes = bMgrNodes ;
-            this.bMgrRecords = bMgrRecords ;
-            this.other = new RangeIndexBuilderStd(bMgrNodes, bMgrRecords) ;
-        }
-        
-        @Override
-        public Index buildIndex(FileSet fileSet, RecordFactory recordFactory)
-        {
-            // Cheap.
-            return other.buildRangeIndex(fileSet, recordFactory) ;
-        }
-    }
-    
-    public static class RangeIndexBuilderStd implements RangeIndexBuilder
-    {
-        private BlockMgrBuilder bMgrNodes ;
-        private BlockMgrBuilder bMgrRecords ;
-        public RangeIndexBuilderStd( BlockMgrBuilder blockMgrBuilderNodes,
-                                     BlockMgrBuilder blockMgrBuilderRecords)
-        {
-            this.bMgrNodes = blockMgrBuilderNodes ;
-            this.bMgrRecords = blockMgrBuilderRecords ;
-        }
-
-        @Override
-        public RangeIndex buildRangeIndex(FileSet fileSet, RecordFactory recordFactory)
-        {
-            // ---- BPlusTree based range index.
-            // Get parameters.
-            /*
-             * tdb.bplustree.record=24,0
-             * tdb.bplustree.blksize=
-             * tdb.bplustree.order=
-             */
-
-            // TODO Respect tdb.bplustree.record=24,0 (and so don't need RecordFactory argument).
-            // No - Node table resorc size if different.
-            
-            MetaFile metafile = fileSet.getMetaFile() ;
-            //RecordFactory recordFactory = new RecordFactory(keyLength, valueLength) ; // makeRecordFactory(metafile, "tdb.bplustree.record", dftKeyLength, dftValueLength) ;
-
-            String blkSizeStr = metafile.getOrSetDefault("tdb.bplustree.blksize", Integer.toString(SystemTDB.BlockSize)) ; 
-            int blkSize = parseInt(blkSizeStr, "Bad block size") ;
-
-            // IndexBuilder.getBPlusTree().newRangeIndex(fs, recordFactory) ;
-            // Does not set order.
-
-            int calcOrder = BPlusTreeParams.calcOrder(blkSize, recordFactory.recordLength()) ;
-            String orderStr = metafile.getOrSetDefault("tdb.bplustree.order", Integer.toString(calcOrder)) ;
-            int order = parseInt(orderStr, "Bad order for B+Tree") ;
-            if ( order != calcOrder )
-                error(log, "Wrong order (" + order + "), calculated = "+calcOrder) ;
-
-            //        int readCacheSize = PropertyUtils.getPropertyAsInteger(config, Names.pBlockReadCacheSize) ;
-            //        int writeCacheSize = PropertyUtils.getPropertyAsInteger(config, Names.pBlockWriteCacheSize) ;
-
-            int readCacheSize = SystemTDB.BlockReadCacheSize ;
-            int writeCacheSize = SystemTDB.BlockWriteCacheSize ;
-
-            RangeIndex rIndex = createBPTree(fileSet, order, blkSize, readCacheSize, writeCacheSize, bMgrNodes, bMgrRecords, recordFactory) ;
-            
-            metafile.flush() ;
-            return rIndex ;
-        }
-        
-        /** Knowing all the parameters, create a B+Tree */
-        private RangeIndex createBPTree(FileSet fileset, int order, 
-                                        int blockSize,
-                                        int readCacheSize, int writeCacheSize,
-                                        BlockMgrBuilder blockMgrBuilderNodes,
-                                        BlockMgrBuilder blockMgrBuilderRecords,
-                                        RecordFactory factory)
-        {
-            // ---- Checking
-            if (blockSize < 0 && order < 0) throw new IllegalArgumentException("Neither blocksize nor order specified") ;
-            if (blockSize >= 0 && order < 0) order = BPlusTreeParams.calcOrder(blockSize, factory.recordLength()) ;
-            if (blockSize >= 0 && order >= 0)
-            {
-                int order2 = BPlusTreeParams.calcOrder(blockSize, factory.recordLength()) ;
-                if (order != order2) throw new IllegalArgumentException("Wrong order (" + order + "), calculated = "
-                                                                        + order2) ;
-            }
-        
-            // Iffy - does not allow for slop.
-            if (blockSize < 0 && order >= 0)
-            {
-                // Only in-memory.
-                blockSize = BPlusTreeParams.calcBlockSize(order, factory) ;
-            }
-        
-            BPlusTreeParams params = new BPlusTreeParams(order, factory) ;
-            
-//            BlockMgr blkMgrNodes = BlockMgrFactory.create(fileset, Names.bptExt1, blockSize, readCacheSize, writeCacheSize) ;
-//            BlockMgr blkMgrRecords = BlockMgrFactory.create(fileset, Names.bptExt2, blockSize, readCacheSize, writeCacheSize) ;
-            BlockMgr blkMgrNodes = blockMgrBuilderNodes.buildBlockMgr(fileset, Names.bptExtTree, blockSize) ;
-            BlockMgr blkMgrRecords = blockMgrBuilderRecords.buildBlockMgr(fileset, Names.bptExtRecords, blockSize) ;
-            
-            return BPlusTree.create(params, blkMgrNodes, blkMgrRecords) ;
-        }
-
-    }
-    
-    
-    public static class ObjectFileBuilderStd implements ObjectFileBuilder
-    {
-        @Override
-        public ObjectFile buildObjectFile(FileSet fileSet, String ext)
-        {
-            if ( fileSet.isMem() )
-                return FileFactory.createObjectFileMem() ;
-            String filename = fileSet.filename(ext) ;
-            return FileFactory.createObjectFileDisk(filename) ;
-        }
-    }
-    
-    public static class BlockMgrBuilderStd implements BlockMgrBuilder
-    {
-        public BlockMgrBuilderStd() {}
-
-        @Override
-        public BlockMgr buildBlockMgr(FileSet fileset, String ext, int blockSize)
-        {
-            //int readCacheSize = PropertyUtils.getPropertyAsInteger(config, Names.pBlockReadCacheSize) ;
-            //int writeCacheSize = PropertyUtils.getPropertyAsInteger(config, Names.pBlockWriteCacheSize) ;
-            
-            int readCacheSize = SystemTDB.BlockReadCacheSize ;
-            int writeCacheSize = SystemTDB.BlockWriteCacheSize ;
-            
-            BlockMgr mgr = BlockMgrFactory.create(fileset, ext, blockSize, readCacheSize, writeCacheSize) ;
-            return mgr ;
-        }
-        
-    }
-    
-
     private static void error(Logger log, String msg)
     {
         if ( log != null )
@@ -532,11 +329,9 @@ public class DatasetBuilderStd implement
         try { return Integer.parseInt(str) ; }
         catch (NumberFormatException ex) { error(log, messageBase+": "+str) ; return -1 ; }
     }
-
 }
 
 
-
 /*
  * (c) Copyright 2011 Epimorphics Ltd.
  * All rights reserved.

Modified: incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/DatasetBuilderTxn.java
URL: http://svn.apache.org/viewvc/incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/DatasetBuilderTxn.java?rev=1141487&r1=1141486&r2=1141487&view=diff
==============================================================================
--- incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/DatasetBuilderTxn.java (original)
+++ incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/DatasetBuilderTxn.java Thu Jun 30 11:33:47 2011
@@ -27,6 +27,7 @@ import com.hp.hpl.jena.tdb.base.objectfi
 import com.hp.hpl.jena.tdb.nodetable.NodeTable ;
 import com.hp.hpl.jena.tdb.nodetable.NodeTableLogger ;
 import com.hp.hpl.jena.tdb.setup.BlockMgrBuilder ;
+import com.hp.hpl.jena.tdb.setup.Builder ;
 import com.hp.hpl.jena.tdb.setup.DatasetBuilderStd ;
 import com.hp.hpl.jena.tdb.setup.IndexBuilder ;
 import com.hp.hpl.jena.tdb.setup.NodeTableBuilder ;
@@ -75,13 +76,13 @@ public class DatasetBuilderTxn extends D
         BlockMgrBuilder blockMgrBuilder = new BlockMgrBuilderTx() ;
 
         // Add track(...) to log.
-        IndexBuilder indexBuilder = new IndexBuilderStd(blockMgrBuilder, blockMgrBuilder) ;
+        IndexBuilder indexBuilder = new Builder.IndexBuilderStd(blockMgrBuilder, blockMgrBuilder) ;
 
         // Add logging to a BlockMgrBuilder (here, just the records par of the B+Tree
         //RangeIndexBuilder rangeIndexBuilder = new RangeIndexBuilderStd(blockMgrBuilder, logging(blockMgrBuilder)) ;
-        RangeIndexBuilder rangeIndexBuilder = new RangeIndexBuilderStd(blockMgrBuilder, blockMgrBuilder) ;
+        RangeIndexBuilder rangeIndexBuilder = new Builder.RangeIndexBuilderStd(blockMgrBuilder, blockMgrBuilder) ;
 
-        NodeTableBuilder nodeTableBuilder = new NodeTableBuilderStd(indexBuilder, objectFileBuilder)
+        NodeTableBuilder nodeTableBuilder = new Builder.NodeTableBuilderStd(indexBuilder, objectFileBuilder)
         {
             // track all NodeTable operations
             @Override
@@ -95,7 +96,7 @@ public class DatasetBuilderTxn extends D
             }
         } ; 
         
-        TupleIndexBuilder tupleIndexBuilder = new TupleIndexBuilderStd(rangeIndexBuilder) ;
+        TupleIndexBuilder tupleIndexBuilder = new Builder.TupleIndexBuilderStd(rangeIndexBuilder) ;
         set(nodeTableBuilder, tupleIndexBuilder, indexBuilder, rangeIndexBuilder, blockMgrBuilder, objectFileBuilder) ;
     }
     
@@ -142,7 +143,7 @@ public class DatasetBuilderTxn extends D
 
     class ObjectFileBuilderTx implements ObjectFileBuilder
     {
-        ObjectFileBuilder base = new ObjectFileBuilderStd() ;
+        ObjectFileBuilder base = new Builder.ObjectFileBuilderStd() ;
         @Override
         public ObjectFile buildObjectFile(FileSet fileSet, String ext)
         {
@@ -174,7 +175,7 @@ public class DatasetBuilderTxn extends D
 
     class BlockMgrBuilderTx implements BlockMgrBuilder
     {
-        BlockMgrBuilder base = new BlockMgrBuilderStd() ;
+        BlockMgrBuilder base = new Builder.BlockMgrBuilderStd() ;
         @Override
         public BlockMgr buildBlockMgr(FileSet fileSet, String ext, int blockSize)
         {