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 2015/02/27 15:38:34 UTC

svn commit: r1662687 - in /qpid/branches/0.32/qpid: ./ java/ java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/ java/broker-core/src/main/java/org/apache/qpid/server/configuration/store/ java/broker-core/src/main/java/org/ap...

Author: rgodfrey
Date: Fri Feb 27 14:38:33 2015
New Revision: 1662687

URL: http://svn.apache.org/r1662687
Log:
QPID-6418 : Merged 1662473,1662489 onto 0.32 branch

Modified:
    qpid/branches/0.32/qpid/   (props changed)
    qpid/branches/0.32/qpid/java/   (props changed)
    qpid/branches/0.32/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHARemoteReplicationNode.java
    qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/store/StoreConfigurationChangeListener.java
    qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java
    qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObject.java
    qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectTypeRegistry.java
    qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/RemoteReplicationNode.java
    qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHost.java
    qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHostNode.java
    qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileBasedGroupProvider.java
    qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/Base64MD5PasswordDatabaseAuthenticationManager.java
    qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/PlainPasswordDatabaseAuthenticationManager.java
    qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/StoreConfigurationChangeListenerTest.java

Propchange: qpid/branches/0.32/qpid/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Feb 27 14:38:33 2015
@@ -6,4 +6,4 @@
 /qpid/branches/mcpierce-QPID-4719/qpid:1477004-1477093
 /qpid/branches/qpid-2935/qpid:1061302-1072333
 /qpid/branches/qpid-3346/qpid:1144319-1179855
-/qpid/trunk/qpid:1661079,1661142,1661162,1661165-1661166,1661207,1661212,1661364,1661368,1661373,1661530-1661531,1661693,1661741,1661929,1662051
+/qpid/trunk/qpid:1661079,1661142,1661162,1661165-1661166,1661207,1661212,1661364,1661368,1661373,1661530-1661531,1661693,1661741,1661929,1662051,1662473,1662489

Propchange: qpid/branches/0.32/qpid/java/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Feb 27 14:38:33 2015
@@ -9,4 +9,4 @@
 /qpid/branches/java-network-refactor/qpid/java:805429-821809
 /qpid/branches/qpid-2935/qpid/java:1061302-1072333
 /qpid/trunk/qpid:796646-796653
-/qpid/trunk/qpid/java:1661079,1661142,1661162,1661165-1661166,1661207,1661212,1661364,1661368,1661373,1661530-1661531,1661693,1661741,1661929,1662051
+/qpid/trunk/qpid/java:1661079,1661142,1661162,1661165-1661166,1661207,1661212,1661364,1661368,1661373,1661530-1661531,1661693,1661741,1661929,1662051,1662473,1662489

Modified: qpid/branches/0.32/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHARemoteReplicationNode.java
URL: http://svn.apache.org/viewvc/qpid/branches/0.32/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHARemoteReplicationNode.java?rev=1662687&r1=1662686&r2=1662687&view=diff
==============================================================================
--- qpid/branches/0.32/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHARemoteReplicationNode.java (original)
+++ qpid/branches/0.32/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHARemoteReplicationNode.java Fri Feb 27 14:38:33 2015
@@ -25,7 +25,7 @@ import org.apache.qpid.server.model.Mana
 import org.apache.qpid.server.model.ManagedObject;
 import org.apache.qpid.server.model.RemoteReplicationNode;
 
