Search in sources :

Example 1 with ConfigurationManagementException

use of org.wso2.carbon.identity.configuration.mgt.core.exception.ConfigurationManagementException in project carbon-identity-framework by wso2.

the class CORSConfigurationDAOImpl method setCORSConfigurationByTenantDomain.

/**
 * {@inheritDoc}
 */
@Override
public void setCORSConfigurationByTenantDomain(CORSConfiguration corsConfiguration, String tenantDomain) throws CORSManagementServiceServerException {
    try {
        FrameworkUtils.startTenantFlow(tenantDomain);
        ResourceAdd resourceAdd = new CORSConfigurationToResourceAdd().apply(corsConfiguration);
        getConfigurationManager().replaceResource(CORS_CONFIGURATION_RESOURCE_TYPE_NAME, resourceAdd);
    } catch (ConfigurationManagementException e) {
        throw handleServerException(ERROR_CODE_CORS_CONFIG_SET, e, tenantDomain);
    } finally {
        FrameworkUtils.endTenantFlow();
    }
}
Also used : CORSConfigurationToResourceAdd(org.wso2.carbon.identity.cors.mgt.core.internal.function.CORSConfigurationToResourceAdd) ConfigurationManagementException(org.wso2.carbon.identity.configuration.mgt.core.exception.ConfigurationManagementException) CORSConfigurationToResourceAdd(org.wso2.carbon.identity.cors.mgt.core.internal.function.CORSConfigurationToResourceAdd) ResourceAdd(org.wso2.carbon.identity.configuration.mgt.core.model.ResourceAdd)

Example 2 with ConfigurationManagementException

use of org.wso2.carbon.identity.configuration.mgt.core.exception.ConfigurationManagementException in project carbon-identity-framework by wso2.

the class ConfigStoreBasedTemplateHandler method listTemplates.

@Override
public List<Template> listTemplates(String templateType, Integer limit, Integer offset, Condition searchCondition) throws TemplateManagementException {
    ConfigurationManager configManager = TemplateManagerDataHolder.getInstance().getConfigurationManager();
    try {
        Resources resourcesList;
        if (searchCondition == null) {
            resourcesList = configManager.getResourcesByType(templateType);
        } else {
            resourcesList = configManager.getTenantResources(searchCondition);
        }
        return resourcesList.getResources().stream().map(resource -> {
            resource.setResourceType(templateType);
            return new ResourceToTemplate().apply(resource);
        }).collect(Collectors.toList());
    } catch (ConfigurationManagementException e) {
        if (ConfigurationConstants.ErrorMessages.ERROR_CODE_RESOURCE_TYPE_DOES_NOT_EXISTS.getCode().equals(e.getErrorCode())) {
            if (log.isDebugEnabled()) {
                log.debug("Template type : '" + templateType + "' has not been created in the database.", e);
            }
            return Collections.emptyList();
        } else if (ConfigurationConstants.ErrorMessages.ERROR_CODE_RESOURCES_DOES_NOT_EXISTS.getCode().equals(e.getErrorCode())) {
            if (log.isDebugEnabled()) {
                String message = "Templates do not exist for template type: " + templateType;
                if (searchCondition != null) {
                    message = message + ", and search  criteria:" + searchCondition.toString();
                }
                log.debug(message, e);
            }
            return Collections.emptyList();
        }
        throw handleServerException(TemplateMgtConstants.ErrorMessages.ERROR_CODE_LIST_TEMPLATES, e, templateType, getTenantDomainFromCarbonContext());
    }
}
Also used : ResourceToTemplate(org.wso2.carbon.identity.template.mgt.function.ResourceToTemplate) WSTrustConnectorValidator.validateWSTrustTemplateAvailability(org.wso2.carbon.identity.template.mgt.handler.impl.WSTrustConnectorValidator.validateWSTrustTemplateAvailability) ConfigurationManagementException(org.wso2.carbon.identity.configuration.mgt.core.exception.ConfigurationManagementException) ConfigurationManager(org.wso2.carbon.identity.configuration.mgt.core.ConfigurationManager) Resource(org.wso2.carbon.identity.configuration.mgt.core.model.Resource) TemplateHandler(org.wso2.carbon.identity.template.mgt.handler.TemplateHandler) EnumUtils(org.apache.commons.lang3.EnumUtils) TemplateMgtUtils.getTenantDomainFromCarbonContext(org.wso2.carbon.identity.template.mgt.util.TemplateMgtUtils.getTenantDomainFromCarbonContext) Condition(org.wso2.carbon.identity.configuration.mgt.core.search.Condition) TemplateMgtUtils.handleClientException(org.wso2.carbon.identity.template.mgt.util.TemplateMgtUtils.handleClientException) TemplateToResource(org.wso2.carbon.identity.template.mgt.function.TemplateToResource) TemplateToResourceAdd(org.wso2.carbon.identity.template.mgt.function.TemplateToResourceAdd) TemplateMgtUtils.handleServerException(org.wso2.carbon.identity.template.mgt.util.TemplateMgtUtils.handleServerException) ResourceTypeAdd(org.wso2.carbon.identity.configuration.mgt.core.model.ResourceTypeAdd) IOException(java.io.IOException) Collectors(java.util.stream.Collectors) ConfigurationConstants(org.wso2.carbon.identity.configuration.mgt.core.constant.ConfigurationConstants) IOUtils(org.apache.commons.io.IOUtils) List(java.util.List) TemplateManagementException(org.wso2.carbon.identity.template.mgt.exception.TemplateManagementException) TemplateMgtConstants(org.wso2.carbon.identity.template.mgt.TemplateMgtConstants) TemplateManagerDataHolder(org.wso2.carbon.identity.template.mgt.internal.TemplateManagerDataHolder) Log(org.apache.commons.logging.Log) LogFactory(org.apache.commons.logging.LogFactory) Resources(org.wso2.carbon.identity.configuration.mgt.core.model.Resources) Collections(java.util.Collections) Template(org.wso2.carbon.identity.template.mgt.model.Template) InputStream(java.io.InputStream) ResourceToTemplate(org.wso2.carbon.identity.template.mgt.function.ResourceToTemplate) Resources(org.wso2.carbon.identity.configuration.mgt.core.model.Resources) ConfigurationManagementException(org.wso2.carbon.identity.configuration.mgt.core.exception.ConfigurationManagementException) ConfigurationManager(org.wso2.carbon.identity.configuration.mgt.core.ConfigurationManager)

