use of org.wso2.carbon.apimgt.rest.api.analytics.dto.SubscriptionInfoListDTO in project carbon-apimgt by wso2.
the class AnalyticsMappingUtil method fromSubscriptionInfoListToDTO.
public static SubscriptionInfoListDTO fromSubscriptionInfoListToDTO(List<SubscriptionInfo> subscriptionInfoList, ZoneId zoneId) {
SubscriptionInfoListDTO subscriptionCountListDTO = new SubscriptionInfoListDTO();
List<SubscriptionInfoDTO> subscriptionInfoDTOList = new ArrayList<>();
subscriptionCountListDTO.setCount(subscriptionInfoList.size());
for (SubscriptionInfo subscriptionInfo : subscriptionInfoList) {
SubscriptionInfoDTO subscriptionInfoDTO = new SubscriptionInfoDTO();
subscriptionInfoDTO.setId(subscriptionInfo.getId());
subscriptionInfoDTO.setName(subscriptionInfo.getName());
subscriptionInfoDTO.setVersion(subscriptionInfo.getVersion());
subscriptionInfoDTO.setAppName(subscriptionInfo.getAppName());
subscriptionInfoDTO.setDescription(subscriptionInfo.getDescription());
subscriptionInfoDTO.setCreatedTime(epochToISO8601DateTime(subscriptionInfo.getCreatedTime(), zoneId));
subscriptionInfoDTO.setSubscriptionStatus(subscriptionInfo.getSubscriptionStatus());
subscriptionInfoDTO.setSubscriptionTier(subscriptionInfo.getSubscriptionTier());
subscriptionInfoDTOList.add(subscriptionInfoDTO);
}
subscriptionCountListDTO.setList(subscriptionInfoDTOList);
return subscriptionCountListDTO;
}
use of org.wso2.carbon.apimgt.rest.api.analytics.dto.SubscriptionInfoListDTO in project carbon-apimgt by wso2.
the class AnalyticsMappingUtilTestCase method fromSubscriptionInfoListToDTOTest.
@Test
public void fromSubscriptionInfoListToDTOTest() {
List<SubscriptionInfo> subscriptionInfoList = new ArrayList<>();
subscriptionInfoList.add(SampleTestObjectCreator.createRandomSubscriptionInfoObject());
subscriptionInfoList.add(SampleTestObjectCreator.createRandomSubscriptionInfoObject());
subscriptionInfoList.add(SampleTestObjectCreator.createRandomSubscriptionInfoObject());
SubscriptionInfoListDTO subscriptionInfoListDTO = AnalyticsMappingUtil.fromSubscriptionInfoListToDTO(subscriptionInfoList, ZoneOffset.UTC);
Assert.assertEquals(subscriptionInfoList.size(), subscriptionInfoListDTO.getList().size());
for (int i = 0; i < subscriptionInfoList.size(); i++) {
Assert.assertEquals(subscriptionInfoList.get(i).getName(), subscriptionInfoListDTO.getList().get(i).getName());
Assert.assertEquals(subscriptionInfoList.get(i).getId(), subscriptionInfoListDTO.getList().get(i).getId());
Assert.assertEquals(subscriptionInfoList.get(i).getDescription(), subscriptionInfoListDTO.getList().get(i).getDescription());
Assert.assertEquals(subscriptionInfoList.get(i).getAppName(), subscriptionInfoListDTO.getList().get(i).getAppName());
Assert.assertEquals(subscriptionInfoList.get(i).getVersion(), subscriptionInfoListDTO.getList().get(i).getVersion());
Assert.assertEquals(subscriptionInfoList.get(i).getSubscriptionStatus(), subscriptionInfoListDTO.getList().get(i).getSubscriptionStatus());
Assert.assertEquals(subscriptionInfoList.get(i).getSubscriptionTier(), subscriptionInfoListDTO.getList().get(i).getSubscriptionTier());
Assert.assertEquals(epochToISO8601DateTime(subscriptionInfoList.get(i).getCreatedTime(), ZoneOffset.UTC), subscriptionInfoListDTO.getList().get(i).getCreatedTime());
}
}
use of org.wso2.carbon.apimgt.rest.api.analytics.dto.SubscriptionInfoListDTO in project carbon-apimgt by wso2.
the class SubscriptionApiServiceImpl method subscriptionListGet.
/**
* Get list of subscriptions info over time
*
* @param startTime Filter for start time stamp
* @param endTime Filter for end time stamp
* @param createdBy Filter for createdBy
* @param request MSF4J request
* @return Subscriptions information over time
* @throws NotFoundException When the particular resource does not exist in the system
*/
@Override
public Response subscriptionListGet(String startTime, String endTime, String createdBy, Request request) throws NotFoundException {
String username = RestApiUtil.getLoggedInUsername(request);
try {
log.debug("Retrieving subscriptions info. [From: {} To: {} Created By: {}]", startTime, endTime, createdBy);
Analyzer analyzer = RestApiUtil.getAnalyzer(username);
ZoneId requestTimezone = RestApiUtil.getRequestTimeZone(startTime);
List<SubscriptionInfo> subscriptionInfoList = analyzer.getSubscriptionInfo(fromISO8601ToInstant(startTime), fromISO8601ToInstant(endTime), createdBy);
SubscriptionInfoListDTO subscriptionInfoListDTO = AnalyticsMappingUtil.fromSubscriptionInfoListToDTO(subscriptionInfoList, requestTimezone);
return Response.ok().entity(subscriptionInfoListDTO).build();
} catch (APIManagementException e) {
String errorMessage = "Error while retrieving subscription information";
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.rest.api.analytics.dto.SubscriptionInfoListDTO in project carbon-apimgt by wso2.
the class AnalyticsMappingUtil method fromSubscriptionCountListToDTO.
/**
* Converts and SubscriptionInfoList to SubscriptionInfoListDTO.
*
* @param subscriptionCountList list of SubscriptionCount objects
* @return corresponding APIInfoListDTO object
*/
public static SubscriptionCountListDTO fromSubscriptionCountListToDTO(List<SubscriptionCount> subscriptionCountList, ZoneId zoneId) {
SubscriptionCountListDTO subscriptionCountListDTO = new SubscriptionCountListDTO();
List<SubscriptionCountDTO> subscriptionCountDTOList = new ArrayList<>();
subscriptionCountListDTO.setCount(subscriptionCountList.size());
for (SubscriptionCount subscriptionCount : subscriptionCountList) {
SubscriptionCountDTO subscriptionCountDTO = new SubscriptionCountDTO();
subscriptionCountDTO.setTime(epochToISO8601DateTime(subscriptionCount.getTimestamp(), zoneId));
subscriptionCountDTO.setCount(subscriptionCount.getCount());
subscriptionCountDTOList.add(subscriptionCountDTO);
}
subscriptionCountListDTO.setList(subscriptionCountDTOList);
return subscriptionCountListDTO;
}
Aggregations