Search in sources :

Example 56 with org.wso2.carbon.humantask.client.api.types

use of org.wso2.carbon.humantask.client.api.types in project carbon-apimgt by wso2.

the class PoliciesApiServiceImpl method deletePolicy.

private Response deletePolicy(String policyId, APIMgtAdminService.PolicyLevel tierLevel) {
    try {
        APIMgtAdminService apiMgtAdminService = RestApiUtil.getAPIMgtAdminService();
        apiMgtAdminService.deletePolicyByUuid(policyId, tierLevel);
        return Response.ok().build();
    } catch (APIManagementException e) {
        String errorMessage = "Error occurred while deleting a Policy uuid : " + policyId;
        Map<String, String> paramList = new HashMap<>();
        paramList.put(APIMgtConstants.ExceptionsConstants.TIER, policyId);
        org.wso2.carbon.apimgt.rest.api.common.dto.ErrorDTO errorDTO = RestApiUtil.getErrorDTO(e.getErrorHandler(), paramList);
        log.error(errorMessage, e);
        return Response.status(e.getErrorHandler().getHttpStatusCode()).entity(errorDTO).build();
    }
}
Also used : APIMgtAdminService(org.wso2.carbon.apimgt.core.api.APIMgtAdminService) APIManagementException(org.wso2.carbon.apimgt.core.exception.APIManagementException) ErrorDTO(org.wso2.carbon.apimgt.rest.api.common.dto.ErrorDTO) HashMap(java.util.HashMap) Map(java.util.Map)

Example 57 with org.wso2.carbon.humantask.client.api.types

use of org.wso2.carbon.humantask.client.api.types in project carbon-apimgt by wso2.

the class PoliciesApiServiceImpl method policiesThrottlingApplicationGet.

/**
 * Returns all Application Policies deployed in the system
 *
 * @param ifNoneMatch       If-None-Match header value
 * @param ifModifiedSince   If-Modified-Since header value
 * @param request           msf4j request object
 * @return Response object  Response containing the Application Policy list {@link ApplicationThrottlePolicyListDTO}
 * @throws NotFoundException if an error occurred when particular resource does not exits in the system.
 */
@Override
public Response policiesThrottlingApplicationGet(String ifNoneMatch, String ifModifiedSince, Request request) throws NotFoundException {
    if (log.isDebugEnabled()) {
        log.debug("Received Application Throttle Policy GET request");
    }
    try {
        APIMgtAdminService apiMgtAdminService = RestApiUtil.getAPIMgtAdminService();
        List<ApplicationPolicy> policies = apiMgtAdminService.getApplicationPolicies();
        ApplicationThrottlePolicyListDTO applicationThrottlePolicyListDTO = ApplicationThrottlePolicyMappingUtil.fromApplicationPolicyArrayToListDTO(policies);
        return Response.ok().entity(applicationThrottlePolicyListDTO).build();
    } catch (APIManagementException e) {
        String errorMessage = "Error occurred while retrieving Application Policies";
        org.wso2.carbon.apimgt.rest.api.common.dto.ErrorDTO errorDTO = RestApiUtil.getErrorDTO(e.getErrorHandler());
        log.error(errorMessage, e);
        return Response.status(e.getErrorHandler().getHttpStatusCode()).entity(errorDTO).build();
    }
}
Also used : APIMgtAdminService(org.wso2.carbon.apimgt.core.api.APIMgtAdminService) APIManagementException(org.wso2.carbon.apimgt.core.exception.APIManagementException) ApplicationPolicy(org.wso2.carbon.apimgt.core.models.policy.ApplicationPolicy) ErrorDTO(org.wso2.carbon.apimgt.rest.api.common.dto.ErrorDTO)

Example 58 with org.wso2.carbon.humantask.client.api.types

use of org.wso2.carbon.humantask.client.api.types in project carbon-apimgt by wso2.

the class ApiDAOImpl method addAPIRelatedInformation.

/**
 * Method for adding API related information
 *
 * @param connection DB Connection
 * @param statement  PreparedStatement
 * @param api        API object
 * @throws SQLException if error occurs while accessing data layer
 */
