add adminUserDomainId and adminUserProjectId support to monasca-api

add support to scope the user or project with the DomainId and not only the
DomainName as i added it some weeks ago to the monasca-api.

this change basically completes
  https://review.openstack.org/#/c/215146/
  https://review.openstack.org/#/c/215147/

Change-Id: Ife3eedc83e7502bad7e2613121ca288958954a31
Closes-Bug: #1517493
This commit is contained in:
Thomas Graichen 2015-11-18 15:41:59 +01:00
parent c5161fd4ae
commit 9b7a364a27
3 changed files with 24 additions and 4 deletions

View File

@ -245,7 +245,9 @@ public interface AuthConstants {
public static final String ADMIN_SECRET_KEY = "AdminSecretKey";
public static final String ADMIN_PROJECT_ID = "AdminProjectId";
public static final String ADMIN_PROJECT_NAME = "AdminProjectName";
public static final String ADMIN_USER_DOMAIN_ID = "AdminUserDomainId";
public static final String ADMIN_USER_DOMAIN_NAME = "AdminUserDomainName";
public static final String ADMIN_PROJECT_DOMAIN_ID = "AdminProjectDomainId";
public static final String ADMIN_PROJECT_DOMAIN_NAME = "AdminProjectDomainName";
}

View File

@ -59,7 +59,9 @@ public class Config implements AuthConstants {
// configuration for admin default project
private String adminProjectId;
private String adminProjectName;
private String adminUserDomainId;
private String adminUserDomainName;
private String adminProjectDomainId;
private String adminProjectDomainName;
// flag to indicate if the filter is already intialized with required parameters
@ -109,7 +111,9 @@ public class Config implements AuthConstants {
adminAuthMethod = getValue(ADMIN_AUTH_METHOD, "");
adminProjectId = getValue(ADMIN_PROJECT_ID, "");
adminProjectName = getValue(ADMIN_PROJECT_NAME, "");
adminUserDomainId = getValue(ADMIN_USER_DOMAIN_ID, "");
adminUserDomainName = getValue(ADMIN_USER_DOMAIN_NAME, "");
adminProjectDomainId = getValue(ADMIN_PROJECT_DOMAIN_ID, "");
adminProjectDomainName = getValue(ADMIN_PROJECT_DOMAIN_NAME, "");
timeToCacheToken = getValue(TIME_TO_CACHE_TOKEN, 600);
long maxTokenCacheSize = getValue(MAX_TOKEN_CACHE_SIZE, 1048576);
@ -151,10 +155,18 @@ public class Config implements AuthConstants {
return adminProjectName;
}
protected String getAdminUserDomainId(){
return adminUserDomainId;
}
protected String getAdminUserDomainName(){
return adminUserDomainName;
}
protected String getAdminProjectDomainId(){
return adminProjectDomainId;
}
protected String getAdminProjectDomainName(){
return adminProjectDomainName;
}

View File

@ -245,10 +245,13 @@ public class HttpAuthClient implements AuthClient {
private String buildAuth(final String userName, final String password,
final String projectId, final String projectName,
final String userDomainName, final String projectDomainName) {
final String userDomainId, final String userDomainName,
final String projectDomainId, final String projectDomainName) {
final JsonObject UserDomain = new JsonObject();
if (!userDomainName.isEmpty()) {
if (!userDomainId.isEmpty()) {
UserDomain.addProperty("id", userDomainId);
} else if (!userDomainName.isEmpty()) {
UserDomain.addProperty("name", userDomainName);
} else {
UserDomain.addProperty("id", "default");
@ -277,7 +280,9 @@ public class HttpAuthClient implements AuthClient {
} else if (!projectName.isEmpty()) {
final JsonObject ProjectDomain = new JsonObject();
if (!projectDomainName.isEmpty()) {
if (!projectDomainId.isEmpty()) {
ProjectDomain.addProperty("id", projectDomainId);
} else if (!projectDomainName.isEmpty()) {
ProjectDomain.addProperty("name", projectDomainName);
} else {
ProjectDomain.addProperty("id", "default");
@ -306,7 +311,8 @@ public class HttpAuthClient implements AuthClient {
if (appConfig.getAdminAuthMethod().equalsIgnoreCase(Config.PASSWORD)) {
body = buildAuth(appConfig.getAdminUser(), appConfig.getAdminPassword(),
appConfig.getAdminProjectId(), appConfig.getAdminProjectName(),
appConfig.getAdminUserDomainName(), appConfig.getAdminProjectDomainName());
appConfig.getAdminUserDomainId(), appConfig.getAdminUserDomainName(),
appConfig.getAdminProjectDomainId(), appConfig.getAdminProjectDomainName());
} else {
String
msg =