Updated Branches:
  refs/heads/remove-sonatype-repo 76bb6fea8 -> 665d03812 (forced update)


JCLOUDS-362 inferring project-id from identity when there is a hyphen


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

Branch: refs/heads/remove-sonatype-repo
Commit: cec667a8aed54ebd0c976758181ca7e9899008cf
Parents: 5ec13c9
Author: Alex Heneveld <[email protected]>
Authored: Sat Nov 2 13:33:25 2013 -0700
Committer: Andrew Phillips <[email protected]>
Committed: Wed Nov 6 17:34:55 2013 -0500

----------------------------------------------------------------------
 .../config/GoogleComputeEngineHttpApiModule.java  | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/cec667a8/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/config/GoogleComputeEngineHttpApiModule.java
----------------------------------------------------------------------
diff --git 
a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/config/GoogleComputeEngineHttpApiModule.java
 
b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/config/GoogleComputeEngineHttpApiModule.java
index 31f3786..bbf10f0 100644
--- 
a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/config/GoogleComputeEngineHttpApiModule.java
+++ 
b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/config/GoogleComputeEngineHttpApiModule.java
@@ -101,10 +101,20 @@ public class GoogleComputeEngineHttpApiModule extends 
HttpApiModule<GoogleComput
       return 
MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.create(authException,
               compose(new Function<Credentials, String>() {
                  public String apply(Credentials in) {
-                    checkState(in.identity.indexOf("@") != 1,
-                            "identity should be in 
[email protected] format");
-
-                    Project project = 
api.getProjectApi().get(Iterables.get(Splitter.on("@").split(in.identity), 0));
+                    // ID should be of the form 
[email protected] 
+                    // OR (increasingly often) 
[email protected]
+                    // where project_id is the NUMBER;
+                    // HERE we also accept simply "project" as the identity, 
if no "@" is present;
+                    // this is used in tests, but not sure if it is valid in 
the wild.
+                    String projectName = in.identity;
+                    if (projectName.indexOf("@") != -1) {
+                       projectName = 
Iterables.get(Splitter.on("@").split(projectName), 0);
+                       if (projectName.indexOf("-") != -1) {
+                          // if ID is of the form 
[email protected]
+                          projectName = 
Iterables.get(Splitter.on("-").split(projectName), 0);
+                       }
+                    }
+                    Project project = api.getProjectApi().get(projectName);
                     return project.getName();
                  }
               }, creds), seconds, TimeUnit.SECONDS);

Reply via email to