diff options
| author | Martin Ritchie <ritchiem@apache.org> | 2010-05-21 21:09:52 +0000 |
|---|---|---|
| committer | Martin Ritchie <ritchiem@apache.org> | 2010-05-21 21:09:52 +0000 |
| commit | fce28bba8259967c9dbb14b9ce45412bd6da4361 (patch) | |
| tree | 07c937dd58ddee2334ac4fb8c58ea59b9e6d7282 /qpid/java/broker-plugins | |
| parent | d59603494b0bc8a50853241d8ad1e5c479f9eced (diff) | |
| download | qpid-python-fce28bba8259967c9dbb14b9ce45412bd6da4361.tar.gz | |
QPID-2581 : Update ConfigurationPlugin to provide a validateConfiguration() method simplifying the plugins
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@947177 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/broker-plugins')
6 files changed, 22 insertions, 48 deletions
diff --git a/qpid/java/broker-plugins/experimental/slowconsumerdetection/src/main/java/org/apache/qpid/server/configuration/plugin/SlowConsumerDetectionConfiguration.java b/qpid/java/broker-plugins/experimental/slowconsumerdetection/src/main/java/org/apache/qpid/server/configuration/plugin/SlowConsumerDetectionConfiguration.java index 90bd3206e1..b1b7a3c8c9 100644 --- a/qpid/java/broker-plugins/experimental/slowconsumerdetection/src/main/java/org/apache/qpid/server/configuration/plugin/SlowConsumerDetectionConfiguration.java +++ b/qpid/java/broker-plugins/experimental/slowconsumerdetection/src/main/java/org/apache/qpid/server/configuration/plugin/SlowConsumerDetectionConfiguration.java @@ -65,39 +65,11 @@ public class SlowConsumerDetectionConfiguration extends ConfigurationPlugin } @Override - public void setConfiguration(String path, Configuration configuration) throws ConfigurationException + public void validateConfiguration() throws ConfigurationException { - super.setConfiguration(path, configuration); + validatePositiveLong("delay"); - //Validate Configuration - - try - { - long delay = _configuration.getLong("delay"); - if (delay <= 0) - { - throw new ConfigurationException("Slow Consumer Detection Delay must be a Positive Long value."); - } - } - catch (Exception e) - { - Throwable last = e; - - // Find the first cause - if (e instanceof ConversionException) - { - Throwable t = e.getCause(); - while (t != null) - { - last = t; - t = last.getCause(); - } - } - - throw new ConfigurationException("Unable to configure Slow Consumer Detection invalid delay:"+ _configuration.getString("delay"), last); - } - - String timeUnit = _configuration.getString("timeunit"); + String timeUnit = getStringValue("timeunit"); if (timeUnit != null) @@ -108,7 +80,7 @@ public class SlowConsumerDetectionConfiguration extends ConfigurationPlugin } catch (IllegalArgumentException iae) { - throw new ConfigurationException("Unable to configure Slow Consumer Detection invalid TimeUnit:" + timeUnit); + throw new ConfigurationException("Unable to configure Slow Consumer Detection invalid TimeUnit:" + timeUnit); } } diff --git a/qpid/java/broker-plugins/experimental/slowconsumerdetection/src/main/java/org/apache/qpid/server/configuration/plugin/SlowConsumerDetectionPolicyConfiguration.java b/qpid/java/broker-plugins/experimental/slowconsumerdetection/src/main/java/org/apache/qpid/server/configuration/plugin/SlowConsumerDetectionPolicyConfiguration.java index b6a4ab3cbf..134395097d 100644 --- a/qpid/java/broker-plugins/experimental/slowconsumerdetection/src/main/java/org/apache/qpid/server/configuration/plugin/SlowConsumerDetectionPolicyConfiguration.java +++ b/qpid/java/broker-plugins/experimental/slowconsumerdetection/src/main/java/org/apache/qpid/server/configuration/plugin/SlowConsumerDetectionPolicyConfiguration.java @@ -59,10 +59,9 @@ public class SlowConsumerDetectionPolicyConfiguration extends ConfigurationPlugi return getStringValue("name"); } - public void setConfiguration(String path, Configuration configuration) throws ConfigurationException + @Override + public void validateConfiguration() throws ConfigurationException { - super.setConfiguration(path,configuration); - if (getPolicyName() == null) { throw new ConfigurationException("No Slow consumer policy defined."); diff --git a/qpid/java/broker-plugins/experimental/slowconsumerdetection/src/main/java/org/apache/qpid/server/configuration/plugin/SlowConsumerDetectionQueueConfiguration.java b/qpid/java/broker-plugins/experimental/slowconsumerdetection/src/main/java/org/apache/qpid/server/configuration/plugin/SlowConsumerDetectionQueueConfiguration.java index 5f1e0c00b9..75b836bfa8 100644 --- a/qpid/java/broker-plugins/experimental/slowconsumerdetection/src/main/java/org/apache/qpid/server/configuration/plugin/SlowConsumerDetectionQueueConfiguration.java +++ b/qpid/java/broker-plugins/experimental/slowconsumerdetection/src/main/java/org/apache/qpid/server/configuration/plugin/SlowConsumerDetectionQueueConfiguration.java @@ -81,10 +81,8 @@ public class SlowConsumerDetectionQueueConfiguration extends ConfigurationPlugin } @Override - public void setConfiguration(String path, Configuration configuration) throws ConfigurationException + public void validateConfiguration() throws ConfigurationException { - super.setConfiguration(path, configuration); - if (!containsPositiveLong("messageAge") && !containsPositiveLong("depth") && !containsPositiveLong("messageCount")) @@ -102,8 +100,7 @@ public class SlowConsumerDetectionQueueConfiguration extends ConfigurationPlugin if (policyConfig == null) { - throw new ConfigurationException("No Slow Consumer Policy specified at:'" + - path + "'. Known Policies:" + factories.keySet()); + throw new ConfigurationException("No Slow Consumer Policy specified. Known Policies:" + factories.keySet()); } if (_logger.isDebugEnabled()) diff --git a/qpid/java/broker-plugins/experimental/slowconsumerdetection/src/main/java/org/apache/qpid/server/virtualhost/plugin/policies/TopicDeletePolicyConfiguration.java b/qpid/java/broker-plugins/experimental/slowconsumerdetection/src/main/java/org/apache/qpid/server/virtualhost/plugin/policies/TopicDeletePolicyConfiguration.java index 27c214097a..ecd83fb27c 100644 --- a/qpid/java/broker-plugins/experimental/slowconsumerdetection/src/main/java/org/apache/qpid/server/virtualhost/plugin/policies/TopicDeletePolicyConfiguration.java +++ b/qpid/java/broker-plugins/experimental/slowconsumerdetection/src/main/java/org/apache/qpid/server/virtualhost/plugin/policies/TopicDeletePolicyConfiguration.java @@ -54,6 +54,12 @@ public class TopicDeletePolicyConfiguration extends ConfigurationPlugin return new String[]{"delete-persistent"}; } + @Override + public void validateConfiguration() throws ConfigurationException + { + // No validation requried. + } + public boolean deletePersistent() { // If we don't have configuration then we don't deletePersistent Queues diff --git a/qpid/java/broker-plugins/experimental/slowconsumerdetection/src/test/java/org/apache/qpid/server/virtualhost/plugin/SlowConsumerDetectionConfigurationTest.java b/qpid/java/broker-plugins/experimental/slowconsumerdetection/src/test/java/org/apache/qpid/server/virtualhost/plugin/SlowConsumerDetectionConfigurationTest.java index 049402d83e..00411842f0 100644 --- a/qpid/java/broker-plugins/experimental/slowconsumerdetection/src/test/java/org/apache/qpid/server/virtualhost/plugin/SlowConsumerDetectionConfigurationTest.java +++ b/qpid/java/broker-plugins/experimental/slowconsumerdetection/src/test/java/org/apache/qpid/server/virtualhost/plugin/SlowConsumerDetectionConfigurationTest.java @@ -138,7 +138,7 @@ public class SlowConsumerDetectionConfigurationTest extends TestCase assertEquals("Cause not correct", ConfigurationException.class, cause.getClass()); assertEquals("Incorrect message.", - "Slow Consumer Detection Delay must be a Positive Long value.", + "SlowConsumerDetectionConfiguration: 'delay' must be a Positive Long value.", cause.getMessage()); } } @@ -170,7 +170,7 @@ public class SlowConsumerDetectionConfigurationTest extends TestCase assertEquals("Cause not correct", ConfigurationException.class, cause.getClass()); assertEquals("Incorrect message.", - "Slow Consumer Detection Delay must be a Positive Long value.", + "SlowConsumerDetectionConfiguration: 'delay' must be a Positive Long value.", cause.getMessage()); } } @@ -194,7 +194,7 @@ public class SlowConsumerDetectionConfigurationTest extends TestCase } catch (ConfigurationException e) { - assertEquals("Incorrect message.", "Unable to configure Slow Consumer Detection invalid delay:null", e.getMessage()); + assertEquals("Incorrect message.", "SlowConsumerDetectionConfiguration: unable to configure invalid delay:null", e.getMessage()); } } @@ -205,7 +205,7 @@ public class SlowConsumerDetectionConfigurationTest extends TestCase String TIMEUNIT = "foo"; XMLConfiguration xmlconfig = new XMLConfiguration(); - + xmlconfig.addProperty("delay", "10"); xmlconfig.addProperty("timeunit", TIMEUNIT); diff --git a/qpid/java/broker-plugins/experimental/slowconsumerdetection/src/test/java/org/apache/qpid/server/virtualhost/plugin/SlowConsumerDetectionQueueConfigurationTest.java b/qpid/java/broker-plugins/experimental/slowconsumerdetection/src/test/java/org/apache/qpid/server/virtualhost/plugin/SlowConsumerDetectionQueueConfigurationTest.java index 8abd6c1408..b149313dfd 100644 --- a/qpid/java/broker-plugins/experimental/slowconsumerdetection/src/test/java/org/apache/qpid/server/virtualhost/plugin/SlowConsumerDetectionQueueConfigurationTest.java +++ b/qpid/java/broker-plugins/experimental/slowconsumerdetection/src/test/java/org/apache/qpid/server/virtualhost/plugin/SlowConsumerDetectionQueueConfigurationTest.java @@ -69,7 +69,7 @@ public class SlowConsumerDetectionQueueConfigurationTest extends TestCase } catch (ConfigurationException e) { - assertEquals("No Slow Consumer Policy specified at:''. Known Policies:[]", + assertEquals("No Slow Consumer Policy specified. Known Policies:[]", e.getMessage()); } } @@ -125,7 +125,7 @@ public class SlowConsumerDetectionQueueConfigurationTest extends TestCase } catch (ConfigurationException e) { - assertEquals("No Slow Consumer Policy specified at:''. Known Policies:[]", + assertEquals("No Slow Consumer Policy specified. Known Policies:[]", e.getMessage()); } } @@ -154,7 +154,7 @@ public class SlowConsumerDetectionQueueConfigurationTest extends TestCase } catch (ConfigurationException e) { - assertEquals("No Slow Consumer Policy specified at:''. Known Policies:[]", + assertEquals("No Slow Consumer Policy specified. Known Policies:[]", e.getMessage()); } } @@ -183,7 +183,7 @@ public class SlowConsumerDetectionQueueConfigurationTest extends TestCase } catch (ConfigurationException e) { - assertEquals("No Slow Consumer Policy specified at:''. Known Policies:[]", + assertEquals("No Slow Consumer Policy specified. Known Policies:[]", e.getMessage()); } } |
