Author: jmesnil
Date: 2009-10-01 10:01:21 -0400 (Thu, 01 Oct 2009)
New Revision: 8025
Modified:
trunk/src/main/org/hornetq/core/management/HornetQServerControl.java
trunk/src/main/org/hornetq/core/management/impl/HornetQServerControlImpl.java
trunk/tests/src/org/hornetq/tests/integration/management/HornetQServerControlTest.java
trunk/tests/src/org/hornetq/tests/integration/management/HornetQServerControlUsingCoreTest.java
trunk/tests/src/org/hornetq/tests/unit/core/deployers/impl/QueueDeployerTest.java
Log:
HORNETQ-151: an empty string must be considered as a null filter from management API
applied patch by Sergej Z
* allow empty filter strings and treat it as a null filter
* added overloaded methods without the filter parameter
* tests
Modified: trunk/src/main/org/hornetq/core/management/HornetQServerControl.java
===================================================================
--- trunk/src/main/org/hornetq/core/management/HornetQServerControl.java 2009-10-01
13:22:19 UTC (rev 8024)
+++ trunk/src/main/org/hornetq/core/management/HornetQServerControl.java 2009-10-01
14:01:21 UTC (rev 8025)
@@ -132,12 +132,17 @@
@Operation(desc = "Create a queue with the specified address", impact =
ACTION)
void createQueue(@Parameter(name = "address", desc = "Address of the
queue") String address,
@Parameter(name = "name", desc = "Name of the
queue") String name) throws Exception;
-
+
@Operation(desc = "Create a queue", impact = ACTION)
void createQueue(@Parameter(name = "address", desc = "Address of the
queue") String address,
@Parameter(name = "name", desc = "Name of the
queue") String name,
@Parameter(name = "filter", desc = "Filter of the
queue") String filter,
@Parameter(name = "durable", desc = "Is the queue
durable?") boolean durable) throws Exception;
+
+ @Operation(desc = "Create a queue with the specified address, name and
durability", impact = ACTION)
+ void createQueue(@Parameter(name = "address", desc = "Address of the
queue") String address,
+ @Parameter(name = "name", desc = "Name of the
queue") String name,
+ @Parameter(name = "durable", desc = "Is the queue
durable?") boolean durable) throws Exception;
@Operation(desc = "Deploy a queue", impact = ACTION)
void deployQueue(@Parameter(name = "address", desc = "Address of the
queue") String address,
Modified: trunk/src/main/org/hornetq/core/management/impl/HornetQServerControlImpl.java
===================================================================
---
trunk/src/main/org/hornetq/core/management/impl/HornetQServerControlImpl.java 2009-10-01
13:22:19 UTC (rev 8024)
+++
trunk/src/main/org/hornetq/core/management/impl/HornetQServerControlImpl.java 2009-10-01
14:01:21 UTC (rev 8025)
@@ -265,10 +265,19 @@
{
server.createQueue(new SimpleString(address), new SimpleString(name), null, true,
false);
}
+
+ public void createQueue(final String address, final String name, final boolean
durable) throws Exception
+ {
+ server.createQueue(new SimpleString(address), new SimpleString(name), null,
durable, false);
+ }
public void createQueue(final String address, final String name, final String
filterStr, final boolean durable) throws Exception
{
- SimpleString filter = filterStr == null ? null : new SimpleString(filterStr);
+ SimpleString filter = null;
+ if (filterStr != null && !filterStr.trim().equals(""))
+ {
+ filter = new SimpleString(filterStr);
+ }
server.createQueue(new SimpleString(address), new SimpleString(name), filter,
durable, false);
}
Modified:
trunk/tests/src/org/hornetq/tests/integration/management/HornetQServerControlTest.java
===================================================================
---
trunk/tests/src/org/hornetq/tests/integration/management/HornetQServerControlTest.java 2009-10-01
13:22:19 UTC (rev 8024)
+++
trunk/tests/src/org/hornetq/tests/integration/management/HornetQServerControlTest.java 2009-10-01
14:01:21 UTC (rev 8025)
@@ -200,7 +200,32 @@
checkNoResource(ObjectNames.getQueueObjectName(address, name));
}
+
+ public void testCreateAndDestroyQueue_3() throws Exception
+ {
+ SimpleString address = RandomUtil.randomSimpleString();
+ SimpleString name = RandomUtil.randomSimpleString();
+ boolean durable = true;
+ HornetQServerControl serverControl = createManagementControl();
+
+ checkNoResource(ObjectNames.getQueueObjectName(address, name));
+
+ serverControl.createQueue(address.toString(), name.toString(), durable);
+
+ checkResource(ObjectNames.getQueueObjectName(address, name));
+ QueueControl queueControl = ManagementControlHelper.createQueueControl(address,
name, mbeanServer);
+ assertEquals(address.toString(), queueControl.getAddress());
+ assertEquals(name.toString(), queueControl.getName());
+ assertNull(queueControl.getFilter());
+ assertEquals(durable, queueControl.isDurable());
+ assertEquals(false, queueControl.isTemporary());
+
+ serverControl.destroyQueue(name.toString());
+
+ checkNoResource(ObjectNames.getQueueObjectName(address, name));
+ }
+
public void testCreateAndDestroyQueueWithNullFilter() throws Exception
{
SimpleString address = RandomUtil.randomSimpleString();
@@ -227,6 +252,32 @@
checkNoResource(ObjectNames.getQueueObjectName(address, name));
}
+ public void testCreateAndDestroyQueueWithEmptyStringForFilter() throws Exception
+ {
+ SimpleString address = RandomUtil.randomSimpleString();
+ SimpleString name = RandomUtil.randomSimpleString();
+ String filter = "";
+ boolean durable = true;
+
+ HornetQServerControl serverControl = createManagementControl();
+
+ checkNoResource(ObjectNames.getQueueObjectName(address, name));
+
+ serverControl.createQueue(address.toString(), name.toString(), filter, durable);
+
+ checkResource(ObjectNames.getQueueObjectName(address, name));
+ QueueControl queueControl = ManagementControlHelper.createQueueControl(address,
name, mbeanServer);
+ assertEquals(address.toString(), queueControl.getAddress());
+ assertEquals(name.toString(), queueControl.getName());
+ assertNull(queueControl.getFilter());
+ assertEquals(durable, queueControl.isDurable());
+ assertEquals(false, queueControl.isTemporary());
+
+ serverControl.destroyQueue(name.toString());
+
+ checkNoResource(ObjectNames.getQueueObjectName(address, name));
+ }
+
public void testGetQueueNames() throws Exception
{
SimpleString address = RandomUtil.randomSimpleString();
Modified:
trunk/tests/src/org/hornetq/tests/integration/management/HornetQServerControlUsingCoreTest.java
===================================================================
---
trunk/tests/src/org/hornetq/tests/integration/management/HornetQServerControlUsingCoreTest.java 2009-10-01
13:22:19 UTC (rev 8024)
+++
trunk/tests/src/org/hornetq/tests/integration/management/HornetQServerControlUsingCoreTest.java 2009-10-01
14:01:21 UTC (rev 8025)
@@ -108,6 +108,11 @@
proxy.invokeOperation("createQueue", address, name, filter,
durable);
}
+ public void createQueue(String address, String name, boolean durable) throws
Exception
+ {
+ proxy.invokeOperation("createQueue", address, name, durable);
+ }
+
public void deployQueue(String address, String name, String filter, boolean
durable) throws Exception
{
proxy.invokeOperation("deployQueue", address, name, filter,
durable);
Modified:
trunk/tests/src/org/hornetq/tests/unit/core/deployers/impl/QueueDeployerTest.java
===================================================================
---
trunk/tests/src/org/hornetq/tests/unit/core/deployers/impl/QueueDeployerTest.java 2009-10-01
13:22:19 UTC (rev 8024)
+++
trunk/tests/src/org/hornetq/tests/unit/core/deployers/impl/QueueDeployerTest.java 2009-10-01
14:01:21 UTC (rev 8025)
@@ -159,7 +159,12 @@
{
}
+
+ public void createQueue(String address, String name, boolean durable) throws
Exception
+ {
+ }
+
public String[] getAddressNames()
{
return null;