Repository: camel Updated Branches: refs/heads/master b46e7c21c -> e64a8d1e6
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/e64a8d1e Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/e64a8d1e Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/e64a8d1e Branch: refs/heads/master Commit: e64a8d1e6252d0e6a7fc574ee654fb3b17d0d594 Parents: 2dc76a5 Author: Claus Ibsen <davscl...@apache.org> Authored: Mon Jan 5 16:32:31 2015 +0100 Committer: Claus Ibsen <davscl...@apache.org> Committed: Mon Jan 5 16:33:47 2015 +0100 ---------------------------------------------------------------------- .../component/dropbox/DropboxComponent.java | 10 ++++--- .../component/dropbox/DropboxConfiguration.java | 30 +++++++++++--------- .../component/dropbox/DropboxEndpoint.java | 16 +++++++---- 3 files changed, 32 insertions(+), 24 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/e64a8d1e/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/DropboxComponent.java ---------------------------------------------------------------------- diff --git a/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/DropboxComponent.java b/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/DropboxComponent.java index d445f76..9403864 100755 --- a/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/DropboxComponent.java +++ b/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/DropboxComponent.java @@ -23,14 +23,18 @@ import org.apache.camel.component.dropbox.util.DropboxOperation; import org.apache.camel.component.dropbox.util.DropboxPropertyManager; import org.apache.camel.component.dropbox.util.DropboxUploadMode; import org.apache.camel.component.dropbox.validator.DropboxConfigurationValidator; -import org.apache.camel.impl.DefaultComponent; +import org.apache.camel.impl.UriEndpointComponent; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class DropboxComponent extends DefaultComponent { +public class DropboxComponent extends UriEndpointComponent { private static final transient Logger LOG = LoggerFactory.getLogger(DropboxComponent.class); + public DropboxComponent() { + super(DropboxEndpoint.class); + } + /** * Create a camel endpoint after passing validation on the incoming url. * @param uri the full URI of the endpoint @@ -64,8 +68,6 @@ public class DropboxComponent extends DefaultComponent { // and then override from parameters setProperties(configuration, parameters); - LOG.info("dropbox configuration set!"); - Endpoint endpoint = new DropboxEndpoint(uri, this, configuration); return endpoint; } http://git-wip-us.apache.org/repos/asf/camel/blob/e64a8d1e/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/DropboxConfiguration.java ---------------------------------------------------------------------- diff --git a/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/DropboxConfiguration.java b/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/DropboxConfiguration.java index be6fe8b..931868a 100755 --- a/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/DropboxConfiguration.java +++ b/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/DropboxConfiguration.java @@ -23,31 +23,39 @@ import com.dropbox.core.DbxRequestConfig; import org.apache.camel.component.dropbox.util.DropboxException; import org.apache.camel.component.dropbox.util.DropboxOperation; import org.apache.camel.component.dropbox.util.DropboxUploadMode; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - +import org.apache.camel.spi.UriParam; +import org.apache.camel.spi.UriParams; +import org.apache.camel.spi.UriPath; +@UriParams public class DropboxConfiguration { - private static final transient Logger LOG = LoggerFactory.getLogger(DropboxConfiguration.class); - + //specific dropbox operation for the component + @UriPath + private DropboxOperation operation; //dropbox auth options + @UriParam private String accessToken; //local path to put files + @UriParam private String localPath; //where to put files on dropbox + @UriParam private String remotePath; //new path on dropbox when moving files + @UriParam private String newRemotePath; //search query on dropbox + @UriParam private String query; //in case of uploading if force or add existing file + @UriParam private DropboxUploadMode uploadMode; //id of the app + @UriParam private String clientIdentifier; - //specific dropbox operation for the component - private DropboxOperation operation; //reference to dropboxclient + @UriParam private DbxClient client; public void setClient(DbxClient client) { @@ -60,17 +68,11 @@ public class DropboxConfiguration { /** * Obtain a new instance of DbxClient and store it in configuration. - * @throws DropboxException */ public void createClient() throws DropboxException { - DbxRequestConfig config = - new DbxRequestConfig(clientIdentifier, Locale.getDefault().toString()); + DbxRequestConfig config = new DbxRequestConfig(clientIdentifier, Locale.getDefault().toString()); DbxClient client = new DbxClient(config, accessToken); - if (client == null) { - throw new DropboxException("can't establish a Dropbox conenction!"); - } this.client = client; - } public String getAccessToken() { http://git-wip-us.apache.org/repos/asf/camel/blob/e64a8d1e/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/DropboxEndpoint.java ---------------------------------------------------------------------- diff --git a/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/DropboxEndpoint.java b/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/DropboxEndpoint.java index 5cbb0ed..a3f5992 100755 --- a/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/DropboxEndpoint.java +++ b/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/DropboxEndpoint.java @@ -30,15 +30,19 @@ import org.apache.camel.component.dropbox.integration.producer.DropboxSearchProd import org.apache.camel.component.dropbox.util.DropboxException; import org.apache.camel.component.dropbox.util.DropboxOperation; import org.apache.camel.impl.DefaultEndpoint; +import org.apache.camel.spi.UriEndpoint; +import org.apache.camel.spi.UriParam; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import static org.apache.camel.component.dropbox.util.DropboxConstants.POLL_CONSUMER_DELAY; +@UriEndpoint(scheme = "dropbox", consumerClass = DropboxScheduledPollConsumer.class, label = "api,file") public class DropboxEndpoint extends DefaultEndpoint { private static final transient Logger LOG = LoggerFactory.getLogger(DropboxEndpoint.class); + @UriParam private DropboxConfiguration configuration; public DropboxEndpoint() { @@ -59,8 +63,8 @@ public class DropboxEndpoint extends DefaultEndpoint { * @throws Exception */ public Producer createProducer() throws Exception { - LOG.info("resolve producer dropbox endpoint {" + configuration.getOperation().toString() + "}"); - LOG.info("resolve producer dropbox attached client: " + configuration.getClient()); + LOG.trace("Resolve producer dropbox endpoint {" + configuration.getOperation().toString() + "}"); + LOG.trace("Resolve producer dropbox attached client: " + configuration.getClient()); if (configuration.getOperation() == DropboxOperation.put) { return new DropboxPutProducer(this, configuration); } else if (this.configuration.getOperation() == DropboxOperation.search) { @@ -72,7 +76,7 @@ public class DropboxEndpoint extends DefaultEndpoint { } else if (this.configuration.getOperation() == DropboxOperation.move) { return new DropboxMoveProducer(this, configuration); } else { - throw new DropboxException("operation specified is not valid for producer!"); + throw new DropboxException("Operation specified is not valid for producer!"); } } @@ -83,8 +87,8 @@ public class DropboxEndpoint extends DefaultEndpoint { * @throws Exception */ public Consumer createConsumer(Processor processor) throws Exception { - LOG.debug("resolve consumer dropbox endpoint {" + configuration.getOperation().toString() + "}"); - LOG.debug("resolve consumer dropbox attached client:" + configuration.getClient()); + LOG.trace("Resolve consumer dropbox endpoint {" + configuration.getOperation().toString() + "}"); + LOG.trace("Resolve consumer dropbox attached client:" + configuration.getClient()); DropboxScheduledPollConsumer consumer = null; if (this.configuration.getOperation() == DropboxOperation.search) { consumer = new DropboxScheduledPollSearchConsumer(this, processor, configuration); @@ -95,7 +99,7 @@ public class DropboxEndpoint extends DefaultEndpoint { consumer.setDelay(POLL_CONSUMER_DELAY); return consumer; } else { - throw new DropboxException("operation specified is not valid for consumer!"); + throw new DropboxException("Operation specified is not valid for consumer!"); } }