Author: elecharny
Date: Mon Mar 11 23:01:02 2013
New Revision: 1455359

URL: http://svn.apache.org/r1455359
Log:
o Added some method to get access to the managed BTrees in the RM
o Added some check on the RM test

Modified:
    
labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/store/RecordManager.java
    
labs/mavibot/trunk/mavibot/src/test/java/org/apache/mavibot/btree/store/RecordManagerTest.java

Modified: 
labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/store/RecordManager.java
URL: 
http://svn.apache.org/viewvc/labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/store/RecordManager.java?rev=1455359&r1=1455358&r2=1455359&view=diff
==============================================================================
--- 
labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/store/RecordManager.java
 (original)
+++ 
labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/store/RecordManager.java
 Mon Mar 11 23:01:02 2013
@@ -27,8 +27,10 @@ import java.nio.ByteBuffer;
 import java.nio.channels.FileChannel;
 import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 import org.apache.mavibot.btree.BTree;
 import org.apache.mavibot.btree.BTreeFactory;
@@ -1480,4 +1482,44 @@ public class RecordManager
             }
         }
     }
+
+
+    /**
+     * Get the number of managed trees. We don't count the CopiedPage BTree.
+     * 
+     * @return The number of managed BTrees
+     */
+    public int getNbManagedTrees()
+    {
+        return nbBtree - 1;
+    }
+
+
+    /**
+     * Get the managed trees. We don't return the CopiedPage BTree.
+     * 
+     * @return The managed BTrees
+     */
+    public Set<String> getManagedTrees()
+    {
+        Set<String> btrees = new HashSet<String>();
+
+        for ( String btree : managedBTrees.keySet() )
+        {
+            btrees.add( btree );
+        }
+
+        return btrees;
+    }
+
+
+    /**
+     * Get one managed trees, knowing its name. 
+     * 
+     * @return The managed BTrees
+     */
+    public BTree getManagedTree( String name )
+    {
+        return managedBTrees.get( name );
+    }
 }

Modified: 
labs/mavibot/trunk/mavibot/src/test/java/org/apache/mavibot/btree/store/RecordManagerTest.java
URL: 
http://svn.apache.org/viewvc/labs/mavibot/trunk/mavibot/src/test/java/org/apache/mavibot/btree/store/RecordManagerTest.java?rev=1455359&r1=1455358&r2=1455359&view=diff
==============================================================================
--- 
labs/mavibot/trunk/mavibot/src/test/java/org/apache/mavibot/btree/store/RecordManagerTest.java
 (original)
+++ 
labs/mavibot/trunk/mavibot/src/test/java/org/apache/mavibot/btree/store/RecordManagerTest.java
 Mon Mar 11 23:01:02 2013
@@ -20,10 +20,13 @@
 package org.apache.mavibot.btree.store;
 
 
+import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 import java.io.File;
 import java.io.IOException;
+import java.util.Set;
 
 import org.apache.mavibot.btree.BTree;
 import org.apache.mavibot.btree.exception.BTreeAlreadyManagedException;
@@ -50,20 +53,35 @@ public class RecordManagerTest
 
         assertNotNull( recordManager );
 
-        //recordManager.dump();
-
         // Create a new BTree
         BTree<Long, String> btree = new BTree<Long, String>( "test", new 
LongSerializer(), new StringSerializer() );
 
         // And make it managed by the RM
         recordManager.manage( btree );
 
-        //recordManager.dump();
-
         // Close the recordManager
         recordManager.close();
 
         // Now, try to reload the file back
         RecordManager recordManager1 = new RecordManager( tempFileName );
+
+        assertEquals( 1, recordManager1.getNbManagedTrees() );
+
+        Set<String> managedBTrees = recordManager1.getManagedTrees();
+
+        assertEquals( 1, managedBTrees.size() );
+        assertTrue( managedBTrees.contains( "test" ) );
+
+        BTree btree1 = recordManager1.getManagedTree( "test" );
+
+        assertNotNull( btree1 );
+        assertEquals( btree.getComparator().getClass().getName(), 
btree1.getComparator().getClass().getName() );
+        assertEquals( btree.getFile(), btree1.getFile() );
+        assertEquals( btree.getKeySerializer().getClass().getName(), 
btree1.getKeySerializer().getClass().getName() );
+        assertEquals( btree.getName(), btree1.getName() );
+        assertEquals( btree.getNbElems(), btree1.getNbElems() );
+        assertEquals( btree.getPageSize(), btree1.getPageSize() );
+        assertEquals( btree.getRevision(), btree1.getRevision() );
+        assertEquals( btree.getValueSerializer().getClass().getName(), 
btree1.getValueSerializer().getClass().getName() );
     }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to