diff options
| author | Alex Rudyy <orudyy@apache.org> | 2013-10-05 00:26:24 +0000 |
|---|---|---|
| committer | Alex Rudyy <orudyy@apache.org> | 2013-10-05 00:26:24 +0000 |
| commit | e41d1f62a9ada60d9171d142ea5cb079ed46531c (patch) | |
| tree | 4b975c63935172689c6aed2f8aa66758136b2998 /qpid/java | |
| parent | 9366c44105c48ed2470dbe32d0681b14c3f7ad9e (diff) | |
| download | qpid-python-e41d1f62a9ada60d9171d142ea5cb079ed46531c.tar.gz | |
QPID-5138: Optimize code in preferences provider recoverer
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1529360 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java')
2 files changed, 15 insertions, 17 deletions
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/startup/PreferencesProviderRecoverer.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/startup/PreferencesProviderRecoverer.java index 72480a2795..db3f968435 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/startup/PreferencesProviderRecoverer.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/startup/PreferencesProviderRecoverer.java @@ -38,19 +38,7 @@ public class PreferencesProviderRecoverer implements ConfiguredObjectRecoverer<P public PreferencesProvider create(RecovererProvider recovererProvider, ConfigurationEntry entry, ConfiguredObject... parents) { - if (parents == null || parents.length == 0) - { - throw new IllegalArgumentException("AuthenticationProvider parent is not passed!"); - } - if (parents.length != 1) - { - throw new IllegalArgumentException("Only one parent is expected!"); - } - if (!(parents[0] instanceof AuthenticationProvider)) - { - throw new IllegalArgumentException("Parent is not a AuthenticationProvider"); - } - AuthenticationProvider authenticationProvider = (AuthenticationProvider)parents[0]; + AuthenticationProvider authenticationProvider = RecovererHelper.verifyOnlyParentIsOfType(AuthenticationProvider.class, parents); Map<String, Object> attributes = entry.getAttributes(); String type = MapValueConverter.getStringAttribute(PreferencesProvider.TYPE, attributes); PreferencesProviderFactory factory = PreferencesProviderFactory.FACTORIES.get(type); diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/startup/RecovererHelper.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/startup/RecovererHelper.java index b60c9c289f..cc0426131f 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/startup/RecovererHelper.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/startup/RecovererHelper.java @@ -27,18 +27,28 @@ public class RecovererHelper { public static Broker verifyOnlyBrokerIsParent(ConfiguredObject... parents) { + return verifyOnlyParentIsOfType(Broker.class, parents); + } + + @SuppressWarnings("unchecked") + public static <T extends ConfiguredObject> T verifyOnlyParentIsOfType(Class<T> parentClass, ConfiguredObject... parents) + { + if (parentClass == null) + { + throw new IllegalArgumentException("Parent class is not specified!"); + } if (parents == null || parents.length == 0) { - throw new IllegalArgumentException("Broker parent is not passed!"); + throw new IllegalArgumentException("Parent of type " + parentClass.getSimpleName() +" is not passed!"); } if (parents.length != 1) { throw new IllegalArgumentException("Only one parent is expected!"); } - if (!(parents[0] instanceof Broker)) + if (!parentClass.isAssignableFrom(parents[0].getClass())) { - throw new IllegalArgumentException("Parent is not a broker"); + throw new IllegalArgumentException("Parent is not instance of " + parentClass.getSimpleName()); } - return (Broker)parents[0]; + return (T)parents[0]; } } |
