You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by pp...@apache.org on 2021/07/19 11:33:21 UTC

[camel-quarkus] branch main updated: camel-quarkus-minio: quarkus.minio.url is mandatory and must be a valid url

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

ppalaga pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git


The following commit(s) were added to refs/heads/main by this push:
     new e4a94be  camel-quarkus-minio: quarkus.minio.url is mandatory and must be a valid url
e4a94be is described below

commit e4a94bebf7abf45d89b0a012dea6cf4259c62003
Author: JiriOndrusek <on...@gmail.com>
AuthorDate: Mon Jul 19 10:49:20 2021 +0200

    camel-quarkus-minio: quarkus.minio.url is mandatory and must be a valid url
---
 .../component/minio/deployment/MinioProcessor.java |  6 ++
 .../component/minio/it/MinioClientProducer.java    |  4 +-
 .../component/minio/it/MinioConfigProvider.java    | 76 ----------------------
 .../quarkus/component/minio/it/MinioResource.java  | 10 ++-
 ...se.microprofile.config.spi.ConfigSourceProvider |  1 -
 .../component/minio/it/MinioTestResource.java      |  2 +-
 6 files changed, 14 insertions(+), 85 deletions(-)

diff --git a/extensions/minio/deployment/src/main/java/org/apache/camel/quarkus/component/minio/deployment/MinioProcessor.java b/extensions/minio/deployment/src/main/java/org/apache/camel/quarkus/component/minio/deployment/MinioProcessor.java
index bf85ed8..a5b508f 100644
--- a/extensions/minio/deployment/src/main/java/org/apache/camel/quarkus/component/minio/deployment/MinioProcessor.java
+++ b/extensions/minio/deployment/src/main/java/org/apache/camel/quarkus/component/minio/deployment/MinioProcessor.java
@@ -18,6 +18,7 @@ package org.apache.camel.quarkus.component.minio.deployment;
 
 import io.quarkus.deployment.annotations.BuildStep;
 import io.quarkus.deployment.builditem.FeatureBuildItem;
