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

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


The following commit(s) were added to refs/heads/master by this push:
     new 3f79d18  Remove redundant checks in camel-minio
3f79d18 is described below

commit 3f79d182373ca079c32d722aa6e3aeb00f79e736
Author: Omar Al-Safi <omars...@gmail.com>
AuthorDate: Tue Aug 18 14:27:38 2020 +0200

    Remove redundant checks in camel-minio
---
 .../apache/camel/component/minio/MinioChecks.java  | 64 +++-------------------
 .../camel/component/minio/MinioConsumer.java       | 41 ++++++++------
 .../camel/component/minio/MinioEndpoint.java       | 20 ++++---
 3 files changed, 44 insertions(+), 81 deletions(-)

diff --git 
a/components/camel-minio/src/main/java/org/apache/camel/component/minio/MinioChecks.java
 
b/components/camel-minio/src/main/java/org/apache/camel/component/minio/MinioChecks.java
index ed765d1..da3f5fc 100644
--- 
a/components/camel-minio/src/main/java/org/apache/camel/component/minio/MinioChecks.java
+++ 
b/components/camel-minio/src/main/java/org/apache/camel/component/minio/MinioChecks.java
@@ -16,10 +16,8 @@
  */
 package org.apache.camel.component.minio;
 
-import java.time.ZonedDateTime;
-
-import io.minio.ServerSideEncryption;
-import io.minio.ServerSideEncryptionCustomerKey;
+import java.util.function.Consumer;
+import java.util.function.Supplier;
 
 import static org.apache.camel.util.ObjectHelper.isNotEmpty;
 
@@ -30,61 +28,15 @@ public final class MinioChecks {
                 "Do not instantiate a Factory class! Refer to the class to 
learn how to properly use this factory implementation.");
     }
 
