Repository: camel Updated Branches: refs/heads/master 4ffc5e258 -> 3a4822c19
CAMEL-7774: Deprecated typo method. Added more tests and rename the method as a better name, and added javadoc etc. Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/4bcfaac0 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/4bcfaac0 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/4bcfaac0 Branch: refs/heads/master Commit: 4bcfaac04d393ebcd0f5fb65564b1c9e3e750466 Parents: 4ffc5e2 Author: Claus Ibsen <davscl...@apache.org> Authored: Mon Sep 1 12:42:33 2014 +0200 Committer: Claus Ibsen <davscl...@apache.org> Committed: Mon Sep 1 12:42:33 2014 +0200 ---------------------------------------------------------------------- .../org/apache/camel/util/EndpointHelper.java | 25 +++++++++++++++++--- .../apache/camel/util/EndpointHelperTest.java | 16 +++++++++++++ .../camel/component/quartz/QuartzComponent.java | 8 +++---- .../camel/component/quartz2/QuartzEndpoint.java | 4 ++-- 4 files changed, 44 insertions(+), 9 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/4bcfaac0/camel-core/src/main/java/org/apache/camel/util/EndpointHelper.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/util/EndpointHelper.java b/camel-core/src/main/java/org/apache/camel/util/EndpointHelper.java index 4d7d1af..568f070 100644 --- a/camel-core/src/main/java/org/apache/camel/util/EndpointHelper.java +++ b/camel-core/src/main/java/org/apache/camel/util/EndpointHelper.java @@ -360,9 +360,20 @@ public final class EndpointHelper { return result; } } - - public static <T> T resloveStringParameter(CamelContext context, String value, Class<T> type) { - T result = null; + + /** + * Resolves a parameter, by doing a reference lookup if the parameter is a reference, and converting + * the parameter to the given type. + * + * @param <T> type of object to convert the parameter value as. + * @param context Camel context to use for lookup. + * @param value parameter or reference parameter value. + * @param type type of object to lookup. + * @return lookup result if it was a reference parameter, or the value converted to the given type + * @throws IllegalArgumentException if referenced object was not found in registry. + */ + public static <T> T resolveParameter(CamelContext context, String value, Class<T> type) { + T result; if (EndpointHelper.isReferenceParameter(value)) { result = EndpointHelper.resolveReferenceParameter(context, value, type); } else { @@ -372,6 +383,14 @@ public final class EndpointHelper { } /** + * @deprecated use {@link #resolveParameter(org.apache.camel.CamelContext, String, Class)} + */ + @Deprecated + public static <T> T resloveStringParameter(CamelContext context, String value, Class<T> type) { + return resolveParameter(context, value, type); + } + + /** * Gets the route id for the given endpoint in which there is a consumer listening. * * @param endpoint the endpoint http://git-wip-us.apache.org/repos/asf/camel/blob/4bcfaac0/camel-core/src/test/java/org/apache/camel/util/EndpointHelperTest.java ---------------------------------------------------------------------- diff --git a/camel-core/src/test/java/org/apache/camel/util/EndpointHelperTest.java b/camel-core/src/test/java/org/apache/camel/util/EndpointHelperTest.java index d7dde7a..c4f1349 100644 --- a/camel-core/src/test/java/org/apache/camel/util/EndpointHelperTest.java +++ b/camel-core/src/test/java/org/apache/camel/util/EndpointHelperTest.java @@ -86,4 +86,20 @@ public class EndpointHelperTest extends ContextTestSupport { assertEquals(null, EndpointHelper.lookupEndpointRegistryId(context.getEndpoint("mock:cheese"))); } + public void testResolveReferenceParameter() throws Exception { + Endpoint endpoint = EndpointHelper.resolveReferenceParameter(context, "coolbar", Endpoint.class); + assertNotNull(endpoint); + assertSame(bar, endpoint); + } + + public void testResolveParameter() throws Exception { + Endpoint endpoint = EndpointHelper.resolveParameter(context, "#coolbar", Endpoint.class); + assertNotNull(endpoint); + assertSame(bar, endpoint); + + Integer num = EndpointHelper.resolveParameter(context, "123", Integer.class); + assertNotNull(num); + assertEquals(123, num.intValue()); + } + } http://git-wip-us.apache.org/repos/asf/camel/blob/4bcfaac0/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java ---------------------------------------------------------------------- diff --git a/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java b/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java index 559b9fd..99287e2 100644 --- a/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java +++ b/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java @@ -151,7 +151,7 @@ public class QuartzComponent extends UriEndpointComponent implements StartupList if (fireNow) { String intervalString = (String) triggerParameters.get("repeatInterval"); if (intervalString != null) { - long interval = EndpointHelper.resloveStringParameter(getCamelContext(), intervalString, Long.class); + long interval = EndpointHelper.resolveParameter(getCamelContext(), intervalString, Long.class); trigger.setStartTime(new Date(System.currentTimeMillis() - interval)); } @@ -165,18 +165,18 @@ public class QuartzComponent extends UriEndpointComponent implements StartupList if (cron != null) { answer.getJobDetail().getJobDataMap().put(QuartzConstants.QUARTZ_TRIGGER_TYPE, "cron"); answer.getJobDetail().getJobDataMap().put(QuartzConstants.QUARTZ_TRIGGER_CRON_EXPRESSION, cron); - String timeZone = EndpointHelper.resloveStringParameter(getCamelContext(), (String)triggerParameters.get("timeZone"), String.class); + String timeZone = EndpointHelper.resolveParameter(getCamelContext(), (String)triggerParameters.get("timeZone"), String.class); if (timeZone != null) { answer.getJobDetail().getJobDataMap().put(QuartzConstants.QUARTZ_TRIGGER_CRON_TIMEZONE, timeZone); } } else { answer.getJobDetail().getJobDataMap().put(QuartzConstants.QUARTZ_TRIGGER_TYPE, "simple"); - Long interval = EndpointHelper.resloveStringParameter(getCamelContext(), (String)triggerParameters.get("repeatInterval"), Long.class); + Long interval = EndpointHelper.resolveParameter(getCamelContext(), (String)triggerParameters.get("repeatInterval"), Long.class); if (interval != null) { triggerParameters.put("repeatInterval", interval); answer.getJobDetail().getJobDataMap().put(QuartzConstants.QUARTZ_TRIGGER_SIMPLE_REPEAT_INTERVAL, interval); } - Integer counter = EndpointHelper.resloveStringParameter(getCamelContext(), (String)triggerParameters.get("repeatCount"), Integer.class); + Integer counter = EndpointHelper.resolveParameter(getCamelContext(), (String)triggerParameters.get("repeatCount"), Integer.class); if (counter != null) { triggerParameters.put("repeatCount", counter); answer.getJobDetail().getJobDataMap().put(QuartzConstants.QUARTZ_TRIGGER_SIMPLE_REPEAT_COUNTER, counter); http://git-wip-us.apache.org/repos/asf/camel/blob/4bcfaac0/components/camel-quartz2/src/main/java/org/apache/camel/component/quartz2/QuartzEndpoint.java ---------------------------------------------------------------------- diff --git a/components/camel-quartz2/src/main/java/org/apache/camel/component/quartz2/QuartzEndpoint.java b/components/camel-quartz2/src/main/java/org/apache/camel/component/quartz2/QuartzEndpoint.java index 7552c4c..d2afb08 100644 --- a/components/camel-quartz2/src/main/java/org/apache/camel/component/quartz2/QuartzEndpoint.java +++ b/components/camel-quartz2/src/main/java/org/apache/camel/component/quartz2/QuartzEndpoint.java @@ -310,7 +310,7 @@ public class QuartzEndpoint extends DefaultEndpoint { int repeat = SimpleTrigger.REPEAT_INDEFINITELY; String repeatString = (String) triggerParameters.get("repeatCount"); if (repeatString != null) { - repeat = EndpointHelper.resloveStringParameter(getCamelContext(), repeatString, Integer.class); + repeat = EndpointHelper.resolveParameter(getCamelContext(), repeatString, Integer.class); // need to update the parameters triggerParameters.put("repeatCount", repeat); } @@ -319,7 +319,7 @@ public class QuartzEndpoint extends DefaultEndpoint { long interval = 1000; String intervalString = (String) triggerParameters.get("repeatInterval"); if (intervalString != null) { - interval = EndpointHelper.resloveStringParameter(getCamelContext(), intervalString, Long.class); + interval = EndpointHelper.resolveParameter(getCamelContext(), intervalString, Long.class); // need to update the parameters triggerParameters.put("repeatInterval", interval); }