use of org.wso2.carbon.apimgt.api.model.policy.Policy in project carbon-apimgt by wso2.
the class PolicyDAOImpl method deletePolicy.
@Override
public void deletePolicy(APIMgtAdminService.PolicyLevel policyLevel, String policyName) throws APIMgtDAOException {
try (Connection connection = DAOUtil.getConnection()) {
try {
connection.setAutoCommit(false);
if (APIMgtAdminService.PolicyLevel.application == policyLevel) {
deleteApplicationPolicy(policyName, connection);
} else if (APIMgtAdminService.PolicyLevel.subscription == policyLevel) {
deleteSubscriptionPolicy(policyName, connection);
} else if (APIMgtAdminService.PolicyLevel.api == policyLevel) {
deleteApiPolicy(policyName, connection);
}
connection.commit();
} catch (SQLException e) {
connection.rollback();
String errorMessage = "Error in deleting throttling policy for level: " + policyLevel + ", policy name: " + policyName;
log.error(errorMessage, e);
throw new APIMgtDAOException(errorMessage, e);
} finally {
connection.setAutoCommit(DAOUtil.isAutoCommit());
}
} catch (SQLException e) {
String errorMsg = "Error in obtaining DB connection";
log.error(errorMsg, e);
throw new APIMgtDAOException(errorMsg, e);
}
}
use of org.wso2.carbon.apimgt.api.model.policy.Policy in project carbon-apimgt by wso2.
the class PolicyDAOImpl method addApiPolicy.
@Override
public void addApiPolicy(APIPolicy policy) throws APIMgtDAOException {
try (Connection connection = DAOUtil.getConnection()) {
try {
connection.setAutoCommit(false);
addApiPolicy(policy, connection);
connection.commit();
} catch (SQLException e) {
connection.rollback();
String errorMessage = "Error in adding API policy, policy name: " + policy.getPolicyName();
log.error(errorMessage, e);
throw new APIMgtDAOException(errorMessage, e);
} finally {
connection.setAutoCommit(DAOUtil.isAutoCommit());
}
} catch (SQLException e) {
String errorMsg = "Error in obtaining DB connection";
log.error(errorMsg, e);
throw new APIMgtDAOException(errorMsg, e);
}
}
use of org.wso2.carbon.apimgt.api.model.policy.Policy in project carbon-apimgt by wso2.
the class PolicyDAOImpl method addApiPolicy.
private static void addApiPolicy(APIPolicy policy, Connection connection) throws SQLException, APIMgtDAOException {
final String query = "INSERT INTO AM_API_POLICY (UUID, NAME, DISPLAY_NAME, DESCRIPTION, " + "DEFAULT_QUOTA_TYPE, DEFAULT_QUOTA, DEFAULT_QUOTA_UNIT, DEFAULT_UNIT_TIME," + " DEFAULT_TIME_UNIT, APPLICABLE_LEVEL, IS_DEPLOYED) " + "VALUES (?,?,?,?,?,?,?,?,?,?,?)";
Limit limit = policy.getDefaultQuotaPolicy().getLimit();
try (PreparedStatement statement = connection.prepareStatement(query)) {
statement.setString(1, policy.getUuid());
statement.setString(2, policy.getPolicyName());
statement.setString(3, policy.getDisplayName());
statement.setString(4, policy.getDescription());
statement.setString(5, policy.getDefaultQuotaPolicy().getType());
setDefaultThrottlePolicyDetailsPreparedStmt(limit, statement);
statement.setLong(8, policy.getDefaultQuotaPolicy().getLimit().getUnitTime());
statement.setString(9, policy.getDefaultQuotaPolicy().getLimit().getTimeUnit());
statement.setString(10, API_TIER_LEVEL);
statement.setBoolean(11, policy.isDeployed());
statement.execute();
if (policy.getPipelines() != null) {
addAPIPipeline(connection, policy.getPipelines(), policy.getUuid());
}
}
}
use of org.wso2.carbon.apimgt.api.model.policy.Policy in project carbon-apimgt by wso2.
the class PolicyDAOImpl method addApplicationPolicy.
@Override
public void addApplicationPolicy(ApplicationPolicy policy) throws APIMgtDAOException {
try (Connection connection = DAOUtil.getConnection()) {
try {
connection.setAutoCommit(false);
addApplicationPolicy(policy, connection);
connection.commit();
} catch (SQLException e) {
connection.rollback();
String errorMessage = "Error in adding Application policy, policy name: " + policy.getPolicyName();
log.error(errorMessage, e);
throw new APIMgtDAOException(errorMessage, e);
} finally {
connection.setAutoCommit(DAOUtil.isAutoCommit());
}
} catch (SQLException e) {
String errorMsg = "Error in obtaining DB connection";
log.error(errorMsg, e);
throw new APIMgtDAOException(errorMsg, e);
}
}
use of org.wso2.carbon.apimgt.api.model.policy.Policy in project carbon-apimgt by wso2.
the class APIPublisherImpl method deleteThreatProtectionPolicy.
@Override
public void deleteThreatProtectionPolicy(String apiId, String policyId) throws APIManagementException {
API api = getAPIbyUUID(apiId);
if (api == null) {
String message = "Delete threat protection policy from API: No API found for APIID: " + apiId;
log.error(message);
throw new APIManagementException(message);
}
API.APIBuilder builder = new API.APIBuilder(api);
Set<String> policies = builder.getThreatProtectionPolicies();
if (policies != null) {
policies.remove(policyId);
}
updateAPI(builder);
if (log.isDebugEnabled()) {
log.debug("Threat protection policy (ID: " + policyId + ") deleted from the API (ID: " + builder.getId() + ")");
}
}
Aggregations