Repository: camel Updated Branches: refs/heads/master d4757bc95 -> 5a276c3c9
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/19d89718 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/19d89718 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/19d89718 Branch: refs/heads/master Commit: 19d89718cd5b4cc46a3ef64ef37fab38f2ff9090 Parents: d4757bc Author: Claus Ibsen <davscl...@apache.org> Authored: Tue Jan 6 15:07:31 2015 +0100 Committer: Claus Ibsen <davscl...@apache.org> Committed: Tue Jan 6 15:07:31 2015 +0100 ---------------------------------------------------------------------- .../camel/component/aws/cw/CwComponent.java | 8 +++--- .../camel/component/aws/cw/CwConfiguration.java | 19 ++++++++++---- .../camel/component/aws/cw/CwEndpoint.java | 5 +++- .../camel/component/aws/ddb/DdbComponent.java | 7 ++--- .../component/aws/ddb/DdbConfiguration.java | 23 ++++++++++++----- .../camel/component/aws/ddb/DdbEndpoint.java | 7 ++++- .../camel/component/aws/s3/S3Component.java | 6 +++-- .../camel/component/aws/s3/S3Configuration.java | 27 +++++++++++++++----- .../camel/component/aws/s3/S3Endpoint.java | 8 ++++-- 9 files changed, 80 insertions(+), 30 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/19d89718/components/camel-aws/src/main/java/org/apache/camel/component/aws/cw/CwComponent.java ---------------------------------------------------------------------- diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/cw/CwComponent.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/cw/CwComponent.java index c7753c0..4ab46a6 100644 --- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/cw/CwComponent.java +++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/cw/CwComponent.java @@ -17,20 +17,22 @@ package org.apache.camel.component.aws.cw; import java.util.Map; + import org.apache.camel.CamelContext; import org.apache.camel.Endpoint; -import org.apache.camel.impl.DefaultComponent; +import org.apache.camel.impl.UriEndpointComponent; /** * Defines the <a href="http://aws.amazon.com/cloudwatch/">AWS CloudWatch Component</a> */ -public class CwComponent extends DefaultComponent { +public class CwComponent extends UriEndpointComponent { public CwComponent() { + super(CwEndpoint.class); } public CwComponent(CamelContext context) { - super(context); + super(context, CwEndpoint.class); } protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception { http://git-wip-us.apache.org/repos/asf/camel/blob/19d89718/components/camel-aws/src/main/java/org/apache/camel/component/aws/cw/CwConfiguration.java ---------------------------------------------------------------------- diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/cw/CwConfiguration.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/cw/CwConfiguration.java index de09383..f9da168 100644 --- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/cw/CwConfiguration.java +++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/cw/CwConfiguration.java @@ -16,24 +16,33 @@ */ package org.apache.camel.component.aws.cw; -/** - * The AWS CW component configuration properties - * - */ import java.util.Date; import com.amazonaws.services.cloudwatch.AmazonCloudWatch; +import org.apache.camel.spi.UriParam; +import org.apache.camel.spi.UriParams; +import org.apache.camel.spi.UriPath; +@UriParams public class CwConfiguration implements Cloneable { + @UriPath + private String namespace; + @UriParam private AmazonCloudWatch amazonCwClient; + @UriParam private String amazonCwEndpoint; + @UriParam private String accessKey; + @UriParam private String secretKey; + @UriParam private String name; + @UriParam private Double value; + @UriParam private String unit; - private String namespace; + @UriParam private Date timestamp; public void setAmazonCwEndpoint(String amazonCwEndpoint) { http://git-wip-us.apache.org/repos/asf/camel/blob/19d89718/components/camel-aws/src/main/java/org/apache/camel/component/aws/cw/CwEndpoint.java ---------------------------------------------------------------------- diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/cw/CwEndpoint.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/cw/CwEndpoint.java index 43deaf9..b5d4009 100644 --- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/cw/CwEndpoint.java +++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/cw/CwEndpoint.java @@ -20,20 +20,23 @@ import com.amazonaws.auth.AWSCredentials; import com.amazonaws.auth.BasicAWSCredentials; import com.amazonaws.services.cloudwatch.AmazonCloudWatch; import com.amazonaws.services.cloudwatch.AmazonCloudWatchClient; - import org.apache.camel.CamelContext; import org.apache.camel.Component; import org.apache.camel.Consumer; import org.apache.camel.Processor; import org.apache.camel.Producer; import org.apache.camel.impl.DefaultEndpoint; +import org.apache.camel.spi.UriEndpoint; +import org.apache.camel.spi.UriParam; import org.apache.camel.util.ObjectHelper; /** * Defines the <a href="http://aws.amazon.com/cloudwatch/">AWS CloudWatch Endpoint</a> */ +@UriEndpoint(scheme = "aws-cw", label = "cloud,monitoring") public class CwEndpoint extends DefaultEndpoint { + @UriParam private CwConfiguration configuration; private AmazonCloudWatch cloudWatchClient; http://git-wip-us.apache.org/repos/asf/camel/blob/19d89718/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddb/DdbComponent.java ---------------------------------------------------------------------- diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddb/DdbComponent.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddb/DdbComponent.java index 368b331..c895557 100644 --- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddb/DdbComponent.java +++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddb/DdbComponent.java @@ -20,18 +20,19 @@ import java.util.Map; import org.apache.camel.CamelContext; import org.apache.camel.Endpoint; -import org.apache.camel.impl.DefaultComponent; +import org.apache.camel.impl.UriEndpointComponent; /** * Defines the <a href="http://aws.amazon.com/dynamodb/">AWS DynamoDB component</a> */ -public class DdbComponent extends DefaultComponent { +public class DdbComponent extends UriEndpointComponent { public DdbComponent() { + super(DdbEndpoint.class); } public DdbComponent(CamelContext context) { - super(context); + super(context, DdbEndpoint.class); } protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception { http://git-wip-us.apache.org/repos/asf/camel/blob/19d89718/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddb/DdbConfiguration.java ---------------------------------------------------------------------- diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddb/DdbConfiguration.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddb/DdbConfiguration.java index 906b84a..990e1a9 100644 --- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddb/DdbConfiguration.java +++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddb/DdbConfiguration.java @@ -17,23 +17,34 @@ package org.apache.camel.component.aws.ddb; import com.amazonaws.services.dynamodb.AmazonDynamoDB; +import org.apache.camel.spi.UriParam; +import org.apache.camel.spi.UriParams; +import org.apache.camel.spi.UriPath; -/** - * The AWS SDB component configuration properties - * - */ +@UriParams public class DdbConfiguration { - + + @UriPath + private String tableName; + @UriParam private String accessKey; + @UriParam private String secretKey; + @UriParam private AmazonDynamoDB amazonDDBClient; + @UriParam private String amazonDdbEndpoint; - private String tableName; + @UriParam(defaultValue = "false") private Boolean consistentRead; + @UriParam(defaultValue = "PutItem") private DdbOperations operation = DdbOperations.PutItem; + @UriParam private Long readCapacity; + @UriParam private Long writeCapacity; + @UriParam private String keyAttributeName; + @UriParam private String keyAttributeType; public void setAmazonDdbEndpoint(String amazonDdbEndpoint) { http://git-wip-us.apache.org/repos/asf/camel/blob/19d89718/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddb/DdbEndpoint.java ---------------------------------------------------------------------- diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddb/DdbEndpoint.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddb/DdbEndpoint.java index 6f7e9c7..1e9a803 100644 --- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddb/DdbEndpoint.java +++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddb/DdbEndpoint.java @@ -29,13 +29,14 @@ import com.amazonaws.services.dynamodb.model.ProvisionedThroughput; import com.amazonaws.services.dynamodb.model.ResourceNotFoundException; import com.amazonaws.services.dynamodb.model.TableDescription; import com.amazonaws.services.dynamodb.model.TableStatus; - import org.apache.camel.CamelContext; import org.apache.camel.Component; import org.apache.camel.Consumer; import org.apache.camel.Processor; import org.apache.camel.Producer; import org.apache.camel.impl.ScheduledPollEndpoint; +import org.apache.camel.spi.UriEndpoint; +import org.apache.camel.spi.UriParam; import org.apache.camel.util.ObjectHelper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -43,10 +44,14 @@ import org.slf4j.LoggerFactory; /** * Defines the <a href="http://aws.amazon.com/dynamodb/">AWS DynamoDB endpoint</a> */ +@UriEndpoint(scheme = "aws-ddb", label = "cloud,database,nosql") public class DdbEndpoint extends ScheduledPollEndpoint { private static final Logger LOG = LoggerFactory.getLogger(DdbEndpoint.class); + + @UriParam private DdbConfiguration configuration; + private AmazonDynamoDB ddbClient; @Deprecated http://git-wip-us.apache.org/repos/asf/camel/blob/19d89718/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Component.java ---------------------------------------------------------------------- diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Component.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Component.java index 7a78f18..c0e0cb3 100644 --- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Component.java +++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Component.java @@ -21,17 +21,19 @@ import java.util.Map; import org.apache.camel.CamelContext; import org.apache.camel.Endpoint; import org.apache.camel.impl.DefaultComponent; +import org.apache.camel.impl.UriEndpointComponent; /** * Defines the <a href="http://aws.amazon.com/s3/">AWS S3 Component</a> */ -public class S3Component extends DefaultComponent { +public class S3Component extends UriEndpointComponent { public S3Component() { + super(S3Endpoint.class); } public S3Component(CamelContext context) { - super(context); + super(context, S3Endpoint.class); } protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception { http://git-wip-us.apache.org/repos/asf/camel/blob/19d89718/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Configuration.java ---------------------------------------------------------------------- diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Configuration.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Configuration.java index 42faf71..afbd17a 100644 --- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Configuration.java +++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Configuration.java @@ -17,26 +17,40 @@ package org.apache.camel.component.aws.s3; import com.amazonaws.services.s3.AmazonS3; +import org.apache.camel.spi.UriParam; +import org.apache.camel.spi.UriParams; +import org.apache.camel.spi.UriPath; -/** - * The AWS S3 component configuration properties - */ +@UriParams public class S3Configuration implements Cloneable { + @UriPath + private String bucketName; + @UriParam + private AmazonS3 amazonS3Client; + @UriParam private String accessKey; + @UriParam private String secretKey; - private AmazonS3 amazonS3Client; - - private String bucketName; + @UriParam private String fileName; + @UriParam private String prefix; + @UriParam private String region; + @UriParam(defaultValue = "true") private boolean deleteAfterRead = true; + @UriParam(defaultValue = "false") private boolean deleteAfterWrite; + @UriParam(defaultValue = "false") private boolean multiPartUpload; + @UriParam(defaultValue = "" + 25 * 1024 * 1024) private long partSize = 25 * 1024 * 1024; + @UriParam private String amazonS3Endpoint; + @UriParam private String policy; + @UriParam private String storageClass; public long getPartSize() { @@ -103,7 +117,6 @@ public class S3Configuration implements Cloneable { this.bucketName = bucketName; } - public String getFileName() { return fileName; } http://git-wip-us.apache.org/repos/asf/camel/blob/19d89718/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Endpoint.java ---------------------------------------------------------------------- diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Endpoint.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Endpoint.java index 38198d1..04453f4 100644 --- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Endpoint.java +++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Endpoint.java @@ -25,7 +25,6 @@ import com.amazonaws.services.s3.model.CreateBucketRequest; import com.amazonaws.services.s3.model.ListObjectsRequest; import com.amazonaws.services.s3.model.ObjectMetadata; import com.amazonaws.services.s3.model.S3Object; - import org.apache.camel.CamelContext; import org.apache.camel.Component; import org.apache.camel.Consumer; @@ -36,20 +35,25 @@ import org.apache.camel.Processor; import org.apache.camel.Producer; import org.apache.camel.impl.DefaultExchange; import org.apache.camel.impl.ScheduledPollEndpoint; +import org.apache.camel.spi.UriEndpoint; +import org.apache.camel.spi.UriParam; import org.apache.camel.util.ObjectHelper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Defines the <a href="http://camel.apache.org/aws.html">AWS S3 Endpoint</a>. - * */ +@UriEndpoint(scheme = "aws-s3", consumerClass = S3Consumer.class, label = "cloud,file") public class S3Endpoint extends ScheduledPollEndpoint { private static final Logger LOG = LoggerFactory.getLogger(S3Endpoint.class); private AmazonS3 s3Client; + + @UriParam private S3Configuration configuration; + @UriParam(defaultValue = "10") private int maxMessagesPerPoll = 10; @Deprecated