use of org.wso2.carbon.apimgt.core.api.APIMgtAdminService 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();
}
}
use of org.wso2.carbon.apimgt.core.api.APIMgtAdminService in project carbon-apimgt by wso2.
the class PoliciesApiServiceImpl method policiesThrottlingApplicationPost.
/**
* Adds a new Application throttle policy to the system
*
* @param body DTO object including the Policy meta information
* @param request msf4j request object
* @return Response object response object with the created application throttle policy resource
* @throws NotFoundException if an error occurred when particular resource does not exits in the system.
*/
@Override
public Response policiesThrottlingApplicationPost(ApplicationThrottlePolicyDTO body, Request request) throws NotFoundException {
APIMgtAdminService.PolicyLevel tierLevel = APIMgtAdminService.PolicyLevel.application;
if (log.isDebugEnabled()) {
log.info("Received Application Policy PUT request " + body + " with tierLevel = " + tierLevel);
}
String policyName = null;
try {
APIMgtAdminService apiMgtAdminService = RestApiUtil.getAPIMgtAdminService();
ApplicationPolicy applicationPolicy = ApplicationThrottlePolicyMappingUtil.fromApplicationThrottlePolicyDTOToModel(body);
policyName = applicationPolicy.getPolicyName();
String applicationPolicyUuid = apiMgtAdminService.addApplicationPolicy(applicationPolicy);
return Response.status(Response.Status.CREATED).entity(ApplicationThrottlePolicyMappingUtil.fromApplicationThrottlePolicyToDTO(apiMgtAdminService.getApplicationPolicyByUuid(applicationPolicyUuid))).build();
} catch (APIManagementException e) {
String errorMessage = "Error occurred while adding Application Policy. policy name: " + policyName;
ErrorDTO errorDTO = RestApiUtil.getErrorDTO(e.getErrorHandler());
log.error(errorMessage, e);
return Response.status(e.getErrorHandler().getHttpStatusCode()).entity(errorDTO).build();
}
}
use of org.wso2.carbon.apimgt.core.api.APIMgtAdminService in project carbon-apimgt by wso2.
the class BlacklistApiServiceImpl method blacklistConditionIdPut.
/**
* Update blacklist/block condition statues
*
* @param conditionId uuid of the blacklist condition
* @param body body of the blacklist status to be updated
* @param ifMatch If-Match header value
* @param ifUnmodifiedSince If-Unmodified-Since header value
* @param request msf4j request object
* @return Response Object
* @throws NotFoundException if an error occurred when particular resource does not exits in the system.
*/
@Override
public Response blacklistConditionIdPut(String conditionId, BlockingConditionDTO body, String ifMatch, String ifUnmodifiedSince, Request request) throws NotFoundException {
if (log.isDebugEnabled()) {
log.debug("Received BlockCondition GET request with id: " + conditionId);
}
try {
APIMgtAdminService apiMgtAdminService = RestApiUtil.getAPIMgtAdminService();
// This will give BlockConditionNotFoundException if there's no block condition exists with UUID
Boolean status = apiMgtAdminService.updateBlockConditionStateByUUID(conditionId, body.getStatus());
BlockingConditionDTO dto = null;
if (status) {
BlockConditions blockCondition = apiMgtAdminService.getBlockConditionByUUID(conditionId);
dto = BlockingConditionMappingUtil.fromBlockingConditionToDTO(blockCondition);
}
return Response.ok().entity(dto).build();
} catch (APIManagementException e) {
String errorMessage = "Error occurred while getting blacklist condition with UUID " + conditionId;
ErrorDTO errorDTO = RestApiUtil.getErrorDTO(e.getErrorHandler());
log.error(errorMessage, e);
return Response.status(e.getErrorHandler().getHttpStatusCode()).entity(errorDTO).build();
}
}
use of org.wso2.carbon.apimgt.core.api.APIMgtAdminService in project carbon-apimgt by wso2.
the class BlacklistApiServiceImpl method blacklistConditionIdGet.
/**
* Get blacklist condition by ID.
*
* @param conditionId ID of the blacklist condition to be retrieved
* @param ifNoneMatch IF-None-Match header value
* @param ifModifiedSince If-Modified-Since header value
* @param request msf4j request object
* @return Response object
* @throws NotFoundException if an error occurred when particular resource does not exits in the system.
*/
@Override
public Response blacklistConditionIdGet(String conditionId, String ifNoneMatch, String ifModifiedSince, Request request) throws NotFoundException {
if (log.isDebugEnabled()) {
log.debug("Received BlockCondition GET request with id: " + conditionId);
}
try {
APIMgtAdminService apiMgtAdminService = RestApiUtil.getAPIMgtAdminService();
// This will give BlockConditionNotFoundException if there's no block condition exists with UUID
BlockConditions blockCondition = apiMgtAdminService.getBlockConditionByUUID(conditionId);
BlockingConditionDTO dto = BlockingConditionMappingUtil.fromBlockingConditionToDTO(blockCondition);
return Response.ok().entity(dto).build();
} catch (APIManagementException e) {
String errorMessage = "Error occurred while getting blacklist condition with UUID " + conditionId;
ErrorDTO errorDTO = RestApiUtil.getErrorDTO(e.getErrorHandler());
log.error(errorMessage, e);
return Response.status(e.getErrorHandler().getHttpStatusCode()).entity(errorDTO).build();
}
}
use of org.wso2.carbon.apimgt.core.api.APIMgtAdminService in project carbon-apimgt by wso2.
the class BlacklistApiServiceImpl method blacklistPost.
/**
* Add a blacklist condition.
*
* @param body DTO object including the blacklist condition data
* @param request msf4j request object
* @return Response object
* @throws NotFoundException if an error occurred when particular resource does not exits in the system.
*/
@Override
public Response blacklistPost(BlockingConditionDTO body, Request request) throws NotFoundException {
if (log.isDebugEnabled()) {
log.debug("Received BlockCondition POST request with body: " + body);
}
try {
APIMgtAdminService apiMgtAdminService = RestApiUtil.getAPIMgtAdminService();
// Add the block condition. It will throw BlockConditionAlreadyExistsException if the condition already
// exists in the system
BlockConditions blockConditions = BlockingConditionMappingUtil.fromBlockingConditionDTOToBlockCondition(body);
String uuid = apiMgtAdminService.addBlockCondition(blockConditions);
// retrieve the new blocking condition and send back as the response
BlockConditions newBlockingCondition = apiMgtAdminService.getBlockConditionByUUID(uuid);
BlockingConditionDTO dto = BlockingConditionMappingUtil.fromBlockingConditionToDTO(newBlockingCondition);
return Response.status(Response.Status.CREATED).entity(dto).build();
} catch (APIManagementException e) {
String errorMessage = "Error occurred while adding blocking condition with UUID " + body.getConditionId();
ErrorDTO errorDTO = RestApiUtil.getErrorDTO(e.getErrorHandler());
log.error(errorMessage, e);
return Response.status(e.getErrorHandler().getHttpStatusCode()).entity(errorDTO).build();
}
}
Aggregations