-@ManagedObject(category=false, managesChildren=false, creatable=false)
+@ManagedObject(category=false, creatable=false)
 public interface BDBHARemoteReplicationNode<X extends BDBHARemoteReplicationNode<X>> extends RemoteReplicationNode<X>
 {
     String GROUP_NAME = "groupName";

Modified: qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/store/StoreConfigurationChangeListener.java
URL: http://svn.apache.org/viewvc/qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/store/StoreConfigurationChangeListener.java?rev=1662687&r1=1662686&r2=1662687&view=diff
==============================================================================
--- qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/store/StoreConfigurationChangeListener.java (original)
+++ qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/store/StoreConfigurationChangeListener.java Fri Feb 27 14:38:33 2015
@@ -25,7 +25,6 @@ import java.util.Collection;
 import org.apache.qpid.server.model.ConfigurationChangeListener;
 import org.apache.qpid.server.model.ConfiguredObject;
 import org.apache.qpid.server.model.State;
-import org.apache.qpid.server.model.VirtualHostNode;
 import org.apache.qpid.server.store.DurableConfigurationStore;
 
 public class StoreConfigurationChangeListener implements ConfigurationChangeListener
@@ -51,8 +50,7 @@ public class StoreConfigurationChangeLis
     @Override
     public void childAdded(ConfiguredObject<?> object, ConfiguredObject<?> child)
     {
-        // exclude VirtualHostNode children from storing in broker store
-        if (!(object instanceof VirtualHostNode))
+        if (!object.managesChildStorage())
         {
             child.addChangeListener(this);
             _store.update(true,child.asObjectRecord());

Modified: qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java
URL: http://svn.apache.org/viewvc/qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java?rev=1662687&r1=1662686&r2=1662687&view=diff
==============================================================================
--- qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java (original)
+++ qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java Fri Feb 27 14:38:33 2015
@@ -120,8 +120,11 @@ public abstract class AbstractConfigured
     private final TaskExecutor _taskExecutor;
 
     private final Class<? extends ConfiguredObject> _category;
+    private final Class<? extends ConfiguredObject> _typeClass;
     private final Class<? extends ConfiguredObject> _bestFitInterface;
     private final Model _model;
+    private final boolean _managesChildStorage;
+
 
     @ManagedAttributeField
     private long _createdTime;
@@ -204,6 +207,8 @@ public abstract class AbstractConfigured
         _model = model;
 
         _category = ConfiguredObjectTypeRegistry.getCategory(getClass());
+        Class<? extends ConfiguredObject> typeClass = model.getTypeRegistry().getTypeClass(getClass());
+        _typeClass = typeClass == null ? _category : typeClass;
 
         _attributeTypes = model.getTypeRegistry().getAttributeTypes(getClass());
         _automatedFields = model.getTypeRegistry().getAutomatedFields(getClass());
@@ -240,6 +245,7 @@ public abstract class AbstractConfigured
         }
 
         _type = ConfiguredObjectTypeRegistry.getType(getClass());
+        _managesChildStorage = managesChildren(_category) || managesChildren(_typeClass);
         _bestFitInterface = calculateBestFitInterface();
 
         if(attributes.get(TYPE) != null && !_type.equals(attributes.get(TYPE)))
@@ -313,6 +319,11 @@ public abstract class AbstractConfigured
         }
     }
 
+    private boolean managesChildren(final Class<? extends ConfiguredObject> clazz)
+    {
+        return clazz.getAnnotation(ManagedObject.class).managesChildren();
+    }
+
     private Class<? extends ConfiguredObject> calculateBestFitInterface()
     {
         Set<Class<? extends ConfiguredObject>> candidates = new HashSet<Class<? extends ConfiguredObject>>();
@@ -973,11 +984,24 @@ public abstract class AbstractConfigured
         return _model;
     }
 
+    @Override
     public Class<? extends ConfiguredObject> getCategoryClass()
     {
         return _category;
     }
 
