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 <[email protected]>
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());