Repository: camel Updated Branches: refs/heads/master b2d768828 -> a9ef2ad05
CAMEL-7999: More components include documentation Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/5cb374b3 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/5cb374b3 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/5cb374b3 Branch: refs/heads/master Commit: 5cb374b360f4bc29d113a3cface303cf435831a5 Parents: b2d7688 Author: Claus Ibsen <[email protected]> Authored: Tue Dec 2 09:02:16 2014 +0100 Committer: Claus Ibsen <[email protected]> Committed: Tue Dec 2 09:02:16 2014 +0100 ---------------------------------------------------------------------- .../freemarker/FreemarkerComponent.java | 8 ++++++-- .../freemarker/FreemarkerEndpoint.java | 7 +++++-- .../component/mustache/MustacheComponent.java | 21 ++++++-------------- .../component/mustache/MustacheEndpoint.java | 6 ++++++ .../stringtemplate/StringTemplateComponent.java | 7 ++++++- .../stringtemplate/StringTemplateEndpoint.java | 6 ++++++ .../component/velocity/VelocityComponent.java | 15 +++++++------- .../component/velocity/VelocityEndpoint.java | 7 +++++++ 8 files changed, 49 insertions(+), 28 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/5cb374b3/components/camel-freemarker/src/main/java/org/apache/camel/component/freemarker/FreemarkerComponent.java ---------------------------------------------------------------------- diff --git a/components/camel-freemarker/src/main/java/org/apache/camel/component/freemarker/FreemarkerComponent.java b/components/camel-freemarker/src/main/java/org/apache/camel/component/freemarker/FreemarkerComponent.java index 9aa19f0..fe46555 100644 --- a/components/camel-freemarker/src/main/java/org/apache/camel/component/freemarker/FreemarkerComponent.java +++ b/components/camel-freemarker/src/main/java/org/apache/camel/component/freemarker/FreemarkerComponent.java @@ -23,18 +23,22 @@ import freemarker.cache.NullCacheStorage; import freemarker.cache.URLTemplateLoader; import freemarker.template.Configuration; import org.apache.camel.Endpoint; -import org.apache.camel.impl.DefaultComponent; +import org.apache.camel.impl.UriEndpointComponent; import org.apache.camel.util.ObjectHelper; import org.apache.camel.util.ResourceHelper; /** * Freemarker component. */ -public class FreemarkerComponent extends DefaultComponent { +public class FreemarkerComponent extends UriEndpointComponent { private Configuration configuration; private Configuration noCacheConfiguration; + public FreemarkerComponent() { + super(FreemarkerEndpoint.class); + } + protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception { // should we use regular configuration or no cache (content cache is default true) Configuration config; http://git-wip-us.apache.org/repos/asf/camel/blob/5cb374b3/components/camel-freemarker/src/main/java/org/apache/camel/component/freemarker/FreemarkerEndpoint.java ---------------------------------------------------------------------- diff --git a/components/camel-freemarker/src/main/java/org/apache/camel/component/freemarker/FreemarkerEndpoint.java b/components/camel-freemarker/src/main/java/org/apache/camel/component/freemarker/FreemarkerEndpoint.java index 7a33922..3367714 100644 --- a/components/camel-freemarker/src/main/java/org/apache/camel/component/freemarker/FreemarkerEndpoint.java +++ b/components/camel-freemarker/src/main/java/org/apache/camel/component/freemarker/FreemarkerEndpoint.java @@ -16,8 +16,6 @@ */ package org.apache.camel.component.freemarker; - - import java.io.Reader; import java.io.StringReader; import java.io.StringWriter; @@ -30,15 +28,20 @@ import org.apache.camel.Exchange; import org.apache.camel.ExchangePattern; import org.apache.camel.Message; import org.apache.camel.component.ResourceEndpoint; +import org.apache.camel.spi.UriEndpoint; +import org.apache.camel.spi.UriParam; import org.apache.camel.util.ExchangeHelper; import org.apache.camel.util.ObjectHelper; /** * Freemarker endpoint */ +@UriEndpoint(scheme = "freemarker", label = "transformation") public class FreemarkerEndpoint extends ResourceEndpoint { + @UriParam private String encoding; + @UriParam private Configuration configuration; public FreemarkerEndpoint() { http://git-wip-us.apache.org/repos/asf/camel/blob/5cb374b3/components/camel-mustache/src/main/java/org/apache/camel/component/mustache/MustacheComponent.java ---------------------------------------------------------------------- diff --git a/components/camel-mustache/src/main/java/org/apache/camel/component/mustache/MustacheComponent.java b/components/camel-mustache/src/main/java/org/apache/camel/component/mustache/MustacheComponent.java index e97f46f..7733221 100644 --- a/components/camel-mustache/src/main/java/org/apache/camel/component/mustache/MustacheComponent.java +++ b/components/camel-mustache/src/main/java/org/apache/camel/component/mustache/MustacheComponent.java @@ -21,8 +21,7 @@ import java.util.Map; import com.github.mustachejava.DefaultMustacheFactory; import com.github.mustachejava.MustacheFactory; import org.apache.camel.Endpoint; -import org.apache.camel.impl.DefaultComponent; -import org.apache.camel.util.ObjectHelper; +import org.apache.camel.impl.UriEndpointComponent; /** * Represents the component that manages {@link MustacheEndpoint}. @@ -34,26 +33,18 @@ import org.apache.camel.util.ObjectHelper; * <li>endDelimiter: default "}}" </li> * </li> */ -public class MustacheComponent extends DefaultComponent { +public class MustacheComponent extends UriEndpointComponent { private MustacheFactory mustacheFactory = new DefaultMustacheFactory(); + public MustacheComponent() { + super(MustacheEndpoint.class); + } + @Override protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception { MustacheEndpoint endpoint = new MustacheEndpoint(uri, this, remaining); endpoint.setMustacheFactory(getMustacheFactory()); - String encoding = getAndRemoveParameter(parameters, "encoding", String.class); - if (ObjectHelper.isNotEmpty(encoding)) { - endpoint.setEncoding(encoding); - } - String startDelimiter = getAndRemoveParameter(parameters, "startDelimiter", String.class); - if (ObjectHelper.isNotEmpty(startDelimiter)) { - endpoint.setStartDelimiter(startDelimiter); - } - String endDelimiter = getAndRemoveParameter(parameters, "endDelimiter", String.class); - if (ObjectHelper.isNotEmpty(endDelimiter)) { - endpoint.setEndDelimiter(endDelimiter); - } setProperties(endpoint, parameters); return endpoint; } http://git-wip-us.apache.org/repos/asf/camel/blob/5cb374b3/components/camel-mustache/src/main/java/org/apache/camel/component/mustache/MustacheEndpoint.java ---------------------------------------------------------------------- diff --git a/components/camel-mustache/src/main/java/org/apache/camel/component/mustache/MustacheEndpoint.java b/components/camel-mustache/src/main/java/org/apache/camel/component/mustache/MustacheEndpoint.java index 21d4402..a22a3a5 100644 --- a/components/camel-mustache/src/main/java/org/apache/camel/component/mustache/MustacheEndpoint.java +++ b/components/camel-mustache/src/main/java/org/apache/camel/component/mustache/MustacheEndpoint.java @@ -31,6 +31,8 @@ import org.apache.camel.Exchange; import org.apache.camel.ExchangePattern; import org.apache.camel.Message; import org.apache.camel.component.ResourceEndpoint; +import org.apache.camel.spi.UriEndpoint; +import org.apache.camel.spi.UriParam; import org.apache.camel.util.ExchangeHelper; import static org.apache.camel.component.mustache.MustacheConstants.MUSTACHE_ENDPOINT_URI_PREFIX; @@ -40,12 +42,16 @@ import static org.apache.camel.component.mustache.MustacheConstants.MUSTACHE_TEM /** * Represents a Camel Mustache endpoint. */ +@UriEndpoint(scheme = "mustache", label = "transformation") public class MustacheEndpoint extends ResourceEndpoint { private MustacheFactory mustacheFactory; private Mustache mustache; + @UriParam private String encoding; + @UriParam private String startDelimiter; + @UriParam private String endDelimiter; public MustacheEndpoint() { http://git-wip-us.apache.org/repos/asf/camel/blob/5cb374b3/components/camel-stringtemplate/src/main/java/org/apache/camel/component/stringtemplate/StringTemplateComponent.java ---------------------------------------------------------------------- diff --git a/components/camel-stringtemplate/src/main/java/org/apache/camel/component/stringtemplate/StringTemplateComponent.java b/components/camel-stringtemplate/src/main/java/org/apache/camel/component/stringtemplate/StringTemplateComponent.java index 3dd31fc..af41a4f 100644 --- a/components/camel-stringtemplate/src/main/java/org/apache/camel/component/stringtemplate/StringTemplateComponent.java +++ b/components/camel-stringtemplate/src/main/java/org/apache/camel/component/stringtemplate/StringTemplateComponent.java @@ -20,12 +20,17 @@ import java.util.Map; import org.apache.camel.Endpoint; import org.apache.camel.impl.DefaultComponent; +import org.apache.camel.impl.UriEndpointComponent; import org.apache.camel.util.ResourceHelper; /** * @version */ -public class StringTemplateComponent extends DefaultComponent { +public class StringTemplateComponent extends UriEndpointComponent { + + public StringTemplateComponent() { + super(StringTemplateEndpoint.class); + } protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception { StringTemplateEndpoint answer = new StringTemplateEndpoint(uri, this, remaining); http://git-wip-us.apache.org/repos/asf/camel/blob/5cb374b3/components/camel-stringtemplate/src/main/java/org/apache/camel/component/stringtemplate/StringTemplateEndpoint.java ---------------------------------------------------------------------- diff --git a/components/camel-stringtemplate/src/main/java/org/apache/camel/component/stringtemplate/StringTemplateEndpoint.java b/components/camel-stringtemplate/src/main/java/org/apache/camel/component/stringtemplate/StringTemplateEndpoint.java index 5e2d356..39c5690 100644 --- a/components/camel-stringtemplate/src/main/java/org/apache/camel/component/stringtemplate/StringTemplateEndpoint.java +++ b/components/camel-stringtemplate/src/main/java/org/apache/camel/component/stringtemplate/StringTemplateEndpoint.java @@ -24,6 +24,8 @@ import org.apache.camel.Exchange; import org.apache.camel.ExchangePattern; import org.apache.camel.Message; import org.apache.camel.component.ResourceEndpoint; +import org.apache.camel.spi.UriEndpoint; +import org.apache.camel.spi.UriParam; import org.apache.camel.util.ExchangeHelper; import org.stringtemplate.v4.NoIndentWriter; import org.stringtemplate.v4.ST; @@ -32,8 +34,12 @@ import org.stringtemplate.v4.STGroup; /** * @version */ +@UriEndpoint(scheme = "stringtemplate", label = "transformation") public class StringTemplateEndpoint extends ResourceEndpoint { + + @UriParam private char delimiterStart = STGroup.defaultGroup.delimiterStartChar; + @UriParam private char delimiterStop = STGroup.defaultGroup.delimiterStopChar; public StringTemplateEndpoint() { http://git-wip-us.apache.org/repos/asf/camel/blob/5cb374b3/components/camel-velocity/src/main/java/org/apache/camel/component/velocity/VelocityComponent.java ---------------------------------------------------------------------- diff --git a/components/camel-velocity/src/main/java/org/apache/camel/component/velocity/VelocityComponent.java b/components/camel-velocity/src/main/java/org/apache/camel/component/velocity/VelocityComponent.java index a1bccf4..bb0bf41 100644 --- a/components/camel-velocity/src/main/java/org/apache/camel/component/velocity/VelocityComponent.java +++ b/components/camel-velocity/src/main/java/org/apache/camel/component/velocity/VelocityComponent.java @@ -19,7 +19,7 @@ package org.apache.camel.component.velocity; import java.util.Map; import org.apache.camel.Endpoint; -import org.apache.camel.impl.DefaultComponent; +import org.apache.camel.impl.UriEndpointComponent; import org.apache.camel.util.ObjectHelper; import org.apache.camel.util.ResourceHelper; import org.apache.velocity.app.VelocityEngine; @@ -27,7 +27,7 @@ import org.apache.velocity.app.VelocityEngine; /** * @version */ -public class VelocityComponent extends DefaultComponent { +public class VelocityComponent extends UriEndpointComponent { private VelocityEngine velocityEngine; public VelocityEngine getVelocityEngine() { @@ -38,17 +38,16 @@ public class VelocityComponent extends DefaultComponent { this.velocityEngine = velocityEngine; } + public VelocityComponent() { + super(VelocityEndpoint.class); + } + protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception { - String propertiesFile = getAndRemoveParameter(parameters, "propertiesFile", String.class); - String encoding = getAndRemoveParameter(parameters, "encoding", String.class); boolean cache = getAndRemoveParameter(parameters, "contentCache", Boolean.class, Boolean.TRUE); VelocityEndpoint answer = new VelocityEndpoint(uri, this, remaining); + setProperties(answer, parameters); answer.setContentCache(cache); - answer.setPropertiesFile(propertiesFile); - if (ObjectHelper.isNotEmpty(encoding)) { - answer.setEncoding(encoding); - } answer.setVelocityEngine(velocityEngine); // if its a http resource then append any remaining parameters and update the resource uri http://git-wip-us.apache.org/repos/asf/camel/blob/5cb374b3/components/camel-velocity/src/main/java/org/apache/camel/component/velocity/VelocityEndpoint.java ---------------------------------------------------------------------- diff --git a/components/camel-velocity/src/main/java/org/apache/camel/component/velocity/VelocityEndpoint.java b/components/camel-velocity/src/main/java/org/apache/camel/component/velocity/VelocityEndpoint.java index b5cbca7..605164c 100644 --- a/components/camel-velocity/src/main/java/org/apache/camel/component/velocity/VelocityEndpoint.java +++ b/components/camel-velocity/src/main/java/org/apache/camel/component/velocity/VelocityEndpoint.java @@ -28,6 +28,8 @@ import org.apache.camel.Exchange; import org.apache.camel.ExchangePattern; import org.apache.camel.Message; import org.apache.camel.component.ResourceEndpoint; +import org.apache.camel.spi.UriEndpoint; +import org.apache.camel.spi.UriParam; import org.apache.camel.util.ExchangeHelper; import org.apache.camel.util.IOHelper; import org.apache.camel.util.ObjectHelper; @@ -38,11 +40,16 @@ import org.apache.velocity.context.Context; import org.apache.velocity.runtime.RuntimeConstants; import org.apache.velocity.runtime.log.CommonsLogLogChute; +@UriEndpoint(scheme = "velocity", label = "transformation") public class VelocityEndpoint extends ResourceEndpoint { private VelocityEngine velocityEngine; + + @UriParam(defaultValue = "true") private boolean loaderCache = true; + @UriParam private String encoding; + @UriParam private String propertiesFile; public VelocityEndpoint() {
