Search in sources :

Example 6 with UserStoreAttribute

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);
}
Also used : UserStoreAttributeMappings(org.wso2.carbon.identity.user.store.configuration.model.UserStoreAttributeMappings) IdentityUserStoreServerException(org.wso2.carbon.identity.user.store.configuration.utils.IdentityUserStoreServerException) UserStoreAttributeMappingChangesLoader(org.wso2.carbon.identity.user.store.configuration.utils.UserStoreAttributeMappingChangesLoader) HashMap(java.util.HashMap) DefaultUserStoreAttributeConfigLoader(org.wso2.carbon.identity.user.store.configuration.utils.DefaultUserStoreAttributeConfigLoader) HashMap(java.util.HashMap) Map(java.util.Map) UserStoreAttribute(org.wso2.carbon.identity.user.store.configuration.model.UserStoreAttribute) ChangedUserStoreAttribute(org.wso2.carbon.identity.user.store.configuration.model.ChangedUserStoreAttribute)

Example 7 with UserStoreAttribute

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);
    }
}
Also used : IdentityUserStoreMgtException(org.wso2.carbon.identity.user.store.configuration.utils.IdentityUserStoreMgtException) UserStoreAttributeMappings(org.wso2.carbon.identity.user.store.configuration.model.UserStoreAttributeMappings) ArrayList(java.util.ArrayList) UserStoreConfigService(org.wso2.carbon.identity.user.store.configuration.UserStoreConfigService) Map(java.util.Map) HashMap(java.util.HashMap) UserStoreAttribute(org.wso2.carbon.identity.user.store.configuration.model.UserStoreAttribute)

Aggregations

UserStoreAttribute (org.wso2.carbon.identity.user.store.configuration.model.UserStoreAttribute)6 HashMap (java.util.HashMap)5 Map (java.util.Map)3 ChangedUserStoreAttribute (org.wso2.carbon.identity.user.store.configuration.model.ChangedUserStoreAttribute)3 ArrayList (java.util.ArrayList)2 Iterator (java.util.Iterator)2 OMElement (org.apache.axiom.om.OMElement)2 UserStoreConfigService (org.wso2.carbon.identity.user.store.configuration.UserStoreConfigService)2 UserStoreAttributeMappings (org.wso2.carbon.identity.user.store.configuration.model.UserStoreAttributeMappings)2 IdentityUserStoreMgtException (org.wso2.carbon.identity.user.store.configuration.utils.IdentityUserStoreMgtException)2 Gson (com.google.gson.Gson)1 Type (java.lang.reflect.Type)1 QName (javax.xml.namespace.QName)1 StAXOMBuilder (org.apache.axiom.om.impl.builder.StAXOMBuilder)1 AttributeMappingsToApiModel (org.wso2.carbon.identity.api.server.userstore.v1.core.functions.userstore.AttributeMappingsToApiModel)1 UserStoreAttributeMappingResponse (org.wso2.carbon.identity.api.server.userstore.v1.model.UserStoreAttributeMappingResponse)1 UserStoreAttributeResponse (org.wso2.carbon.identity.api.server.userstore.v1.model.UserStoreAttributeResponse)1 DefaultUserStoreAttributeConfigLoader (org.wso2.carbon.identity.user.store.configuration.utils.DefaultUserStoreAttributeConfigLoader)1 IdentityUserStoreServerException (org.wso2.carbon.identity.user.store.configuration.utils.IdentityUserStoreServerException)1 UserStoreAttributeMappingChangesLoader (org.wso2.carbon.identity.user.store.configuration.utils.UserStoreAttributeMappingChangesLoader)1