private void addAPIRelatedInformation(Connection connection, PreparedStatement statement, final API api) throws SQLException, org.wso2.carbon.apimgt.core.exception.APIMgtDAOException {
    String apiPrimaryKey = api.getId();
    statement.setString(1, api.getProvider());
    statement.setString(2, api.getName());
    statement.setString(3, api.getContext());
    statement.setString(4, api.getVersion());
    statement.setBoolean(5, api.isDefaultVersion());
    statement.setString(6, api.getDescription());
    statement.setString(7, api.getVisibility().toString());
    statement.setBoolean(8, api.isResponseCachingEnabled());
    statement.setBoolean(9, api.hasOwnGateway());
    statement.setInt(10, api.getCacheTimeout());
    statement.setString(11, apiPrimaryKey);
    BusinessInformation businessInformation = api.getBusinessInformation();
    statement.setString(12, businessInformation.getTechnicalOwner());
    statement.setString(13, businessInformation.getTechnicalOwnerEmail());
    statement.setString(14, businessInformation.getBusinessOwner());
    statement.setString(15, businessInformation.getBusinessOwnerEmail());
    statement.setString(16, api.getLifecycleInstanceId());
    statement.setString(17, api.getLifeCycleStatus());
    CorsConfiguration corsConfiguration = api.getCorsConfiguration();
    statement.setBoolean(18, corsConfiguration.isEnabled());
    statement.setString(19, String.join(",", corsConfiguration.getAllowOrigins()));
    statement.setBoolean(20, corsConfiguration.isAllowCredentials());
    statement.setString(21, String.join(",", corsConfiguration.getAllowHeaders()));
    statement.setString(22, String.join(",", corsConfiguration.getAllowMethods()));
    statement.setInt(23, getApiTypeId(connection, ApiType.STANDARD));
    statement.setString(24, api.getCreatedBy());
    statement.setTimestamp(25, Timestamp.valueOf(LocalDateTime.now()));
    statement.setTimestamp(26, Timestamp.valueOf(LocalDateTime.now()));
    statement.setString(27, api.getCopiedFromApiId());
    statement.setString(28, api.getUpdatedBy());
    statement.setString(29, APILCWorkflowStatus.APPROVED.toString());
    statement.setInt(30, api.getSecurityScheme());
    statement.execute();
    if (API.Visibility.RESTRICTED == api.getVisibility()) {
        addVisibleRole(connection, apiPrimaryKey, api.getVisibleRoles());
    }
    addTagsMapping(connection, apiPrimaryKey, api.getTags());
    addLabelMapping(connection, apiPrimaryKey, api.getLabels());
    addGatewayConfig(connection, apiPrimaryKey, api.getGatewayConfig(), api.getCreatedBy());
    addTransports(connection, apiPrimaryKey, api.getTransport());
    addUrlMappings(connection, api.getUriTemplates().values(), apiPrimaryKey);
    addSubscriptionPolicies(connection, api.getPolicies(), apiPrimaryKey);
    addEndPointsForApi(connection, apiPrimaryKey, api.getEndpoint());
    addAPIDefinition(connection, apiPrimaryKey, api.getApiDefinition(), api.getCreatedBy());
    addAPIPermission(connection, api.getPermissionMap(), apiPrimaryKey);
    if (api.getThreatProtectionPolicies() != null) {
        addThreatProtectionPolicies(connection, apiPrimaryKey, api.getThreatProtectionPolicies());
    }
    if (api.getApiPolicy() != null) {
        addApiPolicy(connection, api.getApiPolicy().getUuid(), apiPrimaryKey);
    }
}
Also used : BusinessInformation(org.wso2.carbon.apimgt.core.models.BusinessInformation) CorsConfiguration(org.wso2.carbon.apimgt.core.models.CorsConfiguration)

Example 59 with org.wso2.carbon.humantask.client.api.types

use of org.wso2.carbon.humantask.client.api.types in project carbon-apimgt by wso2.

the class APISubscriptionDAOImpl method addAPISubscription.

/**
 * Create a new Subscription
 *
 * @param uuid     UUID of new subscription
 * @param apiId    API ID
 * @param appId    Application ID
 * @param policyId Subscription tier's policy id
 * @param status   {@link  org.wso2.carbon.apimgt.core.util.APIMgtConstants.SubscriptionStatus} Subscription state
 * @throws APIMgtDAOException If failed to add subscription.
 */
@Override
public void addAPISubscription(String uuid, String apiId, String appId, String policyId, APIMgtConstants.SubscriptionStatus status) throws APIMgtDAOException {
    try (Connection conn = DAOUtil.getConnection()) {
        conn.setAutoCommit(false);
        try {
            createSubscription(apiId, appId, uuid, policyId, status, conn);
            conn.commit();
        } catch (SQLException ex) {
            conn.rollback();
            throw new APIMgtDAOException(DAOUtil.DAO_ERROR_PREFIX + "adding api subscription(subscriptionId: " + uuid + ", apiId: " + apiId + ", appId: " + appId + ", policyId: " + policyId + ", status: " + status + ")", ex);
        } finally {
            conn.setAutoCommit(DAOUtil.isAutoCommit());
        }
    } catch (SQLException e) {
        throw new APIMgtDAOException(DAOUtil.DAO_ERROR_PREFIX + "adding api subscription(subscriptionId: " + uuid + ", apiId: " + apiId + ", appId: " + appId + ", policyId: " + policyId + ", status: " + status + ")", e);
    }
}
Also used : APIMgtDAOException(org.wso2.carbon.apimgt.core.exception.APIMgtDAOException) SQLException(java.sql.SQLException) Connection(java.sql.Connection)

