use of org.wso2.carbon.identity.user.store.configuration.utils.IdentityUserStoreServerException in project identity-api-server by wso2.
the class ServerUserStoreService method handleIdentityUserStoreMgtException.
/**
* Handle handleIdentityUserStoreMgtException, ie, handle the appropriate client and server exception and set
* proper API Error Response.
*
* @param exception Exception thrown
* @param errorEnum Corresponding error enum
* @return API Error object.
*/
private APIError handleIdentityUserStoreMgtException(IdentityUserStoreMgtException exception, UserStoreConstants.ErrorMessage errorEnum) {
Response.Status status;
ErrorResponse errorResponse;
if (exception instanceof IdentityUserStoreServerException) {
errorResponse = getErrorBuilder(errorEnum).build(LOG, exception, errorEnum.getDescription());
status = Response.Status.INTERNAL_SERVER_ERROR;
return handleIdentityUserStoreException(exception, errorResponse, status);
} else if (exception instanceof IdentityUserStoreClientException) {
errorResponse = getErrorBuilder(errorEnum).build(LOG, exception.getMessage());
if (ERROR_CODE_RESOURCE_LIMIT_REACHED.equals(exception.getErrorCode())) {
return handleResourceLimitReached();
}
// Send client error with specific error code or as a BAD request.
status = Response.Status.BAD_REQUEST;
return handleIdentityUserStoreException(exception, errorResponse, status);
} else {
// Internal Server error
errorResponse = getErrorBuilder(errorEnum).build(LOG, exception, errorEnum.getDescription());
status = Response.Status.INTERNAL_SERVER_ERROR;
return new APIError(status, errorResponse);
}
}
use of org.wso2.carbon.identity.user.store.configuration.utils.IdentityUserStoreServerException in project carbon-identity-framework by wso2.
the class UserStoreAttributeMappingChangesLoader method buildAttributeMappings.
private void buildAttributeMappings(InputStream inStream, Map<String, Map<String, ChangedUserStoreAttribute>> userStoreAttributeChanges) throws XMLStreamException, OMException, IdentityUserStoreServerException {
StAXOMBuilder builder = new StAXOMBuilder(inStream);
Iterator iterator = builder.getDocumentElement().getChildElements();
String userStoreType = builder.getDocumentElement().getAttributeValue(new QName(USERSTORE_TYPE));
Map<String, ChangedUserStoreAttribute> attributeChangeMap = new HashMap<>();
if (iterator == null) {
return;
}
while (iterator.hasNext()) {
OMElement attributeElement = (OMElement) iterator.next();
Iterator attributeIterator = attributeElement.getChildElements();
ChangedUserStoreAttribute changedUserStoreAttribute = new ChangedUserStoreAttribute();
UserStoreAttribute userStoreAttribute = new UserStoreAttribute();
if (attributeIterator == null) {
continue;
}
while (attributeIterator.hasNext()) {
OMElement attributes = (OMElement) attributeIterator.next();
String attributeQName = attributes.getQName().getLocalPart();
if (StringUtils.equalsIgnoreCase(OPERATION, attributeQName)) {
changedUserStoreAttribute.setOperation(getOperation(attributes.getText()));
} else if (StringUtils.equalsIgnoreCase(ATTRIBUTE_ID, attributeQName)) {
userStoreAttribute.setMappedAttribute(attributes.getText());
} else if (StringUtils.equalsIgnoreCase(CLAIM_URI, attributeQName)) {
userStoreAttribute.setClaimUri(attributes.getText());
userStoreAttribute.setClaimId(Base64.getUrlEncoder().withoutPadding().encodeToString(attributes.getText().getBytes(StandardCharsets.UTF_8)));
} else if (StringUtils.equalsIgnoreCase(DISPLAY_NAME, attributeQName)) {
userStoreAttribute.setDisplayName(attributes.getText());
}
}
changedUserStoreAttribute.setUsAttribute(userStoreAttribute);
attributeChangeMap.put(userStoreAttribute.getClaimId(), changedUserStoreAttribute);
}
userStoreAttributeChanges.put(userStoreType, attributeChangeMap);
}
use of org.wso2.carbon.identity.user.store.configuration.utils.IdentityUserStoreServerException 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);
}
Aggregations