Author: rgodfrey
Date: Sun Aug 18 17:09:52 2013
New Revision: 1515170

URL: http://svn.apache.org/r1515170
Log:
QPID-5081 : [Java Broker] Refactor Queue Creation

Modified:
    
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/store/DurableConfigurationStoreHelper.java

Modified: 
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/store/DurableConfigurationStoreHelper.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/store/DurableConfigurationStoreHelper.java?rev=1515170&r1=1515169&r2=1515170&view=diff
==============================================================================
--- 
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/store/DurableConfigurationStoreHelper.java
 (original)
+++ 
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/store/DurableConfigurationStoreHelper.java
 Sun Aug 18 17:09:52 2013
@@ -20,11 +20,14 @@
  */
 package org.apache.qpid.server.store;
 
+import java.util.Arrays;
 import java.util.Collection;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.LinkedHashMap;
 import java.util.Map;
 
+import java.util.Set;
 import org.apache.qpid.AMQStoreException;
 import org.apache.qpid.framing.AMQShortString;
 import org.apache.qpid.framing.FieldTable;
@@ -41,6 +44,10 @@ public class DurableConfigurationStoreHe
     private static final String BINDING = Binding.class.getSimpleName();
     private static final String EXCHANGE = Exchange.class.getSimpleName();
     private static final String QUEUE = Queue.class.getSimpleName();
+    private static final Set<String> QUEUE_ARGUMENTS_EXCLUDES = new 
HashSet<String>(Arrays.asList(Queue.NAME,
+                                                                               
                   Queue.OWNER,
+                                                                               
                   Queue.EXCLUSIVE,
+                                                                               
                   Queue.ALTERNATE_EXCHANGE));
 
     public static void updateQueue(DurableConfigurationStore store, AMQQueue 
queue) throws AMQStoreException
     {
@@ -58,7 +65,10 @@ public class DurableConfigurationStoreHe
 
         for(String attrName : availableAttrs)
         {
-            attributesMap.put(attrName, queue.getAttribute(attrName));
+            if(!QUEUE_ARGUMENTS_EXCLUDES.contains(attrName))
+            {
+                attributesMap.put(attrName, queue.getAttribute(attrName));
+            }
         }
 
         store.update(queue.getId(), QUEUE, attributesMap);
@@ -75,9 +85,13 @@ public class DurableConfigurationStoreHe
         {
             attributesMap.put(Queue.ALTERNATE_EXCHANGE, 
queue.getAlternateExchange().getId());
         }
+
         for(String attrName : queue.getAvailableAttributes())
         {
-            attributesMap.put(attrName, queue.getAttribute(attrName));
+            if(!QUEUE_ARGUMENTS_EXCLUDES.contains(attrName))
+            {
+                attributesMap.put(attrName, queue.getAttribute(attrName));
+            }
         }
         store.create(queue.getId(), QUEUE,attributesMap);
     }



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

Reply via email to