Example 60 with org.wso2.carbon.humantask.client.api.types

use of org.wso2.carbon.humantask.client.api.types in project carbon-apimgt by wso2.

the class DAOIntegrationTestBase method setUp.

@BeforeMethod
public void setUp() throws Exception {
    String sqlFilePath = null;
    if (H2.equals(database)) {
        ((H2DataSource) dataSource).resetDB();
        sqlFilePath = ".." + File.separator + ".." + File.separator + ".." + File.separator + "features" + File.separator + "apimgt" + File.separator + "org.wso2.carbon.apimgt.core.feature" + File.separator + "resources" + File.separator + "dbscripts" + File.separator + "h2.sql";
    } else if (MYSQL.contains(database)) {
        ((MySQLDataSource) dataSource).resetDB();
        sqlFilePath = ".." + File.separator + ".." + File.separator + ".." + File.separator + "features" + File.separator + "apimgt" + File.separator + "org.wso2.carbon.apimgt.core.feature" + File.separator + "resources" + File.separator + "dbscripts" + File.separator + "mysql.sql";
    } else if (POSTGRES.contains(database)) {
        ((PostgreDataSource) dataSource).resetDB();
        sqlFilePath = ".." + File.separator + ".." + File.separator + ".." + File.separator + "features" + File.separator + "apimgt" + File.separator + "org.wso2.carbon.apimgt.core.feature" + File.separator + "resources" + File.separator + "dbscripts" + File.separator + "postgres.sql";
    } else if (MSSQL.contains(database)) {
        ((MSSQLDataSource) dataSource).resetDB();
        sqlFilePath = ".." + File.separator + ".." + File.separator + ".." + File.separator + "features" + File.separator + "apimgt" + File.separator + "org.wso2.carbon.apimgt.core.feature" + File.separator + "resources" + File.separator + "dbscripts" + File.separator + "mssql.sql";
    } else if (ORACLE.contains(database)) {
        ((OracleDataSource) dataSource).resetDB();
        sqlFilePath = ".." + File.separator + ".." + File.separator + ".." + File.separator + "features" + File.separator + "apimgt" + File.separator + "org.wso2.carbon.apimgt.core.feature" + File.separator + "resources" + File.separator + "dbscripts" + File.separator + "oracle.sql";
    }
    DAOUtil.clearDataSource();
    DAOUtil.initialize(dataSource);
    try (Connection connection = DAOUtil.getConnection()) {
        DBScriptRunnerUtil.executeSQLScript(sqlFilePath, connection);
    }
    PolicyDAO policyDAO = DAOFactory.getPolicyDAO();
    SampleTestObjectCreator.createDefaultPolicy(policyDAO);
}
Also used : Connection(java.sql.Connection) PolicyDAO(org.wso2.carbon.apimgt.core.dao.PolicyDAO) BeforeMethod(org.testng.annotations.BeforeMethod)

Aggregations

APIManagementException (org.wso2.carbon.apimgt.core.exception.APIManagementException)18 APIMgtAdminService (org.wso2.carbon.apimgt.core.api.APIMgtAdminService)13 HashMap (java.util.HashMap)12 Query (javax.persistence.Query)9 ErrorDTO (org.wso2.carbon.apimgt.rest.api.common.dto.ErrorDTO)9 ArrayList (java.util.ArrayList)8 Map (java.util.Map)8 APIMgtDAOException (org.wso2.carbon.apimgt.core.exception.APIMgtDAOException)5 TAttachment (org.wso2.carbon.attachment.mgt.skeleton.types.TAttachment)5 APIPolicy (org.wso2.carbon.apimgt.core.models.policy.APIPolicy)4 AttachmentDAO (org.wso2.carbon.attachment.mgt.core.dao.AttachmentDAO)4 AttachmentMgtException (org.wso2.carbon.attachment.mgt.core.exceptions.AttachmentMgtException)4 AttachmentMgtException (org.wso2.carbon.attachment.mgt.skeleton.AttachmentMgtException)4 Test (org.testng.annotations.Test)3 ConfigurationException (org.wso2.carbon.config.ConfigurationException)3 ByteArrayOutputStream (java.io.ByteArrayOutputStream)2 File (java.io.File)2 PrintStream (java.io.PrintStream)2 Connection (java.sql.Connection)2 List (java.util.List)2