+    @Override
+    public Class<? extends ConfiguredObject> getTypeClass()
+    {
+        return _typeClass;
+    }
+
+    @Override
+    public boolean managesChildStorage()
+    {
+        return _managesChildStorage;
+    }
+
     public Map<String,String> getContext()
     {
         return _context == null ? Collections.<String,String>emptyMap() : Collections.unmodifiableMap(_context);

Modified: qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObject.java
URL: http://svn.apache.org/viewvc/qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObject.java?rev=1662687&r1=1662686&r2=1662687&view=diff
==============================================================================
--- qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObject.java (original)
+++ qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObject.java Fri Feb 27 14:38:33 2015
@@ -238,6 +238,9 @@ public interface ConfiguredObject<X exte
     void setAttributes(Map<String, Object> attributes) throws IllegalStateException, AccessControlException, IllegalArgumentException;
 
     Class<? extends ConfiguredObject> getCategoryClass();
+    Class<? extends ConfiguredObject> getTypeClass();
+
+    boolean managesChildStorage();
 
     <C extends ConfiguredObject<C>> C findConfiguredObject(Class<C> clazz, String name);
 

Modified: qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectTypeRegistry.java
URL: http://svn.apache.org/viewvc/qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectTypeRegistry.java?rev=1662687&r1=1662686&r2=1662687&view=diff
==============================================================================
--- qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectTypeRegistry.java (original)
+++ qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectTypeRegistry.java Fri Feb 27 14:38:33 2015
@@ -385,7 +385,7 @@ public class ConfiguredObjectTypeRegistr
         return null;
     }
 
