public String apply(Credentials in) { // ID should be of the form project_id@developer.gserviceaccount.com // OR (increasingly often) project_id-extended_uid@developer.gserviceaccount.com // 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 project_id-extended_uid@developer.gserviceaccount.com projectName = Iterables.get(Splitter.on("-").split(projectName), 0); } } Project project = api.getProjectApi().get(projectName); return project.getName(); } }, creds), seconds, TimeUnit.SECONDS);
public String apply(Credentials in) { // ID should be of the form project_id@developer.gserviceaccount.com // OR (increasingly often) project_id-extended_uid@developer.gserviceaccount.com // 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 project_id-extended_uid@developer.gserviceaccount.com projectName = Iterables.get(Splitter.on("-").split(projectName), 0); } } Project project = api.getProjectApi().get(projectName); return project.getName(); } }, creds), seconds, TimeUnit.SECONDS);