Author: orudyy
Date: Wed Dec 12 17:42:20 2012
New Revision: 1420872

URL: http://svn.apache.org/viewvc?rev=1420872&view=rev
Log:
Move broker parent validation from abstract recoverer to a helper class

Added:
    
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/RecovererHelper.java
      - copied, changed from r1420871, 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/KeyStoreRecoverer.java
Modified:
    
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/AuthenticationProviderRecoverer.java
    
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/GroupProviderRecoverer.java
    
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/KeyStoreRecoverer.java
    
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/PluginRecoverer.java
    
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/PortRecoverer.java
    
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/TrustStoreRecoverer.java
    
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/VirtualHostRecoverer.java

Modified: 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/AuthenticationProviderRecoverer.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/AuthenticationProviderRecoverer.java?rev=1420872&r1=1420871&r2=1420872&view=diff
==============================================================================
--- 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/AuthenticationProviderRecoverer.java
 (original)
+++ 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/AuthenticationProviderRecoverer.java
 Wed Dec 12 17:42:20 2012
@@ -23,12 +23,14 @@ package org.apache.qpid.server.configura
 import java.util.Map;
 
 import org.apache.qpid.server.configuration.ConfigurationEntry;
+import org.apache.qpid.server.configuration.ConfiguredObjectRecoverer;
 import org.apache.qpid.server.configuration.RecovererProvider;
 import org.apache.qpid.server.model.AuthenticationProvider;
 import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.ConfiguredObject;
 import org.apache.qpid.server.model.adapter.AuthenticationProviderFactory;
 
-public class AuthenticationProviderRecoverer extends 
AbstractBrokerChildRecoverer<AuthenticationProvider>
+public class AuthenticationProviderRecoverer implements 
ConfiguredObjectRecoverer<AuthenticationProvider>
 {
     private final AuthenticationProviderFactory _authenticationProviderFactory;
 
@@ -38,8 +40,9 @@ public class AuthenticationProviderRecov
     }
 
     @Override