+import io.quarkus.deployment.builditem.RunTimeConfigurationDefaultBuildItem;
 
 class MinioProcessor {
 
@@ -27,4 +28,9 @@ class MinioProcessor {
     FeatureBuildItem feature() {
         return new FeatureBuildItem(FEATURE);
     }
+
+    @BuildStep
+    RunTimeConfigurationDefaultBuildItem allowEmptyMinioClient() {
+        return new RunTimeConfigurationDefaultBuildItem("quarkus.minio.allow-empty", "true");
+    }
 }
diff --git a/integration-tests/minio/src/main/java/org/apache/camel/quarkus/component/minio/it/MinioClientProducer.java b/integration-tests/minio/src/main/java/org/apache/camel/quarkus/component/minio/it/MinioClientProducer.java
index 1f7a832..1bd7776 100644
--- a/integration-tests/minio/src/main/java/org/apache/camel/quarkus/component/minio/it/MinioClientProducer.java
+++ b/integration-tests/minio/src/main/java/org/apache/camel/quarkus/component/minio/it/MinioClientProducer.java
@@ -25,12 +25,14 @@ import org.eclipse.microprofile.config.ConfigProvider;
 
 public class MinioClientProducer {
 
+    public static String MINIO_CLIENT_URL_PARAMETER = MinioClientProducer.class.getSimpleName() + "_url";
+
     @Produces
     @Singleton
     @Named("minioClient")
     public MinioClient produceMinioClient() {
         return MinioClient.builder()
-                .endpoint(ConfigProvider.getConfig().getValue("quarkus.minio.url", String.class))
+                .endpoint(ConfigProvider.getConfig().getValue(MINIO_CLIENT_URL_PARAMETER, String.class))
                 .credentials(MinioResource.SERVER_ACCESS_KEY, MinioResource.SERVER_SECRET_KEY)
                 .build();
     }
diff --git a/integration-tests/minio/src/main/java/org/apache/camel/quarkus/component/minio/it/MinioConfigProvider.java b/integration-tests/minio/src/main/java/org/apache/camel/quarkus/component/minio/it/MinioConfigProvider.java
deleted file mode 100644
index d04126f..0000000
--- a/integration-tests/minio/src/main/java/org/apache/camel/quarkus/component/minio/it/MinioConfigProvider.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * 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.quarkus.component.minio.it;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-
-import javax.enterprise.context.ApplicationScoped;
-
-import org.eclipse.microprofile.config.inject.ConfigProperty;
-import org.eclipse.microprofile.config.spi.ConfigSource;
-import org.eclipse.microprofile.config.spi.ConfigSourceProvider;
-
-@ApplicationScoped
-public class MinioConfigProvider implements ConfigSourceProvider {
-
-    private final MinioConfig minioConfig = new MinioConfig();
-
-    @Override
-    public Iterable<ConfigSource> getConfigSources(ClassLoader forClassLoader) {
-        return Collections.singletonList(minioConfig);
-    }
-
-    private static final class MinioConfig implements ConfigSource {
-
-        @ConfigProperty(name = "minio.server.host")
-        String host;
-
-        @ConfigProperty(name = "minio.server.port")
-        String port;
-
-        private final Map<String, String> values = new HashMap<String, String>() {
-            {
-                put("quarkus.minio.url", String.format("http://%s:%s", host, port));
-                put("quarkus.minio.access-key", MinioResource.SERVER_ACCESS_KEY);
-                put("quarkus.minio.secret-key", MinioResource.SERVER_SECRET_KEY);
-            }
-        };
-
-        @Override
-        public Map<String, String> getProperties() {
-            return values;
-        }
-
-        @Override
-        public String getValue(String propertyName) {
-            return values.get(propertyName);
-        }
-
-        @Override
-        public String getName() {
-            return MinioConfig.class.getName();
-        }
-
-        @Override
-        public Set<String> getPropertyNames() {
-            return values.keySet();
-        }
-    }
-}
diff --git a/integration-tests/minio/src/main/java/org/apache/camel/quarkus/component/minio/it/MinioResource.java b/integration-tests/minio/src/main/java/org/apache/camel/quarkus/component/minio/it/MinioResource.java
index 2f2806a..f524f8d 100644
--- a/integration-tests/minio/src/main/java/org/apache/camel/quarkus/component/minio/it/MinioResource.java
+++ b/integration-tests/minio/src/main/java/org/apache/camel/quarkus/component/minio/it/MinioResource.java
@@ -60,8 +60,7 @@ public class MinioResource {
         final String message = consumerTemplate.receiveBody(
                 "minio://mycamel?moveAfterRead=true&destinationBucketName=camel-kafka-connector&autoCreateBucket=true"
                         + "&accessKey=" + SERVER_ACCESS_KEY
-                        + "&secretKey=RAW(" + SERVER_SECRET_KEY + ")"
-                        + "&minioClient=#minioClient",
+                        + "&secretKey=RAW(" + SERVER_SECRET_KEY + ")",
                 5000, String.class);
         return message;
     }
@@ -77,8 +76,7 @@ public class MinioResource {
             @QueryParam(MinioConstants.DESTINATION_BUCKET_NAME) String destinationBucketName) {
 
         String endpoint = "minio:mycamel?accessKey=" + SERVER_ACCESS_KEY
-                + "&secretKey=RAW(" + SERVER_SECRET_KEY + ")"
-                + "&minioClient=#minioClient";
+                + "&secretKey=RAW(" + SERVER_SECRET_KEY + ")";
 
         MinioOperations op = (operation != "" && !"".equals(operation) ? MinioOperations.valueOf(operation) : null);
 
@@ -135,8 +133,8 @@ public class MinioResource {
 
         String endpoint = "minio:mycamel?accessKey=" + SERVER_ACCESS_KEY
                 + "&secretKey=RAW(" + SERVER_SECRET_KEY + ")"
-                + "&minioClient=#minioClient"
-                + "&pojoRequest=true";
+                + "&pojoRequest=true"
+                + "&minioClient=#minioClient";
 
         GetObjectArgs.Builder body = GetObjectArgs.builder()
                 .bucket(bucket)
diff --git a/integration-tests/minio/src/main/resources/META-INF/services/org.eclipse.microprofile.config.spi.ConfigSourceProvider b/integration-tests/minio/src/main/resources/META-INF/services/org.eclipse.microprofile.config.spi.ConfigSourceProvider
deleted file mode 100644
index e961080..0000000
--- a/integration-tests/minio/src/main/resources/META-INF/services/org.eclipse.microprofile.config.spi.ConfigSourceProvider
+++ /dev/null
@@ -1 +0,0 @@
-org.apache.camel.quarkus.component.minio.it.MinioConfigProvider
\ No newline at end of file
diff --git a/integration-tests/minio/src/test/java/org/apache/camel/quarkus/component/minio/it/MinioTestResource.java b/integration-tests/minio/src/test/java/org/apache/camel/quarkus/component/minio/it/MinioTestResource.java
index e53e611..bbc3372 100644
--- a/integration-tests/minio/src/test/java/org/apache/camel/quarkus/component/minio/it/MinioTestResource.java
+++ b/integration-tests/minio/src/test/java/org/apache/camel/quarkus/component/minio/it/MinioTestResource.java
@@ -49,7 +49,7 @@ public class MinioTestResource implements QuarkusTestResourceLifecycleManager {
         String host = minioServer.getHost();
 
         return CollectionHelper.mapOf(
-                "quarkus.minio.url", String.format("http://%s:%s", host, port));
+                MinioClientProducer.MINIO_CLIENT_URL_PARAMETER, String.format("http://%s:%s", host, port));
     }
 
     @Override