CAMEL-9937: camel-catalog - Add api to validate time pattern
Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/6da2fd46 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/6da2fd46 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/6da2fd46 Branch: refs/heads/camel-2.17.x Commit: 6da2fd46b492f35b3bef06a4b052ede041e67ce4 Parents: fead65a Author: Claus Ibsen <davscl...@apache.org> Authored: Tue May 3 11:22:15 2016 +0200 Committer: Claus Ibsen <davscl...@apache.org> Committed: Tue May 3 11:22:45 2016 +0200 ---------------------------------------------------------------------- .../org/apache/camel/catalog/CamelCatalog.java | 8 ++++++++ .../camel/catalog/DefaultCamelCatalog.java | 5 +++++ .../apache/camel/catalog/CamelCatalogTest.java | 21 ++++++++++++++++++++ 3 files changed, 34 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/6da2fd46/platforms/catalog/src/main/java/org/apache/camel/catalog/CamelCatalog.java ---------------------------------------------------------------------- diff --git a/platforms/catalog/src/main/java/org/apache/camel/catalog/CamelCatalog.java b/platforms/catalog/src/main/java/org/apache/camel/catalog/CamelCatalog.java index 9a52446..4308d37 100644 --- a/platforms/catalog/src/main/java/org/apache/camel/catalog/CamelCatalog.java +++ b/platforms/catalog/src/main/java/org/apache/camel/catalog/CamelCatalog.java @@ -191,6 +191,14 @@ public interface CamelCatalog { Map<String, String> endpointProperties(String uri) throws URISyntaxException; /** + * Validates the pattern whether its a valid time pattern. + * + * @param pattern the pattern such as 5000, 5s, 5sec, 4min, 4m30s, 1h, etc. + * @return <tt>true</tt> if valid, <tt>false</tt> if invalid + */ + boolean validateTimePattern(String pattern); + + /** * Parses and validates the endpoint uri and constructs a key/value properties of each option. * * @param uri the endpoint uri http://git-wip-us.apache.org/repos/asf/camel/blob/6da2fd46/platforms/catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java ---------------------------------------------------------------------- diff --git a/platforms/catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java b/platforms/catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java index 4e99524..6163b05 100644 --- a/platforms/catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java +++ b/platforms/catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java @@ -736,6 +736,11 @@ public class DefaultCamelCatalog implements CamelCatalog { } @Override + public boolean validateTimePattern(String pattern) { + return validateInteger(pattern); + } + + @Override public EndpointValidationResult validateEndpointProperties(String uri) { return validateEndpointProperties(uri, false); } http://git-wip-us.apache.org/repos/asf/camel/blob/6da2fd46/platforms/catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java ---------------------------------------------------------------------- diff --git a/platforms/catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java b/platforms/catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java index 830d0bd..1da20e7 100644 --- a/platforms/catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java +++ b/platforms/catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java @@ -607,6 +607,27 @@ public class CamelCatalogTest { } @Test + public void validateTimePattern() throws Exception { + assertTrue(catalog.validateTimePattern("0")); + assertTrue(catalog.validateTimePattern("500")); + assertTrue(catalog.validateTimePattern("10000")); + assertTrue(catalog.validateTimePattern("5s")); + assertTrue(catalog.validateTimePattern("5sec")); + assertTrue(catalog.validateTimePattern("5secs")); + assertTrue(catalog.validateTimePattern("3m")); + assertTrue(catalog.validateTimePattern("3min")); + assertTrue(catalog.validateTimePattern("3minutes")); + assertTrue(catalog.validateTimePattern("5m15s")); + assertTrue(catalog.validateTimePattern("1h")); + assertTrue(catalog.validateTimePattern("1hour")); + assertTrue(catalog.validateTimePattern("2hours")); + + assertFalse(catalog.validateTimePattern("bla")); + assertFalse(catalog.validateTimePattern("2year")); + assertFalse(catalog.validateTimePattern("60darn")); + } + + @Test public void testEndpointComponentName() throws Exception { String name = catalog.endpointComponentName("jms:queue:foo"); assertEquals("jms", name);