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 2021/03/01 10:22:56 UTC
[camel] 01/07: CAMEL-16274 - Camel-google-storage:
serviceAccountKey should be supported as file, classpath, remote etc.
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 78874a371443f62dd431659b9fb705d5e1984e75
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Mon Mar 1 09:25:11 2021 +0100
CAMEL-16274 - Camel-google-storage: serviceAccountKey should be supported as file, classpath, remote etc.
---
.../google/storage/GoogleCloudStorageConnectionFactory.java | 9 +++++++--
.../component/google/storage/GoogleCloudStorageEndpoint.java | 2 +-
2 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/components/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageConnectionFactory.java b/components/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageConnectionFactory.java
index 627f4d5..fb7ba56 100644
--- a/components/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageConnectionFactory.java
+++ b/components/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageConnectionFactory.java
@@ -17,12 +17,16 @@
package org.apache.camel.component.google.storage;
import java.io.FileInputStream;
+import java.io.InputStream;
import com.google.api.client.util.Strings;
import com.google.auth.oauth2.ServiceAccountCredentials;
import com.google.cloud.storage.Storage;
import com.google.cloud.storage.StorageOptions;
+import org.apache.camel.CamelContext;
+import org.apache.camel.support.ResourceHelper;
+
public final class GoogleCloudStorageConnectionFactory {
/**
@@ -31,11 +35,12 @@ public final class GoogleCloudStorageConnectionFactory {
private GoogleCloudStorageConnectionFactory() {
}
- public static Storage create(GoogleCloudStorageConfiguration configuration) throws Exception {
+ public static Storage create(CamelContext context, GoogleCloudStorageConfiguration configuration) throws Exception {
if (!Strings.isNullOrEmpty(configuration.getServiceAccountKey())) {
+ InputStream resolveMandatoryResourceAsInputStream = ResourceHelper.resolveMandatoryResourceAsInputStream(context, configuration.getServiceAccountKey());
Storage storage = StorageOptions.newBuilder()
.setCredentials(
- ServiceAccountCredentials.fromStream(new FileInputStream(configuration.getServiceAccountKey())))
+ ServiceAccountCredentials.fromStream(resolveMandatoryResourceAsInputStream))
.build().getService();
return storage;
} else {
diff --git a/components/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageEndpoint.java b/components/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageEndpoint.java
index 79da387..38d7cfe 100644
--- a/components/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageEndpoint.java
+++ b/components/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageEndpoint.java
@@ -72,7 +72,7 @@ public class GoogleCloudStorageEndpoint extends ScheduledPollEndpoint {
this.storageClient = configuration.getStorageClient();
if (this.storageClient == null) {
- this.storageClient = GoogleCloudStorageConnectionFactory.create(configuration);
+ this.storageClient = GoogleCloudStorageConnectionFactory.create(this.getCamelContext(), configuration);
}
if (configuration.isAutoCreateBucket()) {