You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2019/11/19 12:06:58 UTC

[camel] branch master updated (75c96e0 -> e90f6f6)

This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git.


    from 75c96e0  Upgrade Undertow to version 2.0.28.Final
     new f83ceec  CAMEL-14106 - Camel-AWS: S3 Range Get
     new a96ba1b  CAMEL-14106 - Fixed CS
     new ac3e430  CAMEL-14106 - A bit of docs and example
     new e90f6f6  CAMEL-14106 - Regen docs

The 4 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../src/main/docs/aws-s3-component.adoc            |  20 ++++
 .../camel/component/aws/s3/S3Configuration.java    |   5 +-
 .../apache/camel/component/aws/s3/S3Constants.java |  52 +++++-----
 .../apache/camel/component/aws/s3/S3Consumer.java  |  27 +++---
 .../apache/camel/component/aws/s3/S3Endpoint.java  |   9 +-
 .../camel/component/aws/s3/S3Operations.java       |   8 +-
 .../apache/camel/component/aws/s3/S3Producer.java  |  20 ++++
 .../camel/component/aws/s3/client/S3Client.java    |   4 +-
 .../component/aws/s3/client/S3ClientFactory.java   |   7 +-
 .../s3/client/impl/S3ClientIAMOptimizedImpl.java   |  25 ++---
 .../aws/s3/client/impl/S3ClientStandardImpl.java   |  35 +++----
 .../component/aws/s3/AWSS3ClientFactoryTest.java   |   2 +-
 .../camel/component/aws/s3/AmazonS3ClientMock.java |  46 ++++-----
 .../aws/s3/AmazonS3EncryptionClientMock.java       |  46 ++++-----
 .../s3/S3BatchConsumerMaxMessagesPerPollTest.java  |   2 +-
 .../component/aws/s3/S3BatchConsumerTest.java      |   2 +-
 .../aws/s3/S3ComponentClientRegistryTest.java      |   2 +-
 .../aws/s3/S3ComponentConfigurationTest.java       |   5 +-
 .../aws/s3/S3ComponentContentLengthFileTest.java   |   4 +-
 .../s3/S3ComponentCopyObjectEncryptionTest.java    |   2 +-
 .../aws/s3/S3ComponentCopyObjectSpringTest.java    |   2 +-
 .../aws/s3/S3ComponentCopyObjectTest.java          |   2 +-
 .../aws/s3/S3ComponentDeleteObjectSpringTest.java  |   2 +-
 .../aws/s3/S3ComponentDeleteObjectTest.java        |   2 +-
 .../aws/s3/S3ComponentDownloadLinkSpringTest.java  |   2 +-
 .../aws/s3/S3ComponentDownloadLinkTest.java        |   2 +-
 .../aws/s3/S3ComponentExistingBucketTest.java      |   2 +-
 .../component/aws/s3/S3ComponentFileTest.java      |   2 +-
 ...est.java => S3ComponentGetObjectRangeTest.java} |  20 ++--
 .../component/aws/s3/S3ComponentGetObjectTest.java |   2 +-
 .../aws/s3/S3ComponentKeyNameFileTest.java         |   2 +-
 .../aws/s3/S3ComponentListBucketsSpringTest.java   |   2 +-
 .../aws/s3/S3ComponentListBucketsTest.java         |   2 +-
 .../aws/s3/S3ComponentListObjectTest.java          |   4 +-
 .../aws/s3/S3ComponentListObjectsSpringTest.java   |   2 +-
 .../aws/s3/S3ComponentNonExistingBucketTest.java   |   2 +-
 .../component/aws/s3/S3ComponentStringTest.java    |   2 +-
 .../impl/IAMOptimizedAWSS3ClientImplTest.java      |   8 +-
 .../client/impl/StandardAWSS3ClientImplTest.java   |   9 +-
 .../s3/integration/S3ComponentIntegrationTest.java |  52 +++++-----
 .../S3ObjectRangeOperationIntegrationTest.java     | 105 +++++++++++++++++++++
 .../endpoint/dsl/S3EndpointBuilderFactory.java     |   3 +-
 .../modules/ROOT/pages/aws-s3-component.adoc       |  20 ++++
 43 files changed, 368 insertions(+), 206 deletions(-)
 copy components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/{S3ComponentGetObjectTest.java => S3ComponentGetObjectRangeTest.java} (76%)
 create mode 100644 components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/integration/S3ObjectRangeOperationIntegrationTest.java


[camel] 02/04: CAMEL-14106 - Fixed CS

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit a96ba1b5c11e74190527f6a2d19479fed348aa89
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Tue Nov 19 12:59:51 2019 +0100

    CAMEL-14106 - Fixed CS
---
 .../camel/component/aws/s3/S3Configuration.java    |  5 +-
 .../apache/camel/component/aws/s3/S3Constants.java | 54 +++++++++----------
 .../apache/camel/component/aws/s3/S3Consumer.java  | 27 +++++-----
 .../apache/camel/component/aws/s3/S3Endpoint.java  |  9 ++--
 .../camel/component/aws/s3/S3Operations.java       |  9 +---
 .../apache/camel/component/aws/s3/S3Producer.java  |  6 +--
 .../camel/component/aws/s3/client/S3Client.java    |  4 +-
 .../component/aws/s3/client/S3ClientFactory.java   |  7 ++-
 .../s3/client/impl/S3ClientIAMOptimizedImpl.java   | 25 ++++-----
 .../aws/s3/client/impl/S3ClientStandardImpl.java   | 35 ++++---------
 .../component/aws/s3/AWSS3ClientFactoryTest.java   |  2 +-
 .../camel/component/aws/s3/AmazonS3ClientMock.java | 46 ++++++++--------
 .../aws/s3/AmazonS3EncryptionClientMock.java       | 46 ++++++++--------
 .../s3/S3BatchConsumerMaxMessagesPerPollTest.java  |  2 +-
 .../component/aws/s3/S3BatchConsumerTest.java      |  2 +-
 .../aws/s3/S3ComponentClientRegistryTest.java      |  2 +-
 .../aws/s3/S3ComponentConfigurationTest.java       |  5 +-
 .../aws/s3/S3ComponentContentLengthFileTest.java   |  4 +-
 .../s3/S3ComponentCopyObjectEncryptionTest.java    |  2 +-
 .../aws/s3/S3ComponentCopyObjectSpringTest.java    |  2 +-
 .../aws/s3/S3ComponentCopyObjectTest.java          |  2 +-
 .../aws/s3/S3ComponentDeleteObjectSpringTest.java  |  2 +-
 .../aws/s3/S3ComponentDeleteObjectTest.java        |  2 +-
 .../aws/s3/S3ComponentDownloadLinkSpringTest.java  |  2 +-
 .../aws/s3/S3ComponentDownloadLinkTest.java        |  2 +-
 .../aws/s3/S3ComponentExistingBucketTest.java      |  2 +-
 .../component/aws/s3/S3ComponentFileTest.java      |  2 +-
 .../aws/s3/S3ComponentGetObjectRangeTest.java      | 61 +++++++++++-----------
 .../component/aws/s3/S3ComponentGetObjectTest.java |  2 +-
 .../aws/s3/S3ComponentKeyNameFileTest.java         |  2 +-
 .../aws/s3/S3ComponentListBucketsSpringTest.java   |  2 +-
 .../aws/s3/S3ComponentListBucketsTest.java         |  2 +-
 .../aws/s3/S3ComponentListObjectTest.java          |  4 +-
 .../aws/s3/S3ComponentListObjectsSpringTest.java   |  2 +-
 .../aws/s3/S3ComponentNonExistingBucketTest.java   |  2 +-
 .../component/aws/s3/S3ComponentStringTest.java    |  2 +-
 .../impl/IAMOptimizedAWSS3ClientImplTest.java      |  8 +--
 .../client/impl/StandardAWSS3ClientImplTest.java   |  9 ++--
 .../s3/integration/S3ComponentIntegrationTest.java | 52 +++++++++---------
 .../S3ObjectRangeOperationIntegrationTest.java     | 41 +++++++--------
 40 files changed, 243 insertions(+), 254 deletions(-)