Example 3 with ConfigurationManagementException

use of org.wso2.carbon.identity.configuration.mgt.core.exception.ConfigurationManagementException in project carbon-identity-framework by wso2.

the class ConfigStoreBasedTemplateHandler method addTemplateToConfigStore.

private String addTemplateToConfigStore(Template template) throws TemplateManagementException {
    if (!isValidTemplateType(template.getTemplateType().toString())) {
        throw handleClientException(TemplateMgtConstants.ErrorMessages.ERROR_CODE_INVALID_TEMPLATE_TYPE, template.getTemplateType().toString());
    }
    ConfigurationManager configManager = TemplateManagerDataHolder.getInstance().getConfigurationManager();
    try {
        Resource resource = configManager.addResource(template.getTemplateType().toString(), new TemplateToResourceAdd().apply(template));
        configManager.addFile(template.getTemplateType().toString(), template.getTemplateName(), template.getTemplateName() + "_template_object", IOUtils.toInputStream(template.getTemplateScript()));
        return resource.getResourceId();
    } catch (ConfigurationManagementException e) {
        if (ConfigurationConstants.ErrorMessages.ERROR_CODE_RESOURCE_ALREADY_EXISTS.getCode().equals(e.getErrorCode())) {
            throw handleClientException(TemplateMgtConstants.ErrorMessages.ERROR_CODE_TEMPLATE_ALREADY_EXIST, e, template.getTemplateName());
        } else if (ConfigurationConstants.ErrorMessages.ERROR_CODE_RESOURCE_TYPE_DOES_NOT_EXISTS.getCode().equals(e.getErrorCode())) {
            // in the database, create the resource-type and retry the template creation.
            try {
                createResourceType(template.getTemplateType().toString());
                return addTemplateToConfigStore(template);
            } catch (ConfigurationManagementException e1) {
                throw handleServerException(TemplateMgtConstants.ErrorMessages.ERROR_CODE_INSERT_TEMPLATE, e, template.getTemplateName());
            }
        } else {
            throw handleServerException(TemplateMgtConstants.ErrorMessages.ERROR_CODE_INSERT_TEMPLATE, e, template.getTemplateName());
        }
    }
}
Also used : Resource(org.wso2.carbon.identity.configuration.mgt.core.model.Resource) TemplateToResource(org.wso2.carbon.identity.template.mgt.function.TemplateToResource) TemplateToResourceAdd(org.wso2.carbon.identity.template.mgt.function.TemplateToResourceAdd) ConfigurationManagementException(org.wso2.carbon.identity.configuration.mgt.core.exception.ConfigurationManagementException) ConfigurationManager(org.wso2.carbon.identity.configuration.mgt.core.ConfigurationManager)

