Author: orudyy
Date: Thu Nov 26 14:21:21 2015
New Revision: 1716669
URL: http://svn.apache.org/viewvc?rev=1716669&view=rev
Log:
QPID-6872: Make sure to remove only unregistered object from ACO chidlren maps
------------------------------------------------------------------------
Merged from trunk with command:
svn merge -c r1716141 https://svn.apache.org/repos/asf/qpid/java/trunk
Modified:
qpid/java/branches/6.0.x/ (props changed)
qpid/java/branches/6.0.x/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java
qpid/java/branches/6.0.x/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/TestAbstractEngineImpl.java
Propchange: qpid/java/branches/6.0.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Nov 26 14:21:21 2015
@@ -9,5 +9,5 @@
/qpid/branches/java-broker-vhost-refactor/java:1493674-1494547
/qpid/branches/java-network-refactor/qpid/java:805429-821809
/qpid/branches/qpid-2935/qpid/java:1061302-1072333
-/qpid/java/trunk:1715445-1715447,1715586,1715940,1716086-1716087,1716127-1716128
+/qpid/java/trunk:1715445-1715447,1715586,1715940,1716086-1716087,1716127-1716128,1716141
/qpid/trunk/qpid:796646-796653
Modified:
qpid/java/branches/6.0.x/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java
URL:
http://svn.apache.org/viewvc/qpid/java/branches/6.0.x/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java?rev=1716669&r1=1716668&r2=1716669&view=diff
==============================================================================
---
qpid/java/branches/6.0.x/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java
(original)
+++
qpid/java/branches/6.0.x/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java
Thu Nov 26 14:21:21 2015
@@ -2040,8 +2040,8 @@ public abstract class AbstractConfigured
synchronized(_children)
{
_children.get(categoryClass).remove(child);
- _childrenById.get(categoryClass).remove(child.getId());
- _childrenByName.get(categoryClass).remove(child.getName());
+ _childrenById.get(categoryClass).remove(child.getId(), child);
+ _childrenByName.get(categoryClass).remove(child.getName(), child);
}
}
Modified:
qpid/java/branches/6.0.x/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/TestAbstractEngineImpl.java
URL:
http://svn.apache.org/viewvc/qpid/java/branches/6.0.x/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/TestAbstractEngineImpl.java?rev=1716669&r1=1716668&r2=1716669&view=diff
==============================================================================
---
qpid/java/branches/6.0.x/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/TestAbstractEngineImpl.java
(original)
+++
qpid/java/branches/6.0.x/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/TestAbstractEngineImpl.java
Thu Nov 26 14:21:21 2015
@@ -31,9 +31,12 @@ import org.apache.qpid.server.model.Conf
import org.apache.qpid.server.model.ManagedAttributeField;
import org.apache.qpid.server.model.State;
import org.apache.qpid.server.model.StateTransition;
+import org.apache.qpid.server.model.testmodels.TestSecurityManager;
+import org.apache.qpid.server.security.SecurityManager;
public class TestAbstractEngineImpl<X extends TestAbstractEngineImpl<X>>
extends AbstractConfiguredObject<X> implements TestEngine<X>
{
+ private final TestSecurityManager _securityManager;
@ManagedAttributeField
private ListenableFuture<Void> _beforeCloseFuture =
Futures.immediateFuture(null);
@@ -47,6 +50,7 @@ public class TestAbstractEngineImpl<X ex
final Map<String, Object> attributes)
{
super(parents, attributes);
+ _securityManager = new TestSecurityManager(parents.get(TestCar.class));
}
@Override
@@ -102,4 +106,18 @@ public class TestAbstractEngineImpl<X ex
}
return (ListenableFuture<Void>) _stateChangeFuture;
}
+
+ @StateTransition(currentState = {State.ACTIVE, State.UNINITIALIZED,
State.ERRORED}, desiredState = State.DELETED)
+ private ListenableFuture<Void> doDelete()
+ {
+ // to invoke ACO#unregisterChild as part of delete
+ deleted();
+ return Futures.immediateFuture(null);
+ }
+
+ @Override
+ protected SecurityManager getSecurityManager()
+ {
+ return _securityManager;
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]