use of org.wso2.carbon.apimgt.rest.api.store.v1.dto.ThrottlingPolicyListDTO in project carbon-apimgt by wso2.
the class ThrottlingPoliciesApiServiceImpl method getAllThrottlingPolicies.
/**
* Retrieves all the Tiers
*
* @param policyLevel tier level (api/application or resource)
* @param limit max number of objects returns
* @param offset starting index
* @param ifNoneMatch If-None-Match header value
* @return Response object containing resulted tiers
*/
@Override
public Response getAllThrottlingPolicies(String policyLevel, Integer limit, Integer offset, String ifNoneMatch, MessageContext messageContext) {
// pre-processing
// setting default limit and offset if they are null
limit = limit != null ? limit : RestApiConstants.PAGINATION_LIMIT_DEFAULT;
offset = offset != null ? offset : RestApiConstants.PAGINATION_OFFSET_DEFAULT;
List<Tier> tierList = getThrottlingPolicyList(policyLevel, false);
ThrottlingPolicyListDTO policyListDTO = ThrottlingPolicyMappingUtil.fromTierListToDTO(tierList, policyLevel, limit, offset);
// todo: set total counts properly
ThrottlingPolicyMappingUtil.setPaginationParams(policyListDTO, policyLevel, limit, offset, tierList.size());
return Response.ok().entity(policyListDTO).build();
}
use of org.wso2.carbon.apimgt.rest.api.store.v1.dto.ThrottlingPolicyListDTO in project carbon-apimgt by wso2.
the class ThrottlingPolicyMappingUtil method setPaginationParams.
/**
* Sets pagination urls for a ThrottlingPolicyListDTO object given pagination parameters and url parameters.
*
* @param throttlingPolicyListDTO a ThrottlingPolicyListDTO object
* @param tierLevel tier level (api/application or resource)
* @param limit max number of objects returned
* @param offset starting index
* @param size max offset
*/
public static void setPaginationParams(ThrottlingPolicyListDTO throttlingPolicyListDTO, String tierLevel, int limit, int offset, int size) {
String paginatedPrevious = "";
String paginatedNext = "";
Map<String, Integer> paginatedParams = RestApiCommonUtil.getPaginationParams(offset, limit, size);
if (paginatedParams.get(RestApiConstants.PAGINATION_PREVIOUS_OFFSET) != null) {
paginatedPrevious = RestApiCommonUtil.getTiersPaginatedURL(tierLevel, paginatedParams.get(RestApiConstants.PAGINATION_PREVIOUS_OFFSET), paginatedParams.get(RestApiConstants.PAGINATION_PREVIOUS_LIMIT));
}
if (paginatedParams.get(RestApiConstants.PAGINATION_NEXT_OFFSET) != null) {
paginatedNext = RestApiCommonUtil.getTiersPaginatedURL(tierLevel, paginatedParams.get(RestApiConstants.PAGINATION_NEXT_OFFSET), paginatedParams.get(RestApiConstants.PAGINATION_NEXT_LIMIT));
}
PaginationDTO paginationDTO = CommonMappingUtil.getPaginationDTO(limit, offset, size, paginatedNext, paginatedPrevious);
throttlingPolicyListDTO.setPagination(paginationDTO);
}
use of org.wso2.carbon.apimgt.rest.api.store.v1.dto.ThrottlingPolicyListDTO in project carbon-apimgt by wso2.
the class ThrottlingPolicyMappingUtil method setPaginationParams.
/**
* Sets pagination urls for a TierListDTO object given pagination parameters and url parameters
*
* @param tierListDTO a TierListDTO object
* @param limit max number of objects returned
* @param offset starting index
* @param size max offset
*/
public static void setPaginationParams(ThrottlingPolicyListDTO tierListDTO, String tierLevel, int limit, int offset, int size) {
String paginatedPrevious = "";
String paginatedNext = "";
Map<String, Integer> paginatedParams = RestApiCommonUtil.getPaginationParams(offset, limit, size);
if (paginatedParams.get(RestApiConstants.PAGINATION_PREVIOUS_OFFSET) != null) {
paginatedPrevious = RestApiCommonUtil.getTiersPaginatedURL(tierLevel, paginatedParams.get(RestApiConstants.PAGINATION_PREVIOUS_OFFSET), paginatedParams.get(RestApiConstants.PAGINATION_PREVIOUS_LIMIT));
}
if (paginatedParams.get(RestApiConstants.PAGINATION_NEXT_OFFSET) != null) {
paginatedNext = RestApiCommonUtil.getTiersPaginatedURL(tierLevel, paginatedParams.get(RestApiConstants.PAGINATION_NEXT_OFFSET), paginatedParams.get(RestApiConstants.PAGINATION_NEXT_LIMIT));
}
PaginationDTO paginationDTO = CommonMappingUtil.getPaginationDTO(limit, offset, size, paginatedNext, paginatedPrevious);
tierListDTO.setPagination(paginationDTO);
}
use of org.wso2.carbon.apimgt.rest.api.store.v1.dto.ThrottlingPolicyListDTO in project carbon-apimgt by wso2.
the class ThrottlingPolicyMappingUtil method fromTierListToDTO.
/**
* Converts a List object of Tiers into a DTO.
*
* @param tiers a list of Tier objects
* @param limit max number of objects returned
* @param offset starting index
* @return ThrottlingPolicyListDTO object containing ThrottlingPolicyDTOs
*/
public static ThrottlingPolicyListDTO fromTierListToDTO(List<Tier> tiers, String tierLevel, int limit, int offset) {
ThrottlingPolicyListDTO throttlingPolicyListDTO = new ThrottlingPolicyListDTO();
List<ThrottlingPolicyDTO> throttlingPolicyListDTOList = throttlingPolicyListDTO.getList();
if (throttlingPolicyListDTOList == null) {
throttlingPolicyListDTOList = new ArrayList<>();
throttlingPolicyListDTO.setList(throttlingPolicyListDTOList);
}
// identifying the proper start and end indexes
int size = tiers.size();
int start = offset < size && offset >= 0 ? offset : Integer.MAX_VALUE;
int end = Math.min(offset + limit - 1, size - 1);
for (int i = start; i <= end; i++) {
Tier tier = tiers.get(i);
throttlingPolicyListDTOList.add(fromTierToDTO(tier, tierLevel));
}
throttlingPolicyListDTO.setCount(throttlingPolicyListDTOList.size());
return throttlingPolicyListDTO;
}
use of org.wso2.carbon.apimgt.rest.api.store.v1.dto.ThrottlingPolicyListDTO in project carbon-apimgt by wso2.
the class ThrottlingPolicyMappingUtil method fromTierListToDTO.
/**
* Converts a List object of Tiers into a DTO
*
* @param throttlingPolicyList a list of Tier objects
* @param policyLevel the policy level(eg: application or subscription)
* @param limit max number of objects returned
* @param offset starting index
* @return TierListDTO object containing TierDTOs
*/
public static ThrottlingPolicyListDTO fromTierListToDTO(List<Tier> throttlingPolicyList, String policyLevel, int limit, int offset) {
ThrottlingPolicyListDTO throttlingPolicyListDTO = new ThrottlingPolicyListDTO();
List<ThrottlingPolicyDTO> throttlingPolicyDTOs = throttlingPolicyListDTO.getList();
if (throttlingPolicyDTOs == null) {
throttlingPolicyDTOs = new ArrayList<>();
throttlingPolicyListDTO.setList(throttlingPolicyDTOs);
}
// identifying the proper start and end indexes
int size = throttlingPolicyList.size();
int start = offset < size && offset >= 0 ? offset : Integer.MAX_VALUE;
int end = offset + limit - 1 <= size - 1 ? offset + limit - 1 : size - 1;
for (int i = start; i <= end; i++) {
Tier tier = throttlingPolicyList.get(i);
throttlingPolicyDTOs.add(fromTierToDTO(tier, policyLevel));
}
throttlingPolicyListDTO.setCount(throttlingPolicyDTOs.size());
return throttlingPolicyListDTO;
}
Aggregations