Repository: jclouds-karaf
Updated Branches:
  refs/heads/master dd9efa1be -> e22b06138


Also take into account the credentials file in GCE


Project: http://git-wip-us.apache.org/repos/asf/jclouds-karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds-karaf/commit/e22b0613
Tree: http://git-wip-us.apache.org/repos/asf/jclouds-karaf/tree/e22b0613
Diff: http://git-wip-us.apache.org/repos/asf/jclouds-karaf/diff/e22b0613

Branch: refs/heads/master
Commit: e22b0613810c6f26c1a302f2f4618671415541c5
Parents: dd9efa1
Author: Ignasi Barrera <[email protected]>
Authored: Thu Nov 10 15:35:06 2016 +0100
Committer: Ignasi Barrera <[email protected]>
Committed: Tue Nov 22 13:42:03 2016 +0100

----------------------------------------------------------------------
 .../blobstore/BlobStoreCommandWithOptions.java    |  2 +-
 .../compute/ComputeCommandWithOptions.java        |  4 ++--
 .../compute/ComputeServiceCreateCommand.java      |  6 ++++--
 .../java/org/jclouds/karaf/utils/EnvHelper.java   | 18 +++++++++++-------
 4 files changed, 18 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds-karaf/blob/e22b0613/commands/src/main/java/org/jclouds/karaf/commands/blobstore/BlobStoreCommandWithOptions.java
----------------------------------------------------------------------
diff --git 
a/commands/src/main/java/org/jclouds/karaf/commands/blobstore/BlobStoreCommandWithOptions.java
 