-    AuthenticationProvider createBrokerChild(RecovererProvider 
recovererProvider, ConfigurationEntry configurationEntry, Broker broker)
+    public AuthenticationProvider create(RecovererProvider recovererProvider, 
ConfigurationEntry configurationEntry, ConfiguredObject... parents)
     {
+        Broker broker = RecovererHelper.verifyOnlyBrokerIsParent(parents);
         Map<String, Object> attributes = configurationEntry.getAttributes();
         AuthenticationProvider authenticationProvider = 
_authenticationProviderFactory.create(
                 configurationEntry.getId(),

Modified: 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/GroupProviderRecoverer.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/GroupProviderRecoverer.java?rev=1420872&r1=1420871&r2=1420872&view=diff
==============================================================================
--- 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/GroupProviderRecoverer.java
 (original)
+++ 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/GroupProviderRecoverer.java
 Wed Dec 12 17:42:20 2012
@@ -23,16 +23,18 @@ package org.apache.qpid.server.configura
 import java.util.Map;
 
 import org.apache.qpid.server.configuration.ConfigurationEntry;
+import org.apache.qpid.server.configuration.ConfiguredObjectRecoverer;
 import org.apache.qpid.server.configuration.IllegalConfigurationException;
 import org.apache.qpid.server.configuration.RecovererProvider;
 import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.ConfiguredObject;
 import org.apache.qpid.server.model.GroupProvider;
 import org.apache.qpid.server.model.adapter.GroupProviderAdapter;
 import org.apache.qpid.server.plugin.GroupManagerFactory;
 import org.apache.qpid.server.plugin.QpidServiceLoader;
 import org.apache.qpid.server.security.group.GroupManager;
 
-public class GroupProviderRecoverer extends 
AbstractBrokerChildRecoverer<GroupProvider>
+public class GroupProviderRecoverer implements 
ConfiguredObjectRecoverer<GroupProvider>
 {
     private QpidServiceLoader<GroupManagerFactory> _groupManagerServiceLoader;
 
@@ -43,8 +45,9 @@ public class GroupProviderRecoverer exte
     }
 
     @Override
-    GroupProvider createBrokerChild(RecovererProvider recovererProvider, 
ConfigurationEntry configurationEntry, Broker broker)
+    public GroupProvider create(RecovererProvider recovererProvider, 
ConfigurationEntry configurationEntry, ConfiguredObject... parents)
     {
+        Broker broker = RecovererHelper.verifyOnlyBrokerIsParent(parents);
         Map<String, Object> attributes = configurationEntry.getAttributes();
         GroupManager groupManager = createGroupManager(attributes);
         if (groupManager == null)

Modified: 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/KeyStoreRecoverer.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/KeyStoreRecoverer.java?rev=1420872&r1=1420871&r2=1420872&view=diff
==============================================================================
--- 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/KeyStoreRecoverer.java
 (original)
+++ 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/KeyStoreRecoverer.java
 Wed Dec 12 17:42:20 2012
@@ -21,16 +21,19 @@
 package org.apache.qpid.server.configuration.startup;
 
 import org.apache.qpid.server.configuration.ConfigurationEntry;
+import org.apache.qpid.server.configuration.ConfiguredObjectRecoverer;
 import org.apache.qpid.server.configuration.RecovererProvider;
 import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.ConfiguredObject;
 import org.apache.qpid.server.model.KeyStore;
 import org.apache.qpid.server.model.adapter.KeyStoreAdapter;
 
-public class KeyStoreRecoverer extends AbstractBrokerChildRecoverer<KeyStore>
+public class KeyStoreRecoverer implements ConfiguredObjectRecoverer<KeyStore>
 {
     @Override
-    KeyStore createBrokerChild(RecovererProvider recovererProvider, 
ConfigurationEntry entry, Broker broker)
+    public KeyStore create(RecovererProvider recovererProvider, 
ConfigurationEntry entry, ConfiguredObject... parents)
     {
+        Broker broker = RecovererHelper.verifyOnlyBrokerIsParent(parents);
         return new KeyStoreAdapter(entry.getId(), broker, 
entry.getAttributes());
     }
 

Modified: 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/PluginRecoverer.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/PluginRecoverer.java?rev=1420872&r1=1420871&r2=1420872&view=diff
==============================================================================
--- 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/PluginRecoverer.java
 (original)
+++ 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/PluginRecoverer.java
 Wed Dec 12 17:42:20 2012
@@ -24,6 +24,7 @@ import java.util.Map;
 import java.util.UUID;
 
 import org.apache.qpid.server.configuration.ConfigurationEntry;
+import org.apache.qpid.server.configuration.ConfiguredObjectRecoverer;
 import org.apache.qpid.server.configuration.IllegalConfigurationException;
 import org.apache.qpid.server.configuration.RecovererProvider;
 import org.apache.qpid.server.model.Broker;
@@ -31,7 +32,7 @@ import org.apache.qpid.server.model.Conf
 import org.apache.qpid.server.plugin.PluginFactory;
 import org.apache.qpid.server.plugin.QpidServiceLoader;
 
-public class PluginRecoverer extends 
AbstractBrokerChildRecoverer<ConfiguredObject>
+public class PluginRecoverer implements 
ConfiguredObjectRecoverer<ConfiguredObject>
 {
     private QpidServiceLoader<PluginFactory> _serviceLoader;
 
@@ -41,8 +42,9 @@ public class PluginRecoverer extends Abs
     }
 
     @Override
-    ConfiguredObject createBrokerChild(RecovererProvider recovererProvider, 
ConfigurationEntry configurationEntry, Broker broker)
+    public ConfiguredObject create(RecovererProvider recovererProvider, 
ConfigurationEntry configurationEntry, ConfiguredObject... parents)
     {
+        Broker broker = RecovererHelper.verifyOnlyBrokerIsParent(parents);
         Map<String, Object> attributes = configurationEntry.getAttributes();
         Iterable<PluginFactory> factories = 
_serviceLoader.instancesOf(PluginFactory.class);
         for (PluginFactory pluginFactory : factories)

Modified: 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/PortRecoverer.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/PortRecoverer.java?rev=1420872&r1=1420871&r2=1420872&view=diff
==============================================================================
--- 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/PortRecoverer.java
 (original)
+++ 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/PortRecoverer.java
 Wed Dec 12 17:42:20 2012
@@ -21,13 +21,15 @@
 package org.apache.qpid.server.configuration.startup;
 
 import org.apache.qpid.server.configuration.ConfigurationEntry;
+import org.apache.qpid.server.configuration.ConfiguredObjectRecoverer;
 import org.apache.qpid.server.configuration.RecovererProvider;
 import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.ConfiguredObject;
 import org.apache.qpid.server.model.Port;
 import org.apache.qpid.server.model.adapter.BrokerAdapter;
 import org.apache.qpid.server.model.adapter.PortFactory;
 
-public class PortRecoverer extends AbstractBrokerChildRecoverer<Port>
+public class PortRecoverer implements ConfiguredObjectRecoverer<Port>
 {
     /**
      * delegates to a {@link PortFactory} so that the logic can be shared by
@@ -41,8 +43,9 @@ public class PortRecoverer extends Abstr
     }
 
     @Override
-    Port createBrokerChild(RecovererProvider recovererProvider, 
ConfigurationEntry configurationEntry, Broker broker)
+    public Port create(RecovererProvider recovererProvider, ConfigurationEntry 
configurationEntry, ConfiguredObject... parents)
     {
+        Broker broker = RecovererHelper.verifyOnlyBrokerIsParent(parents);
         return _portFactory.createPort(configurationEntry.getId(), broker, 
configurationEntry.getAttributes());
     }
 

Copied: 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/RecovererHelper.java
 (from r1420871, 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/KeyStoreRecoverer.java)
URL: 
http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/RecovererHelper.java?p2=qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/RecovererHelper.java&p1=qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/KeyStoreRecoverer.java&r1=1420871&r2=1420872&rev=1420872&view=diff
==============================================================================
--- 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/KeyStoreRecoverer.java
 (original)
+++ 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/RecovererHelper.java
 Wed Dec 12 17:42:20 2012
@@ -20,18 +20,25 @@
  */
 package org.apache.qpid.server.configuration.startup;
 
-import org.apache.qpid.server.configuration.ConfigurationEntry;
-import org.apache.qpid.server.configuration.RecovererProvider;
 import org.apache.qpid.server.model.Broker;
-import org.apache.qpid.server.model.KeyStore;
-import org.apache.qpid.server.model.adapter.KeyStoreAdapter;
+import org.apache.qpid.server.model.ConfiguredObject;
 
-public class KeyStoreRecoverer extends AbstractBrokerChildRecoverer<KeyStore>
+public class RecovererHelper
 {
-    @Override
-    KeyStore createBrokerChild(RecovererProvider recovererProvider, 
ConfigurationEntry entry, Broker broker)
+    public static Broker verifyOnlyBrokerIsParent(ConfiguredObject... parents)
     {
-        return new KeyStoreAdapter(entry.getId(), broker, 
entry.getAttributes());
+        if (parents == null || parents.length == 0)
+        {
+            throw new IllegalArgumentException("Broker parent is not passed!");
+        }
+        if (parents.length != 1)
+        {
+            throw new IllegalArgumentException("Only one parent is expected!");
+        }
+        if (!(parents[0] instanceof Broker))
+        {
+            throw new IllegalArgumentException("Parent is not a broker");
+        }
+        return (Broker)parents[0];
     }
-
 }

Modified: 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/TrustStoreRecoverer.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/TrustStoreRecoverer.java?rev=1420872&r1=1420871&r2=1420872&view=diff
==============================================================================
--- 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/TrustStoreRecoverer.java
 (original)
+++ 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/TrustStoreRecoverer.java
 Wed Dec 12 17:42:20 2012
@@ -21,16 +21,19 @@
 package org.apache.qpid.server.configuration.startup;
 
 import org.apache.qpid.server.configuration.ConfigurationEntry;
+import org.apache.qpid.server.configuration.ConfiguredObjectRecoverer;
 import org.apache.qpid.server.configuration.RecovererProvider;
 import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.ConfiguredObject;
 import org.apache.qpid.server.model.TrustStore;
 import org.apache.qpid.server.model.adapter.TrustStoreAdapter;
 
-public class TrustStoreRecoverer extends 
AbstractBrokerChildRecoverer<TrustStore>
+public class TrustStoreRecoverer implements 
ConfiguredObjectRecoverer<TrustStore>
 {
     @Override
-    TrustStore createBrokerChild(RecovererProvider recovererProvider, 
ConfigurationEntry entry, Broker broker)
+    public TrustStore create(RecovererProvider recovererProvider, 
ConfigurationEntry entry, ConfiguredObject... parents)
     {
+        Broker broker = RecovererHelper.verifyOnlyBrokerIsParent(parents);
         return new TrustStoreAdapter(entry.getId(), broker, 
entry.getAttributes());
     }
 

Modified: 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/VirtualHostRecoverer.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/VirtualHostRecoverer.java?rev=1420872&r1=1420871&r2=1420872&view=diff
==============================================================================
--- 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/VirtualHostRecoverer.java
 (original)
+++ 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/VirtualHostRecoverer.java
 Wed Dec 12 17:42:20 2012
@@ -29,16 +29,18 @@ import org.apache.commons.configuration.
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.configuration.XMLConfiguration;
 import org.apache.qpid.server.configuration.ConfigurationEntry;
+import org.apache.qpid.server.configuration.ConfiguredObjectRecoverer;
 import org.apache.qpid.server.configuration.IllegalConfigurationException;
 import org.apache.qpid.server.configuration.RecovererProvider;
 import org.apache.qpid.server.configuration.VirtualHostConfiguration;
 import org.apache.qpid.server.configuration.XmlConfigurationUtilities;
 import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.ConfiguredObject;
 import org.apache.qpid.server.model.VirtualHost;
 import org.apache.qpid.server.model.adapter.VirtualHostAdapter;
 import org.apache.qpid.server.stats.StatisticsGatherer;
 
-public class VirtualHostRecoverer extends 
AbstractBrokerChildRecoverer<VirtualHost>
+public class VirtualHostRecoverer implements 
ConfiguredObjectRecoverer<VirtualHost>
 {
     private StatisticsGatherer _brokerStatisticsGatherer;
 
@@ -49,8 +51,9 @@ public class VirtualHostRecoverer extend
     }
 
     @Override
-    VirtualHost createBrokerChild(RecovererProvider recovererProvider, 
ConfigurationEntry entry, Broker broker)
+    public VirtualHost create(RecovererProvider recovererProvider, 
ConfigurationEntry entry, ConfiguredObject... parents)
     {
+        Broker broker = RecovererHelper.verifyOnlyBrokerIsParent(parents);
         Map<String, Object> attributes = entry.getAttributes();
         String name = getStringAttribute(VirtualHost.NAME, attributes);
         String configuration = getStringAttribute(VirtualHost.CONFIGURATION, 
attributes, null);



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

Reply via email to