From 9b7a364a27349cf3a9af8d3ffa4a193c15a695ea Mon Sep 17 00:00:00 2001 From: Thomas Graichen Date: Wed, 18 Nov 2015 15:41:59 +0100 Subject: [PATCH] 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 --- .../monasca/common/middleware/AuthConstants.java | 2 ++ .../java/monasca/common/middleware/Config.java | 12 ++++++++++++ .../monasca/common/middleware/HttpAuthClient.java | 14 ++++++++++---- 3 files changed, 24 insertions(+), 4 deletions(-) diff --git a/java/monasca-common-middleware/src/main/java/monasca/common/middleware/AuthConstants.java b/java/monasca-common-middleware/src/main/java/monasca/common/middleware/AuthConstants.java index 0977bea7..c5cbabbd 100644 --- a/java/monasca-common-middleware/src/main/java/monasca/common/middleware/AuthConstants.java +++ b/java/monasca-common-middleware/src/main/java/monasca/common/middleware/AuthConstants.java @@ -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"; } diff --git a/java/monasca-common-middleware/src/main/java/monasca/common/middleware/Config.java b/java/monasca-common-middleware/src/main/java/monasca/common/middleware/Config.java index 67134469..2acce920 100644 --- a/java/monasca-common-middleware/src/main/java/monasca/common/middleware/Config.java +++ b/java/monasca-common-middleware/src/main/java/monasca/common/middleware/Config.java @@ -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; } diff --git a/java/monasca-common-middleware/src/main/java/monasca/common/middleware/HttpAuthClient.java b/java/monasca-common-middleware/src/main/java/monasca/common/middleware/HttpAuthClient.java index e402b554..900127c4 100644 --- a/java/monasca-common-middleware/src/main/java/monasca/common/middleware/HttpAuthClient.java +++ b/java/monasca-common-middleware/src/main/java/monasca/common/middleware/HttpAuthClient.java @@ -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 =