summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Rudyy <orudyy@apache.org>2012-12-12 17:42:20 +0000
committerAlex Rudyy <orudyy@apache.org>2012-12-12 17:42:20 +0000
commit675a6881cb86a613828d5b8e0263862118a736d4 (patch)
treeeca1248f23cb3c2a0e0b17f227165954ea8915c2
parent5f0181ccd077960610d85081fe044a1418e86829 (diff)
downloadqpid-python-675a6881cb86a613828d5b8e0263862118a736d4.tar.gz
Move broker parent validation from abstract recoverer to a helper class
git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/java-broker-config-qpid-4390@1420872 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/AuthenticationProviderRecoverer.java7
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/GroupProviderRecoverer.java7
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/KeyStoreRecoverer.java7
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/PluginRecoverer.java6
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/PortRecoverer.java7
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/RecovererHelper.java44
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/TrustStoreRecoverer.java7
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/VirtualHostRecoverer.java7
8 files changed, 78 insertions, 14 deletions
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/AuthenticationProviderRecoverer.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/AuthenticationProviderRecoverer.java
index c6ad9440b2..9b06a2b499 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/AuthenticationProviderRecoverer.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/AuthenticationProviderRecoverer.java
@@ -23,12 +23,14 @@ package org.apache.qpid.server.configuration.startup;
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 AuthenticationProviderRecoverer extends AbstractBrokerChildRecovere
}
@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(),
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/GroupProviderRecoverer.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/GroupProviderRecoverer.java
index 60f5bdd837..275a0c736c 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/GroupProviderRecoverer.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/GroupProviderRecoverer.java
@@ -23,16 +23,18 @@ package org.apache.qpid.server.configuration.startup;
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 extends AbstractBrokerChildRecoverer<GroupPr
}
@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)
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/KeyStoreRecoverer.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/KeyStoreRecoverer.java
index 69ef4dd644..8efedd37b5 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/KeyStoreRecoverer.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/KeyStoreRecoverer.java
@@ -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());
}
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/PluginRecoverer.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/PluginRecoverer.java
index 1bc66be70a..ddc4482953 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/PluginRecoverer.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/PluginRecoverer.java
@@ -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.ConfiguredObject;
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 AbstractBrokerChildRecoverer<ConfiguredObje
}
@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)
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/PortRecoverer.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/PortRecoverer.java
index 05ad55c404..147e835a8d 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/PortRecoverer.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/PortRecoverer.java
@@ -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 AbstractBrokerChildRecoverer<Port>
}
@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());
}
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/RecovererHelper.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/RecovererHelper.java
new file mode 100644
index 0000000000..b60c9c289f
--- /dev/null
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/RecovererHelper.java
@@ -0,0 +1,44 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.qpid.server.configuration.startup;
+
+import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.ConfiguredObject;
+
+public class RecovererHelper
+{
+ public static Broker verifyOnlyBrokerIsParent(ConfiguredObject... parents)
+ {
+ 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];
+ }
+}
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/TrustStoreRecoverer.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/TrustStoreRecoverer.java
index a10562d933..7e9428a4d6 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/TrustStoreRecoverer.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/TrustStoreRecoverer.java
@@ -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());
}
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/VirtualHostRecoverer.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/VirtualHostRecoverer.java
index 6a7b5e560a..ba5be4ab0b 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/VirtualHostRecoverer.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/VirtualHostRecoverer.java
@@ -29,16 +29,18 @@ import org.apache.commons.configuration.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 extends AbstractBrokerChildRecoverer<VirtualHo
}
@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);