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]