You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rg...@apache.org on 2014/09/08 14:31:27 UTC

svn commit: r1623374 - in /qpid/branches/0.30/qpid/java/broker-core/src/main/java/org/apache/qpid/server: exchange/AbstractExchange.java model/AbstractConfiguredObject.java queue/AbstractQueue.java

Author: rgodfrey
Date: Mon Sep  8 12:31:27 2014
New Revision: 1623374

URL: http://svn.apache.org/r1623374
Log:
QPID-6079 : Merged revisions 1622961 1623055 from trunk to 0.30

Modified:
    qpid/branches/0.30/qpid/java/broker-core/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java
    qpid/branches/0.30/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java
    qpid/branches/0.30/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java

Modified: qpid/branches/0.30/qpid/java/broker-core/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java
URL: http://svn.apache.org/viewvc/qpid/branches/0.30/qpid/java/broker-core/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java?rev=1623374&r1=1623373&r2=1623374&view=diff
==============================================================================
--- qpid/branches/0.30/qpid/java/broker-core/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java (original)
+++ qpid/branches/0.30/qpid/java/broker-core/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java Mon Sep  8 12:31:27 2014
@@ -763,12 +763,22 @@ public abstract class AbstractExchange<T
         _state = State.ACTIVE;
     }
 
+
+    @StateTransition(currentState = State.UNINITIALIZED, desiredState = State.DELETED)
+    private void doDeleteBeforeInitialize()
+    {
+        preSetAlternateExchange();
+        _state = State.DELETED;
+    }
+
+
     @StateTransition(currentState = State.ACTIVE, desiredState = State.DELETED)
     private void doDelete()
     {
         try
         {
             _virtualHost.removeExchange(this,true);
+            preSetAlternateExchange();
             _state = State.DELETED;
         }
         catch (ExchangeIsAlternateException | RequiredExchangeException e)

Modified: qpid/branches/0.30/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java
URL: http://svn.apache.org/viewvc/qpid/branches/0.30/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java?rev=1623374&r1=1623373&r2=1623374&view=diff
==============================================================================
--- qpid/branches/0.30/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java (original)
+++ qpid/branches/0.30/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java Mon Sep  8 12:31:27 2014
@@ -901,7 +901,7 @@ public abstract class AbstractConfigured
         }
     }
 
-    protected void childAdded(ConfiguredObject child)
+    protected void childAdded(ConfiguredObject<?> child)
     {
         synchronized (_changeListeners)
         {
@@ -1213,6 +1213,7 @@ public abstract class AbstractConfigured
         {
             if (_childrenByName.get(categoryClass).containsKey(name))
             {
+                child.delete();
                 throw new DuplicateNameException(child);
             }
             _childrenByName.get(categoryClass).put(name, child);
@@ -1229,6 +1230,10 @@ public abstract class AbstractConfigured
 
     public final void delete()
     {
+        if(getState() == State.UNINITIALIZED)
+        {
+            _desiredState = State.DELETED;
+        }
         setDesiredState(State.DELETED);
     }
 

Modified: qpid/branches/0.30/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java
URL: http://svn.apache.org/viewvc/qpid/branches/0.30/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java?rev=1623374&r1=1623373&r2=1623374&view=diff
==============================================================================
--- qpid/branches/0.30/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java (original)
+++ qpid/branches/0.30/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java Mon Sep  8 12:31:27 2014
@@ -1792,7 +1792,6 @@ public abstract class AbstractQueue<X ex
 
             preSetAlternateExchange();
 
-
             for (Action<? super AMQQueue> task : _deleteTaskList)
             {
                 task.performAction(this);
@@ -2818,10 +2817,18 @@ public abstract class AbstractQueue<X ex
         _state = State.ACTIVE;
     }
 
+    @StateTransition(currentState = State.UNINITIALIZED, desiredState = State.DELETED)
+    private void doDeleteBeforeInitialize()
+    {
+        preSetAlternateExchange();
+        _state = State.DELETED;
+    }
+
     @StateTransition(currentState = State.ACTIVE, desiredState = State.DELETED)
     private void doDelete()
     {
         _virtualHost.removeQueue(this);
+        preSetAlternateExchange();
         _state = State.DELETED;
     }
 



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org