b/commands/src/main/java/org/jclouds/karaf/commands/blobstore/BlobStoreCommandWithOptions.java
index fda550f..9020e0c 100644
--- 
a/commands/src/main/java/org/jclouds/karaf/commands/blobstore/BlobStoreCommandWithOptions.java
+++ 
b/commands/src/main/java/org/jclouds/karaf/commands/blobstore/BlobStoreCommandWithOptions.java
@@ -90,7 +90,7 @@ public abstract class BlobStoreCommandWithOptions extends 
BlobStoreCommandBase {
       String identityValue = EnvHelper.getBlobStoreIdentity(identity);
       String credentialValue = EnvHelper.getBlobStoreCredential(credential);
       if (providerValue.equals("google-cloud-storage")) {
-         credentialValue = 
EnvHelper.getGoogleCredentialFromJsonFile(credentialValue);
+         credentialValue = 
EnvHelper.getGoogleCredentialFromJsonFileIfPath(credentialValue);
       }
       String endpointValue = EnvHelper.getBlobStoreEndpoint(endpoint);
       boolean contextNameProvided = !Strings.isNullOrEmpty(name);

http://git-wip-us.apache.org/repos/asf/jclouds-karaf/blob/e22b0613/commands/src/main/java/org/jclouds/karaf/commands/compute/ComputeCommandWithOptions.java
----------------------------------------------------------------------
diff --git 
a/commands/src/main/java/org/jclouds/karaf/commands/compute/ComputeCommandWithOptions.java
 
b/commands/src/main/java/org/jclouds/karaf/commands/compute/ComputeCommandWithOptions.java
index 656936b..6f42cf9 100644
--- 
a/commands/src/main/java/org/jclouds/karaf/commands/compute/ComputeCommandWithOptions.java
+++ 
b/commands/src/main/java/org/jclouds/karaf/commands/compute/ComputeCommandWithOptions.java
@@ -87,8 +87,8 @@ public abstract class ComputeCommandWithOptions extends 
ComputeCommandBase {
       String apiValue = EnvHelper.getComputeApi(api);
       String identityValue = EnvHelper.getComputeIdentity(identity);
       String credentialValue = EnvHelper.getComputeCredential(credential);
-      if (providerValue != null && credentialValue != null && 
providerValue.equals("google-compute-engine")) {
-         credentialValue = 
EnvHelper.getGoogleCredentialFromJsonFile(credentialValue);
+      if (credentialValue != null && providerValue != null && 
providerValue.startsWith("google")) {
+         credentialValue = 
EnvHelper.getGoogleCredentialFromJsonFileIfPath(credentialValue);
       }
       String endpointValue = EnvHelper.getComputeEndpoint(endpoint);
       boolean contextNameProvided = !Strings.isNullOrEmpty(name);

http://git-wip-us.apache.org/repos/asf/jclouds-karaf/blob/e22b0613/commands/src/main/java/org/jclouds/karaf/commands/compute/ComputeServiceCreateCommand.java
----------------------------------------------------------------------
diff --git 
a/commands/src/main/java/org/jclouds/karaf/commands/compute/ComputeServiceCreateCommand.java
 
b/commands/src/main/java/org/jclouds/karaf/commands/compute/ComputeServiceCreateCommand.java
index 8c67b58..46ba926 100644
--- 
a/commands/src/main/java/org/jclouds/karaf/commands/compute/ComputeServiceCreateCommand.java
+++ 
b/commands/src/main/java/org/jclouds/karaf/commands/compute/ComputeServiceCreateCommand.java
@@ -136,7 +136,6 @@ public class ComputeServiceCreateCommand extends 
ComputeCommandWithOptions {
             try {
                Configuration configuration = 
findOrCreateFactoryConfiguration(configurationAdmin, "org.jclouds.compute", 
name, provider, api);
                if (configuration != null) {
-                  @SuppressWarnings("unchecked")
                   Dictionary<String, Object> dictionary = 
configuration.getProperties();
                   if (dictionary == null) {
                      dictionary = new Hashtable<String, Object>();
@@ -145,8 +144,11 @@ public class ComputeServiceCreateCommand extends 
ComputeCommandWithOptions {
                   String providerValue = 
EnvHelper.getComputeProvider(provider);
                   String apiValue = EnvHelper.getComputeApi(api);
                   String identityValue = 
EnvHelper.getComputeIdentity(identity);
-                  String credentialValue = 
EnvHelper.getComputeCredential(credential);
                   String endpointValue = 
EnvHelper.getComputeEndpoint(endpoint);
+                  String credentialValue = 
EnvHelper.getComputeCredential(credential);
+                  if (credentialValue != null && providerValue != null && 
providerValue.startsWith("google")) {
+                     credentialValue = 
EnvHelper.getGoogleCredentialFromJsonFileIfPath(credentialValue);
+                  }
 
                   if (name != null) {
                     dictionary.put(Constants.NAME, name);

http://git-wip-us.apache.org/repos/asf/jclouds-karaf/blob/e22b0613/utils/src/main/java/org/jclouds/karaf/utils/EnvHelper.java
----------------------------------------------------------------------
diff --git a/utils/src/main/java/org/jclouds/karaf/utils/EnvHelper.java 
b/utils/src/main/java/org/jclouds/karaf/utils/EnvHelper.java
index f8cdd17..c3d7b8d 100644
--- a/utils/src/main/java/org/jclouds/karaf/utils/EnvHelper.java
+++ b/utils/src/main/java/org/jclouds/karaf/utils/EnvHelper.java
@@ -99,19 +99,23 @@ public class EnvHelper {
 
     /**
      * Extracts the credential value from the Google Cloud credentials json 
file.
-     * @param jsonFile
+     * @param credentialValue
      * @return
      */
-    public static String getGoogleCredentialFromJsonFile(String jsonFile) {
-        try {
-            String fileContents = Files.toString(new File(jsonFile), 
Charsets.UTF_8);
+   public static String getGoogleCredentialFromJsonFileIfPath(String 
credentialValue) {
+      File credentialsFile = new File(credentialValue);
+      if (credentialsFile.exists()) {
+         try {
+            String fileContents = Files.toString(credentialsFile, 
Charsets.UTF_8);
             Supplier<Credentials> credentialSupplier = new 
GoogleCredentialsFromJson(fileContents);
-            String credential = credentialSupplier.get().credential;
-            return credential;
+            return credentialSupplier.get().credential;
          } catch (IOException e) {
             return null;
          }
-    }
+      } else {
+         return credentialValue;
+      }
+   }
 
     /**
      * Returns the endpoint value and falls back to env if the specified value 
is null.

Reply via email to