-    static void checkServerSideEncryptionConfig(
-            final MinioConfiguration configuration, final 
java.util.function.Consumer<ServerSideEncryption> fn) {
-        if (isNotEmpty(configuration.getServerSideEncryption())) {
-            fn.accept(configuration.getServerSideEncryption());
-        }
-    }
-
-    static void checkServerSideEncryptionCustomerKeyConfig(
-            final MinioConfiguration configuration, final 
java.util.function.Consumer<ServerSideEncryptionCustomerKey> fn) {
-        if (isNotEmpty(configuration.getServerSideEncryptionCustomerKey())) {
-            fn.accept(configuration.getServerSideEncryptionCustomerKey());
-        }
-    }
-
-    static void checkOffsetConfig(final MinioConfiguration configuration, 
final java.util.function.Consumer<Long> fn) {
-        if (configuration.getOffset() > 0) {
-            fn.accept(configuration.getOffset());
-        }
-    }
-
-    static void checkLengthConfig(final MinioConfiguration configuration, 
final java.util.function.Consumer<Long> fn) {
-        if (configuration.getLength() > 0) {
-            fn.accept(configuration.getLength());
-        }
-    }
-
-    static void checkVersionIdConfig(final MinioConfiguration configuration, 
final java.util.function.Consumer<String> fn) {
-        if (isNotEmpty(configuration.getVersionId())) {
-            fn.accept(configuration.getVersionId());
-        }
-    }
-
-    static void checkMatchETagConfig(final MinioConfiguration configuration, 
final java.util.function.Consumer<String> fn) {
-        if (isNotEmpty(configuration.getMatchETag())) {
-            fn.accept(configuration.getMatchETag());
-        }
-    }
-
-    static void checkNotMatchETagConfig(final MinioConfiguration 
configuration, final java.util.function.Consumer<String> fn) {
-        if (isNotEmpty(configuration.getNotMatchETag())) {
-            fn.accept(configuration.getNotMatchETag());
-        }
-    }
-
-    static void checkModifiedSinceConfig(
-            final MinioConfiguration configuration, final 
java.util.function.Consumer<ZonedDateTime> fn) {
-        if (isNotEmpty(configuration.getModifiedSince())) {
-            fn.accept(configuration.getModifiedSince());
+    static <C> void checkIfConfigIsNotEmptyAndSetAndConfig(final Supplier<C> 
getterFn, final Consumer<C> setterFn) {
+        if (isNotEmpty(getterFn.get())) {
+            setterFn.accept(getterFn.get());
         }
     }
 
-    static void checkUnModifiedSinceConfig(
-            final MinioConfiguration configuration, final 
java.util.function.Consumer<ZonedDateTime> fn) {
-        if (isNotEmpty(configuration.getUnModifiedSince())) {
-            fn.accept(configuration.getUnModifiedSince());
+    static <C extends Number> void checkLengthAndSetConfig(final Supplier<C> 
getterFn, final Consumer<C> setterFn) {
+        if (getterFn.get().longValue() > 0) {
+            setterFn.accept(getterFn.get());
         }
     }
 }
diff --git 
a/components/camel-minio/src/main/java/org/apache/camel/component/minio/MinioConsumer.java
 
b/components/camel-minio/src/main/java/org/apache/camel/component/minio/MinioConsumer.java
index b03c29d..bfa3be1 100644
--- 
a/components/camel-minio/src/main/java/org/apache/camel/component/minio/MinioConsumer.java
+++ 
b/components/camel-minio/src/main/java/org/apache/camel/component/minio/MinioConsumer.java
@@ -242,14 +242,17 @@ public class MinioConsumer extends 
ScheduledBatchPollingConsumer {
     private InputStream getObject(String bucketName, MinioClient minioClient, 
String objectName) throws Exception {
         GetObjectArgs.Builder getObjectRequest = 
GetObjectArgs.builder().bucket(bucketName).object(objectName);
 
-        
MinioChecks.checkServerSideEncryptionCustomerKeyConfig(getConfiguration(), 
getObjectRequest::ssec);
-        MinioChecks.checkOffsetConfig(getConfiguration(), 
getObjectRequest::offset);
-        MinioChecks.checkLengthConfig(getConfiguration(), 
getObjectRequest::length);
-        MinioChecks.checkVersionIdConfig(getConfiguration(), 
getObjectRequest::versionId);
-        MinioChecks.checkMatchETagConfig(getConfiguration(), 
getObjectRequest::matchETag);
-        MinioChecks.checkNotMatchETagConfig(getConfiguration(), 
getObjectRequest::notMatchETag);
-        MinioChecks.checkModifiedSinceConfig(getConfiguration(), 
getObjectRequest::modifiedSince);
-        MinioChecks.checkUnModifiedSinceConfig(getConfiguration(), 
getObjectRequest::unmodifiedSince);
+        
MinioChecks.checkIfConfigIsNotEmptyAndSetAndConfig(getConfiguration()::getServerSideEncryptionCustomerKey,
+                getObjectRequest::ssec);
+        MinioChecks.checkLengthAndSetConfig(getConfiguration()::getOffset, 
getObjectRequest::offset);
+        MinioChecks.checkLengthAndSetConfig(getConfiguration()::getLength, 
getObjectRequest::length);
+        
MinioChecks.checkIfConfigIsNotEmptyAndSetAndConfig(getConfiguration()::getVersionId,
 getObjectRequest::versionId);
+        
MinioChecks.checkIfConfigIsNotEmptyAndSetAndConfig(getConfiguration()::getMatchETag,
 getObjectRequest::matchETag);
+        
MinioChecks.checkIfConfigIsNotEmptyAndSetAndConfig(getConfiguration()::getNotMatchETag,
 getObjectRequest::notMatchETag);
+        
MinioChecks.checkIfConfigIsNotEmptyAndSetAndConfig(getConfiguration()::getModifiedSince,
+                getObjectRequest::modifiedSince);
+        
MinioChecks.checkIfConfigIsNotEmptyAndSetAndConfig(getConfiguration()::getUnModifiedSince,
+                getObjectRequest::unmodifiedSince);
 
         return minioClient.getObject(getObjectRequest.build());
     }
@@ -350,21 +353,25 @@ public class MinioConsumer extends 
ScheduledBatchPollingConsumer {
 
         CopySource.Builder copySourceBuilder = 
CopySource.builder().bucket(srcBucketName).object(srcObjectName);
 
-        
MinioChecks.checkServerSideEncryptionCustomerKeyConfig(getConfiguration(), 
copySourceBuilder::ssec);
-        MinioChecks.checkOffsetConfig(getConfiguration(), 
copySourceBuilder::offset);
-        MinioChecks.checkLengthConfig(getConfiguration(), 
copySourceBuilder::length);
-        MinioChecks.checkVersionIdConfig(getConfiguration(), 
copySourceBuilder::versionId);
-        MinioChecks.checkMatchETagConfig(getConfiguration(), 
copySourceBuilder::matchETag);
-        MinioChecks.checkNotMatchETagConfig(getConfiguration(), 
copySourceBuilder::notMatchETag);
-        MinioChecks.checkModifiedSinceConfig(getConfiguration(), 
copySourceBuilder::modifiedSince);
-        MinioChecks.checkUnModifiedSinceConfig(getConfiguration(), 
copySourceBuilder::unmodifiedSince);
+        
MinioChecks.checkIfConfigIsNotEmptyAndSetAndConfig(getConfiguration()::getServerSideEncryptionCustomerKey,
+                copySourceBuilder::ssec);
+        MinioChecks.checkLengthAndSetConfig(getConfiguration()::getOffset, 
copySourceBuilder::offset);
+        MinioChecks.checkLengthAndSetConfig(getConfiguration()::getLength, 
copySourceBuilder::length);
+        
MinioChecks.checkIfConfigIsNotEmptyAndSetAndConfig(getConfiguration()::getVersionId,
 copySourceBuilder::versionId);
+        
MinioChecks.checkIfConfigIsNotEmptyAndSetAndConfig(getConfiguration()::getMatchETag,
 copySourceBuilder::matchETag);
+        
MinioChecks.checkIfConfigIsNotEmptyAndSetAndConfig(getConfiguration()::getNotMatchETag,
+                copySourceBuilder::notMatchETag);
+        
MinioChecks.checkIfConfigIsNotEmptyAndSetAndConfig(getConfiguration()::getModifiedSince,
+                copySourceBuilder::modifiedSince);
+        
MinioChecks.checkIfConfigIsNotEmptyAndSetAndConfig(getConfiguration()::getUnModifiedSince,
+                copySourceBuilder::unmodifiedSince);
 
         CopyObjectArgs.Builder copyObjectRequest = CopyObjectArgs.builder()
                 .source(copySourceBuilder.build())
                 .bucket(getConfiguration().getDestinationBucketName())
                 .object(destinationObjectName);
 
-        MinioChecks.checkServerSideEncryptionConfig(getConfiguration(), 
copyObjectRequest::sse);
+        
MinioChecks.checkIfConfigIsNotEmptyAndSetAndConfig(getConfiguration()::getServerSideEncryption,
 copyObjectRequest::sse);
 
         getMinioClient().copyObject(copyObjectRequest.build());
     }
diff --git 
a/components/camel-minio/src/main/java/org/apache/camel/component/minio/MinioEndpoint.java
 
b/components/camel-minio/src/main/java/org/apache/camel/component/minio/MinioEndpoint.java
index 8e77b77..0f4f069 100644
--- 
a/components/camel-minio/src/main/java/org/apache/camel/component/minio/MinioEndpoint.java
+++ 
b/components/camel-minio/src/main/java/org/apache/camel/component/minio/MinioEndpoint.java
@@ -212,14 +212,18 @@ public class MinioEndpoint extends ScheduledPollEndpoint {
         String bucketName = getConfiguration().getBucketName();
         StatObjectArgs.Builder statObjectRequest = 
StatObjectArgs.builder().bucket(bucketName).object(objectName);
 
-        
MinioChecks.checkServerSideEncryptionCustomerKeyConfig(getConfiguration(), 
statObjectRequest::ssec);
-        MinioChecks.checkOffsetConfig(getConfiguration(), 
statObjectRequest::offset);
-        MinioChecks.checkLengthConfig(getConfiguration(), 
statObjectRequest::length);
-        MinioChecks.checkVersionIdConfig(getConfiguration(), 
statObjectRequest::versionId);
-        MinioChecks.checkMatchETagConfig(getConfiguration(), 
statObjectRequest::matchETag);
-        MinioChecks.checkNotMatchETagConfig(getConfiguration(), 
statObjectRequest::notMatchETag);
-        MinioChecks.checkModifiedSinceConfig(getConfiguration(), 
statObjectRequest::modifiedSince);
-        MinioChecks.checkUnModifiedSinceConfig(getConfiguration(), 
statObjectRequest::unmodifiedSince);
+        
MinioChecks.checkIfConfigIsNotEmptyAndSetAndConfig(getConfiguration()::getServerSideEncryptionCustomerKey,
+                statObjectRequest::ssec);
+        MinioChecks.checkLengthAndSetConfig(getConfiguration()::getOffset, 
statObjectRequest::offset);
+        MinioChecks.checkLengthAndSetConfig(getConfiguration()::getLength, 
statObjectRequest::length);
+        
MinioChecks.checkIfConfigIsNotEmptyAndSetAndConfig(getConfiguration()::getVersionId,
 statObjectRequest::versionId);
+        
MinioChecks.checkIfConfigIsNotEmptyAndSetAndConfig(getConfiguration()::getMatchETag,
 statObjectRequest::matchETag);
+        
MinioChecks.checkIfConfigIsNotEmptyAndSetAndConfig(getConfiguration()::getNotMatchETag,
+                statObjectRequest::notMatchETag);
+        
MinioChecks.checkIfConfigIsNotEmptyAndSetAndConfig(getConfiguration()::getModifiedSince,
+                statObjectRequest::modifiedSince);
+        
MinioChecks.checkIfConfigIsNotEmptyAndSetAndConfig(getConfiguration()::getUnModifiedSince,
+                statObjectRequest::unmodifiedSince);
 
         ObjectStat stat = minioClient.statObject(statObjectRequest.build());
 

Reply via email to