[1/2] camel git commit: CAMEL-9212: Enable dynamic values in the headerName / propertyName.
Repository: camel Updated Branches: refs/heads/master 823402193 -> 5d77c1162 CAMEL-9212: Enable dynamic values in the headerName / propertyName. Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/140be42e Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/140be42e Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/140be42e Branch: refs/heads/master Commit: 140be42e8ebee44403eac81b1881eab17cbb6b5f Parents: 8234021 Author: Sami NurminenAuthored: Sat Nov 28 13:52:04 2015 +0200 Committer: Claus Ibsen Committed: Tue Dec 15 17:30:18 2015 +0100 -- .../apache/camel/builder/ExpressionBuilder.java | 13 ++ .../apache/camel/model/SetHeaderDefinition.java | 16 --- .../camel/model/SetPropertyDefinition.java | 4 +- .../camel/processor/SetHeaderProcessor.java | 16 +-- .../camel/processor/SetPropertyProcessor.java | 17 +-- .../SpringSetHeaderNameDynamicTest.java | 46 +++ .../SpringSetPropertyNameDynamicTest.java | 48 .../spring/processor/setHeaderNameDynamic.xml | 36 +++ .../spring/processor/setPropertyNameDynamic.xml | 36 +++ 9 files changed, 214 insertions(+), 18 deletions(-) -- http://git-wip-us.apache.org/repos/asf/camel/blob/140be42e/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java -- diff --git a/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java b/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java index 8563a14..eef4976 100644 --- a/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java +++ b/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java @@ -57,6 +57,8 @@ import org.apache.camel.util.GroupIterator; import org.apache.camel.util.IOHelper; import org.apache.camel.util.ObjectHelper; import org.apache.camel.util.OgnlHelper; +import org.apache.camel.util.StringHelper; + /** * A helper class for working with http://camel.apache.org/expression.html;>expressions. @@ -1876,6 +1878,17 @@ public final class ExpressionBuilder { }; } +/** + * Returns Simple expression or fallbacks to Constant expression + * if expression str is not Simple expression. + */ +public static Expression parseSimpleOrFallbackToConstantExpression(String str, CamelContext camelContext) { +if (StringHelper.hasStartToken(str, "simple")) { +return camelContext.resolveLanguage("simple").createExpression(str); +} +return constantExpression(str); +} + public static Expression propertiesComponentExpression(final String key, final String locations) { return new ExpressionAdapter() { public Object evaluate(Exchange exchange) { http://git-wip-us.apache.org/repos/asf/camel/blob/140be42e/camel-core/src/main/java/org/apache/camel/model/SetHeaderDefinition.java -- diff --git a/camel-core/src/main/java/org/apache/camel/model/SetHeaderDefinition.java b/camel-core/src/main/java/org/apache/camel/model/SetHeaderDefinition.java index 6d1f794e..2d51f3a 100644 --- a/camel-core/src/main/java/org/apache/camel/model/SetHeaderDefinition.java +++ b/camel-core/src/main/java/org/apache/camel/model/SetHeaderDefinition.java @@ -39,7 +39,7 @@ import org.apache.camel.util.ObjectHelper; public class SetHeaderDefinition extends NoOutputExpressionNode { @XmlAttribute(required = true) private String headerName; - + public SetHeaderDefinition() { } @@ -50,14 +50,14 @@ public class SetHeaderDefinition extends NoOutputExpressionNode { public SetHeaderDefinition(String headerName, Expression expression) { super(expression); -setHeaderName(headerName); +setHeaderName(headerName); } public SetHeaderDefinition(String headerName, String value) { super(ExpressionBuilder.constantExpression(value)); -setHeaderName(headerName); -} - +setHeaderName(headerName); +} + @Override public String toString() { return "SetHeader[" + getHeaderName() + ", " + getExpression() + "]"; @@ -72,7 +72,9 @@ public class SetHeaderDefinition extends NoOutputExpressionNode { public Processor createProcessor(RouteContext routeContext) throws Exception { ObjectHelper.notNull(headerName, "headerName"); Expression expr = getExpression().createExpression(routeContext); -return new SetHeaderProcessor(getHeaderName(), expr); +Expression nameExpr =
svn commit: r975617 - in /websites/production/camel/content: cache/main.pageCache camel-2170-release.html
Author: buildbot Date: Tue Dec 15 17:19:45 2015 New Revision: 975617 Log: Production update by buildbot for camel Modified: websites/production/camel/content/cache/main.pageCache websites/production/camel/content/camel-2170-release.html Modified: websites/production/camel/content/cache/main.pageCache == Binary files - no diff available. Modified: websites/production/camel/content/camel-2170-release.html == --- websites/production/camel/content/camel-2170-release.html (original) +++ websites/production/camel/content/camel-2170-release.html Tue Dec 15 17:19:45 2015 @@ -85,7 +85,7 @@ -Camel 2.17.0 release (currently in progress)http://camel.apache.org/download.data/camel-box-v1.0-150x200.png; data-image-src="http://camel.apache.org/download.data/camel-box-v1.0-150x200.png;>New and NoteworthyWelcome to the x.y.z release which approx XXX issues resolved (new features, improvements and bug fixes such as...)highlighted issue fixedUpgraded camel-hbase to Hadoop 2.x and HBase 1.1.xCamel commands forSpring BootMany improvements toCamel 0;KuraAdded transacted option toSQL Component when used as a consumer in a transacted route.Added support for UPDATE operation toElasticSearch.Allow to reuse existing configured Elasticsearch Client on the ElasticSearch component, instead of creating a client per endpoint.Theinclude andexclude options onFile2 andFTP endpoints is now case in-sensitive out of the box.Resource based component such asXSLT,Velocityetc can load the resource file from theRegistryby usingref: as prefix.Upgraded camel-amqp to the latest qpid-jms-client (also AMQP 1.0 is not supported anymore).Many improvements to Camel AMQP component.TheMetrics Component allows to captureMessage History performance statistics with theMetricsMessageHistoryFactoryReduced the number of mbeans enlisted in the services tree, to only include mbeans that has value to be managed.TheElasticsearch Componentnow supports MultiGet operationTheThrottler has been improved to be more performant and use a rolling window for time periods which gives a better flow.Fixed these issuesTheSwagger Java now parses nested types in the POJO model that has been annotated with the swagger api annotations to use in the schema api modelFixedRest DSL withapiContextPath fail to start if there are 2 ore more rest's in use.Paho component name is not limited to 4 characters anymore.FixedSpring Boot not starting Camel routes if running in Spring Cloud.New Enterprise Integration PatternsNew Componentscamel-kubernetes - Integrates Camel with Kubernetescamel-aws - AWS kineses streams component addedNew DSLNew AnnotationsNew Data FormatsMIME-Multipart - mime based data format.New LanguagesNew Examplescamel-example-spring-boot-metrics - showing a Camel spring-boot application that report metrics to Graphite. Requires Graphite running on your network.New TutorialsAPI breakingKnown IssuesDependency upgradesEHCache from 2.10.0 to 2.10.1Mvel from 2.2.6.Final to 2.2.7.FinalSpring 4.1.x to 4.2.xSpring-Boot 1.2.x to 1.3.x Spring Integration 2.x to 4.xslf4j-api 1.6.x to 1.7.xImportant changes to consider when upgradingRemoved camel-hbase as Karaf feature as it did not really work well in OSGicamel-infinispan requires Java 8.Support for Spring 4.0.x is deprecated.Moved some Camel tooling related dependencies (such as maven/plexus) from the Camel Parent BOM to the tooling BOM (to have them separated).camel-amqp do not support 0.9 anymore.camel-spring-integration feature has been removed from the Camel karaf.Getting the DistributionsBinary DistributionsDescriptionDownload LinkPGP >Signature file of downloadclass="confluenceTd">Windows Distributionrowspan="1" class="confluenceTd">href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/x.y.x/apache-camel-x.y.x.zip;>apache-camel-x.y.x.zip colspan="1" rowspan="1" class="confluenceTd">class="external-link" >href="http://www.apache.org/dist/camel/apache-camel/x.y.x/apache-camel-x.y.x.zip.asc;>apache-camel-x.y.x.zip.asc colspan="1" rowspan="1" class="confluenceTd">Unix/Linux/Cygwin >Distributionshape="rect" class="external-link" >href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/x.y.x/apache-camel-x.y.x.tar.gz;>apache-camel-x.y.x.tar.gz colspan="1" rowspan="1" class="con fluenceTd">http://www.apache.org/dist/camel/apache-camel/x.y.x/apache-camel-x.y.x.tar.gz.asc;>apache-camel-x.y.x.tar.gz.ascThe above URLs use redirectionThe above URLs use the Apache Mirror system to redirect you to a suitable mirror for your download. Some users have experienced issues with some versions of browsers (e.g. some Safari browsers). If the download doesn't seem to work for you from the above URL then try using http://www.mozilla.com/en-US/firefox/; rel="nofollow">FireFoxSource
camel git commit: Upgrade Vertx to version 3.2.0
Repository: camel Updated Branches: refs/heads/master a16081995 -> 22cc1b5da Upgrade Vertx to version 3.2.0 Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/22cc1b5d Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/22cc1b5d Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/22cc1b5d Branch: refs/heads/master Commit: 22cc1b5da0452f2a9dfe5baca3e0cb633c7b1640 Parents: a160819 Author: Andrea CosentinoAuthored: Tue Dec 15 09:40:49 2015 +0100 Committer: Andrea Cosentino Committed: Tue Dec 15 09:40:49 2015 +0100 -- parent/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/camel/blob/22cc1b5d/parent/pom.xml -- diff --git a/parent/pom.xml b/parent/pom.xml index 6d409b0..6f310e1 100644 --- a/parent/pom.xml +++ b/parent/pom.xml @@ -522,7 +522,7 @@ 1.7_6 2.0 1.7 -3.1.0 +3.2.0 0.7 2.3.2.Final 0.9.4_5
camel git commit: Fixed Camel catalog endpoint options parser
Repository: camel Updated Branches: refs/heads/camel-2.16.x 54f1ea076 -> 84842ded9 Fixed Camel catalog endpoint options parser Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/84842ded Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/84842ded Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/84842ded Branch: refs/heads/camel-2.16.x Commit: 84842ded9693171eae85e5ddbf508a6e2c5e0280 Parents: 54f1ea0 Author: Claus IbsenAuthored: Tue Dec 15 10:40:07 2015 +0100 Committer: Claus Ibsen Committed: Tue Dec 15 10:40:37 2015 +0100 -- .../camel/catalog/DefaultCamelCatalog.java | 67 .../apache/camel/catalog/CamelCatalogTest.java | 47 -- 2 files changed, 85 insertions(+), 29 deletions(-) -- http://git-wip-us.apache.org/repos/asf/camel/blob/84842ded/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 3d99109..d5c34f5 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 @@ -492,7 +492,11 @@ public class DefaultCamelCatalog implements CamelCatalog { // clip the scheme from the syntax syntax = after(syntax, ":"); -// parse the syntax and find the same group in the uri +// clip the scheme from the uri +uri = after(uri, ":"); +String uriPath = stripQuery(uri); + +// parse the syntax and find the names of each option Matcher matcher = SYNTAX_PATTERN.matcher(syntax); List word = new ArrayList(); while (matcher.find()) { @@ -501,30 +505,39 @@ public class DefaultCamelCatalog implements CamelCatalog { word.add(s); } } +// parse the syntax and find each token between each option +String[] tokens = SYNTAX_PATTERN.split(syntax); -// clip the scheme from the uri -uri = after(uri, ":"); -String uriPath = stripQuery(uri); - -// if there is only one, then use uriPath as is +// find the position where each option start/end List word2 = new ArrayList(); +int prev = 0; +for (String token : tokens) { +if (token.isEmpty()) { +continue; +} -if (word.size() == 1) { -String s = uriPath; -s = URISupport.stripPrefix(s, scheme); -// strip any leading : or / after the scheme -while (s.startsWith(":") || s.startsWith("/")) { -s = s.substring(1); -} -word2.add(s); -} else { -Matcher matcher2 = SYNTAX_PATTERN.matcher(uriPath); -while (matcher2.find()) { -String s = matcher2.group(1); -if (!scheme.equals(s)) { -word2.add(s); -} +// special for some tokens where :// can be used also, eg http://foo +int idx = -1; +int len = 0; +if (":".equals(token)) { +idx = uriPath.indexOf("://", prev); +len = 3; } +if (idx == -1) { +idx = uriPath.indexOf(token, prev); +len = token.length(); +} + +if (idx > 0) { +String option = uriPath.substring(prev, idx); +word2.add(option); +prev = idx + len; +} +} +// special for last or if we did not add anyone +if (prev > 0 || word2.isEmpty()) { +String option = uriPath.substring(prev); +word2.add(option); } rows = JSonSchemaHelper.parseJsonSchema("properties", json, true); @@ -551,11 +564,15 @@ public class DefaultCamelCatalog implements CamelCatalog { // we have a little problem as we do not not have all options if (!required) { String value = defaultValue; -options.put(key, value); -defaultValueAdded = true; +if (value != null) { +options.put(key, value); +defaultValueAdded = true; +} } else { -String value = it.next(); -options.put(key, value); +String value = it.hasNext() ? it.next() : null; +if (value
camel git commit: Fixed Camel catalog endpoint options parser
Repository: camel Updated Branches: refs/heads/master 22cc1b5da -> 823402193 Fixed Camel catalog endpoint options parser Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/82340219 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/82340219 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/82340219 Branch: refs/heads/master Commit: 823402193c84ca9ddbea98dab6f0ebd50cd7ddaf Parents: 22cc1b5 Author: Claus IbsenAuthored: Tue Dec 15 10:40:07 2015 +0100 Committer: Claus Ibsen Committed: Tue Dec 15 10:40:58 2015 +0100 -- .../camel/catalog/DefaultCamelCatalog.java | 67 .../apache/camel/catalog/CamelCatalogTest.java | 47 -- 2 files changed, 85 insertions(+), 29 deletions(-) -- http://git-wip-us.apache.org/repos/asf/camel/blob/82340219/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 3d99109..d5c34f5 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 @@ -492,7 +492,11 @@ public class DefaultCamelCatalog implements CamelCatalog { // clip the scheme from the syntax syntax = after(syntax, ":"); -// parse the syntax and find the same group in the uri +// clip the scheme from the uri +uri = after(uri, ":"); +String uriPath = stripQuery(uri); + +// parse the syntax and find the names of each option Matcher matcher = SYNTAX_PATTERN.matcher(syntax); List word = new ArrayList(); while (matcher.find()) { @@ -501,30 +505,39 @@ public class DefaultCamelCatalog implements CamelCatalog { word.add(s); } } +// parse the syntax and find each token between each option +String[] tokens = SYNTAX_PATTERN.split(syntax); -// clip the scheme from the uri -uri = after(uri, ":"); -String uriPath = stripQuery(uri); - -// if there is only one, then use uriPath as is +// find the position where each option start/end List word2 = new ArrayList(); +int prev = 0; +for (String token : tokens) { +if (token.isEmpty()) { +continue; +} -if (word.size() == 1) { -String s = uriPath; -s = URISupport.stripPrefix(s, scheme); -// strip any leading : or / after the scheme -while (s.startsWith(":") || s.startsWith("/")) { -s = s.substring(1); -} -word2.add(s); -} else { -Matcher matcher2 = SYNTAX_PATTERN.matcher(uriPath); -while (matcher2.find()) { -String s = matcher2.group(1); -if (!scheme.equals(s)) { -word2.add(s); -} +// special for some tokens where :// can be used also, eg http://foo +int idx = -1; +int len = 0; +if (":".equals(token)) { +idx = uriPath.indexOf("://", prev); +len = 3; } +if (idx == -1) { +idx = uriPath.indexOf(token, prev); +len = token.length(); +} + +if (idx > 0) { +String option = uriPath.substring(prev, idx); +word2.add(option); +prev = idx + len; +} +} +// special for last or if we did not add anyone +if (prev > 0 || word2.isEmpty()) { +String option = uriPath.substring(prev); +word2.add(option); } rows = JSonSchemaHelper.parseJsonSchema("properties", json, true); @@ -551,11 +564,15 @@ public class DefaultCamelCatalog implements CamelCatalog { // we have a little problem as we do not not have all options if (!required) { String value = defaultValue; -options.put(key, value); -defaultValueAdded = true; +if (value != null) { +options.put(key, value); +defaultValueAdded = true; +} } else { -String value = it.next(); -options.put(key, value); +String value = it.hasNext() ? it.next() : null; +if (value != null) {
[3/4] camel git commit: CAMEL-9424 Correctly build TriggerKey using the trigger prefix relevant to the Action. This fixes the fuplicate trigger name issue when setting both start and stop route times
CAMEL-9424 Correctly build TriggerKey using the trigger prefix relevant to the Action. This fixes the fuplicate trigger name issue when setting both start and stop route times on a CronScheduledRoutePolicy. Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/b4aa8544 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/b4aa8544 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/b4aa8544 Branch: refs/heads/camel-2.16.x Commit: b4aa8544a4b4fd4c6a711a2dca37274fbaf6cd94 Parents: 84842de Author: Donovan MullerAuthored: Wed Dec 16 00:56:44 2015 +0200 Committer: Claus Ibsen Committed: Wed Dec 16 08:14:28 2015 +0100 -- .../quartz2/CronScheduledRoutePolicy.java | 18 +-- .../quartz2/CronScheduledRoutePolicyTest.java | 56 2 files changed, 69 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/camel/blob/b4aa8544/components/camel-quartz2/src/main/java/org/apache/camel/routepolicy/quartz2/CronScheduledRoutePolicy.java -- diff --git a/components/camel-quartz2/src/main/java/org/apache/camel/routepolicy/quartz2/CronScheduledRoutePolicy.java b/components/camel-quartz2/src/main/java/org/apache/camel/routepolicy/quartz2/CronScheduledRoutePolicy.java index eb7978a..1b917a7 100644 --- a/components/camel-quartz2/src/main/java/org/apache/camel/routepolicy/quartz2/CronScheduledRoutePolicy.java +++ b/components/camel-quartz2/src/main/java/org/apache/camel/routepolicy/quartz2/CronScheduledRoutePolicy.java @@ -25,6 +25,7 @@ import org.apache.camel.util.ObjectHelper; import org.quartz.CronScheduleBuilder; import org.quartz.Trigger; import org.quartz.TriggerBuilder; +import org.quartz.TriggerKey; public class CronScheduledRoutePolicy extends ScheduledRoutePolicy implements ScheduledRoutePolicyConstants { private String routeStartTime; @@ -33,7 +34,7 @@ public class CronScheduledRoutePolicy extends ScheduledRoutePolicy implements Sc private String routeResumeTime; private String timeZoneString; private TimeZone timeZone; - + public void onInit(Route route) { try { doOnInit(route); @@ -80,25 +81,32 @@ public class CronScheduledRoutePolicy extends ScheduledRoutePolicy implements Sc @Override protected Trigger createTrigger(Action action, Route route) throws Exception { -Trigger trigger = null; - +Trigger trigger = null; + CronScheduleBuilder scheduleBuilder = null; +String triggerPrefix = null; if (action == Action.START) { scheduleBuilder = CronScheduleBuilder.cronSchedule(getRouteStartTime()); +triggerPrefix = TRIGGER_START; } else if (action == Action.STOP) { scheduleBuilder = CronScheduleBuilder.cronSchedule(getRouteStopTime()); +triggerPrefix = TRIGGER_STOP; } else if (action == Action.SUSPEND) { scheduleBuilder = CronScheduleBuilder.cronSchedule(getRouteSuspendTime()); +triggerPrefix = TRIGGER_SUSPEND; } else if (action == Action.RESUME) { scheduleBuilder = CronScheduleBuilder.cronSchedule(getRouteResumeTime()); +triggerPrefix = TRIGGER_RESUME; } - + if (scheduleBuilder != null) { if (timeZone != null) { scheduleBuilder.inTimeZone(timeZone); } + +TriggerKey triggerKey = new TriggerKey(triggerPrefix + route.getId(), TRIGGER_GROUP + route.getId()); trigger = TriggerBuilder.newTrigger() -.withIdentity(TRIGGER_START + route.getId(), TRIGGER_GROUP + route.getId()) +.withIdentity(triggerKey) .withSchedule(scheduleBuilder) .build(); } http://git-wip-us.apache.org/repos/asf/camel/blob/b4aa8544/components/camel-quartz2/src/test/java/org/apache/camel/routepolicy/quartz2/CronScheduledRoutePolicyTest.java -- diff --git a/components/camel-quartz2/src/test/java/org/apache/camel/routepolicy/quartz2/CronScheduledRoutePolicyTest.java b/components/camel-quartz2/src/test/java/org/apache/camel/routepolicy/quartz2/CronScheduledRoutePolicyTest.java index 6b6ace4..4fd6876 100644 --- a/components/camel-quartz2/src/test/java/org/apache/camel/routepolicy/quartz2/CronScheduledRoutePolicyTest.java +++ b/components/camel-quartz2/src/test/java/org/apache/camel/routepolicy/quartz2/CronScheduledRoutePolicyTest.java @@ -16,9 +16,11 @@ */ package org.apache.camel.routepolicy.quartz2; +import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; import
[2/4] camel git commit: Polished
Polished Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/e3aa8ae4 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/e3aa8ae4 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/e3aa8ae4 Branch: refs/heads/master Commit: e3aa8ae42160dd5801e979f05f1d0ceb733b492e Parents: c96a7c8 Author: Claus IbsenAuthored: Wed Dec 16 08:12:54 2015 +0100 Committer: Claus Ibsen Committed: Wed Dec 16 08:12:54 2015 +0100 -- .../org/apache/camel/model/rest/RestConfigurationDefinition.java | 2 +- .../org/apache/camel/swagger/SwaggerRestApiProcessorFactory.java | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/camel/blob/e3aa8ae4/camel-core/src/main/java/org/apache/camel/model/rest/RestConfigurationDefinition.java -- diff --git a/camel-core/src/main/java/org/apache/camel/model/rest/RestConfigurationDefinition.java b/camel-core/src/main/java/org/apache/camel/model/rest/RestConfigurationDefinition.java index 155a513..5dc4804 100644 --- a/camel-core/src/main/java/org/apache/camel/model/rest/RestConfigurationDefinition.java +++ b/camel-core/src/main/java/org/apache/camel/model/rest/RestConfigurationDefinition.java @@ -600,7 +600,7 @@ public class RestConfigurationDefinition { } /** - * For additional configuration options on data format level + * For configuring an api property, such as api.title, or api.version. */ public RestConfigurationDefinition apiProperty(String key, String value) { RestPropertyDefinition prop = new RestPropertyDefinition(); http://git-wip-us.apache.org/repos/asf/camel/blob/e3aa8ae4/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/SwaggerRestApiProcessorFactory.java -- diff --git a/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/SwaggerRestApiProcessorFactory.java b/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/SwaggerRestApiProcessorFactory.java index 373db45..7b0f5df 100644 --- a/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/SwaggerRestApiProcessorFactory.java +++ b/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/SwaggerRestApiProcessorFactory.java @@ -50,7 +50,9 @@ public class SwaggerRestApiProcessorFactory implements RestApiProcessorFactory { } // and context path is the base.path String path = configuration.getContextPath(); -options.put("base.path", path); +if (path != null) { +options.put("base.path", path); +} return new RestSwaggerProcessor(contextIdPattern, contextIdListing, options); }
[1/4] camel git commit: CAMEL-9424 Correctly build TriggerKey using the trigger prefix relevant to the Action. This fixes the fuplicate trigger name issue when setting both start and stop route times
Repository: camel Updated Branches: refs/heads/camel-2.16.x 84842ded9 -> 35b55e257 refs/heads/master 5d77c1162 -> e3aa8ae42 CAMEL-9424 Correctly build TriggerKey using the trigger prefix relevant to the Action. This fixes the fuplicate trigger name issue when setting both start and stop route times on a CronScheduledRoutePolicy. Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/c96a7c88 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/c96a7c88 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/c96a7c88 Branch: refs/heads/master Commit: c96a7c88551b167efe471a0711d494658945f1fb Parents: 5d77c11 Author: Donovan MullerAuthored: Wed Dec 16 00:56:44 2015 +0200 Committer: Claus Ibsen Committed: Wed Dec 16 07:35:06 2015 +0100 -- .../quartz2/CronScheduledRoutePolicy.java | 18 +-- .../quartz2/CronScheduledRoutePolicyTest.java | 56 2 files changed, 69 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/camel/blob/c96a7c88/components/camel-quartz2/src/main/java/org/apache/camel/routepolicy/quartz2/CronScheduledRoutePolicy.java -- diff --git a/components/camel-quartz2/src/main/java/org/apache/camel/routepolicy/quartz2/CronScheduledRoutePolicy.java b/components/camel-quartz2/src/main/java/org/apache/camel/routepolicy/quartz2/CronScheduledRoutePolicy.java index eb7978a..1b917a7 100644 --- a/components/camel-quartz2/src/main/java/org/apache/camel/routepolicy/quartz2/CronScheduledRoutePolicy.java +++ b/components/camel-quartz2/src/main/java/org/apache/camel/routepolicy/quartz2/CronScheduledRoutePolicy.java @@ -25,6 +25,7 @@ import org.apache.camel.util.ObjectHelper; import org.quartz.CronScheduleBuilder; import org.quartz.Trigger; import org.quartz.TriggerBuilder; +import org.quartz.TriggerKey; public class CronScheduledRoutePolicy extends ScheduledRoutePolicy implements ScheduledRoutePolicyConstants { private String routeStartTime; @@ -33,7 +34,7 @@ public class CronScheduledRoutePolicy extends ScheduledRoutePolicy implements Sc private String routeResumeTime; private String timeZoneString; private TimeZone timeZone; - + public void onInit(Route route) { try { doOnInit(route); @@ -80,25 +81,32 @@ public class CronScheduledRoutePolicy extends ScheduledRoutePolicy implements Sc @Override protected Trigger createTrigger(Action action, Route route) throws Exception { -Trigger trigger = null; - +Trigger trigger = null; + CronScheduleBuilder scheduleBuilder = null; +String triggerPrefix = null; if (action == Action.START) { scheduleBuilder = CronScheduleBuilder.cronSchedule(getRouteStartTime()); +triggerPrefix = TRIGGER_START; } else if (action == Action.STOP) { scheduleBuilder = CronScheduleBuilder.cronSchedule(getRouteStopTime()); +triggerPrefix = TRIGGER_STOP; } else if (action == Action.SUSPEND) { scheduleBuilder = CronScheduleBuilder.cronSchedule(getRouteSuspendTime()); +triggerPrefix = TRIGGER_SUSPEND; } else if (action == Action.RESUME) { scheduleBuilder = CronScheduleBuilder.cronSchedule(getRouteResumeTime()); +triggerPrefix = TRIGGER_RESUME; } - + if (scheduleBuilder != null) { if (timeZone != null) { scheduleBuilder.inTimeZone(timeZone); } + +TriggerKey triggerKey = new TriggerKey(triggerPrefix + route.getId(), TRIGGER_GROUP + route.getId()); trigger = TriggerBuilder.newTrigger() -.withIdentity(TRIGGER_START + route.getId(), TRIGGER_GROUP + route.getId()) +.withIdentity(triggerKey) .withSchedule(scheduleBuilder) .build(); } http://git-wip-us.apache.org/repos/asf/camel/blob/c96a7c88/components/camel-quartz2/src/test/java/org/apache/camel/routepolicy/quartz2/CronScheduledRoutePolicyTest.java -- diff --git a/components/camel-quartz2/src/test/java/org/apache/camel/routepolicy/quartz2/CronScheduledRoutePolicyTest.java b/components/camel-quartz2/src/test/java/org/apache/camel/routepolicy/quartz2/CronScheduledRoutePolicyTest.java index f8d9b2e..73ec425 100644 --- a/components/camel-quartz2/src/test/java/org/apache/camel/routepolicy/quartz2/CronScheduledRoutePolicyTest.java +++ b/components/camel-quartz2/src/test/java/org/apache/camel/routepolicy/quartz2/CronScheduledRoutePolicyTest.java @@ -16,9 +16,11 @@ */ package
[6/6] camel git commit: CAMEL-9427: camel-jetty - Should also support rest-dsl with api-doc
CAMEL-9427: camel-jetty - Should also support rest-dsl with api-doc Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/c471d7b4 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/c471d7b4 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/c471d7b4 Branch: refs/heads/camel-2.16.x Commit: c471d7b41fd810a9068f5d4d705a4fb21fcb4e8d Parents: 18de926 Author: Claus IbsenAuthored: Wed Dec 16 08:55:44 2015 +0100 Committer: Claus Ibsen Committed: Wed Dec 16 08:56:16 2015 +0100 -- components/camel-jetty8/pom.xml | 5 + 1 file changed, 5 insertions(+) -- http://git-wip-us.apache.org/repos/asf/camel/blob/c471d7b4/components/camel-jetty8/pom.xml -- diff --git a/components/camel-jetty8/pom.xml b/components/camel-jetty8/pom.xml index 58d22b7..233692d 100644 --- a/components/camel-jetty8/pom.xml +++ b/components/camel-jetty8/pom.xml @@ -121,6 +121,11 @@ org.apache.camel + camel-swagger-java + test + + + org.apache.camel camel-jackson test
[2/6] camel git commit: CAMEL-9427: camel-jetty - Should also support rest-dsl with api-doc
CAMEL-9427: camel-jetty - Should also support rest-dsl with api-doc Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/a677b50d Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/a677b50d Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/a677b50d Branch: refs/heads/master Commit: a677b50d3e027ac4f41b2ef9e40678d88b045e0c Parents: 1e871d7 Author: Claus IbsenAuthored: Wed Dec 16 08:30:35 2015 +0100 Committer: Claus Ibsen Committed: Wed Dec 16 08:50:05 2015 +0100 -- .../component/jetty/JettyHttpComponent.java | 23 ++- components/camel-jetty9/pom.xml | 5 ++ .../component/jetty/rest/RestApiJettyTest.java | 65 3 files changed, 91 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/camel/blob/a677b50d/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java -- diff --git a/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java b/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java index bcaea1b..6ecc9b5 100644 --- a/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java +++ b/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java @@ -52,6 +52,7 @@ import org.apache.camel.spi.HeaderFilterStrategy; import org.apache.camel.spi.ManagementAgent; import org.apache.camel.spi.ManagementStrategy; import org.apache.camel.spi.Metadata; +import org.apache.camel.spi.RestApiConsumerFactory; import org.apache.camel.spi.RestConfiguration; import org.apache.camel.spi.RestConsumerFactory; import org.apache.camel.util.FileUtil; @@ -93,7 +94,7 @@ import org.slf4j.LoggerFactory; * * @version */ -public abstract class JettyHttpComponent extends HttpCommonComponent implements RestConsumerFactory { +public abstract class JettyHttpComponent extends HttpCommonComponent implements RestConsumerFactory, RestApiConsumerFactory { public static final String TMP_DIR = "CamelJettyTempDir"; protected static final HashMap CONNECTORS = new HashMap (); @@ -1004,6 +1005,18 @@ public abstract class JettyHttpComponent extends HttpCommonComponent implements @Override public Consumer createConsumer(CamelContext camelContext, Processor processor, String verb, String basePath, String uriTemplate, String consumes, String produces, RestConfiguration configuration, Map parameters) throws Exception { +return doCreateConsumer(camelContext, processor, verb, basePath, uriTemplate, consumes, produces, configuration, parameters, false); +} + +@Override +public Consumer createApiConsumer(CamelContext camelContext, Processor processor, String contextPath, + RestConfiguration configuration, Map parameters) throws Exception { +// reuse the createConsumer method we already have. The api need to use GET and match on uri prefix +return doCreateConsumer(camelContext, processor, "GET", contextPath, null, null, null, configuration, parameters, true); +} + +Consumer doCreateConsumer(CamelContext camelContext, Processor processor, String verb, String basePath, String uriTemplate, + String consumes, String produces, RestConfiguration configuration, Map parameters, boolean api) throws Exception { String path = basePath; if (uriTemplate != null) { @@ -1066,7 +1079,13 @@ public abstract class JettyHttpComponent extends HttpCommonComponent implements String query = URISupport.createQueryString(map); -String url = "jetty:%s://%s:%s/%s?httpMethodRestrict=%s"; +String url; +if (api) { +url = "jetty:%s://%s:%s/%s?matchOnUriPrefix=true=%s"; +} else { +url = "jetty:%s://%s:%s/%s?httpMethodRestrict=%s"; +} + // must use upper case for restrict String restrict = verb.toUpperCase(Locale.US); // get the endpoint http://git-wip-us.apache.org/repos/asf/camel/blob/a677b50d/components/camel-jetty9/pom.xml -- diff --git a/components/camel-jetty9/pom.xml b/components/camel-jetty9/pom.xml index 88f4b48..d568e18 100644 --- a/components/camel-jetty9/pom.xml +++ b/components/camel-jetty9/pom.xml @@ -128,6 +128,11 @@ org.apache.camel + camel-swagger-java + test + +
[5/6] camel git commit: CAMEL-9427: camel-jetty - Should also support rest-dsl with api-doc
CAMEL-9427: camel-jetty - Should also support rest-dsl with api-doc Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/18de9265 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/18de9265 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/18de9265 Branch: refs/heads/camel-2.16.x Commit: 18de9265cff952e1e17db27020a5137648486fbc Parents: d5fddde Author: Claus IbsenAuthored: Wed Dec 16 08:30:35 2015 +0100 Committer: Claus Ibsen Committed: Wed Dec 16 08:56:10 2015 +0100 -- .../component/jetty/JettyHttpComponent.java | 23 ++- components/camel-jetty9/pom.xml | 5 ++ .../component/jetty/rest/RestApiJettyTest.java | 65 3 files changed, 91 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/camel/blob/18de9265/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java -- diff --git a/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java b/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java index bcaea1b..6ecc9b5 100644 --- a/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java +++ b/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java @@ -52,6 +52,7 @@ import org.apache.camel.spi.HeaderFilterStrategy; import org.apache.camel.spi.ManagementAgent; import org.apache.camel.spi.ManagementStrategy; import org.apache.camel.spi.Metadata; +import org.apache.camel.spi.RestApiConsumerFactory; import org.apache.camel.spi.RestConfiguration; import org.apache.camel.spi.RestConsumerFactory; import org.apache.camel.util.FileUtil; @@ -93,7 +94,7 @@ import org.slf4j.LoggerFactory; * * @version */ -public abstract class JettyHttpComponent extends HttpCommonComponent implements RestConsumerFactory { +public abstract class JettyHttpComponent extends HttpCommonComponent implements RestConsumerFactory, RestApiConsumerFactory { public static final String TMP_DIR = "CamelJettyTempDir"; protected static final HashMap CONNECTORS = new HashMap (); @@ -1004,6 +1005,18 @@ public abstract class JettyHttpComponent extends HttpCommonComponent implements @Override public Consumer createConsumer(CamelContext camelContext, Processor processor, String verb, String basePath, String uriTemplate, String consumes, String produces, RestConfiguration configuration, Map parameters) throws Exception { +return doCreateConsumer(camelContext, processor, verb, basePath, uriTemplate, consumes, produces, configuration, parameters, false); +} + +@Override +public Consumer createApiConsumer(CamelContext camelContext, Processor processor, String contextPath, + RestConfiguration configuration, Map parameters) throws Exception { +// reuse the createConsumer method we already have. The api need to use GET and match on uri prefix +return doCreateConsumer(camelContext, processor, "GET", contextPath, null, null, null, configuration, parameters, true); +} + +Consumer doCreateConsumer(CamelContext camelContext, Processor processor, String verb, String basePath, String uriTemplate, + String consumes, String produces, RestConfiguration configuration, Map parameters, boolean api) throws Exception { String path = basePath; if (uriTemplate != null) { @@ -1066,7 +1079,13 @@ public abstract class JettyHttpComponent extends HttpCommonComponent implements String query = URISupport.createQueryString(map); -String url = "jetty:%s://%s:%s/%s?httpMethodRestrict=%s"; +String url; +if (api) { +url = "jetty:%s://%s:%s/%s?matchOnUriPrefix=true=%s"; +} else { +url = "jetty:%s://%s:%s/%s?httpMethodRestrict=%s"; +} + // must use upper case for restrict String restrict = verb.toUpperCase(Locale.US); // get the endpoint http://git-wip-us.apache.org/repos/asf/camel/blob/18de9265/components/camel-jetty9/pom.xml -- diff --git a/components/camel-jetty9/pom.xml b/components/camel-jetty9/pom.xml index b89918b..b4247aa 100644 --- a/components/camel-jetty9/pom.xml +++ b/components/camel-jetty9/pom.xml @@ -128,6 +128,11 @@ org.apache.camel + camel-swagger-java + test +
[1/6] camel git commit: CAMEL-9423: changed scope to test for camel-restlet dependency
Repository: camel Updated Branches: refs/heads/camel-2.16.x 35b55e257 -> c471d7b41 refs/heads/master e3aa8ae42 -> 91c97237f CAMEL-9423: changed scope to test for camel-restlet dependency Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/1e871d70 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/1e871d70 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/1e871d70 Branch: refs/heads/master Commit: 1e871d70f9a95062fe234fb6065cc825b4d7de61 Parents: e3aa8ae Author: bsmkAuthored: Wed Dec 16 08:29:25 2015 +0100 Committer: Claus Ibsen Committed: Wed Dec 16 08:50:04 2015 +0100 -- components/camel-rx/pom.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/camel/blob/1e871d70/components/camel-rx/pom.xml -- diff --git a/components/camel-rx/pom.xml b/components/camel-rx/pom.xml index bef0e27..5123441 100644 --- a/components/camel-rx/pom.xml +++ b/components/camel-rx/pom.xml @@ -39,7 +39,7 @@ org.apache.camel camel-core - + io.reactivex rxjava @@ -50,6 +50,7 @@ org.apache.camel camel-restlet + test org.apache.camel
[3/6] camel git commit: CAMEL-9427: camel-jetty - Should also support rest-dsl with api-doc
CAMEL-9427: camel-jetty - Should also support rest-dsl with api-doc Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/91c97237 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/91c97237 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/91c97237 Branch: refs/heads/master Commit: 91c97237fe5bc09b6fdbe2714d871669fc6d499e Parents: a677b50 Author: Claus IbsenAuthored: Wed Dec 16 08:55:44 2015 +0100 Committer: Claus Ibsen Committed: Wed Dec 16 08:55:44 2015 +0100 -- components/camel-jetty8/pom.xml | 5 + 1 file changed, 5 insertions(+) -- http://git-wip-us.apache.org/repos/asf/camel/blob/91c97237/components/camel-jetty8/pom.xml -- diff --git a/components/camel-jetty8/pom.xml b/components/camel-jetty8/pom.xml index 629b7fd..5a65250 100644 --- a/components/camel-jetty8/pom.xml +++ b/components/camel-jetty8/pom.xml @@ -121,6 +121,11 @@ org.apache.camel + camel-swagger-java + test + + + org.apache.camel camel-jackson test
[4/6] camel git commit: CAMEL-9423: changed scope to test for camel-restlet dependency
CAMEL-9423: changed scope to test for camel-restlet dependency Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/d5fddde4 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/d5fddde4 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/d5fddde4 Branch: refs/heads/camel-2.16.x Commit: d5fddde477a1ded413eb2b8ecfc1bca29c22ffa4 Parents: 35b55e2 Author: bsmkAuthored: Wed Dec 16 08:29:25 2015 +0100 Committer: Claus Ibsen Committed: Wed Dec 16 08:56:05 2015 +0100 -- components/camel-rx/pom.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/camel/blob/d5fddde4/components/camel-rx/pom.xml -- diff --git a/components/camel-rx/pom.xml b/components/camel-rx/pom.xml index 01a55cf..bd156da 100644 --- a/components/camel-rx/pom.xml +++ b/components/camel-rx/pom.xml @@ -39,7 +39,7 @@ org.apache.camel camel-core - + io.reactivex rxjava @@ -50,6 +50,7 @@ org.apache.camel camel-restlet + test org.apache.camel