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());