You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ni...@apache.org on 2012/12/18 08:57:48 UTC
svn commit: r1423306 - in
/camel/branches/camel-2.9.x/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3:
S3Constants.java S3Producer.java
Author: ningjiang
Date: Tue Dec 18 07:57:47 2012
New Revision: 1423306
URL: http://svn.apache.org/viewvc?rev=1423306&view=rev
Log:
CAMEL-5781 revert the patch as we cannot upgrade the aws-sdk version here
Modified:
camel/branches/camel-2.9.x/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Constants.java
camel/branches/camel-2.9.x/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Producer.java
Modified: camel/branches/camel-2.9.x/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Constants.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Constants.java?rev=1423306&r1=1423305&r2=1423306&view=diff
==============================================================================
--- camel/branches/camel-2.9.x/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Constants.java (original)
+++ camel/branches/camel-2.9.x/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Constants.java Tue Dec 18 07:57:47 2012
@@ -18,22 +18,20 @@ package org.apache.camel.component.aws.s
/**
* Constants used in Camel AWS S3 module
- *
+ *
*/
public interface S3Constants {
- String BUCKET_NAME = "CamelAwsS3BucketName";
- String CACHE_CONTROL = "CamelAwsS3ContentControl";
+ String BUCKET_NAME = "CamelAwsS3BucketName";
+ String CACHE_CONTROL = "CamelAwsS3ContentControl";
String CONTENT_DISPOSITION = "CamelAwsS3ContentDisposition";
- String CONTENT_ENCODING = "CamelAwsS3ContentEncoding";
- String CONTENT_LENGTH = "CamelAwsS3ContentLength";
- String CONTENT_MD5 = "CamelAwsS3ContentMD5";
- String CONTENT_TYPE = "CamelAwsS3ContentType";
- String E_TAG = "CamelAwsS3ETag";
- String KEY = "CamelAwsS3Key";
- String LAST_MODIFIED = "CamelAwsS3LastModified";
- String STORAGE_CLASS = "CamelAwsS3StorageClass";
- String VERSION_ID = "CamelAwsS3VersionId";
- String CANNED_ACL = "CamelAwsS3CannedAcl";
- String ACL = "CamelAwsS3Acl";
+ String CONTENT_ENCODING = "CamelAwsS3ContentEncoding";
+ String CONTENT_LENGTH = "CamelAwsS3ContentLength";
+ String CONTENT_MD5 = "CamelAwsS3ContentMD5";
+ String CONTENT_TYPE = "CamelAwsS3ContentType";
+ String E_TAG = "CamelAwsS3ETag";
+ String KEY = "CamelAwsS3Key";
+ String LAST_MODIFIED = "CamelAwsS3LastModified";
+ String STORAGE_CLASS = "CamelAwsS3StorageClass";
+ String VERSION_ID = "CamelAwsS3VersionId";
}
\ No newline at end of file
Modified: camel/branches/camel-2.9.x/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Producer.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Producer.java?rev=1423306&r1=1423305&r2=1423306&view=diff
==============================================================================
--- camel/branches/camel-2.9.x/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Producer.java (original)
+++ camel/branches/camel-2.9.x/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Producer.java Tue Dec 18 07:57:47 2012
@@ -19,8 +19,6 @@ package org.apache.camel.component.aws.s
import java.io.InputStream;
import java.util.Date;
-import com.amazonaws.services.s3.model.AccessControlList;
-import com.amazonaws.services.s3.model.CannedAccessControlList;
import com.amazonaws.services.s3.model.ObjectMetadata;
import com.amazonaws.services.s3.model.PutObjectRequest;
import com.amazonaws.services.s3.model.PutObjectResult;
@@ -34,125 +32,115 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
- * A Producer which sends messages to the Amazon Web Service Simple Storage Service <a
- * href="http://aws.amazon.com/s3/">AWS S3</a>
+ * A Producer which sends messages to the Amazon Web Service Simple Storage Service
+ * <a href="http://aws.amazon.com/s3/">AWS S3</a>
*/
public class S3Producer extends DefaultProducer {
private static final Logger LOG = LoggerFactory.getLogger(S3Producer.class);
- public S3Producer(final Endpoint endpoint) {
+ public S3Producer(Endpoint endpoint) {
super(endpoint);
}
- @Override
- public void process(final Exchange exchange) throws Exception {
+ public void process(Exchange exchange) throws Exception {
ObjectMetadata objectMetadata = new ObjectMetadata();
-
+
Long contentLength = exchange.getIn().getHeader(S3Constants.CONTENT_LENGTH, Long.class);
if (contentLength != null) {
objectMetadata.setContentLength(contentLength);
}
-
+
String contentType = exchange.getIn().getHeader(S3Constants.CONTENT_TYPE, String.class);
if (contentType != null) {
objectMetadata.setContentType(contentType);
}
-
+
String cacheControl = exchange.getIn().getHeader(S3Constants.CACHE_CONTROL, String.class);
if (cacheControl != null) {
objectMetadata.setCacheControl(cacheControl);
}
-
+
String contentDisposition = exchange.getIn().getHeader(S3Constants.CONTENT_DISPOSITION, String.class);
if (contentDisposition != null) {
objectMetadata.setContentDisposition(contentDisposition);
}
-
+
String contentEncoding = exchange.getIn().getHeader(S3Constants.CONTENT_ENCODING, String.class);
if (contentEncoding != null) {
objectMetadata.setContentEncoding(contentEncoding);
}
-
+
String contentMD5 = exchange.getIn().getHeader(S3Constants.CONTENT_MD5, String.class);
if (contentMD5 != null) {
objectMetadata.setContentMD5(contentMD5);
}
-
+
Date lastModified = exchange.getIn().getHeader(S3Constants.LAST_MODIFIED, Date.class);
if (lastModified != null) {
objectMetadata.setLastModified(lastModified);
}
-
- PutObjectRequest putObjectRequest = new PutObjectRequest(getConfiguration().getBucketName(),
- determineKey(exchange), exchange.getIn().getMandatoryBody(InputStream.class), objectMetadata);
+
+ PutObjectRequest putObjectRequest = new PutObjectRequest(
+ getConfiguration().getBucketName(),
+ determineKey(exchange),
+ exchange.getIn().getMandatoryBody(InputStream.class),
+ objectMetadata);
String storageClass = determineStorageClass(exchange);
if (storageClass != null) {
putObjectRequest.setStorageClass(storageClass);
}
- String cannedAcl = exchange.getIn().getHeader(S3Constants.CANNED_ACL, String.class);
- if (cannedAcl != null) {
- CannedAccessControlList objectAcl = CannedAccessControlList.valueOf(cannedAcl);
- putObjectRequest.setCannedAcl(objectAcl);
- }
-
- AccessControlList acl = exchange.getIn().getHeader(S3Constants.ACL, AccessControlList.class);
- if (acl != null) {
- // note: if cannedacl and acl are both specified the last one will be used. refer to
- // PutObjectRequest#setAccessControlList for more details
- putObjectRequest.setAccessControlList(acl);
- }
LOG.trace("Put object [{}] from exchange [{}]...", putObjectRequest, exchange);
-
+
PutObjectResult putObjectResult = getEndpoint().getS3Client().putObject(putObjectRequest);
LOG.trace("Received result [{}]", putObjectResult);
-
+
Message message = getMessageForResponse(exchange);
message.setHeader(S3Constants.E_TAG, putObjectResult.getETag());
if (putObjectResult.getVersionId() != null) {
- message.setHeader(S3Constants.VERSION_ID, putObjectResult.getVersionId());
+ message.setHeader(S3Constants.VERSION_ID, putObjectResult.getVersionId());
}
}
-
- private String determineKey(final Exchange exchange) {
+
+ private String determineKey(Exchange exchange) {
String key = exchange.getIn().getHeader(S3Constants.KEY, String.class);
if (key == null) {
throw new IllegalArgumentException("AWS S3 Key header missing.");
}
return key;
}
-
- private String determineStorageClass(final Exchange exchange) {
+
+ private String determineStorageClass(Exchange exchange) {
String storageClass = exchange.getIn().getHeader(S3Constants.STORAGE_CLASS, String.class);
if (storageClass == null) {
storageClass = getConfiguration().getStorageClass();
}
-
+
return storageClass;
}
- private Message getMessageForResponse(final Exchange exchange) {
+ private Message getMessageForResponse(Exchange exchange) {
if (exchange.getPattern().isOutCapable()) {
Message out = exchange.getOut();
out.copyFrom(exchange.getIn());
return out;
}
-
+
return exchange.getIn();
}
-
+
protected S3Configuration getConfiguration() {
return getEndpoint().getConfiguration();
}
-
+
@Override
public String toString() {
return "S3Producer[" + URISupport.sanitizeUri(getEndpoint().getEndpointUri()) + "]";
}
-
+
@Override
public S3Endpoint getEndpoint() {
return (S3Endpoint) super.getEndpoint();