[jboss-cvs] JBoss Messaging SVN: r5750 - in trunk: src/main/org/jboss/messaging/core/postoffice/impl and 1 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Jan 28 05:53:23 EST 2009
Author: ataylor
Date: 2009-01-28 05:53:22 -0500 (Wed, 28 Jan 2009)
New Revision: 5750
Modified:
trunk/src/main/org/jboss/messaging/core/postoffice/AddressManager.java
trunk/src/main/org/jboss/messaging/core/postoffice/impl/PostOfficeImpl.java
trunk/src/main/org/jboss/messaging/core/postoffice/impl/SimpleAddressManager.java
trunk/src/main/org/jboss/messaging/core/postoffice/impl/WildcardAddressManager.java
trunk/tests/src/org/jboss/messaging/tests/unit/core/postoffice/impl/SimpleAddressManagerTest.java
Log:
more address manager tweaks
Modified: trunk/src/main/org/jboss/messaging/core/postoffice/AddressManager.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/postoffice/AddressManager.java 2009-01-28 08:43:12 UTC (rev 5749)
+++ trunk/src/main/org/jboss/messaging/core/postoffice/AddressManager.java 2009-01-28 10:53:22 UTC (rev 5750)
@@ -35,16 +35,14 @@
*/
public interface AddressManager
{
- boolean addMapping(Binding binding);
+ boolean addBinding(Binding binding);
+ Binding removeBinding(SimpleString queueName);
+
Bindings getBindings(SimpleString address);
void clear();
- Binding removeBinding(SimpleString queueName);
-
- boolean removeMapping(SimpleString address, SimpleString queueName);
-
boolean addDestination(SimpleString address);
boolean removeDestination(SimpleString address);
Modified: trunk/src/main/org/jboss/messaging/core/postoffice/impl/PostOfficeImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/postoffice/impl/PostOfficeImpl.java 2009-01-28 08:43:12 UTC (rev 5749)
+++ trunk/src/main/org/jboss/messaging/core/postoffice/impl/PostOfficeImpl.java 2009-01-28 10:53:22 UTC (rev 5750)
@@ -637,7 +637,7 @@
private void addBindingInMemory(final Binding binding) throws Exception
{
- boolean exists = addressManager.addMapping(binding);
+ boolean exists = addressManager.addBinding(binding);
if (!exists)
{
@@ -661,7 +661,7 @@
{
Binding binding = addressManager.removeBinding(bindingName);
- if (addressManager.removeMapping(binding.getAddress(), bindingName))
+ if (binding != null)
{
managementService.unregisterAddress(binding.getAddress());
}
Modified: trunk/src/main/org/jboss/messaging/core/postoffice/impl/SimpleAddressManager.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/postoffice/impl/SimpleAddressManager.java 2009-01-28 08:43:12 UTC (rev 5749)
+++ trunk/src/main/org/jboss/messaging/core/postoffice/impl/SimpleAddressManager.java 2009-01-28 10:53:22 UTC (rev 5750)
@@ -48,7 +48,7 @@
private final ConcurrentMap<SimpleString, Binding> nameMap = new ConcurrentHashMap<SimpleString, Binding>();
- public boolean addMapping(final Binding binding)
+ public boolean addBinding(final Binding binding)
{
if (nameMap.putIfAbsent(binding.getUniqueName(), binding) != null)
{
@@ -57,6 +57,19 @@
return addMappingInternal(binding.getAddress(), binding);
}
+ public Binding removeBinding(final SimpleString bindableName)
+ {
+ Binding binding = nameMap.remove(bindableName);
+
+ if (binding == null)
+ {
+ throw new IllegalStateException("Queue is not bound " + bindableName);
+ }
+
+ removeBindingInternal(binding.getAddress(), bindableName);
+ return binding;
+ }
+
public Bindings getBindings(final SimpleString address)
{
return mappings.get(address);
@@ -99,19 +112,8 @@
mappings.clear();
}
- public Binding removeBinding(final SimpleString bindableName)
+ protected void removeBindingInternal(final SimpleString address, final SimpleString bindableName)
{
- Binding binding = nameMap.remove(bindableName);
-
- if (binding == null)
- {
- throw new IllegalStateException("Queue is not bound " + bindableName);
- }
- return binding;
- }
-
- public boolean removeMapping(final SimpleString address, final SimpleString bindableName)
- {
Bindings bindings = mappings.get(address);
if (bindings != null)
@@ -122,11 +124,7 @@
{
mappings.remove(address);
}
-
- return true;
}
-
- return false;
}
protected Binding removeMapping(final SimpleString bindableName, final Bindings bindings)
Modified: trunk/src/main/org/jboss/messaging/core/postoffice/impl/WildcardAddressManager.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/postoffice/impl/WildcardAddressManager.java 2009-01-28 08:43:12 UTC (rev 5749)
+++ trunk/src/main/org/jboss/messaging/core/postoffice/impl/WildcardAddressManager.java 2009-01-28 10:53:22 UTC (rev 5750)
@@ -92,9 +92,9 @@
* @param binding the binding to add
* @return true if the address was a new mapping
*/
- public boolean addMapping(final Binding binding)
+ public boolean addBinding(final Binding binding)
{
- boolean exists = super.addMapping(binding);
+ boolean exists = super.addBinding(binding);
if (!exists)
{
Address add = addAndUpdateAddressMap(binding.getAddress());
@@ -125,16 +125,15 @@
* If the address is a wild card then the binding will be removed from the actual mappings for any linked address.
* otherwise it will be removed as normal.
*
- * @param address the address to remove the binding from
* @param bindableName the name of the queue for the binding to remove
* @return true if this was the last mapping for a specific address
*/
- public boolean removeMapping(final SimpleString address, final SimpleString bindableName)
+ public Binding removeBinding(final SimpleString bindableName)
{
- boolean removed = super.removeMapping(address, bindableName);
- if (removed)
+ Binding binding = super.removeBinding(bindableName);
+ if (binding != null)
{
- Address add = getAddress(address);
+ Address add = getAddress(binding.getAddress());
if (!add.containsWildCard())
{
for (Address destination : add.getLinkedAddresses())
@@ -144,7 +143,7 @@
{
for (Binding b : bindings.getBindings())
{
- super.removeMapping(address, b.getUniqueName());
+ super.removeBindingInternal(binding.getAddress(), b.getUniqueName());
}
}
}
@@ -153,12 +152,12 @@
{
for (Address destination : add.getLinkedAddresses())
{
- super.removeMapping(destination.getAddress(), bindableName);
+ super.removeBindingInternal(destination.getAddress(), bindableName);
}
}
removeAndUpdateAddressMap(add);
}
- return removed;
+ return binding;
}
public boolean containsDestination(final SimpleString address)
Modified: trunk/tests/src/org/jboss/messaging/tests/unit/core/postoffice/impl/SimpleAddressManagerTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/core/postoffice/impl/SimpleAddressManagerTest.java 2009-01-28 08:43:12 UTC (rev 5749)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/postoffice/impl/SimpleAddressManagerTest.java 2009-01-28 10:53:22 UTC (rev 5750)
@@ -229,7 +229,7 @@
// EasyMock.expect(q.getName()).andStubReturn(qName);
// QueueBindingImpl b1 = new QueueBindingImpl(address, q);
// EasyMock.replay(q);
-// sam.addMapping(address, b1);
+// sam.addBinding(address, b1);
// assertNotNull(sam.getBindings(address));
// assertEquals(sam.getBindings(address).getBindings().size(), 1);
// assertEquals(sam.getBindings(address).getBindings().get(0), b1);
@@ -244,7 +244,7 @@
// EasyMock.expect(q.getName()).andStubReturn(qName);
// QueueBindingImpl b1 = new QueueBindingImpl(address, q);
// EasyMock.replay(q);
-// sam.addMapping(address, b1);
+// sam.addBinding(address, b1);
// assertNotNull(sam.getBindings(address));
// assertEquals(sam.getBindings(address).getBindings().size(), 1);
// assertEquals(sam.getBindings(address).getBindings().get(0), b1);
@@ -277,11 +277,11 @@
// QueueBindingImpl b4 = new QueueBindingImpl(address, q4);
// QueueBindingImpl b5 = new QueueBindingImpl(address, q5);
// EasyMock.replay(q, q2, q3, q4, q5);
-// sam.addMapping(address, b1);
-// sam.addMapping(address, b2);
-// sam.addMapping(address, b3);
-// sam.addMapping(address, b4);
-// sam.addMapping(address, b5);
+// sam.addBinding(address, b1);
+// sam.addBinding(address, b2);
+// sam.addBinding(address, b3);
+// sam.addBinding(address, b4);
+// sam.addBinding(address, b5);
// assertNotNull(sam.getBindings(address));
// assertEquals(sam.getBindings(address).getBindings().size(), 5);
// assertEquals(sam.getBindings(address).getBindings().get(0), b1);
@@ -316,11 +316,11 @@
// QueueBindingImpl b4 = new QueueBindingImpl(address, q4);
// QueueBindingImpl b5 = new QueueBindingImpl(address, q5);
// EasyMock.replay(q, q2, q3, q4, q5);
-// sam.addMapping(address, b1);
-// sam.addMapping(address, b2);
-// sam.addMapping(address, b3);
-// sam.addMapping(address, b4);
-// sam.addMapping(address, b5);
+// sam.addBinding(address, b1);
+// sam.addBinding(address, b2);
+// sam.addBinding(address, b3);
+// sam.addBinding(address, b4);
+// sam.addBinding(address, b5);
// assertNotNull(sam.getBindings(address));
// assertEquals(sam.getBindings(address).getBindings().size(), 5);
// assertEquals(sam.getBindings(address).getBindings().get(0), b1);
@@ -366,11 +366,11 @@
// QueueBindingImpl b4 = new QueueBindingImpl(address4, q4);
// QueueBindingImpl b5 = new QueueBindingImpl(address5, q5);
// EasyMock.replay(q, q2, q3, q4, q5);
-// sam.addMapping(address, b1);
-// sam.addMapping(address2, b2);
-// sam.addMapping(address3, b3);
-// sam.addMapping(address4, b4);
-// sam.addMapping(address5, b5);
+// sam.addBinding(address, b1);
+// sam.addBinding(address2, b2);
+// sam.addBinding(address3, b3);
+// sam.addBinding(address4, b4);
+// sam.addBinding(address5, b5);
// assertNotNull(sam.getBindings(address));
// assertEquals(sam.getBindings(address).getBindings().size(), 1);
// assertEquals(sam.getBindings(address).getBindings().get(0), b1);
@@ -417,11 +417,11 @@
// QueueBindingImpl b4 = new QueueBindingImpl(address4, q4);
// QueueBindingImpl b5 = new QueueBindingImpl(address5, q5);
// EasyMock.replay(q, q2, q3, q4, q5);
-// sam.addMapping(address, b1);
-// sam.addMapping(address2, b2);
-// sam.addMapping(address3, b3);
-// sam.addMapping(address4, b4);
-// sam.addMapping(address5, b5);
+// sam.addBinding(address, b1);
+// sam.addBinding(address2, b2);
+// sam.addBinding(address3, b3);
+// sam.addBinding(address4, b4);
+// sam.addBinding(address5, b5);
// assertNotNull(sam.getBindings(address));
// assertEquals(sam.getBindings(address).getBindings().size(), 1);
// assertEquals(sam.getBindings(address).getBindings().get(0), b1);
@@ -504,16 +504,16 @@
// QueueBindingImpl b9 = new QueueBindingImpl(address9, q9);
// QueueBindingImpl b10 = new QueueBindingImpl(address10, q10);
// EasyMock.replay(q);
-// sam.addMapping(address, b1);
-// sam.addMapping(address2, b2);
-// sam.addMapping(address, b3);
-// sam.addMapping(address2, b4);
-// sam.addMapping(address, b5);
-// sam.addMapping(address2, b6);
-// sam.addMapping(address, b7);
-// sam.addMapping(address2, b8);
-// sam.addMapping(address, b9);
-// sam.addMapping(address2, b10);
+// sam.addBinding(address, b1);
+// sam.addBinding(address2, b2);
+// sam.addBinding(address, b3);
+// sam.addBinding(address2, b4);
+// sam.addBinding(address, b5);
+// sam.addBinding(address2, b6);
+// sam.addBinding(address, b7);
+// sam.addBinding(address2, b8);
+// sam.addBinding(address, b9);
+// sam.addBinding(address2, b10);
// assertNotNull(sam.getBindings(address));
// assertEquals(sam.getBindings(address).getBindings().size(), 5);
// assertEquals(sam.getBindings(address).getBindings().get(0), b1);
@@ -584,16 +584,16 @@
// QueueBindingImpl b9 = new QueueBindingImpl(address9, q9);
// QueueBindingImpl b10 = new QueueBindingImpl(address10, q10);
// EasyMock.replay(q, q2, q3, q4, q5);
-// sam.addMapping(address, b1);
-// sam.addMapping(address2, b2);
-// sam.addMapping(address, b3);
-// sam.addMapping(address2, b4);
-// sam.addMapping(address, b5);
-// sam.addMapping(address2, b6);
-// sam.addMapping(address, b7);
-// sam.addMapping(address2, b8);
-// sam.addMapping(address, b9);
-// sam.addMapping(address2, b10);
+// sam.addBinding(address, b1);
+// sam.addBinding(address2, b2);
+// sam.addBinding(address, b3);
+// sam.addBinding(address2, b4);
+// sam.addBinding(address, b5);
+// sam.addBinding(address2, b6);
+// sam.addBinding(address, b7);
+// sam.addBinding(address2, b8);
+// sam.addBinding(address, b9);
+// sam.addBinding(address2, b10);
// assertNotNull(sam.getBindings(address));
// assertEquals(sam.getBindings(address).getBindings().size(), 5);
// assertEquals(sam.getBindings(address).getBindings().get(0), b1);
More information about the jboss-cvs-commits
mailing list