Java Code Examples for org.wso2.carbon.apimgt.api.APIProvider#getSubscriptionPolicyByUUID()
The following examples show how to use
org.wso2.carbon.apimgt.api.APIProvider#getSubscriptionPolicyByUUID() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: ThrottlingApiServiceImpl.java From carbon-apimgt with Apache License 2.0 | 5 votes |
/** * Get a specific Subscription Policy by its uuid * * @param policyId uuid of the policy * @param ifNoneMatch If-None-Match header value * @param ifModifiedSince If-Modified-Since header value * @return Matched Subscription Throttle Policy by the given name */ @Override public Response throttlingPoliciesSubscriptionPolicyIdGet(String policyId, String ifNoneMatch, String ifModifiedSince, MessageContext messageContext) { try { APIProvider apiProvider = RestApiUtil.getLoggedInUserProvider(); String username = RestApiUtil.getLoggedInUsername(); //This will give PolicyNotFoundException if there's no policy exists with UUID SubscriptionPolicy subscriptionPolicy = apiProvider.getSubscriptionPolicyByUUID(policyId); if (!RestApiAdminUtils.isPolicyAccessibleToUser(username, subscriptionPolicy)) { RestApiUtil.handleAuthorizationFailure(RestApiConstants.RESOURCE_SUBSCRIPTION_POLICY, policyId, log); } SubscriptionThrottlePolicyDTO policyDTO = SubscriptionThrottlePolicyMappingUtil.fromSubscriptionThrottlePolicyToDTO(subscriptionPolicy); return Response.ok().entity(policyDTO).build(); } catch (APIManagementException | ParseException e) { if (RestApiUtil.isDueToResourceNotFound(e)) { RestApiUtil.handleResourceNotFoundError(RestApiConstants.RESOURCE_SUBSCRIPTION_POLICY, policyId, e, log); } else { String errorMessage = "Error while retrieving Subscription level policy: " + policyId; RestApiUtil.handleInternalServerError(errorMessage, e, log); } } return null; }
Example 2
Source File: ThrottlingApiServiceImpl.java From carbon-apimgt with Apache License 2.0 | 5 votes |
/** * Delete a Subscription level policy specified by uuid * * @param policyId uuid of the policyu * @param ifMatch If-Match header value * @param ifUnmodifiedSince If-Unmodified-Since header value * @return 200 OK response if successfully deleted the policy */ @Override public Response throttlingPoliciesSubscriptionPolicyIdDelete(String policyId, String ifMatch, String ifUnmodifiedSince, MessageContext messageContext) { try { APIProvider apiProvider = RestApiUtil.getLoggedInUserProvider(); String username = RestApiUtil.getLoggedInUsername(); //This will give PolicyNotFoundException if there's no policy exists with UUID SubscriptionPolicy existingPolicy = apiProvider.getSubscriptionPolicyByUUID(policyId); if (!RestApiAdminUtils.isPolicyAccessibleToUser(username, existingPolicy)) { RestApiUtil.handleAuthorizationFailure(RestApiConstants.RESOURCE_SUBSCRIPTION_POLICY, policyId, log); } if (apiProvider.hasAttachments(username, existingPolicy.getPolicyName(), PolicyConstants.POLICY_LEVEL_SUB)) { String message = "Policy " + policyId + " already has subscriptions"; log.error(message); throw new APIManagementException(message); } apiProvider.deletePolicy(username, PolicyConstants.POLICY_LEVEL_SUB, existingPolicy.getPolicyName()); return Response.ok().build(); } catch (APIManagementException e) { if (RestApiUtil.isDueToResourceNotFound(e)) { RestApiUtil.handleResourceNotFoundError(RestApiConstants.RESOURCE_SUBSCRIPTION_POLICY, policyId, e, log); } else { String errorMessage = "Error while deleting Subscription level policy : " + policyId; RestApiUtil.handleInternalServerError(errorMessage, e, log); } } return null; }
Example 3
Source File: ThrottlingApiServiceImpl.java From carbon-apimgt with Apache License 2.0 | 5 votes |
/** * Get a specific Subscription Policy by its uuid * * @param policyId uuid of the policy * @param ifNoneMatch If-None-Match header value * @param ifModifiedSince If-Modified-Since header value * @return Matched Subscription Throttle Policy by the given name */ @Override public Response throttlingPoliciesSubscriptionPolicyIdGet(String policyId, String ifNoneMatch, String ifModifiedSince) { try { APIProvider apiProvider = RestApiUtil.getLoggedInUserProvider(); String username = RestApiUtil.getLoggedInUsername(); //This will give PolicyNotFoundException if there's no policy exists with UUID SubscriptionPolicy subscriptionPolicy = apiProvider.getSubscriptionPolicyByUUID(policyId); if (!RestApiAdminUtils.isPolicyAccessibleToUser(username, subscriptionPolicy)) { RestApiUtil.handleAuthorizationFailure(RestApiConstants.RESOURCE_SUBSCRIPTION_POLICY, policyId, log); } SubscriptionThrottlePolicyDTO policyDTO = SubscriptionThrottlePolicyMappingUtil .fromSubscriptionThrottlePolicyToDTO(subscriptionPolicy); return Response.ok().entity(policyDTO).build(); } catch (APIManagementException | ParseException e) { if (RestApiUtil.isDueToResourceNotFound(e)) { RestApiUtil .handleResourceNotFoundError(RestApiConstants.RESOURCE_SUBSCRIPTION_POLICY, policyId, e, log); } else { String errorMessage = "Error while retrieving Subscription level policy: " + policyId; RestApiUtil.handleInternalServerError(errorMessage, e, log); } } return null; }
Example 4
Source File: ThrottlingApiServiceImpl.java From carbon-apimgt with Apache License 2.0 | 5 votes |
/** * Delete a Subscription level policy specified by uuid * * @param policyId uuid of the policyu * @param ifMatch If-Match header value * @param ifUnmodifiedSince If-Unmodified-Since header value * @return 200 OK response if successfully deleted the policy */ @Override public Response throttlingPoliciesSubscriptionPolicyIdDelete(String policyId, String ifMatch, String ifUnmodifiedSince) { try { APIProvider apiProvider = RestApiUtil.getLoggedInUserProvider(); String username = RestApiUtil.getLoggedInUsername(); //This will give PolicyNotFoundException if there's no policy exists with UUID SubscriptionPolicy existingPolicy = apiProvider.getSubscriptionPolicyByUUID(policyId); if (!RestApiAdminUtils.isPolicyAccessibleToUser(username, existingPolicy)) { RestApiUtil.handleAuthorizationFailure(RestApiConstants.RESOURCE_SUBSCRIPTION_POLICY, policyId, log); } if (apiProvider.hasAttachments(username, existingPolicy.getPolicyName(), PolicyConstants.POLICY_LEVEL_SUB)) { String message = "Policy " + policyId + " already has subscriptions"; log.error(message); throw new APIManagementException(message); } apiProvider.deletePolicy(username, PolicyConstants.POLICY_LEVEL_SUB, existingPolicy.getPolicyName()); return Response.ok().build(); } catch (APIManagementException e) { if (RestApiUtil.isDueToResourceNotFound(e)) { RestApiUtil .handleResourceNotFoundError(RestApiConstants.RESOURCE_SUBSCRIPTION_POLICY, policyId, e, log); } else { String errorMessage = "Error while deleting Subscription level policy : " + policyId; RestApiUtil.handleInternalServerError(errorMessage, e, log); } } return null; }
Example 5
Source File: ThrottlingApiServiceImpl.java From carbon-apimgt with Apache License 2.0 | 4 votes |
/** * Updates a given Subscription level policy specified by uuid * * @param policyId u * @param body DTO of policy to be updated * @param contentType Content-Type header * @param ifMatch If-Match header value * @param ifUnmodifiedSince If-Unmodified-Since header value * @return Updated policy */ @Override public Response throttlingPoliciesSubscriptionPolicyIdPut(String policyId, SubscriptionThrottlePolicyDTO body, String contentType, String ifMatch, String ifUnmodifiedSince, MessageContext messageContext) { try { APIProvider apiProvider = RestApiUtil.getLoggedInUserProvider(); String username = RestApiUtil.getLoggedInUsername(); //will give PolicyNotFoundException if there's no policy exists with UUID SubscriptionPolicy existingPolicy = apiProvider.getSubscriptionPolicyByUUID(policyId); if (!RestApiAdminUtils.isPolicyAccessibleToUser(username, existingPolicy)) { RestApiUtil.handleAuthorizationFailure(RestApiConstants.RESOURCE_SUBSCRIPTION_POLICY, policyId, log); } //overridden properties body.setPolicyId(policyId); body.setPolicyName(existingPolicy.getPolicyName()); //update the policy SubscriptionPolicy subscriptionPolicy = SubscriptionThrottlePolicyMappingUtil.fromSubscriptionThrottlePolicyDTOToModel(body); apiProvider.updatePolicy(subscriptionPolicy); //retrieve the new policy and send back as the response SubscriptionPolicy newSubscriptionPolicy = apiProvider.getSubscriptionPolicy(username, body.getPolicyName()); SubscriptionThrottlePolicyDTO policyDTO = SubscriptionThrottlePolicyMappingUtil.fromSubscriptionThrottlePolicyToDTO(newSubscriptionPolicy); return Response.ok().entity(policyDTO).build(); } catch (APIManagementException | ParseException e) { if (RestApiUtil.isDueToResourceNotFound(e)) { RestApiUtil.handleResourceNotFoundError(RestApiConstants.RESOURCE_SUBSCRIPTION_POLICY, policyId, e, log); } else { String errorMessage = "Error while updating Subscription level policy: " + body.getPolicyName(); RestApiUtil.handleInternalServerError(errorMessage, e, log); } } return null; }
Example 6
Source File: ThrottlingApiServiceImpl.java From carbon-apimgt with Apache License 2.0 | 4 votes |
/** * Updates a given Subscription level policy specified by uuid * * @param policyId u * @param body DTO of policy to be updated * @param contentType Content-Type header * @param ifMatch If-Match header value * @param ifUnmodifiedSince If-Unmodified-Since header value * @return Updated policy */ @Override public Response throttlingPoliciesSubscriptionPolicyIdPut(String policyId, SubscriptionThrottlePolicyDTO body, String contentType, String ifMatch, String ifUnmodifiedSince) { try { APIProvider apiProvider = RestApiUtil.getLoggedInUserProvider(); String username = RestApiUtil.getLoggedInUsername(); //will give PolicyNotFoundException if there's no policy exists with UUID SubscriptionPolicy existingPolicy = apiProvider.getSubscriptionPolicyByUUID(policyId); if (!RestApiAdminUtils.isPolicyAccessibleToUser(username, existingPolicy)) { RestApiUtil.handleAuthorizationFailure(RestApiConstants.RESOURCE_SUBSCRIPTION_POLICY, policyId, log); } //overridden properties body.setPolicyId(policyId); body.setPolicyName(existingPolicy.getPolicyName()); //update the policy SubscriptionPolicy subscriptionPolicy = SubscriptionThrottlePolicyMappingUtil .fromSubscriptionThrottlePolicyDTOToModel( body); apiProvider.updatePolicy(subscriptionPolicy); //retrieve the new policy and send back as the response SubscriptionPolicy newSubscriptionPolicy = apiProvider .getSubscriptionPolicy(username, body.getPolicyName()); SubscriptionThrottlePolicyDTO policyDTO = SubscriptionThrottlePolicyMappingUtil .fromSubscriptionThrottlePolicyToDTO(newSubscriptionPolicy); return Response.ok().entity(policyDTO).build(); } catch (APIManagementException | ParseException e) { if (RestApiUtil.isDueToResourceNotFound(e)) { RestApiUtil .handleResourceNotFoundError(RestApiConstants.RESOURCE_SUBSCRIPTION_POLICY, policyId, e, log); } else { String errorMessage = "Error while updating Subscription level policy: " + body.getPolicyName(); RestApiUtil.handleInternalServerError(errorMessage, e, log); } } return null; }