Merge "Add adminUserDomainName and adminProjectDomainName to monasca-api"

This commit is contained in:
Jenkins 2015-09-17 20:39:50 +00:00 committed by Gerrit Code Review
commit df99b11a40
3 changed files with 32 additions and 6 deletions

View File

@ -245,5 +245,7 @@ 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_NAME = "AdminUserDomainName";
public static final String ADMIN_PROJECT_DOMAIN_NAME = "AdminProjectDomainName";
}

View File

@ -59,6 +59,8 @@ public class Config implements AuthConstants {
// configuration for admin default project
private String adminProjectId;
private String adminProjectName;
private String adminUserDomainName;
private String adminProjectDomainName;
// flag to indicate if the filter is already intialized with required parameters
private volatile boolean initialized = false;
@ -107,6 +109,8 @@ public class Config implements AuthConstants {
adminAuthMethod = getValue(ADMIN_AUTH_METHOD, "");
adminProjectId = getValue(ADMIN_PROJECT_ID, "");
adminProjectName = getValue(ADMIN_PROJECT_NAME, "");
adminUserDomainName = getValue(ADMIN_USER_DOMAIN_NAME, "");
adminProjectDomainName = getValue(ADMIN_PROJECT_DOMAIN_NAME, "");
timeToCacheToken = getValue(TIME_TO_CACHE_TOKEN, 600);
long maxTokenCacheSize = getValue(MAX_TOKEN_CACHE_SIZE, 1048576);
@ -147,6 +151,14 @@ public class Config implements AuthConstants {
return adminProjectName;
}
protected String getAdminUserDomainName(){
return adminUserDomainName;
}
protected String getAdminProjectDomainName(){
return adminProjectDomainName;
}
protected String getAdminAccessKey() {
if (context.getAttribute(ADMIN_ACCESS_KEY) != null) {
return (String) context.getAttribute(ADMIN_ACCESS_KEY);

View File

@ -244,14 +244,19 @@ public class HttpAuthClient implements AuthClient {
}
private String buildAuth(final String userName, final String password,
final String projectId, final String projectName) {
final JsonObject domain = new JsonObject();
domain.addProperty("id", "default");
final String projectId, final String projectName,
final String userDomainName, final String projectDomainName) {
final JsonObject UserDomain = new JsonObject();
if (!userDomainName.isEmpty()) {
UserDomain.addProperty("name", userDomainName);
} else {
UserDomain.addProperty("id", "default");
}
final JsonObject user = new JsonObject();
user.addProperty("name", userName);
user.addProperty("password", password);
user.add("domain", domain);
user.add("domain", UserDomain);
final JsonObject passwordHolder = new JsonObject();
passwordHolder.add("user", user);
@ -271,7 +276,13 @@ public class HttpAuthClient implements AuthClient {
scopeDefined = true;
} else if (!projectName.isEmpty()) {
project.add("domain", domain);
final JsonObject ProjectDomain = new JsonObject();
if (!projectDomainName.isEmpty()) {
ProjectDomain.addProperty("name", projectDomainName);
} else {
ProjectDomain.addProperty("id", "default");
}
project.add("domain", ProjectDomain);
project.addProperty("name", projectName);
scopeDefined = true;
}
@ -294,7 +305,8 @@ public class HttpAuthClient implements AuthClient {
final String body;
if (appConfig.getAdminAuthMethod().equalsIgnoreCase(Config.PASSWORD)) {
body = buildAuth(appConfig.getAdminUser(), appConfig.getAdminPassword(),
appConfig.getAdminProjectId(), appConfig.getAdminProjectName());
appConfig.getAdminProjectId(), appConfig.getAdminProjectName(),
appConfig.getAdminUserDomainName(), appConfig.getAdminProjectDomainName());
} else {
String
msg =