Author: kwall
Date: Tue Nov  4 17:17:33 2014
New Revision: 1636648

URL: http://svn.apache.org/r1636648
Log:
QPID-6210: [Java Broker] VHMBean#createNewQueue revert to throwing 
IllegalArgumentException if the queue does not exist

Modified:
    
qpid/trunk/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/mbeans/VirtualHostManagerMBean.java
    
qpid/trunk/qpid/java/broker-plugins/management-jmx/src/test/java/org/apache/qpid/server/jmx/mbeans/VirtualHostManagerMBeanTest.java

Modified: 
qpid/trunk/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/mbeans/VirtualHostManagerMBean.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/mbeans/VirtualHostManagerMBean.java?rev=1636648&r1=1636647&r2=1636648&view=diff
==============================================================================
--- 
qpid/trunk/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/mbeans/VirtualHostManagerMBean.java
 (original)
+++ 
qpid/trunk/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/mbeans/VirtualHostManagerMBean.java
 Tue Nov  4 17:17:33 2014
@@ -50,6 +50,7 @@ import org.apache.qpid.server.model.Queu
 import org.apache.qpid.server.model.VirtualHost;
 import org.apache.qpid.server.queue.QueueArgumentsConverter;
 import org.apache.qpid.server.virtualhost.ExchangeExistsException;
+import org.apache.qpid.server.virtualhost.QueueExistsException;
 import org.apache.qpid.server.virtualhost.RequiredExchangeException;
 import org.apache.qpid.server.virtualhost.ReservedExchangeNameException;
 
@@ -246,7 +247,14 @@ public class VirtualHostManagerMBean ext
         attributes.put(Queue.DURABLE, durable);
         attributes.put(Queue.LIFETIME_POLICY, LifetimePolicy.PERMANENT);
 
-        getConfiguredObject().createQueue(attributes);
+        try
+        {
+            getConfiguredObject().createQueue(attributes);
+        }
+        catch (QueueExistsException qee)
+        {
+            throw new IllegalArgumentException("Queue with name '" + queueName 
+ "' already exists");
+        }
     }
 
 

Modified: 
qpid/trunk/qpid/java/broker-plugins/management-jmx/src/test/java/org/apache/qpid/server/jmx/mbeans/VirtualHostManagerMBeanTest.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/management-jmx/src/test/java/org/apache/qpid/server/jmx/mbeans/VirtualHostManagerMBeanTest.java?rev=1636648&r1=1636647&r2=1636648&view=diff
==============================================================================
--- 
qpid/trunk/qpid/java/broker-plugins/management-jmx/src/test/java/org/apache/qpid/server/jmx/mbeans/VirtualHostManagerMBeanTest.java
 (original)
+++ 
qpid/trunk/qpid/java/broker-plugins/management-jmx/src/test/java/org/apache/qpid/server/jmx/mbeans/VirtualHostManagerMBeanTest.java
 Tue Nov  4 17:17:33 2014
@@ -25,6 +25,8 @@ import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
+import static org.mockito.Mockito.any;
+import static org.mockito.Mockito.doThrow;
 
 import java.util.Collections;
 import java.util.Map;
@@ -41,6 +43,7 @@ import org.apache.qpid.server.model.Life
 import org.apache.qpid.server.model.Queue;
 import org.apache.qpid.server.model.VirtualHost;
 import org.apache.qpid.server.queue.QueueArgumentsConverter;
+import org.apache.qpid.server.virtualhost.QueueExistsException;
 
 public class VirtualHostManagerMBeanTest extends TestCase
 {
@@ -117,6 +120,22 @@ public class VirtualHostManagerMBeanTest
         assertEquals(TEST_DESCRIPTION, 
actualAttributes.get(Queue.DESCRIPTION));
     }
 
+    public void testCreateQueueThatAlreadyExists() throws Exception
+    {
+        doThrow(new QueueExistsException("mocked exception", 
null)).when(_mockVirtualHost).createQueue(any(Map.class));
+
+        try
+        {
+            _virtualHostManagerMBean.createNewQueue(TEST_QUEUE_NAME, 
TEST_OWNER, true);
+            fail("Exception not thrown");
+        }
+        catch (IllegalArgumentException iae)
+        {
+            // PASS
+        }
+
+    }
+
     public void testDeleteQueue() throws Exception
     {
         Queue mockQueue = mock(Queue.class);



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

Reply via email to