Example 4 with ConfigurationManagementException

use of org.wso2.carbon.identity.configuration.mgt.core.exception.ConfigurationManagementException in project carbon-identity-framework by wso2.

the class ConfigStoreBasedTemplateHandler method createResourceType.

private void createResourceType(String templateType) throws ConfigurationManagementException {
    ConfigurationManager configManager = TemplateManagerDataHolder.getInstance().getConfigurationManager();
    ResourceTypeAdd resourceType = new ResourceTypeAdd();
    resourceType.setName(templateType);
    resourceType.setDescription("This is the resource type for " + templateType);
    configManager.addResourceType(resourceType);
}
Also used : ResourceTypeAdd(org.wso2.carbon.identity.configuration.mgt.core.model.ResourceTypeAdd) ConfigurationManager(org.wso2.carbon.identity.configuration.mgt.core.ConfigurationManager)

Example 5 with ConfigurationManagementException

use of org.wso2.carbon.identity.configuration.mgt.core.exception.ConfigurationManagementException in project carbon-identity-framework by wso2.

the class ConfigurationDAOImpl method getAttributeByKey.

/**
 * {@inheritDoc}
 */
@Override
public Attribute getAttributeByKey(String resourceId, String attributeKey) throws ConfigurationManagementException {
    JdbcTemplate jdbcTemplate = JdbcUtils.getNewTemplate();
    try {
        return jdbcTemplate.fetchSingleRecord(SQLConstants.GET_ATTRIBUTE_SQL, (resultSet, rowNumber) -> new Attribute(resultSet.getString(DB_SCHEMA_COLUMN_NAME_ATTRIBUTE_KEY), resultSet.getString(DB_SCHEMA_COLUMN_NAME_ATTRIBUTE_VALUE), resultSet.getString(DB_SCHEMA_COLUMN_NAME_ID)), preparedStatement -> {
            int initialParameterIndex = 1;
            preparedStatement.setString(initialParameterIndex, attributeKey);
            preparedStatement.setString(++initialParameterIndex, resourceId);
        });
    } catch (DataAccessException e) {
        throw handleServerException(ERROR_CODE_GET_ATTRIBUTE, attributeKey, e);
    }
}
Also used : Attribute(org.wso2.carbon.identity.configuration.mgt.core.model.Attribute) JdbcTemplate(org.wso2.carbon.database.utils.jdbc.JdbcTemplate) DataAccessException(org.wso2.carbon.database.utils.jdbc.exceptions.DataAccessException)

Aggregations

Resource (org.wso2.carbon.identity.configuration.mgt.core.model.Resource)35 ConfigurationManagementException (org.wso2.carbon.identity.configuration.mgt.core.exception.ConfigurationManagementException)30 InputStream (java.io.InputStream)24 JdbcTemplate (org.wso2.carbon.database.utils.jdbc.JdbcTemplate)22 Attribute (org.wso2.carbon.identity.configuration.mgt.core.model.Attribute)21 Resources (org.wso2.carbon.identity.configuration.mgt.core.model.Resources)20 DataAccessException (org.wso2.carbon.database.utils.jdbc.exceptions.DataAccessException)19 ConfigurationManagementClientException (org.wso2.carbon.identity.configuration.mgt.core.exception.ConfigurationManagementClientException)19 List (java.util.List)18 Log (org.apache.commons.logging.Log)18 LogFactory (org.apache.commons.logging.LogFactory)18 TransactionException (org.wso2.carbon.database.utils.jdbc.exceptions.TransactionException)18 ConfigurationManagementServerException (org.wso2.carbon.identity.configuration.mgt.core.exception.ConfigurationManagementServerException)18 ResourceFile (org.wso2.carbon.identity.configuration.mgt.core.model.ResourceFile)18 ArrayList (java.util.ArrayList)17 HashMap (java.util.HashMap)17 Map (java.util.Map)17 StringUtils (org.apache.commons.lang.StringUtils)17 PrivilegedCarbonContext (org.wso2.carbon.context.PrivilegedCarbonContext)17 Timestamp (java.sql.Timestamp)16