summaryrefslogtreecommitdiff
path: root/qpid/java/broker-plugins
diff options
context:
space:
mode:
authorMartin Ritchie <ritchiem@apache.org>2010-05-21 21:09:52 +0000
committerMartin Ritchie <ritchiem@apache.org>2010-05-21 21:09:52 +0000
commitfce28bba8259967c9dbb14b9ce45412bd6da4361 (patch)
tree07c937dd58ddee2334ac4fb8c58ea59b9e6d7282 /qpid/java/broker-plugins
parentd59603494b0bc8a50853241d8ad1e5c479f9eced (diff)
downloadqpid-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')
-rw-r--r--qpid/java/broker-plugins/experimental/slowconsumerdetection/src/main/java/org/apache/qpid/server/configuration/plugin/SlowConsumerDetectionConfiguration.java36
-rw-r--r--qpid/java/broker-plugins/experimental/slowconsumerdetection/src/main/java/org/apache/qpid/server/configuration/plugin/SlowConsumerDetectionPolicyConfiguration.java5
-rw-r--r--qpid/java/broker-plugins/experimental/slowconsumerdetection/src/main/java/org/apache/qpid/server/configuration/plugin/SlowConsumerDetectionQueueConfiguration.java7
-rw-r--r--qpid/java/broker-plugins/experimental/slowconsumerdetection/src/main/java/org/apache/qpid/server/virtualhost/plugin/policies/TopicDeletePolicyConfiguration.java6
-rw-r--r--qpid/java/broker-plugins/experimental/slowconsumerdetection/src/test/java/org/apache/qpid/server/virtualhost/plugin/SlowConsumerDetectionConfigurationTest.java8
-rw-r--r--qpid/java/broker-plugins/experimental/slowconsumerdetection/src/test/java/org/apache/qpid/server/virtualhost/plugin/SlowConsumerDetectionQueueConfigurationTest.java8
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());
}
}