use of org.wso2.carbon.identity.api.server.userstore.v1.model.UserStoreAttributeMappingResponse in project identity-api-server by wso2.
the class ServerUserStoreService method getUserStoreAttributeMappings.
/**
* Get user store attributes mappings for a given user store type id.
*
* @param typeId String user store type id.
* @param includeIdentityClaimMappings Whether to include claim mapping for identity claims with other userstore.
* attributes.
* @return UserStoreAttributeMapping user store attribute mappings.
*/
public UserStoreAttributeMappingResponse getUserStoreAttributeMappings(String typeId, boolean includeIdentityClaimMappings) {
Set<String> classNames;
String userStoreName = getUserStoreType(base64URLDecodeId(typeId));
if (StringUtils.isBlank(userStoreName)) {
throw handleException(Response.Status.BAD_REQUEST, UserStoreConstants.ErrorMessage.ERROR_CODE_INVALID_INPUT);
}
try {
UserStoreConfigService userStoreConfigService = UserStoreConfigServiceHolder.getInstance().getUserStoreConfigService();
classNames = userStoreConfigService.getAvailableUserStoreClasses();
if (CollectionUtils.isEmpty(classNames) || !classNames.contains(userStoreName)) {
throw handleException(Response.Status.NOT_FOUND, UserStoreConstants.ErrorMessage.ERROR_CODE_NOT_FOUND);
}
} catch (IdentityUserStoreMgtException e) {
UserStoreConstants.ErrorMessage errorEnum = UserStoreConstants.ErrorMessage.ERROR_CODE_ERROR_RETRIEVING_USER_STORE;
throw handleIdentityUserStoreMgtException(e, errorEnum);
}
UserStoreAttributeMappingResponse userStoreAttributeMappingResponse = new UserStoreAttributeMappingResponse();
List<UserStoreAttribute> attributeMappings = getAttributeMappings(userStoreName, includeIdentityClaimMappings);
userStoreAttributeMappingResponse = userStoreAttributeMappingResponse.attributeMappings(new AttributeMappingsToApiModel().apply(attributeMappings)).typeId(typeId).typeName(userStoreName);
try {
boolean isLocal = UserStoreManagerRegistry.isLocalUserStore(userStoreName);
userStoreAttributeMappingResponse.setIsLocal(isLocal);
} catch (UserStoreException e) {
LOG.error(String.format("Userstore type is not found for %s", userStoreName), e);
}
return userStoreAttributeMappingResponse;
}
Aggregations