-    private Class<? extends ConfiguredObject> getTypeClass(final Class<? extends ConfiguredObject> clazz)
+    public Class<? extends ConfiguredObject> getTypeClass(final Class<? extends ConfiguredObject> clazz)
     {
         String typeName = getType(clazz);
         Class<? extends ConfiguredObject> typeClass = null;

Modified: qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/RemoteReplicationNode.java
URL: http://svn.apache.org/viewvc/qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/RemoteReplicationNode.java?rev=1662687&r1=1662686&r2=1662687&view=diff
==============================================================================
--- qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/RemoteReplicationNode.java (original)
+++ qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/RemoteReplicationNode.java Fri Feb 27 14:38:33 2015
@@ -20,9 +20,6 @@
  */
 package org.apache.qpid.server.model;
 
-import org.apache.qpid.server.model.ConfiguredObject;
-import org.apache.qpid.server.model.ManagedObject;
-
 @ManagedObject(category=true, managesChildren=false, creatable=false)
 public interface RemoteReplicationNode<X extends RemoteReplicationNode<X>> extends ConfiguredObject<X>
 {

Modified: qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHost.java
URL: http://svn.apache.org/viewvc/qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHost.java?rev=1662687&r1=1662686&r2=1662687&view=diff
==============================================================================
--- qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHost.java (original)
+++ qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHost.java Fri Feb 27 14:38:33 2015
@@ -30,7 +30,7 @@ import org.apache.qpid.server.configurat
 import org.apache.qpid.server.message.MessageInstance;
 import org.apache.qpid.server.store.MessageStore;
 
-@ManagedObject( managesChildren = true, defaultType = "ProvidedStore")
+@ManagedObject( defaultType = "ProvidedStore")
 public interface VirtualHost<X extends VirtualHost<X, Q, E>, Q extends Queue<?>, E extends Exchange<?> > extends ConfiguredObject<X>
 {
 

Modified: qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHostNode.java
URL: http://svn.apache.org/viewvc/qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHostNode.java?rev=1662687&r1=1662686&r2=1662687&view=diff
==============================================================================
--- qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHostNode.java (original)
+++ qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHostNode.java Fri Feb 27 14:38:33 2015
@@ -24,7 +24,7 @@ import java.util.Collection;
 
 import org.apache.qpid.server.store.DurableConfigurationStore;
 
-@ManagedObject(category=true, managesChildren=false)
+@ManagedObject(category=true, managesChildren=true)
 public interface VirtualHostNode<X extends VirtualHostNode<X>> extends ConfiguredObject<X>
 {
     String QPID_INITIAL_CONFIG_VIRTUALHOST_CONFIG_VAR = "qpid.initial_config_virtualhost_config";

Modified: qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileBasedGroupProvider.java
URL: http://svn.apache.org/viewvc/qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileBasedGroupProvider.java?rev=1662687&r1=1662686&r2=1662687&view=diff
==============================================================================
--- qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileBasedGroupProvider.java (original)
+++ qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileBasedGroupProvider.java Fri Feb 27 14:38:33 2015
@@ -25,7 +25,7 @@ import org.apache.qpid.server.model.Grou
 import org.apache.qpid.server.model.ManagedAttribute;
 import org.apache.qpid.server.model.ManagedObject;
 
-@ManagedObject( category = false, type = "GroupFile" )
+@ManagedObject( category = false, type = "GroupFile", managesChildren = true )
 public interface FileBasedGroupProvider<X extends FileBasedGroupProvider<X>> extends GroupProvider<X>, GroupManagingGroupProvider
 {
     String PATH="path";

Modified: qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/Base64MD5PasswordDatabaseAuthenticationManager.java
URL: http://svn.apache.org/viewvc/qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/Base64MD5PasswordDatabaseAuthenticationManager.java?rev=1662687&r1=1662686&r2=1662687&view=diff
==============================================================================
--- qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/Base64MD5PasswordDatabaseAuthenticationManager.java (original)
+++ qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/Base64MD5PasswordDatabaseAuthenticationManager.java Fri Feb 27 14:38:33 2015
@@ -28,7 +28,7 @@ import org.apache.qpid.server.model.Mana
 import org.apache.qpid.server.security.auth.database.Base64MD5PasswordFilePrincipalDatabase;
 import org.apache.qpid.server.security.auth.database.PrincipalDatabase;
 
-@ManagedObject( category = false, type = "Base64MD5PasswordFile" )
+@ManagedObject( category = false, managesChildren = true, type = "Base64MD5PasswordFile" )
 public class Base64MD5PasswordDatabaseAuthenticationManager
         extends PrincipalDatabaseAuthenticationManager<Base64MD5PasswordDatabaseAuthenticationManager>
 {

Modified: qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/PlainPasswordDatabaseAuthenticationManager.java
URL: http://svn.apache.org/viewvc/qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/PlainPasswordDatabaseAuthenticationManager.java?rev=1662687&r1=1662686&r2=1662687&view=diff
==============================================================================
--- qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/PlainPasswordDatabaseAuthenticationManager.java (original)
+++ qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/PlainPasswordDatabaseAuthenticationManager.java Fri Feb 27 14:38:33 2015
@@ -28,7 +28,7 @@ import org.apache.qpid.server.model.Mana
 import org.apache.qpid.server.security.auth.database.PlainPasswordFilePrincipalDatabase;
 import org.apache.qpid.server.security.auth.database.PrincipalDatabase;
 
-@ManagedObject( category = false, type = "PlainPasswordFile" )
+@ManagedObject( category = false, managesChildren = true, type = "PlainPasswordFile" )
 public class PlainPasswordDatabaseAuthenticationManager extends PrincipalDatabaseAuthenticationManager<PlainPasswordDatabaseAuthenticationManager>
 {
     public static final String PROVIDER_TYPE = "PlainPasswordFile";

Modified: qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/StoreConfigurationChangeListenerTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/StoreConfigurationChangeListenerTest.java?rev=1662687&r1=1662686&r2=1662687&view=diff
==============================================================================
--- qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/StoreConfigurationChangeListenerTest.java (original)
+++ qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/StoreConfigurationChangeListenerTest.java Fri Feb 27 14:38:33 2015
@@ -87,11 +87,12 @@ public class StoreConfigurationChangeLis
         verify(_store).update(eq(false),any(ConfiguredObjectRecord.class));
     }
 
-    public void testChildAddedForVirtualHostNode()
+    public void testChildAddedWhereParentManagesChildStorage()
     {
         notifyBrokerStarted();
 
         VirtualHostNode<?> object = mock(VirtualHostNode.class);
+        when(object.managesChildStorage()).thenReturn(true);
         VirtualHost<?,?,?> virtualHost = mock(VirtualHost.class);
         _listener.childAdded(object, virtualHost);
         verifyNoMoreInteractions(_store);



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