use of org.wso2.carbon.identity.user.store.configuration.model.UserStoreAttribute in project carbon-identity-framework by wso2.
the class UserStoreConfigComponent method readUserStoreAttributeMappingConfigs.
private void readUserStoreAttributeMappingConfigs() {
UserStoreAttributeMappings mappings = new UserStoreAttributeMappings();
Map<String, Map<String, UserStoreAttribute>> userStoreAttributeMappings = new HashMap<>();
Map<String, UserStoreAttribute> defaultAttributeMappings = null;
Map<String, Map<String, ChangedUserStoreAttribute>> attributeMappingChanges = null;
try {
defaultAttributeMappings = new DefaultUserStoreAttributeConfigLoader().loadDefaultUserStoreAttributeMappings();
attributeMappingChanges = new UserStoreAttributeMappingChangesLoader().loadUserStoreAttributeMappingChanges();
} catch (IdentityUserStoreServerException e) {
log.error("Error occurred while reading userstore attribute mappings configuration files.", e);
}
if (MapUtils.isNotEmpty(defaultAttributeMappings) && MapUtils.isNotEmpty(attributeMappingChanges)) {
for (Map.Entry<String, Map<String, ChangedUserStoreAttribute>> entry : attributeMappingChanges.entrySet()) {
Map<String, UserStoreAttribute> tempMap = getModifiedAttributeMap(defaultAttributeMappings, entry.getValue());
userStoreAttributeMappings.put(entry.getKey(), tempMap);
}
}
if (MapUtils.isNotEmpty(defaultAttributeMappings)) {
mappings.setDefaultUserStoreAttributeMappings(defaultAttributeMappings);
} else {
mappings.setDefaultUserStoreAttributeMappings(Collections.emptyMap());
}
if (MapUtils.isNotEmpty(userStoreAttributeMappings)) {
mappings.setUserStoreAttributeMappings(userStoreAttributeMappings);
} else {
mappings.setUserStoreAttributeMappings(Collections.emptyMap());
}
UserStoreConfigListenersHolder.getInstance().setUserStoreAttributeMappings(mappings);
}
use of org.wso2.carbon.identity.user.store.configuration.model.UserStoreAttribute in project identity-api-server by wso2.
the class ServerUserStoreService method getAttributeMappings.
/**
* Get user store attribute mappings for a given user store typeId.
*
* @param userStoreName String user store name (base64 decoded user store id).
* @param includeIdentityClaimMappings Whether to include claim mapping for identity claims with other userstore
* attributes.
* @return List of user store attribute mappings for the given typeId.
*/
private List<UserStoreAttribute> getAttributeMappings(String userStoreName, boolean includeIdentityClaimMappings) {
UserStoreConfigService userStoreConfigService = UserStoreConfigServiceHolder.getInstance().getUserStoreConfigService();
try {
UserStoreAttributeMappings userStoreAttributeMappings = userStoreConfigService.getUserStoreAttributeMappings();
Map<String, Map<String, UserStoreAttribute>> mapping = userStoreAttributeMappings.getUserStoreAttributeMappings();
Map<String, UserStoreAttribute> userStoreAttributeMap = userStoreAttributeMappings.getDefaultUserStoreAttributeMappings();
if (mapping.containsKey(userStoreName)) {
userStoreAttributeMap = mapping.get(userStoreName);
}
if (!includeIdentityClaimMappings) {
// Remove identity claim mappings by iterating through all the claim mappings.
return excludeIdentityClaims(userStoreAttributeMap);
}
return new ArrayList<>(userStoreAttributeMap.values());
} catch (IdentityUserStoreMgtException e) {
LOG.error("Error occurred while retrieving user store attribute metadata", e);
throw handleException(Response.Status.INTERNAL_SERVER_ERROR, UserStoreConstants.ErrorMessage.ERROR_CODE_ERROR_RETRIEVING_USER_STORE_ATTRIBUTE_METADATA);
}
}
Aggregations