diff --git a/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/S3Configuration.java b/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/S3Configuration.java
index 74e210a..52eb96f 100644
--- a/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/S3Configuration.java
+++ b/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/S3Configuration.java
@@ -207,8 +207,9 @@ public class S3Configuration implements Cloneable {
     }
 
     /**
-     * The region in which S3 client needs to work. When using this parameter, the configuration will expect the capitalized name of the region (for example AP_EAST_1)
-     * You'll need to use the name Regions.EU_WEST_1.name()
+     * The region in which S3 client needs to work. When using this parameter,
+     * the configuration will expect the capitalized name of the region (for
+     * example AP_EAST_1) You'll need to use the name Regions.EU_WEST_1.name()
      */
     public void setRegion(String region) {
         this.region = region;
diff --git a/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/S3Constants.java b/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/S3Constants.java
index 88215b6..5f38259 100644
--- a/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/S3Constants.java
+++ b/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/S3Constants.java
@@ -21,30 +21,30 @@ package org.apache.camel.component.aws.s3;
  */
 public interface S3Constants {
 
-    String BUCKET_NAME                     = "CamelAwsS3BucketName";
-    String BUCKET_DESTINATION_NAME         = "CamelAwsS3BucketDestinationName";
-    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 DOWNLOAD_LINK_EXPIRATION        = "CamelAwsS3DownloadLinkExpiration";
-    String DOWNLOAD_LINK                   = "CamelAwsS3DownloadLink";    
-    String E_TAG                           = "CamelAwsS3ETag";
-    String KEY                             = "CamelAwsS3Key";
-    String DESTINATION_KEY                 = "CamelAwsS3DestinationKey";
-    String LAST_MODIFIED                   = "CamelAwsS3LastModified";
-    String STORAGE_CLASS                   = "CamelAwsS3StorageClass";
-    String VERSION_ID                      = "CamelAwsS3VersionId";
-    String CANNED_ACL                      = "CamelAwsS3CannedAcl";
-    String ACL                             = "CamelAwsS3Acl";
-    String USER_METADATA                   = "CamelAwsS3UserMetadata";
-    String S3_HEADERS                      = "CamelAwsS3Headers";
-    String S3_OPERATION                    = "CamelAwsS3Operation";
-    String SERVER_SIDE_ENCRYPTION          = "CamelAwsS3ServerSideEncryption";
-    String EXPIRATION_TIME                 = "CamelAwsS3ExpirationTime";
-    String REPLICATION_STATUS              = "CamelAwsS3ReplicationStatus";
-    String RANGE_START                     = "CamelAwsS3RangeStart";
-    String RANGE_END                       = "CamelAwsS3RangeEnd";
-}
\ No newline at end of file
+    String BUCKET_NAME = "CamelAwsS3BucketName";
+    String BUCKET_DESTINATION_NAME = "CamelAwsS3BucketDestinationName";
+    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 DOWNLOAD_LINK_EXPIRATION = "CamelAwsS3DownloadLinkExpiration";
+    String DOWNLOAD_LINK = "CamelAwsS3DownloadLink";
+    String E_TAG = "CamelAwsS3ETag";
+    String KEY = "CamelAwsS3Key";
+    String DESTINATION_KEY = "CamelAwsS3DestinationKey";
+    String LAST_MODIFIED = "CamelAwsS3LastModified";
+    String STORAGE_CLASS = "CamelAwsS3StorageClass";
+    String VERSION_ID = "CamelAwsS3VersionId";
+    String CANNED_ACL = "CamelAwsS3CannedAcl";
+    String ACL = "CamelAwsS3Acl";
+    String USER_METADATA = "CamelAwsS3UserMetadata";
+    String S3_HEADERS = "CamelAwsS3Headers";
+    String S3_OPERATION = "CamelAwsS3Operation";
+    String SERVER_SIDE_ENCRYPTION = "CamelAwsS3ServerSideEncryption";
+    String EXPIRATION_TIME = "CamelAwsS3ExpirationTime";
+    String REPLICATION_STATUS = "CamelAwsS3ReplicationStatus";
+    String RANGE_START = "CamelAwsS3RangeStart";
+    String RANGE_END = "CamelAwsS3RangeEnd";
+}
diff --git a/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/S3Consumer.java b/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/S3Consumer.java
index 86193f8..55a21c7 100644
--- a/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/S3Consumer.java
+++ b/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/S3Consumer.java
@@ -45,7 +45,7 @@ import org.apache.camel.util.URISupport;
  * <a href="http://aws.amazon.com/s3/">AWS S3</a>
  */
 public class S3Consumer extends ScheduledBatchPollingConsumer {
-    
+
     private String marker;
     private transient String s3ConsumerToString;
 
@@ -58,11 +58,11 @@ public class S3Consumer extends ScheduledBatchPollingConsumer {
         // must reset for each poll
         shutdownRunningTask = null;
         pendingExchanges = 0;
-        
+
         String fileName = getConfiguration().getFileName();
         String bucketName = getConfiguration().getBucketName();
         Queue<Exchange> exchanges;
-        
+
         if (fileName != null) {
             log.trace("Getting object in bucket [{}] with file name [{}]...", bucketName, fileName);
 
@@ -79,7 +79,8 @@ public class S3Consumer extends ScheduledBatchPollingConsumer {
             if (maxMessagesPerPoll > 0) {
                 listObjectsRequest.setMaxKeys(maxMessagesPerPoll);
             }
-            // if there was a marker from previous poll then use that to continue from where we left last time
+            // if there was a marker from previous poll then use that to
+            // continue from where we left last time
             if (marker != null) {
                 log.trace("Resuming from marker: {}", marker);
                 listObjectsRequest.setMarker(marker);
@@ -101,14 +102,14 @@ public class S3Consumer extends ScheduledBatchPollingConsumer {
         }
         return processBatch(CastUtils.cast(exchanges));
     }
-    
+
     protected Queue<Exchange> createExchanges(S3Object s3Object) {
         Queue<Exchange> answer = new LinkedList<>();
         Exchange exchange = getEndpoint().createExchange(s3Object);
         answer.add(exchange);
         return answer;
     }
-    
+
     protected Queue<Exchange> createExchanges(List<S3ObjectSummary> s3ObjectSummaries) {
         if (log.isTraceEnabled()) {
             log.trace("Received {} messages in this poll", s3ObjectSummaries.size());
@@ -134,7 +135,7 @@ public class S3Consumer extends ScheduledBatchPollingConsumer {
 
         return answer;
     }
-    
+
     @Override
     public int processBatch(Queue<Object> exchanges) throws Exception {
         int total = exchanges.size();
@@ -177,7 +178,7 @@ public class S3Consumer extends ScheduledBatchPollingConsumer {
 
         return total;
     }
-    
+
     /**
      * Strategy to delete the message after being processed.
      *
@@ -188,9 +189,9 @@ public class S3Consumer extends ScheduledBatchPollingConsumer {
             if (getConfiguration().isDeleteAfterRead()) {
                 String bucketName = exchange.getIn().getHeader(S3Constants.BUCKET_NAME, String.class);
                 String key = exchange.getIn().getHeader(S3Constants.KEY, String.class);
-                
+
                 log.trace("Deleting object from bucket {} with key {}...", bucketName, key);
-                
+
                 getAmazonS3Client().deleteObject(bucketName, key);
 
                 log.trace("Deleted object from bucket {} with key {}...", bucketName, key);
@@ -217,14 +218,14 @@ public class S3Consumer extends ScheduledBatchPollingConsumer {
     protected S3Configuration getConfiguration() {
         return getEndpoint().getConfiguration();
     }
-    
+
     protected AmazonS3 getAmazonS3Client() {
         return getEndpoint().getS3Client();
     }
-    
+
     @Override
     public S3Endpoint getEndpoint() {
-        return (S3Endpoint) super.getEndpoint();
+        return (S3Endpoint)super.getEndpoint();
     }
 
     @Override
diff --git a/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/S3Endpoint.java b/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/S3Endpoint.java
index edcc3a2..c9d1c63 100644
--- a/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/S3Endpoint.java
+++ b/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/S3Endpoint.java
@@ -42,8 +42,8 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
- * The aws-s3 component is used for storing and retrieving object from Amazon
- * S3 Storage Service.
+ * The aws-s3 component is used for storing and retrieving object from Amazon S3
+ * Storage Service.
  */
 @UriEndpoint(firstVersion = "2.8.0", scheme = "aws-s3", title = "AWS S3 Storage Service", syntax = "aws-s3://bucketNameOrArn", label = "cloud,file")
 public class S3Endpoint extends ScheduledPollEndpoint {
@@ -224,8 +224,9 @@ public class S3Endpoint extends ScheduledPollEndpoint {
     /**
      * Gets the maximum number of messages as a limit to poll at each polling.
      * <p/>
-     * Gets the maximum number of messages as a limit to poll at each polling. The
-     * default value is 10. Use 0 or a negative number to set it as unlimited.
+     * Gets the maximum number of messages as a limit to poll at each polling.
+     * The default value is 10. Use 0 or a negative number to set it as
+     * unlimited.
      */
     public void setMaxMessagesPerPoll(int maxMessagesPerPoll) {
         this.maxMessagesPerPoll = maxMessagesPerPoll;
diff --git a/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/S3Operations.java b/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/S3Operations.java
index 2bf5c96..a163655 100644
--- a/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/S3Operations.java
+++ b/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/S3Operations.java
@@ -18,12 +18,5 @@ package org.apache.camel.component.aws.s3;
 
 public enum S3Operations {
 
-    copyObject,
-    listObjects,
-    deleteObject,
-    deleteBucket,
-    listBuckets,
-    downloadLink,
-    getObject,
-    getObjectRange
+    copyObject, listObjects, deleteObject, deleteBucket, listBuckets, downloadLink, getObject, getObjectRange
 }
diff --git a/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/S3Producer.java b/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/S3Producer.java
index edd9089..99cb772 100644
--- a/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/S3Producer.java
+++ b/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/S3Producer.java
@@ -372,15 +372,15 @@ public class S3Producer extends DefaultProducer {
         Message message = getMessageForResponse(exchange);
         message.setBody(res);
     }
-    
+
     private void getObjectRange(AmazonS3 s3Client, Exchange exchange) {
         final String bucketName = determineBucketName(exchange);
         final String sourceKey = determineKey(exchange);
         final String rangeStart = exchange.getIn().getHeader(S3Constants.RANGE_START, String.class);
         final String rangeEnd = exchange.getIn().getHeader(S3Constants.RANGE_END, String.class);
-        
+
         if (ObjectHelper.isEmpty(rangeStart) || ObjectHelper.isEmpty(rangeEnd)) {
-        	throw new IllegalArgumentException("A Range start and range end header must be configured to perform a range get operation.");
+            throw new IllegalArgumentException("A Range start and range end header must be configured to perform a range get operation.");
         }
 
         GetObjectRequest req = new GetObjectRequest(bucketName, sourceKey).withRange(Long.parseLong(rangeStart), Long.parseLong(rangeEnd));
diff --git a/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/client/S3Client.java b/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/client/S3Client.java
index df22d6a..0475471 100644
--- a/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/client/S3Client.java
+++ b/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/client/S3Client.java
@@ -24,7 +24,9 @@ import com.amazonaws.services.s3.AmazonS3;
 public interface S3Client {
 
     /**
-     * Returns an s3 client after a factory method determines which one to return.
+     * Returns an s3 client after a factory method determines which one to
+     * return.
+     * 
      * @return AmazonS3 AmazonS3
      */
     AmazonS3 getS3Client();
diff --git a/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/client/S3ClientFactory.java b/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/client/S3ClientFactory.java
index 0a630a8..c91fd7c3 100644
--- a/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/client/S3ClientFactory.java
+++ b/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/client/S3ClientFactory.java
@@ -27,17 +27,16 @@ public final class S3ClientFactory {
 
     private S3ClientFactory() {
         // Prevent instantiation of this factory class.
-        throw new RuntimeException("Do not instantiate a Factory class! Refer to the class "
-                                   + "to learn how to properly use this factory implementation.");
+        throw new RuntimeException("Do not instantiate a Factory class! Refer to the class " + "to learn how to properly use this factory implementation.");
     }
 
     /**
      * Return the correct aws s3 client (based on remote vs local).
+     * 
      * @param maxConnections max connections
      * @return AWSS3Client
      */
     public static S3Client getAWSS3Client(S3Configuration configuration, int maxConnections) {
-        return configuration.isUseIAMCredentials() ? new S3ClientIAMOptimizedImpl(configuration, maxConnections)
-                : new S3ClientStandardImpl(configuration, maxConnections);
+        return configuration.isUseIAMCredentials() ? new S3ClientIAMOptimizedImpl(configuration, maxConnections) : new S3ClientStandardImpl(configuration, maxConnections);
     }
 }
diff --git a/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/client/impl/S3ClientIAMOptimizedImpl.java b/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/client/impl/S3ClientIAMOptimizedImpl.java
index 6f9d35e..76dc46b 100644
--- a/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/client/impl/S3ClientIAMOptimizedImpl.java
+++ b/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/client/impl/S3ClientIAMOptimizedImpl.java
@@ -30,8 +30,9 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
- * Manage an AWS s3 client for all users to use (enabling temporary creds).
- * This implementation is for remote instances to manage the credentials on their own (eliminating credential rotations)
+ * Manage an AWS s3 client for all users to use (enabling temporary creds). This
+ * implementation is for remote instances to manage the credentials on their own
+ * (eliminating credential rotations)
  */
 public class S3ClientIAMOptimizedImpl implements S3Client {
     private static final Logger LOG = LoggerFactory.getLogger(S3ClientIAMOptimizedImpl.class);
@@ -49,6 +50,7 @@ public class S3ClientIAMOptimizedImpl implements S3Client {
 
     /**
      * Getting the s3 aws client that is used.
+     * 
      * @return Amazon S3 Client.
      */
     @Override
@@ -71,22 +73,13 @@ public class S3ClientIAMOptimizedImpl implements S3Client {
         }
 
         if (!configuration.isUseEncryption()) {
-            clientBuilder = AmazonS3ClientBuilder
-                                    .standard()
-                                    .withCredentials(new InstanceProfileCredentialsProvider(false));
+            clientBuilder = AmazonS3ClientBuilder.standard().withCredentials(new InstanceProfileCredentialsProvider(false));
         } else if (configuration.isUseEncryption()) {
-            StaticEncryptionMaterialsProvider encryptionMaterialsProvider = new StaticEncryptionMaterialsProvider(
-                    configuration.getEncryptionMaterials());
-            encClientBuilder = AmazonS3EncryptionClientBuilder
-                                    .standard()
-                                    .withClientConfiguration(clientConfiguration)
-                                    .withEncryptionMaterials(encryptionMaterialsProvider)
-                                    .withCredentials(new InstanceProfileCredentialsProvider(false));
+            StaticEncryptionMaterialsProvider encryptionMaterialsProvider = new StaticEncryptionMaterialsProvider(configuration.getEncryptionMaterials());
+            encClientBuilder = AmazonS3EncryptionClientBuilder.standard().withClientConfiguration(clientConfiguration).withEncryptionMaterials(encryptionMaterialsProvider)
+                .withCredentials(new InstanceProfileCredentialsProvider(false));
         } else {
-            clientBuilder = AmazonS3ClientBuilder
-                                    .standard()
-                                    .withClientConfiguration(clientConfiguration)
-                                    .withCredentials(new InstanceProfileCredentialsProvider(false));
+            clientBuilder = AmazonS3ClientBuilder.standard().withClientConfiguration(clientConfiguration).withCredentials(new InstanceProfileCredentialsProvider(false));
         }
 
         if (!configuration.isUseEncryption()) {
diff --git a/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/client/impl/S3ClientStandardImpl.java b/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/client/impl/S3ClientStandardImpl.java
index 47a3220..1705058 100644
--- a/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/client/impl/S3ClientStandardImpl.java
+++ b/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/client/impl/S3ClientStandardImpl.java
@@ -33,8 +33,8 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
- * Manage an AWS s3 client for all users to use.
- * This implementation is for local instances to use a static and solid credential set.
+ * Manage an AWS s3 client for all users to use. This implementation is for
+ * local instances to use a static and solid credential set.
  */
 public class S3ClientStandardImpl implements S3Client {
     private static final Logger LOG = LoggerFactory.getLogger(S3ClientStandardImpl.class);
@@ -52,6 +52,7 @@ public class S3ClientStandardImpl implements S3Client {
 
     /**
      * Getting the s3 aws client that is used.
+     * 
      * @return Amazon S3 Client.
      */
     @Override
@@ -73,21 +74,13 @@ public class S3ClientStandardImpl implements S3Client {
             AWSCredentials credentials = new BasicAWSCredentials(configuration.getAccessKey(), configuration.getSecretKey());
             AWSCredentialsProvider credentialsProvider = new AWSStaticCredentialsProvider(credentials);
             if (!configuration.isUseEncryption()) {
-                clientBuilder = AmazonS3ClientBuilder
-                                        .standard()
-                                        .withClientConfiguration(clientConfiguration).withCredentials(credentialsProvider);
+                clientBuilder = AmazonS3ClientBuilder.standard().withClientConfiguration(clientConfiguration).withCredentials(credentialsProvider);
             } else if (configuration.isUseEncryption()) {
-                StaticEncryptionMaterialsProvider encryptionMaterialsProvider
-                        = new StaticEncryptionMaterialsProvider(configuration.getEncryptionMaterials());
-                encClientBuilder = AmazonS3EncryptionClientBuilder
-                                        .standard()
-                                        .withClientConfiguration(clientConfiguration)
-                                        .withCredentials(credentialsProvider)
-                                        .withEncryptionMaterials(encryptionMaterialsProvider);
+                StaticEncryptionMaterialsProvider encryptionMaterialsProvider = new StaticEncryptionMaterialsProvider(configuration.getEncryptionMaterials());
+                encClientBuilder = AmazonS3EncryptionClientBuilder.standard().withClientConfiguration(clientConfiguration).withCredentials(credentialsProvider)
+                    .withEncryptionMaterials(encryptionMaterialsProvider);
             } else {
-                clientBuilder = AmazonS3ClientBuilder
-                                        .standard()
-                                        .withCredentials(credentialsProvider);
+                clientBuilder = AmazonS3ClientBuilder.standard().withCredentials(credentialsProvider);
             }
 
             if (!configuration.isUseEncryption()) {
@@ -107,16 +100,10 @@ public class S3ClientStandardImpl implements S3Client {
             if (!configuration.isUseEncryption()) {
                 clientBuilder = AmazonS3ClientBuilder.standard();
             } else if (configuration.isUseEncryption()) {
-                StaticEncryptionMaterialsProvider encryptionMaterialsProvider
-                        = new StaticEncryptionMaterialsProvider(configuration.getEncryptionMaterials());
-                encClientBuilder = AmazonS3EncryptionClientBuilder
-                                        .standard()
-                                        .withClientConfiguration(clientConfiguration)
-                                        .withEncryptionMaterials(encryptionMaterialsProvider);
+                StaticEncryptionMaterialsProvider encryptionMaterialsProvider = new StaticEncryptionMaterialsProvider(configuration.getEncryptionMaterials());
+                encClientBuilder = AmazonS3EncryptionClientBuilder.standard().withClientConfiguration(clientConfiguration).withEncryptionMaterials(encryptionMaterialsProvider);
             } else {
-                clientBuilder = AmazonS3ClientBuilder
-                                        .standard()
-                                        .withClientConfiguration(clientConfiguration);
+                clientBuilder = AmazonS3ClientBuilder.standard().withClientConfiguration(clientConfiguration);
             }
 
             if (!configuration.isUseEncryption()) {
diff --git a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/AWSS3ClientFactoryTest.java b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/AWSS3ClientFactoryTest.java
index 4aba607..154e771 100644
--- a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/AWSS3ClientFactoryTest.java
+++ b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/AWSS3ClientFactoryTest.java
@@ -48,4 +48,4 @@ public class AWSS3ClientFactoryTest {
         S3Client awss3Client = S3ClientFactory.getAWSS3Client(s3Configuration, MAX_CONNECTIONS);
         Assert.assertTrue(awss3Client instanceof S3ClientIAMOptimizedImpl);
     }
-}
\ No newline at end of file
+}
diff --git a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/AmazonS3ClientMock.java b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/AmazonS3ClientMock.java
index 055d545..7e4d8c5 100644
--- a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/AmazonS3ClientMock.java
+++ b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/AmazonS3ClientMock.java
@@ -79,14 +79,14 @@ import org.apache.camel.util.ObjectHelper;
 import org.junit.Assert;
 
 public class AmazonS3ClientMock extends AbstractAmazonS3 {
-    
+
     List<S3Object> objects = new CopyOnWriteArrayList<>();
     List<PutObjectRequest> putObjectRequests = new CopyOnWriteArrayList<>();
-    
+
     private boolean nonExistingBucketCreated;
-    
+
     private int maxCapacity = 100;
-    
+
     public AmazonS3ClientMock() {
     }
 
@@ -101,7 +101,7 @@ public class AmazonS3ClientMock extends AbstractAmazonS3 {
     }
 
     @Override
-    public VersionListing listVersions(String bucketName, String prefix, String keyMarker, String versionIdMarker, String delimiter, Integer maxKeys) 
+    public VersionListing listVersions(String bucketName, String prefix, String keyMarker, String versionIdMarker, String delimiter, Integer maxKeys)
         throws AmazonClientException, AmazonServiceException {
         throw new UnsupportedOperationException();
     }
@@ -134,7 +134,7 @@ public class AmazonS3ClientMock extends AbstractAmazonS3 {
         if ("nonExistingBucket".equals(listObjectsRequest.getBucketName()) && !nonExistingBucketCreated) {
             AmazonServiceException ex = new AmazonServiceException("Unknown bucket");
             ex.setStatusCode(404);
-            throw ex; 
+            throw ex;
         }
         int capacity;
         ObjectListing objectListing = new ObjectListing();
@@ -143,12 +143,12 @@ public class AmazonS3ClientMock extends AbstractAmazonS3 {
         } else {
             capacity = maxCapacity;
         }
-        
+
         for (int index = 0; index < objects.size() && index < capacity; index++) {
             S3ObjectSummary s3ObjectSummary = new S3ObjectSummary();
             s3ObjectSummary.setBucketName(objects.get(index).getBucketName());
             s3ObjectSummary.setKey(objects.get(index).getKey());
-            
+
             objectListing.getObjectSummaries().add(s3ObjectSummary);
         }
 
@@ -203,9 +203,9 @@ public class AmazonS3ClientMock extends AbstractAmazonS3 {
     @Override
     public Bucket createBucket(CreateBucketRequest createBucketRequest) throws AmazonClientException, AmazonServiceException {
         if ("nonExistingBucket".equals(createBucketRequest.getBucketName())) {
-            nonExistingBucketCreated = true; 
+            nonExistingBucketCreated = true;
         }
-        
+
         Bucket bucket = new Bucket();
         bucket.setName(createBucketRequest.getBucketName());
         bucket.setCreationDate(new Date());
@@ -267,8 +267,7 @@ public class AmazonS3ClientMock extends AbstractAmazonS3 {
     public ObjectMetadata getObjectMetadata(GetObjectMetadataRequest getObjectMetadataRequest) throws AmazonClientException, AmazonServiceException {
         throw new UnsupportedOperationException();
     }
-    
-    
+
     @Override
     public S3Object getObject(String bucketName, String key) throws AmazonClientException, AmazonServiceException {
         for (S3Object s3Object : objects) {
@@ -276,7 +275,7 @@ public class AmazonS3ClientMock extends AbstractAmazonS3 {
                 return s3Object;
             }
         }
-        
+
         return null;
     }
 
@@ -324,7 +323,7 @@ public class AmazonS3ClientMock extends AbstractAmazonS3 {
     @Override
     public PutObjectResult putObject(PutObjectRequest putObjectRequest) throws AmazonClientException, AmazonServiceException {
         putObjectRequests.add(putObjectRequest);
-        
+
         S3Object s3Object = new S3Object();
         s3Object.setBucketName(putObjectRequest.getBucketName());
         s3Object.setKey(putObjectRequest.getKey());
@@ -339,14 +338,15 @@ public class AmazonS3ClientMock extends AbstractAmazonS3 {
             s3Object.setObjectContent(putObjectRequest.getInputStream());
         }
         objects.add(s3Object);
-        
+
         PutObjectResult putObjectResult = new PutObjectResult();
         putObjectResult.setETag("3a5c8b1ad448bca04584ecb55b836264");
         return putObjectResult;
     }
 
     @Override
-    public CopyObjectResult copyObject(String sourceBucketName, String sourceKey, String destinationBucketName, String destinationKey) throws AmazonClientException, AmazonServiceException {
+    public CopyObjectResult copyObject(String sourceBucketName, String sourceKey, String destinationBucketName, String destinationKey)
+        throws AmazonClientException, AmazonServiceException {
         throw new UnsupportedOperationException();
     }
 
@@ -360,7 +360,7 @@ public class AmazonS3ClientMock extends AbstractAmazonS3 {
 
     @Override
     public void deleteObject(String bucketName, String key) throws AmazonClientException, AmazonServiceException {
-        //noop
+        // noop
     }
 
     @Override
@@ -379,7 +379,8 @@ public class AmazonS3ClientMock extends AbstractAmazonS3 {
     }
 
     @Override
-    public void setBucketVersioningConfiguration(SetBucketVersioningConfigurationRequest setBucketVersioningConfigurationRequest) throws AmazonClientException, AmazonServiceException {
+    public void setBucketVersioningConfiguration(SetBucketVersioningConfigurationRequest setBucketVersioningConfigurationRequest)
+        throws AmazonClientException, AmazonServiceException {
         throw new UnsupportedOperationException();
     }
 
@@ -389,7 +390,8 @@ public class AmazonS3ClientMock extends AbstractAmazonS3 {
     }
 
     @Override
-    public void setBucketNotificationConfiguration(String bucketName, BucketNotificationConfiguration bucketNotificationConfiguration) throws AmazonClientException, AmazonServiceException {
+    public void setBucketNotificationConfiguration(String bucketName, BucketNotificationConfiguration bucketNotificationConfiguration)
+        throws AmazonClientException, AmazonServiceException {
         throw new UnsupportedOperationException();
     }
 
@@ -451,12 +453,14 @@ public class AmazonS3ClientMock extends AbstractAmazonS3 {
     }
 
     @Override
-    public CompleteMultipartUploadResult completeMultipartUpload(CompleteMultipartUploadRequest completeMultipartUploadRequest) throws AmazonClientException, AmazonServiceException {
+    public CompleteMultipartUploadResult completeMultipartUpload(CompleteMultipartUploadRequest completeMultipartUploadRequest)
+        throws AmazonClientException, AmazonServiceException {
         throw new UnsupportedOperationException();
     }
 
     @Override
-    public InitiateMultipartUploadResult initiateMultipartUpload(InitiateMultipartUploadRequest initiateMultipartUploadRequest) throws AmazonClientException, AmazonServiceException {
+    public InitiateMultipartUploadResult initiateMultipartUpload(InitiateMultipartUploadRequest initiateMultipartUploadRequest)
+        throws AmazonClientException, AmazonServiceException {
         throw new UnsupportedOperationException();
     }
 
diff --git a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/AmazonS3EncryptionClientMock.java b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/AmazonS3EncryptionClientMock.java
index fdbf447..5001f57 100644
--- a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/AmazonS3EncryptionClientMock.java
+++ b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/AmazonS3EncryptionClientMock.java
@@ -78,14 +78,14 @@ import org.apache.camel.util.ObjectHelper;
 import org.junit.Assert;
 
 public class AmazonS3EncryptionClientMock extends AbstractAmazonS3 {
-    
+
     List<S3Object> objects = new CopyOnWriteArrayList<>();
     List<PutObjectRequest> putObjectRequests = new CopyOnWriteArrayList<>();
-    
+
     private boolean nonExistingBucketCreated;
-    
+
     private int maxCapacity = 100;
-    
+
     public AmazonS3EncryptionClientMock() {
     }
 
@@ -100,7 +100,7 @@ public class AmazonS3EncryptionClientMock extends AbstractAmazonS3 {
     }
 
     @Override
-    public VersionListing listVersions(String bucketName, String prefix, String keyMarker, String versionIdMarker, String delimiter, Integer maxKeys) 
+    public VersionListing listVersions(String bucketName, String prefix, String keyMarker, String versionIdMarker, String delimiter, Integer maxKeys)
         throws AmazonClientException, AmazonServiceException {
         throw new UnsupportedOperationException();
     }
@@ -125,7 +125,7 @@ public class AmazonS3EncryptionClientMock extends AbstractAmazonS3 {
         if ("nonExistingBucket".equals(listObjectsRequest.getBucketName()) && !nonExistingBucketCreated) {
             AmazonServiceException ex = new AmazonServiceException("Unknown bucket");
             ex.setStatusCode(404);
-            throw ex; 
+            throw ex;
         }
         int capacity;
         ObjectListing objectListing = new ObjectListing();
@@ -134,12 +134,12 @@ public class AmazonS3EncryptionClientMock extends AbstractAmazonS3 {
         } else {
             capacity = maxCapacity;
         }
-        
+
         for (int index = 0; index < objects.size() && index < capacity; index++) {
             S3ObjectSummary s3ObjectSummary = new S3ObjectSummary();
             s3ObjectSummary.setBucketName(objects.get(index).getBucketName());
             s3ObjectSummary.setKey(objects.get(index).getKey());
-            
+
             objectListing.getObjectSummaries().add(s3ObjectSummary);
         }
 
@@ -194,9 +194,9 @@ public class AmazonS3EncryptionClientMock extends AbstractAmazonS3 {
     @Override
     public Bucket createBucket(CreateBucketRequest createBucketRequest) throws AmazonClientException, AmazonServiceException {
         if ("nonExistingBucket".equals(createBucketRequest.getBucketName())) {
-            nonExistingBucketCreated = true; 
+            nonExistingBucketCreated = true;
         }
-        
+
         Bucket bucket = new Bucket();
         bucket.setName(createBucketRequest.getBucketName());
         bucket.setCreationDate(new Date());
@@ -258,8 +258,7 @@ public class AmazonS3EncryptionClientMock extends AbstractAmazonS3 {
     public ObjectMetadata getObjectMetadata(GetObjectMetadataRequest getObjectMetadataRequest) throws AmazonClientException, AmazonServiceException {
         throw new UnsupportedOperationException();
     }
-    
-    
+
     @Override
     public S3Object getObject(String bucketName, String key) throws AmazonClientException, AmazonServiceException {
         for (S3Object s3Object : objects) {
@@ -267,7 +266,7 @@ public class AmazonS3EncryptionClientMock extends AbstractAmazonS3 {
                 return s3Object;
             }
         }
-        
+
         return null;
     }
 
@@ -315,7 +314,7 @@ public class AmazonS3EncryptionClientMock extends AbstractAmazonS3 {
     @Override
     public PutObjectResult putObject(PutObjectRequest putObjectRequest) throws AmazonClientException, AmazonServiceException {
         putObjectRequests.add(putObjectRequest);
-        
+
         S3Object s3Object = new S3Object();
         s3Object.setBucketName(putObjectRequest.getBucketName());
         s3Object.setKey(putObjectRequest.getKey());
@@ -329,14 +328,15 @@ public class AmazonS3EncryptionClientMock extends AbstractAmazonS3 {
             s3Object.setObjectContent(putObjectRequest.getInputStream());
         }
         objects.add(s3Object);
-        
+
         PutObjectResult putObjectResult = new PutObjectResult();
         putObjectResult.setETag("3a5c8b1ad448bca04584ecb55b836264");
         return putObjectResult;
     }
 
     @Override
-    public CopyObjectResult copyObject(String sourceBucketName, String sourceKey, String destinationBucketName, String destinationKey) throws AmazonClientException, AmazonServiceException {
+    public CopyObjectResult copyObject(String sourceBucketName, String sourceKey, String destinationBucketName, String destinationKey)
+        throws AmazonClientException, AmazonServiceException {
         throw new UnsupportedOperationException();
     }
 
@@ -350,7 +350,7 @@ public class AmazonS3EncryptionClientMock extends AbstractAmazonS3 {
 
     @Override
     public void deleteObject(String bucketName, String key) throws AmazonClientException, AmazonServiceException {
-        //noop
+        // noop
     }
 
     @Override
@@ -369,7 +369,8 @@ public class AmazonS3EncryptionClientMock extends AbstractAmazonS3 {
     }
 
     @Override
-    public void setBucketVersioningConfiguration(SetBucketVersioningConfigurationRequest setBucketVersioningConfigurationRequest) throws AmazonClientException, AmazonServiceException {
+    public void setBucketVersioningConfiguration(SetBucketVersioningConfigurationRequest setBucketVersioningConfigurationRequest)
+        throws AmazonClientException, AmazonServiceException {
         throw new UnsupportedOperationException();
     }
 
@@ -379,7 +380,8 @@ public class AmazonS3EncryptionClientMock extends AbstractAmazonS3 {
     }
 
     @Override
-    public void setBucketNotificationConfiguration(String bucketName, BucketNotificationConfiguration bucketNotificationConfiguration) throws AmazonClientException, AmazonServiceException {
+    public void setBucketNotificationConfiguration(String bucketName, BucketNotificationConfiguration bucketNotificationConfiguration)
+        throws AmazonClientException, AmazonServiceException {
         throw new UnsupportedOperationException();
     }
 
@@ -435,12 +437,14 @@ public class AmazonS3EncryptionClientMock extends AbstractAmazonS3 {
     }
 
     @Override
-    public CompleteMultipartUploadResult completeMultipartUpload(CompleteMultipartUploadRequest completeMultipartUploadRequest) throws AmazonClientException, AmazonServiceException {
+    public CompleteMultipartUploadResult completeMultipartUpload(CompleteMultipartUploadRequest completeMultipartUploadRequest)
+        throws AmazonClientException, AmazonServiceException {
         throw new UnsupportedOperationException();
     }
 
     @Override
-    public InitiateMultipartUploadResult initiateMultipartUpload(InitiateMultipartUploadRequest initiateMultipartUploadRequest) throws AmazonClientException, AmazonServiceException {
+    public InitiateMultipartUploadResult initiateMultipartUpload(InitiateMultipartUploadRequest initiateMultipartUploadRequest)
+        throws AmazonClientException, AmazonServiceException {
         throw new UnsupportedOperationException();
     }
 
diff --git a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3BatchConsumerMaxMessagesPerPollTest.java b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3BatchConsumerMaxMessagesPerPollTest.java
index 3a218c5..f537d94 100644
--- a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3BatchConsumerMaxMessagesPerPollTest.java
+++ b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3BatchConsumerMaxMessagesPerPollTest.java
@@ -29,7 +29,7 @@ public class S3BatchConsumerMaxMessagesPerPollTest extends CamelTestSupport {
 
     @BindToRegistry("amazonS3Client")
     AmazonS3ClientMock clientMock = new AmazonS3ClientMock();
-    
+
     @EndpointInject("mock:result")
     private MockEndpoint mock;
 
diff --git a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3BatchConsumerTest.java b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3BatchConsumerTest.java
index 814b4f2..91fa4a9 100644
--- a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3BatchConsumerTest.java
+++ b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3BatchConsumerTest.java
@@ -29,7 +29,7 @@ public class S3BatchConsumerTest extends CamelTestSupport {
 
     @BindToRegistry("amazonS3Client")
     AmazonS3ClientMock clientMock = new AmazonS3ClientMock();
-    
+
     @EndpointInject("mock:result")
     private MockEndpoint mock;
 
diff --git a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentClientRegistryTest.java b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentClientRegistryTest.java
index 54f4b63..1e78328 100644
--- a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentClientRegistryTest.java
+++ b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentClientRegistryTest.java
@@ -38,7 +38,7 @@ public class S3ComponentClientRegistryTest extends CamelTestSupport {
         assertNull(endpoint.getConfiguration().getPrefix());
         assertTrue(endpoint.getConfiguration().isIncludeBody());
     }
-    
+
     @Test(expected = IllegalArgumentException.class)
     public void createEndpointWithMinimalS3ClientMisconfiguration() throws Exception {
 
diff --git a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentConfigurationTest.java b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentConfigurationTest.java
index 1376849..b941326 100644
--- a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentConfigurationTest.java
+++ b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentConfigurationTest.java
@@ -217,12 +217,13 @@ public class S3ComponentConfigurationTest extends CamelTestSupport {
         assertEquals("yyy", endpoint.getConfiguration().getSecretKey());
         assertTrue(endpoint.getConfiguration().isForceGlobalBucketAccessEnabled());
     }
-    
+
     @Test
     public void createEndpointWithAutocreateOption() throws Exception {
 
         S3Component component = new S3Component(context);
-        S3Endpoint endpoint = (S3Endpoint)component.createEndpoint("aws-s3://MyBucket?forceGlobalBucketAccessEnabled=true&accessKey=xxx&secretKey=yyy&region=US_WEST_1&autoCreateBucket=false");
+        S3Endpoint endpoint = (S3Endpoint)component
+            .createEndpoint("aws-s3://MyBucket?forceGlobalBucketAccessEnabled=true&accessKey=xxx&secretKey=yyy&region=US_WEST_1&autoCreateBucket=false");
 
         assertEquals("MyBucket", endpoint.getConfiguration().getBucketName());
         assertEquals("xxx", endpoint.getConfiguration().getAccessKey());
diff --git a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentContentLengthFileTest.java b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentContentLengthFileTest.java
index 1a9e7c2..eef2118 100644
--- a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentContentLengthFileTest.java
+++ b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentContentLengthFileTest.java
@@ -42,7 +42,7 @@ public class S3ComponentContentLengthFileTest extends CamelTestSupport {
 
     @BindToRegistry("amazonS3Client")
     AmazonS3ClientMock client = new AmazonS3ClientMock();
-    
+
     @EndpointInject("direct:startKeep")
     ProducerTemplate templateKeep;
 
@@ -99,7 +99,7 @@ public class S3ComponentContentLengthFileTest extends CamelTestSupport {
 
         assertFileExists(testFile.getAbsolutePath());
     }
-    
+
     @Test
     public void sendFileWithContentLength() throws Exception {
         result.expectedMessageCount(1);
diff --git a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentCopyObjectEncryptionTest.java b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentCopyObjectEncryptionTest.java
index 8faf7eb..78546b7 100644
--- a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentCopyObjectEncryptionTest.java
+++ b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentCopyObjectEncryptionTest.java
@@ -31,7 +31,7 @@ public class S3ComponentCopyObjectEncryptionTest extends CamelTestSupport {
 
     @BindToRegistry("amazonS3Client")
     AmazonS3EncryptionClientMock clientMock = new AmazonS3EncryptionClientMock();
-    
+
     @EndpointInject("direct:start")
     private ProducerTemplate template;
 
diff --git a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentCopyObjectSpringTest.java b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentCopyObjectSpringTest.java
index 2e01e67..57a6b96 100644
--- a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentCopyObjectSpringTest.java
+++ b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentCopyObjectSpringTest.java
@@ -27,7 +27,7 @@ import org.junit.Test;
 import org.springframework.context.support.ClassPathXmlApplicationContext;
 
 public class S3ComponentCopyObjectSpringTest extends CamelSpringTestSupport {
-    
+
     @EndpointInject("direct:start")
     private ProducerTemplate template;
 
diff --git a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentCopyObjectTest.java b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentCopyObjectTest.java
index aaa9d25..d62fda4 100644
--- a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentCopyObjectTest.java
+++ b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentCopyObjectTest.java
@@ -31,7 +31,7 @@ public class S3ComponentCopyObjectTest extends CamelTestSupport {
 
     @BindToRegistry("amazonS3Client")
     AmazonS3ClientMock clientMock = new AmazonS3ClientMock();
-    
+
     @EndpointInject("direct:start")
     private ProducerTemplate template;
 
diff --git a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentDeleteObjectSpringTest.java b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentDeleteObjectSpringTest.java
index 00fa529..6107509 100644
--- a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentDeleteObjectSpringTest.java
+++ b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentDeleteObjectSpringTest.java
@@ -27,7 +27,7 @@ import org.junit.Test;
 import org.springframework.context.support.ClassPathXmlApplicationContext;
 
 public class S3ComponentDeleteObjectSpringTest extends CamelSpringTestSupport {
-    
+
     @EndpointInject("direct:start")
     private ProducerTemplate template;
 
diff --git a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentDeleteObjectTest.java b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentDeleteObjectTest.java
index 5bd2c66..c7b5d51 100644
--- a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentDeleteObjectTest.java
+++ b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentDeleteObjectTest.java
@@ -31,7 +31,7 @@ public class S3ComponentDeleteObjectTest extends CamelTestSupport {
 
     @BindToRegistry("amazonS3Client")
     AmazonS3ClientMock clientMock = new AmazonS3ClientMock();
-    
+
     @EndpointInject("direct:start")
     private ProducerTemplate template;
 
diff --git a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentDownloadLinkSpringTest.java b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentDownloadLinkSpringTest.java
index 2b434cb..195cab3 100644
--- a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentDownloadLinkSpringTest.java
+++ b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentDownloadLinkSpringTest.java
@@ -35,7 +35,7 @@ public class S3ComponentDownloadLinkSpringTest extends CamelSpringTestSupport {
 
     @EndpointInject("mock:result")
     private MockEndpoint result;
-    
+
     @Test
     public void sendIn() throws Exception {
         result.expectedMessageCount(1);
diff --git a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentDownloadLinkTest.java b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentDownloadLinkTest.java
index ec9d87c..d1a3559 100644
--- a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentDownloadLinkTest.java
+++ b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentDownloadLinkTest.java
@@ -32,7 +32,7 @@ public class S3ComponentDownloadLinkTest extends CamelTestSupport {
 
     @BindToRegistry("amazonS3Client")
     AmazonS3ClientMock clientMock = new AmazonS3ClientMock();
-    
+
     @EndpointInject("direct:downloadLink")
     private ProducerTemplate template;
 
diff --git a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentExistingBucketTest.java b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentExistingBucketTest.java
index ef0f830..c12547c 100644
--- a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentExistingBucketTest.java
+++ b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentExistingBucketTest.java
@@ -38,7 +38,7 @@ public class S3ComponentExistingBucketTest extends CamelTestSupport {
 
     @BindToRegistry("amazonS3Client")
     AmazonS3ClientMock clientMock = new AmazonS3ClientMock();
-    
+
     @EndpointInject("direct:start")
     private ProducerTemplate template;
 
diff --git a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentFileTest.java b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentFileTest.java
index 5427ca7..d4ce34b 100644
--- a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentFileTest.java
+++ b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentFileTest.java
@@ -41,7 +41,7 @@ public class S3ComponentFileTest extends CamelTestSupport {
 
     @BindToRegistry("amazonS3Client")
     AmazonS3ClientMock client = new AmazonS3ClientMock();
-    
+
     @EndpointInject("direct:startKeep")
     ProducerTemplate templateKeep;
 
diff --git a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentGetObjectRangeTest.java b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentGetObjectRangeTest.java
index 8f59852..8e05691 100644
--- a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentGetObjectRangeTest.java
+++ b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentGetObjectRangeTest.java
@@ -16,6 +16,7 @@
  */
 package org.apache.camel.component.aws.s3;
 
+import com.amazonaws.services.s3.AmazonS3;
 import org.apache.camel.BindToRegistry;
 import org.apache.camel.EndpointInject;
 import org.apache.camel.Exchange;
@@ -26,46 +27,44 @@ import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.test.junit4.CamelTestSupport;
 import org.junit.Test;
 
-import com.amazonaws.services.s3.AmazonS3;
-
 public class S3ComponentGetObjectRangeTest extends CamelTestSupport {
 
-	@BindToRegistry("amazonS3Client")
-	AmazonS3 clientMock = new AmazonS3ClientMock();
+    @BindToRegistry("amazonS3Client")
+    AmazonS3 clientMock = new AmazonS3ClientMock();
 
-	@EndpointInject
-	private ProducerTemplate template;
+    @EndpointInject
+    private ProducerTemplate template;
 
-	@EndpointInject("mock:result")
-	private MockEndpoint result;
+    @EndpointInject("mock:result")
+    private MockEndpoint result;
 
-	@Test
-	public void sendIn() throws Exception {
-		result.expectedMessageCount(1);
+    @Test
+    public void sendIn() throws Exception {
+        result.expectedMessageCount(1);
 
-		template.send("direct:getObjectRange", new Processor() {
+        template.send("direct:getObjectRange", new Processor() {
 
-			@Override
-			public void process(Exchange exchange) throws Exception {
-				exchange.getIn().setHeader(S3Constants.KEY, "pippo.txt");
-				exchange.getIn().setHeader(S3Constants.RANGE_START, 0);
-				exchange.getIn().setHeader(S3Constants.RANGE_END, 9);
-			}
-		});
-		assertMockEndpointsSatisfied();
+            @Override
+            public void process(Exchange exchange) throws Exception {
+                exchange.getIn().setHeader(S3Constants.KEY, "pippo.txt");
+                exchange.getIn().setHeader(S3Constants.RANGE_START, 0);
+                exchange.getIn().setHeader(S3Constants.RANGE_END, 9);
+            }
+        });
+        assertMockEndpointsSatisfied();
 
-	}
+    }
 
-	@Override
-	protected RouteBuilder createRouteBuilder() throws Exception {
-		return new RouteBuilder() {
-			@Override
-			public void configure() throws Exception {
-				String awsEndpoint = "aws-s3://mycamelbucket?amazonS3Client=#amazonS3Client&operation=getObjectRange";
+    @Override
+    protected RouteBuilder createRouteBuilder() throws Exception {
+        return new RouteBuilder() {
+            @Override
+            public void configure() throws Exception {
+                String awsEndpoint = "aws-s3://mycamelbucket?amazonS3Client=#amazonS3Client&operation=getObjectRange";
 
-				from("direct:getObjectRange").to(awsEndpoint).to("mock:result");
+                from("direct:getObjectRange").to(awsEndpoint).to("mock:result");
 
-			}
-		};
-	}
+            }
+        };
+    }
 }
diff --git a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentGetObjectTest.java b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentGetObjectTest.java
index cbec621..b94a1fa 100644
--- a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentGetObjectTest.java
+++ b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentGetObjectTest.java
@@ -30,7 +30,7 @@ public class S3ComponentGetObjectTest extends CamelTestSupport {
 
     @BindToRegistry("amazonS3Client")
     AmazonS3ClientMock clientMock = new AmazonS3ClientMock();
-    
+
     @EndpointInject("direct:listBuckets")
     private ProducerTemplate template;
 
diff --git a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentKeyNameFileTest.java b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentKeyNameFileTest.java
index e1ee26e..98cf523 100644
--- a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentKeyNameFileTest.java
+++ b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentKeyNameFileTest.java
@@ -42,7 +42,7 @@ public class S3ComponentKeyNameFileTest extends CamelTestSupport {
 
     @BindToRegistry("amazonS3Client")
     AmazonS3ClientMock client = new AmazonS3ClientMock();
-    
+
     @EndpointInject("direct:startKeep")
     ProducerTemplate templateKeep;
 
diff --git a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentListBucketsSpringTest.java b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentListBucketsSpringTest.java
index 4e2cb48..1a24f31 100644
--- a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentListBucketsSpringTest.java
+++ b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentListBucketsSpringTest.java
@@ -29,7 +29,7 @@ import org.junit.Test;
 import org.springframework.context.support.ClassPathXmlApplicationContext;
 
 public class S3ComponentListBucketsSpringTest extends CamelSpringTestSupport {
-    
+
     @EndpointInject("direct:listBuckets")
     private ProducerTemplate template;
 
diff --git a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentListBucketsTest.java b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentListBucketsTest.java
index 39e0ed9..58812c0 100644
--- a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentListBucketsTest.java
+++ b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentListBucketsTest.java
@@ -33,7 +33,7 @@ public class S3ComponentListBucketsTest extends CamelTestSupport {
 
     @BindToRegistry("amazonS3Client")
     AmazonS3ClientMock clientMock = new AmazonS3ClientMock();
-    
+
     @EndpointInject("direct:listBuckets")
     private ProducerTemplate template;
 
diff --git a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentListObjectTest.java b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentListObjectTest.java
index 07cd8ec..546096e 100644
--- a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentListObjectTest.java
+++ b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentListObjectTest.java
@@ -28,10 +28,10 @@ import org.apache.camel.test.junit4.CamelTestSupport;
 import org.junit.Test;
 
 public class S3ComponentListObjectTest extends CamelTestSupport {
-    
+
     @BindToRegistry("amazonS3Client")
     AmazonS3ClientMock clientMock = new AmazonS3ClientMock();
-    
+
     @EndpointInject("direct:listBuckets")
     private ProducerTemplate template;
 
diff --git a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentListObjectsSpringTest.java b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentListObjectsSpringTest.java
index f8d1de6..93a2f5a 100644
--- a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentListObjectsSpringTest.java
+++ b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentListObjectsSpringTest.java
@@ -27,7 +27,7 @@ import org.junit.Test;
 import org.springframework.context.support.ClassPathXmlApplicationContext;
 
 public class S3ComponentListObjectsSpringTest extends CamelSpringTestSupport {
-    
+
     @EndpointInject("direct:listBuckets")
     private ProducerTemplate template;
 
diff --git a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentNonExistingBucketTest.java b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentNonExistingBucketTest.java
index 34e9951..812b80c 100644
--- a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentNonExistingBucketTest.java
+++ b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentNonExistingBucketTest.java
@@ -38,7 +38,7 @@ public class S3ComponentNonExistingBucketTest extends CamelTestSupport {
 
     @BindToRegistry("amazonS3Client")
     AmazonS3ClientMock client = new AmazonS3ClientMock();
-    
+
     @EndpointInject("direct:start")
     private ProducerTemplate template;
 
diff --git a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentStringTest.java b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentStringTest.java
index 94f5703..e3f5adc 100644
--- a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentStringTest.java
+++ b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentStringTest.java
@@ -35,7 +35,7 @@ public class S3ComponentStringTest extends CamelTestSupport {
 
     @BindToRegistry("amazonS3Client")
     AmazonS3ClientMock client = new AmazonS3ClientMock();
-    
+
     @EndpointInject("direct:sendString")
     ProducerTemplate templateSendString;
 
diff --git a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/client/impl/IAMOptimizedAWSS3ClientImplTest.java b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/client/impl/IAMOptimizedAWSS3ClientImplTest.java
index e1c3507..7c195ec 100644
--- a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/client/impl/IAMOptimizedAWSS3ClientImplTest.java
+++ b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/client/impl/IAMOptimizedAWSS3ClientImplTest.java
@@ -29,12 +29,14 @@ import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
 /**
- * Basic testing to ensure that the IAMOptimizedAWSS3ClientImplTest class is returning a standard client that is
- * capable of encryption given certain parameters. This client is new to Camel as of 02-15-2018 and enables IAM
+ * Basic testing to ensure that the IAMOptimizedAWSS3ClientImplTest class is
+ * returning a standard client that is capable of encryption given certain
+ * parameters. This client is new to Camel as of 02-15-2018 and enables IAM
  * temporary credentials to improve security.
  */
 public class IAMOptimizedAWSS3ClientImplTest {
     private static final int MAX_CONNECTIONS = 1;
+
     @Test
     public void iamOptimizedAWSS3ClientImplNoEncryption() {
         S3ClientIAMOptimizedImpl iamOptimizedAWSS3Client = new S3ClientIAMOptimizedImpl(getS3ConfigurationNoEncryption(), MAX_CONNECTIONS);
@@ -58,7 +60,7 @@ public class IAMOptimizedAWSS3ClientImplTest {
         Assert.assertNotNull(s3Client);
         Assert.assertFalse(s3Client instanceof AmazonS3EncryptionClient);
 
-        ClientConfiguration configuration = ((AmazonS3Client) s3Client).getClientConfiguration();
+        ClientConfiguration configuration = ((AmazonS3Client)s3Client).getClientConfiguration();
         Assert.assertEquals(Protocol.HTTP, configuration.getProxyProtocol());
     }
 
diff --git a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/client/impl/StandardAWSS3ClientImplTest.java b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/client/impl/StandardAWSS3ClientImplTest.java
index 9de88bb..5ba2e7f 100644
--- a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/client/impl/StandardAWSS3ClientImplTest.java
+++ b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/client/impl/StandardAWSS3ClientImplTest.java
@@ -29,9 +29,10 @@ import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
 /**
- * Basic testing to ensure that the StandardAWSS3ClientImpl class is returning a standard client that is
- * capable of encryption given certain parameters. These clients have been in existence for a long time, but haven't
- * been properly unit tested.
+ * Basic testing to ensure that the StandardAWSS3ClientImpl class is returning a
+ * standard client that is capable of encryption given certain parameters. These
+ * clients have been in existence for a long time, but haven't been properly
+ * unit tested.
  */
 public class StandardAWSS3ClientImplTest {
     private static final int MAX_CONNECTIONS = 1;
@@ -59,7 +60,7 @@ public class StandardAWSS3ClientImplTest {
         Assert.assertNotNull(s3Client);
         Assert.assertFalse(s3Client instanceof AmazonS3EncryptionClient);
 
-        ClientConfiguration configuration = ((AmazonS3Client) s3Client).getClientConfiguration();
+        ClientConfiguration configuration = ((AmazonS3Client)s3Client).getClientConfiguration();
         Assert.assertEquals(Protocol.HTTP, configuration.getProxyProtocol());
     }
 
diff --git a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/integration/S3ComponentIntegrationTest.java b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/integration/S3ComponentIntegrationTest.java
index 4fa357f..83fee00 100644
--- a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/integration/S3ComponentIntegrationTest.java
+++ b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/integration/S3ComponentIntegrationTest.java
@@ -33,36 +33,36 @@ import org.junit.Test;
 
 @Ignore("Must be manually tested. Provide your own accessKey and secretKey!")
 public class S3ComponentIntegrationTest extends CamelTestSupport {
-    
+
     @EndpointInject("direct:start")
     private ProducerTemplate template;
-    
+
     @EndpointInject("mock:result")
     private MockEndpoint result;
-    
+
     @Test
     public void sendInOnly() throws Exception {
         result.expectedMessageCount(2);
-        
+
         Exchange exchange1 = template.send("direct:start", ExchangePattern.InOnly, new Processor() {
             public void process(Exchange exchange) throws Exception {
                 exchange.getIn().setHeader(S3Constants.KEY, "CamelUnitTest1");
                 exchange.getIn().setBody("This is my bucket content.");
             }
         });
-        
+
         Exchange exchange2 = template.send("direct:start", ExchangePattern.InOnly, new Processor() {
             public void process(Exchange exchange) throws Exception {
                 exchange.getIn().setHeader(S3Constants.KEY, "CamelUnitTest2");
                 exchange.getIn().setBody("This is my bucket content.");
             }
         });
-        
+
         assertMockEndpointsSatisfied();
-        
+
         assertResultExchange(result.getExchanges().get(0));
         assertResultExchange(result.getExchanges().get(1));
-        
+
         assertResponseMessage(exchange1.getIn());
         assertResponseMessage(exchange2.getIn());
     }
@@ -70,27 +70,31 @@ public class S3ComponentIntegrationTest extends CamelTestSupport {
     @Test
     public void sendInOut() throws Exception {
         result.expectedMessageCount(1);
-        
+
         Exchange exchange = template.send("direct:start", ExchangePattern.InOut, new Processor() {
             public void process(Exchange exchange) throws Exception {
                 exchange.getIn().setHeader(S3Constants.KEY, "CamelUnitTest");
                 exchange.getIn().setBody("This is my bucket content.");
             }
         });
-        
+
         assertMockEndpointsSatisfied();
-        
+
         assertResultExchange(result.getExchanges().get(0));
-        
+
         assertResponseMessage(exchange.getOut());
     }
-    
+
     private void assertResultExchange(Exchange resultExchange) {
         assertIsInstanceOf(InputStream.class, resultExchange.getIn().getBody());
         assertEquals("This is my bucket content.", resultExchange.getIn().getBody(String.class));
         assertEquals("mynewcamelbucket", resultExchange.getIn().getHeader(S3Constants.BUCKET_NAME));
         assertTrue(resultExchange.getIn().getHeader(S3Constants.KEY, String.class).startsWith("CamelUnitTest"));
-        assertNull(resultExchange.getIn().getHeader(S3Constants.VERSION_ID)); // not enabled on this bucket
+        assertNull(resultExchange.getIn().getHeader(S3Constants.VERSION_ID)); // not
+                                                                              // enabled
+                                                                              // on
+                                                                              // this
+                                                                              // bucket
         assertNotNull(resultExchange.getIn().getHeader(S3Constants.LAST_MODIFIED));
         assertEquals("3a5c8b1ad448bca04584ecb55b836264", resultExchange.getIn().getHeader(S3Constants.E_TAG));
         assertEquals("application/octet-stream", resultExchange.getIn().getHeader(S3Constants.CONTENT_TYPE));
@@ -100,27 +104,25 @@ public class S3ComponentIntegrationTest extends CamelTestSupport {
         assertNull(resultExchange.getIn().getHeader(S3Constants.CONTENT_MD5));
         assertNull(resultExchange.getIn().getHeader(S3Constants.CACHE_CONTROL));
     }
-    
+
     private void assertResponseMessage(Message message) {
         assertEquals("3a5c8b1ad448bca04584ecb55b836264", message.getHeader(S3Constants.E_TAG));
         assertNull(message.getHeader(S3Constants.VERSION_ID));
     }
-    
+
     @Override
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             @Override
             public void configure() throws Exception {
                 String s3EndpointUri = "aws-s3://mynewcamelbucket?accessKey=xxx&secretKey=yyy&region=us-west-1&policy=%7B%22Version%22%3A%222008-10-17%22,%22Id%22%3A%22Policy4324355464%22,"
-                    + "%22Statement%22%3A%5B%7B%22Sid%22%3A%22Stmt456464646477%22,%22Action%22%3A%5B%22s3%3AGetObject%22%5D,%22Effect%22%3A%22Allow%22,%22Resource%22%3A%5B%22arn%3A"
-                    + "aws%3As3%3A%3A%3Amynewcamelbucket/*%22%5D,%22Principal%22%3A%7B%22AWS%22%3A%5B%22*%22%5D%7D%7D%5D%7D";
-                
-                from("direct:start")
-                    .to(s3EndpointUri);
-                
-                from(s3EndpointUri)
-                    .to("mock:result");
+                                       + "%22Statement%22%3A%5B%7B%22Sid%22%3A%22Stmt456464646477%22,%22Action%22%3A%5B%22s3%3AGetObject%22%5D,%22Effect%22%3A%22Allow%22,%22Resource%22%3A%5B%22arn%3A"
+                                       + "aws%3As3%3A%3A%3Amynewcamelbucket/*%22%5D,%22Principal%22%3A%7B%22AWS%22%3A%5B%22*%22%5D%7D%7D%5D%7D";
+
+                from("direct:start").to(s3EndpointUri);
+
+                from(s3EndpointUri).to("mock:result");
             }
         };
     }
-}
\ No newline at end of file
+}
diff --git a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/integration/S3ObjectRangeOperationIntegrationTest.java b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/integration/S3ObjectRangeOperationIntegrationTest.java
index 8a0e1c8..dfebc8c 100644
--- a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/integration/S3ObjectRangeOperationIntegrationTest.java
+++ b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/integration/S3ObjectRangeOperationIntegrationTest.java
@@ -21,6 +21,12 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
 
+import com.amazonaws.auth.AWSStaticCredentialsProvider;
+import com.amazonaws.auth.BasicAWSCredentials;
+import com.amazonaws.regions.Regions;
+import com.amazonaws.services.s3.AmazonS3;
+import com.amazonaws.services.s3.AmazonS3ClientBuilder;
+import com.amazonaws.services.s3.model.S3Object;
 import org.apache.camel.BindToRegistry;
 import org.apache.camel.EndpointInject;
 import org.apache.camel.Exchange;
@@ -35,27 +41,20 @@ import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.amazonaws.auth.AWSStaticCredentialsProvider;
-import com.amazonaws.auth.BasicAWSCredentials;
-import com.amazonaws.regions.Regions;
-import com.amazonaws.services.s3.AmazonS3;
-import com.amazonaws.services.s3.AmazonS3ClientBuilder;
-import com.amazonaws.services.s3.model.S3Object;
-
 @Ignore("Must be manually tested. Provide your own accessKey and secretKey!")
 public class S3ObjectRangeOperationIntegrationTest extends CamelTestSupport {
+    
+    private static final Logger LOG = LoggerFactory.getLogger(S3ObjectRangeOperationIntegrationTest.class);
 
     @BindToRegistry("amazonS3Client")
-    AmazonS3 client = AmazonS3ClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(new BasicAWSCredentials("xxx", "yyy"))).withRegion(Regions.US_WEST_1).build();
-    
+    AmazonS3 client = AmazonS3ClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(new BasicAWSCredentials("xxx", "yyy"))).withRegion(Regions.US_WEST_1)
+        .build();
+
     @EndpointInject
     private ProducerTemplate template;
 
     @EndpointInject("mock:result")
     private MockEndpoint result;
-    
-    private static final Logger LOG = LoggerFactory.getLogger(S3ObjectRangeOperationIntegrationTest.class);
-
 
     @Test
     public void sendIn() throws Exception {
@@ -82,19 +81,19 @@ public class S3ObjectRangeOperationIntegrationTest extends CamelTestSupport {
                 String awsEndpoint = "aws-s3://mycamelbucket?amazonS3Client=#amazonS3Client&operation=getObjectRange";
 
                 from("direct:getObjectRange").to(awsEndpoint).process(new Processor() {
-					
-					@Override
-					public void process(Exchange exchange) throws Exception {
-						S3Object s3 = exchange.getIn().getBody(S3Object.class);
-						displayTextInputStream(s3.getObjectContent());
-						
-					}
-				}).to("mock:result");
+
+                    @Override
+                    public void process(Exchange exchange) throws Exception {
+                        S3Object s3 = exchange.getIn().getBody(S3Object.class);
+                        displayTextInputStream(s3.getObjectContent());
+
+                    }
+                }).to("mock:result");
 
             }
         };
     }
-    
+
     private static void displayTextInputStream(InputStream input) throws IOException {
         // Read the text input stream one line at a time and display each line.
         BufferedReader reader = new BufferedReader(new InputStreamReader(input));


[camel] 03/04: CAMEL-14106 - A bit of docs and example

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit ac3e430a47838a2443c3be6dfafdc081c85b23d2
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Tue Nov 19 13:04:36 2019 +0100

    CAMEL-14106 - A bit of docs and example
---
 .../camel-aws-s3/src/main/docs/aws-s3-component.adoc | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/components/camel-aws-s3/src/main/docs/aws-s3-component.adoc b/components/camel-aws-s3/src/main/docs/aws-s3-component.adoc
index 65907af..0b8d687 100644
--- a/components/camel-aws-s3/src/main/docs/aws-s3-component.adoc
+++ b/components/camel-aws-s3/src/main/docs/aws-s3-component.adoc
@@ -363,6 +363,7 @@ Camel-AWS s3 component provides the following operation on the producer side:
 - downloadLink
 - listObjects
 - getObject (this will return an S3Object instance)
+- getObjectRange (this will return an S3Object instance)
 
 === Advanced AmazonS3 configuration
 
@@ -519,6 +520,25 @@ This operation will list the objects in the mycamelbucket bucket
 
 This operation will return an S3Object instance related to the camelKey object in mycamelbucket bucket.
 
+- GetObjectRange: this operation get a single object range in a specific bucket
+
+[source,java]
+--------------------------------------------------------------------------------
+  from("direct:start").process(new Processor() {
+                    
+      @Override
+      public void process(Exchange exchange) throws Exception {
+          exchange.getIn().setHeader(S3Constants.KEY, "camelKey");
+          exchange.getIn().setHeader(S3Constants.RANGE_START, "0");
+          exchange.getIn().setHeader(S3Constants.RANGE_END, "9");
+      }
+  })
+  .to("aws-s3://mycamelbucket?amazonS3Client=#amazonS3Client&operation=getObjectRange")
+  .to("mock:result");
+--------------------------------------------------------------------------------
+
+This operation will return an S3Object instance related to the camelKey object in mycamelbucket bucket, containing a the bytes from 0 to 9.
+
 == Bucket Autocreation
 
 With the option `autoCreateBucket` users are able to avoid the autocreation of an S3 Bucket in case it doesn't exist. The default for this option is `true`.


[camel] 01/04: CAMEL-14106 - Camel-AWS: S3 Range Get

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit f83ceecb716f2d1cb29a877c5cdaad7ebbefa775
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Tue Nov 19 12:55:38 2019 +0100

    CAMEL-14106 - Camel-AWS: S3 Range Get
---
 .../apache/camel/component/aws/s3/S3Constants.java |   2 +
 .../camel/component/aws/s3/S3Operations.java       |   3 +-
 .../apache/camel/component/aws/s3/S3Producer.java  |  20 ++++
 .../aws/s3/S3ComponentGetObjectRangeTest.java      |  71 ++++++++++++++
 .../S3ObjectRangeOperationIntegrationTest.java     | 106 +++++++++++++++++++++
 .../endpoint/dsl/S3EndpointBuilderFactory.java     |   3 +-
 6 files changed, 203 insertions(+), 2 deletions(-)

diff --git a/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/S3Constants.java b/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/S3Constants.java
index 84b6169..88215b6 100644
--- a/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/S3Constants.java
+++ b/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/S3Constants.java
@@ -45,4 +45,6 @@ public interface S3Constants {
     String SERVER_SIDE_ENCRYPTION          = "CamelAwsS3ServerSideEncryption";
     String EXPIRATION_TIME                 = "CamelAwsS3ExpirationTime";
     String REPLICATION_STATUS              = "CamelAwsS3ReplicationStatus";
+    String RANGE_START                     = "CamelAwsS3RangeStart";
+    String RANGE_END                       = "CamelAwsS3RangeEnd";
 }
\ No newline at end of file
diff --git a/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/S3Operations.java b/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/S3Operations.java
index 90fb17c..2bf5c96 100644
--- a/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/S3Operations.java
+++ b/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/S3Operations.java
@@ -24,5 +24,6 @@ public enum S3Operations {
     deleteBucket,
     listBuckets,
     downloadLink,
-    getObject
+    getObject,
+    getObjectRange
 }
diff --git a/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/S3Producer.java b/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/S3Producer.java
index e5fc068..edd9089 100644
--- a/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/S3Producer.java
+++ b/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/S3Producer.java
@@ -112,6 +112,9 @@ public class S3Producer extends DefaultProducer {
             case getObject:
                 getObject(getEndpoint().getS3Client(), exchange);
                 break;
+            case getObjectRange:
+                getObjectRange(getEndpoint().getS3Client(), exchange);
+                break;
             default:
                 throw new IllegalArgumentException("Unsupported operation");
             }
@@ -369,6 +372,23 @@ public class S3Producer extends DefaultProducer {
         Message message = getMessageForResponse(exchange);
         message.setBody(res);
     }
+    
+    private void getObjectRange(AmazonS3 s3Client, Exchange exchange) {
+        final String bucketName = determineBucketName(exchange);
+        final String sourceKey = determineKey(exchange);
+        final String rangeStart = exchange.getIn().getHeader(S3Constants.RANGE_START, String.class);
+        final String rangeEnd = exchange.getIn().getHeader(S3Constants.RANGE_END, String.class);
+        
+        if (ObjectHelper.isEmpty(rangeStart) || ObjectHelper.isEmpty(rangeEnd)) {
+        	throw new IllegalArgumentException("A Range start and range end header must be configured to perform a range get operation.");
+        }
+
+        GetObjectRequest req = new GetObjectRequest(bucketName, sourceKey).withRange(Long.parseLong(rangeStart), Long.parseLong(rangeEnd));
+        S3Object res = s3Client.getObject(req);
+
+        Message message = getMessageForResponse(exchange);
+        message.setBody(res);
+    }
 
     private void listObjects(AmazonS3 s3Client, Exchange exchange) {
         final String bucketName = determineBucketName(exchange);
diff --git a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentGetObjectRangeTest.java b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentGetObjectRangeTest.java
new file mode 100644
index 0000000..8f59852
--- /dev/null
+++ b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentGetObjectRangeTest.java
@@ -0,0 +1,71 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws.s3;
+
+import org.apache.camel.BindToRegistry;
+import org.apache.camel.EndpointInject;
+import org.apache.camel.Exchange;
+import org.apache.camel.Processor;
+import org.apache.camel.ProducerTemplate;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.test.junit4.CamelTestSupport;
+import org.junit.Test;
+
+import com.amazonaws.services.s3.AmazonS3;
+
+public class S3ComponentGetObjectRangeTest extends CamelTestSupport {
+
+	@BindToRegistry("amazonS3Client")
+	AmazonS3 clientMock = new AmazonS3ClientMock();
+
+	@EndpointInject
+	private ProducerTemplate template;
+
+	@EndpointInject("mock:result")
+	private MockEndpoint result;
+
+	@Test
+	public void sendIn() throws Exception {
+		result.expectedMessageCount(1);
+
+		template.send("direct:getObjectRange", new Processor() {
+
+			@Override
+			public void process(Exchange exchange) throws Exception {
+				exchange.getIn().setHeader(S3Constants.KEY, "pippo.txt");
+				exchange.getIn().setHeader(S3Constants.RANGE_START, 0);
+				exchange.getIn().setHeader(S3Constants.RANGE_END, 9);
+			}
+		});
+		assertMockEndpointsSatisfied();
+
+	}
+
+	@Override
+	protected RouteBuilder createRouteBuilder() throws Exception {
+		return new RouteBuilder() {
+			@Override
+			public void configure() throws Exception {
+				String awsEndpoint = "aws-s3://mycamelbucket?amazonS3Client=#amazonS3Client&operation=getObjectRange";
+
+				from("direct:getObjectRange").to(awsEndpoint).to("mock:result");
+
+			}
+		};
+	}
+}
diff --git a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/integration/S3ObjectRangeOperationIntegrationTest.java b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/integration/S3ObjectRangeOperationIntegrationTest.java
new file mode 100644
index 0000000..8a0e1c8
--- /dev/null
+++ b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/integration/S3ObjectRangeOperationIntegrationTest.java
@@ -0,0 +1,106 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws.s3.integration;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+
+import org.apache.camel.BindToRegistry;
+import org.apache.camel.EndpointInject;
+import org.apache.camel.Exchange;
+import org.apache.camel.Processor;
+import org.apache.camel.ProducerTemplate;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.aws.s3.S3Constants;
+import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.test.junit4.CamelTestSupport;
+import org.junit.Ignore;
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.amazonaws.auth.AWSStaticCredentialsProvider;
+import com.amazonaws.auth.BasicAWSCredentials;
+import com.amazonaws.regions.Regions;
+import com.amazonaws.services.s3.AmazonS3;
+import com.amazonaws.services.s3.AmazonS3ClientBuilder;
+import com.amazonaws.services.s3.model.S3Object;
+
+@Ignore("Must be manually tested. Provide your own accessKey and secretKey!")
+public class S3ObjectRangeOperationIntegrationTest extends CamelTestSupport {
+
+    @BindToRegistry("amazonS3Client")
+    AmazonS3 client = AmazonS3ClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(new BasicAWSCredentials("xxx", "yyy"))).withRegion(Regions.US_WEST_1).build();
+    
+    @EndpointInject
+    private ProducerTemplate template;
+
+    @EndpointInject("mock:result")
+    private MockEndpoint result;
+    
+    private static final Logger LOG = LoggerFactory.getLogger(S3ObjectRangeOperationIntegrationTest.class);
+
+
+    @Test
+    public void sendIn() throws Exception {
+        result.expectedMessageCount(1);
+
+        template.send("direct:getObjectRange", new Processor() {
+
+            @Override
+            public void process(Exchange exchange) throws Exception {
+                exchange.getIn().setHeader(S3Constants.KEY, "pippo.txt");
+                exchange.getIn().setHeader(S3Constants.RANGE_START, 0);
+                exchange.getIn().setHeader(S3Constants.RANGE_END, 9);
+            }
+        });
+        assertMockEndpointsSatisfied();
+
+    }
+
+    @Override
+    protected RouteBuilder createRouteBuilder() throws Exception {
+        return new RouteBuilder() {
+            @Override
+            public void configure() throws Exception {
+                String awsEndpoint = "aws-s3://mycamelbucket?amazonS3Client=#amazonS3Client&operation=getObjectRange";
+
+                from("direct:getObjectRange").to(awsEndpoint).process(new Processor() {
+					
+					@Override
+					public void process(Exchange exchange) throws Exception {
+						S3Object s3 = exchange.getIn().getBody(S3Object.class);
+						displayTextInputStream(s3.getObjectContent());
+						
+					}
+				}).to("mock:result");
+
+            }
+        };
+    }
+    
+    private static void displayTextInputStream(InputStream input) throws IOException {
+        // Read the text input stream one line at a time and display each line.
+        BufferedReader reader = new BufferedReader(new InputStreamReader(input));
+        String line = null;
+        while ((line = reader.readLine()) != null) {
+            LOG.info(line);
+        }
+    }
+}
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/S3EndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/S3EndpointBuilderFactory.java
index c3f46d2..a706e4f 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/S3EndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/S3EndpointBuilderFactory.java
@@ -2302,7 +2302,8 @@ public interface S3EndpointBuilderFactory {
         deleteBucket,
         listBuckets,
         downloadLink,
-        getObject;
+        getObject,
+        getObjectRange;
     }
     /**
      * AWS S3 Storage Service (camel-aws-s3)


[camel] 04/04: CAMEL-14106 - Regen docs

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit e90f6f69ff7429df71cb64e4162325f0d1dab0dc
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Tue Nov 19 13:06:25 2019 +0100

    CAMEL-14106 - Regen docs
---
 .../modules/ROOT/pages/aws-s3-component.adoc         | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/docs/components/modules/ROOT/pages/aws-s3-component.adoc b/docs/components/modules/ROOT/pages/aws-s3-component.adoc
index d7bc515..3652586 100644
--- a/docs/components/modules/ROOT/pages/aws-s3-component.adoc
+++ b/docs/components/modules/ROOT/pages/aws-s3-component.adoc
@@ -364,6 +364,7 @@ Camel-AWS s3 component provides the following operation on the producer side:
 - downloadLink
 - listObjects
 - getObject (this will return an S3Object instance)
+- getObjectRange (this will return an S3Object instance)
 
 === Advanced AmazonS3 configuration
 
@@ -520,6 +521,25 @@ This operation will list the objects in the mycamelbucket bucket
 
 This operation will return an S3Object instance related to the camelKey object in mycamelbucket bucket.
 
+- GetObjectRange: this operation get a single object range in a specific bucket
+
+[source,java]
+--------------------------------------------------------------------------------
+  from("direct:start").process(new Processor() {
+                    
+      @Override
+      public void process(Exchange exchange) throws Exception {
+          exchange.getIn().setHeader(S3Constants.KEY, "camelKey");
+          exchange.getIn().setHeader(S3Constants.RANGE_START, "0");
+          exchange.getIn().setHeader(S3Constants.RANGE_END, "9");
+      }
+  })
+  .to("aws-s3://mycamelbucket?amazonS3Client=#amazonS3Client&operation=getObjectRange")
+  .to("mock:result");
+--------------------------------------------------------------------------------
+
+This operation will return an S3Object instance related to the camelKey object in mycamelbucket bucket, containing a the bytes from 0 to 9.
+
 == Bucket Autocreation
 
 With the option `autoCreateBucket` users are able to avoid the autocreation of an S3 Bucket in case it doesn't exist. The default for this option is `true`.