You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ch...@apache.org on 2010/01/21 17:37:37 UTC
svn commit: r901763 - in /activemq/trunk:
activemq-core/src/main/java/org/apache/activemq/store/kahadb/KahaDBStore.java
kahadb/src/main/java/org/apache/kahadb/index/BTreeIndex.java
kahadb/src/main/java/org/apache/kahadb/index/BTreeNode.java
Author: chirino
Date: Thu Jan 21 16:37:37 2010
New Revision: 901763
URL: http://svn.apache.org/viewvc?rev=901763&view=rev
Log:
Adding a isEmpty() method to the btree indexes.. related to the fix created for AMQ-2512
Modified:
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadb/KahaDBStore.java
activemq/trunk/kahadb/src/main/java/org/apache/kahadb/index/BTreeIndex.java
activemq/trunk/kahadb/src/main/java/org/apache/kahadb/index/BTreeNode.java
Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadb/KahaDBStore.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadb/KahaDBStore.java?rev=901763&r1=901762&r2=901763&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadb/KahaDBStore.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadb/KahaDBStore.java Thu Jan 21 16:37:37 2010
@@ -207,13 +207,7 @@
public Boolean execute(Transaction tx) throws IOException {
// Iterate through all index entries to get a count of messages in the destination.
StoredDestination sd = getStoredDestination(dest, tx);
- boolean result = true;
- for (Iterator<Entry<Location, Long>> iterator = sd.locationIndex.iterator(tx); iterator.hasNext();) {
- iterator.next();
- result = false;
- break;
- }
- return result;
+ return sd.locationIndex.isEmpty(tx);
}
});
}
Modified: activemq/trunk/kahadb/src/main/java/org/apache/kahadb/index/BTreeIndex.java
URL: http://svn.apache.org/viewvc/activemq/trunk/kahadb/src/main/java/org/apache/kahadb/index/BTreeIndex.java?rev=901763&r1=901762&r2=901763&view=diff
==============================================================================
--- activemq/trunk/kahadb/src/main/java/org/apache/kahadb/index/BTreeIndex.java (original)
+++ activemq/trunk/kahadb/src/main/java/org/apache/kahadb/index/BTreeIndex.java Thu Jan 21 16:37:37 2010
@@ -220,6 +220,10 @@
pw.flush();
}
+ synchronized public boolean isEmpty(final Transaction tx) throws IOException {
+ return getRoot(tx).isEmpty(tx);
+ }
+
synchronized public Iterator<Map.Entry<Key,Value>> iterator(final Transaction tx) throws IOException {
return getRoot(tx).iterator(tx);
}
Modified: activemq/trunk/kahadb/src/main/java/org/apache/kahadb/index/BTreeNode.java
URL: http://svn.apache.org/viewvc/activemq/trunk/kahadb/src/main/java/org/apache/kahadb/index/BTreeNode.java?rev=901763&r1=901762&r2=901763&view=diff
==============================================================================
--- activemq/trunk/kahadb/src/main/java/org/apache/kahadb/index/BTreeNode.java (original)
+++ activemq/trunk/kahadb/src/main/java/org/apache/kahadb/index/BTreeNode.java Thu Jan 21 16:37:37 2010
@@ -507,6 +507,10 @@
}
}
+ public boolean isEmpty(final Transaction tx) throws IOException {
+ return keys.length==0;
+ }
+
public void visit(Transaction tx, BTreeVisitor<Key, Value> visitor) throws IOException {
if (visitor == null) {
throw new IllegalArgumentException("Visitor cannot be null");