Search in sources :

Example 1 with GET_RESOURCES_BY_RESOURCE_TYPE_ID_SQL

use of org.wso2.carbon.identity.configuration.mgt.core.constant.SQLConstants.GET_RESOURCES_BY_RESOURCE_TYPE_ID_SQL in project carbon-identity-framework by wso2.

the class ConfigurationDAOImpl method getResourcesByType.

@Override
public List<Resource> getResourcesByType(int tenantId, String resourceTypeId) throws ConfigurationManagementServerException {
    JdbcTemplate jdbcTemplate = JdbcUtils.getNewTemplate();
    try {
        String resourceTypeName = jdbcTemplate.fetchSingleRecord(SQLConstants.GET_RESOURCE_TYPE_BY_ID_SQL, (resultSet, rowNumber) -> resultSet.getString(DB_SCHEMA_COLUMN_NAME_NAME), preparedStatement -> preparedStatement.setString(1, resourceTypeId));
        return jdbcTemplate.executeQuery(GET_RESOURCES_BY_RESOURCE_TYPE_ID_SQL, (LambdaExceptionUtils.rethrowRowMapper((resultSet, rowNumber) -> {
            String resourceId = resultSet.getString(DB_SCHEMA_COLUMN_NAME_ID);
            String resourceName = resultSet.getString(DB_SCHEMA_COLUMN_NAME_NAME);
            String resourceLastModified = resultSet.getString(DB_SCHEMA_COLUMN_NAME_LAST_MODIFIED);
            String resourceCreatedTime = resultSet.getString(DB_SCHEMA_COLUMN_NAME_CREATED_TIME);
            String resourceHasFile = resultSet.getString(DB_SCHEMA_COLUMN_NAME_HAS_FILE);
            if (StringUtils.equals(resourceHasFile, "1") && (isOracleDB() || isMSSqlDB() || isDB2DB())) {
                resourceHasFile = "true";
            }
            String resourceHasAttribute = resultSet.getString(DB_SCHEMA_COLUMN_NAME_HAS_ATTRIBUTE);
            Resource resource = new Resource();
            resource.setCreatedTime(resourceCreatedTime);
            resource.setHasAttribute(Boolean.valueOf(resourceHasAttribute));
            resource.setResourceId(resourceId);
            resource.setResourceName(resourceName);
            resource.setLastModified(resourceLastModified);
            resource.setHasFile(Boolean.valueOf(resourceHasFile));
            resource.setTenantDomain(IdentityTenantUtil.getTenantDomain(tenantId));
            resource.setFiles(getFiles(resourceId, resourceTypeName, resourceName));
            resource.setAttributes(getAttributesByResourceId(resourceId));
            return resource;
        })), preparedStatement -> {
            preparedStatement.setString(1, resourceTypeId);
            preparedStatement.setInt(2, tenantId);
        });
    } catch (DataAccessException e) {
        throw handleServerException(ERROR_CODE_RESOURCES_DOES_NOT_EXISTS, e);
    }
}
Also used : Resource(org.wso2.carbon.identity.configuration.mgt.core.model.Resource) JdbcTemplate(org.wso2.carbon.database.utils.jdbc.JdbcTemplate) DataAccessException(org.wso2.carbon.database.utils.jdbc.exceptions.DataAccessException)

Aggregations

JdbcTemplate (org.wso2.carbon.database.utils.jdbc.JdbcTemplate)1 DataAccessException (org.wso2.carbon.database.utils.jdbc.exceptions.DataAccessException)1 Resource (org.wso2.carbon.identity.configuration.mgt.core.model.Resource)1