/** * Returns a map of assigned service name to its localized name under a realm. * * @param realmName Name of Realm. * @return a map of assigned service name to its localized name under a realm. * @throws AMConsoleException if service names cannot be obtained. */ public Map getAssignedServiceNames(String realmName) throws AMConsoleException { String[] param = {realmName}; logEvent("ATTEMPT_GET_ASSIGNED_SERVICE_OF_REALM", param); try { OrganizationConfigManager orgCfgMgr = new OrganizationConfigManager(getUserSSOToken(), realmName); Set names = orgCfgMgr.getAssignedServices(); if ((names == null) || names.isEmpty()) { names = new HashSet(); } getIdentityServices(realmName, names); /* * Need to use adminSSOToken because policy admin does not * have the correct privileges. */ AMAuthenticationManager mgr = new AMAuthenticationManager(adminSSOToken, realmName); AMAdminUtils.removeAllCaseIgnore(names, mgr.getAuthenticationServiceNames()); removeNonDisplayableServices(names, SUPPORTED_SCHEMA_TYPE); // remove auth configuration service too names.remove(AMAdminConstants.AUTH_CONFIG_SERVICE); names.remove(AMAdminConstants.CORE_AUTH_SERVICE); /* Creation and edit of instances of the Rest/Soap STS services handled by the STS tab. */ names.remove(AMAdminConstants.REST_STS_SERVICE); names.remove(AMAdminConstants.SOAP_STS_SERVICE); logEvent("SUCCEED_GET_ASSIGNED_SERVICE_OF_REALM", param); return mapNameToDisplayName(names); } catch (AMConfigurationException e) { String strError = getErrorString(e); String[] paramsEx = {realmName, strError}; logEvent("CONFIGURATION_EXCEPTION_GET_ASSIGNED_SERVICE_OF_REALM", paramsEx); throw new AMConsoleException(strError); } catch (SMSException e) { String strError = getErrorString(e); String[] paramsEx = {realmName, strError}; logEvent("SMS_EXCEPTION_GET_ASSIGNED_SERVICE_OF_REALM", paramsEx); throw new AMConsoleException(strError); } }
/** * Returns a map of service name to its display name that can be assigned to a realm. * * @param realmName Name of Realm. * @return a map of service name to its display name that can be assigned to a realm. * @throws AMConsoleException if service names cannot be obtained. */ public Map getAssignableServiceNames(String realmName) throws AMConsoleException { String[] param = {realmName}; logEvent("ATTEMPT_GET_ASSIGNABLE_SERVICE_OF_REALM", param); try { OrganizationConfigManager orgCfgMgr = new OrganizationConfigManager(getUserSSOToken(), realmName); Set names = orgCfgMgr.getAssignableServices(); addIdentityUnassignedServices(realmName, names); names.removeAll(orgCfgMgr.getAssignedServices()); AMAuthenticationManager mgr = new AMAuthenticationManager(getUserSSOToken(), realmName); AMAdminUtils.removeAllCaseIgnore(names, mgr.getAuthenticationServiceNames()); removeNonDisplayableServices(names, SUPPORTED_SCHEMA_TYPE); names.remove(AMAdminConstants.CORE_AUTH_SERVICE); /* Creation and edit of instances of the Rest/Soap STS services handled by the STS tab. */ names.remove(AMAdminConstants.REST_STS_SERVICE); names.remove(AMAdminConstants.SOAP_STS_SERVICE); logEvent("SUCCEED_GET_ASSIGNABLE_SERVICE_OF_REALM", param); return mapNameToDisplayName(names); } catch (AMConfigurationException e) { String strError = getErrorString(e); String[] paramsEx = {realmName, strError}; logEvent("CONFIGURATION_EXCEPTION_GET_ASSIGNABLE_SERVICE_OF_REALM", paramsEx); if (debug.warningEnabled()) { debug.warning("ServicesModel.getAssignableServiceNames " + strError); } throw new AMConsoleException("no.properties"); } catch (SMSException e) { String strError = getErrorString(e); String[] paramsEx = {realmName, strError}; logEvent("SMS_EXCEPTION_GET_ASSIGNABLE_SERVICE_OF_REALM", paramsEx); throw new AMConsoleException(strError); } }