use of eu.europa.ec.fisheries.uvms.commons.rest.dto.PaginationDto in project UVMS-ActivityModule-APP by UnionVMS.
the class FishingTripDao method getFishingTripsForMatchingFilterCriteria.
/**
* Get all the Fishing Trip entities for matching Filters
*
* @param query FishingActivityQuery
* @return
* @throws ServiceException
*/
public List<FishingTripEntity> getFishingTripsForMatchingFilterCriteria(FishingActivityQuery query) throws ServiceException {
Query listQuery = getQueryForFilterFishingTrips(query);
PaginationDto pagination = query.getPagination();
if (pagination != null) {
log.debug("Pagination information getting applied to Query is: Offset :" + pagination.getOffset() + " PageSize:" + pagination.getPageSize());
listQuery.setFirstResult(pagination.getOffset());
listQuery.setMaxResults(pagination.getPageSize());
}
return listQuery.getResultList();
}
use of eu.europa.ec.fisheries.uvms.commons.rest.dto.PaginationDto in project UVMS-ActivityModule-APP by UnionVMS.
the class FishingTripDao method getFishingTripIdsForMatchingFilterCriteria.
/**
* Get all the Fishing Trip entities for matching Filters
*
* @param query FishingActivityQuery
* @return
* @throws ServiceException
*/
public Set<FishingTripId> getFishingTripIdsForMatchingFilterCriteria(FishingActivityQuery query) throws ServiceException {
Query listQuery = getQueryForFilterFishingTripIds(query);
PaginationDto pagination = query.getPagination();
if (pagination != null && pagination.getOffset() != null) {
listQuery.setFirstResult(pagination.getOffset());
listQuery.setMaxResults(pagination.getPageSize());
}
List<Object[]> resultList = listQuery.getResultList();
if (CollectionUtils.isEmpty(resultList))
return Collections.emptySet();
Set<FishingTripId> fishingTripIds = new HashSet<>();
for (Object[] objArr : resultList) {
try {
if (objArr != null && objArr.length == 2) {
fishingTripIds.add(new FishingTripId((String) objArr[0], (String) objArr[1]));
}
} catch (Exception e) {
log.error("Could not map sql selection to FishingTripId object", e);
}
}
return fishingTripIds;
}
use of eu.europa.ec.fisheries.uvms.commons.rest.dto.PaginationDto in project UVMS-ActivityModule-APP by UnionVMS.
the class ActivityServiceBeanTest method getFishingActivityListByQuery.
@Test
@SneakyThrows
public void getFishingActivityListByQuery() throws ServiceException {
FishingActivityQuery query = new FishingActivityQuery();
Map<SearchFilter, String> searchCriteriaMap = new HashMap<>();
searchCriteriaMap.put(SearchFilter.OWNER, "OWNER1");
List<AreaIdentifierType> areaIdentifierTypes = new ArrayList<>();
Map<SearchFilter, List<String>> searchCriteriaMapMultipleValue = new HashMap<>();
List<String> purposeCodeList = new ArrayList<>();
purposeCodeList.add("9");
searchCriteriaMapMultipleValue.put(SearchFilter.PURPOSE, purposeCodeList);
PaginationDto pagination = new PaginationDto();
pagination.setPageSize(4);
pagination.setOffset(1);
query.setPagination(pagination);
query.setSearchCriteriaMap(searchCriteriaMap);
query.setSearchCriteriaMapMultipleValues(searchCriteriaMapMultipleValue);
when(spatialModule.getFilteredAreaGeom(areaIdentifierTypes)).thenReturn("('MULTIPOINT (10 40, 40 30, 20 20, 30 10)')");
when(fishingActivityDao.getFishingActivityListByQuery(query)).thenReturn(MapperUtil.getFishingActivityEntityList());
// Trigger
FilterFishingActivityReportResultDTO filterFishingActivityReportResultDTO = activityService.getFishingActivityListByQuery(query, null);
Mockito.verify(fishingActivityDao, Mockito.times(1)).getFishingActivityListByQuery(Mockito.any(FishingActivityQuery.class));
// Verify
assertNotNull(filterFishingActivityReportResultDTO);
assertNotNull(filterFishingActivityReportResultDTO.getResultList());
}
use of eu.europa.ec.fisheries.uvms.commons.rest.dto.PaginationDto in project UVMS-ActivityModule-APP by UnionVMS.
the class ActivityServiceBeanTest method getFishingActivityListByQuery_emptyResultSet.
@Test
@SneakyThrows
public void getFishingActivityListByQuery_emptyResultSet() throws ServiceException {
FishingActivityQuery query = new FishingActivityQuery();
Map<SearchFilter, String> searchCriteriaMap = new HashMap<>();
List<AreaIdentifierType> areaIdentifierTypes = new ArrayList<>();
searchCriteriaMap.put(SearchFilter.OWNER, "OWNER1");
Map<SearchFilter, List<String>> searchCriteriaMapMultipleValue = new HashMap<>();
List<String> purposeCodeList = new ArrayList<>();
purposeCodeList.add("9");
searchCriteriaMapMultipleValue.put(SearchFilter.PURPOSE, purposeCodeList);
PaginationDto pagination = new PaginationDto();
pagination.setPageSize(4);
pagination.setOffset(1);
query.setPagination(pagination);
query.setSearchCriteriaMap(searchCriteriaMap);
query.setSearchCriteriaMapMultipleValues(searchCriteriaMapMultipleValue);
when(spatialModule.getFilteredAreaGeom(areaIdentifierTypes)).thenReturn("('MULTIPOINT (10 40, 40 30, 20 20, 30 10)')");
when(fishingActivityDao.getFishingActivityListByQuery(query)).thenReturn(new ArrayList<FishingActivityEntity>());
// Trigger
FilterFishingActivityReportResultDTO filterFishingActivityReportResultDTO = activityService.getFishingActivityListByQuery(query, new ArrayList<Dataset>());
Mockito.verify(fishingActivityDao, Mockito.times(1)).getFishingActivityListByQuery(Mockito.any(FishingActivityQuery.class));
// Verify
assertNotNull(filterFishingActivityReportResultDTO);
}
use of eu.europa.ec.fisheries.uvms.commons.rest.dto.PaginationDto in project UVMS-ActivityModule-APP by UnionVMS.
the class FishingActivityDaoTest method testGetCountForFishingActivityListByQuery.
@Test
@SneakyThrows
public void testGetCountForFishingActivityListByQuery() throws Exception {
dbSetupTracker.skipNextLaunch();
FishingActivityQuery query = new FishingActivityQuery();
Map<SearchFilter, String> searchCriteriaMap = new HashMap<>();
Map<SearchFilter, List<String>> searchCriteriaMapMultiVal = new HashMap<>();
List<String> activityTypeValues = new ArrayList<>();
activityTypeValues.add("FISHING_OPERATION");
activityTypeValues.add("DEPARTURE");
searchCriteriaMapMultiVal.put(SearchFilter.ACTIVITY_TYPE, activityTypeValues);
List<String> purposeCodeValues = new ArrayList<>();
purposeCodeValues.add("5");
purposeCodeValues.add("9");
searchCriteriaMapMultiVal.put(SearchFilter.PURPOSE, purposeCodeValues);
query.setSearchCriteriaMapMultipleValues(searchCriteriaMapMultiVal);
searchCriteriaMap.put(SearchFilter.OWNER, "OWNER1");
searchCriteriaMap.put(SearchFilter.PERIOD_START, "2012-05-27T07:47:31");
searchCriteriaMap.put(SearchFilter.PERIOD_END, "2015-05-27T07:47:31");
searchCriteriaMap.put(SearchFilter.VESSEL_NAME, "vessel1");
searchCriteriaMap.put(SearchFilter.VESSEL_IDENTIFIRE, "CFR123");
searchCriteriaMap.put(SearchFilter.REPORT_TYPE, "DECLARATION");
searchCriteriaMap.put(SearchFilter.GEAR, "GEAR_TYPE");
searchCriteriaMap.put(SearchFilter.SPECIES, "PLE");
searchCriteriaMap.put(SearchFilter.MASTER, "MARK");
searchCriteriaMap.put(SearchFilter.AREAS, "27.4.b");
searchCriteriaMap.put(SearchFilter.QUANTITY_MIN, "0");
searchCriteriaMap.put(SearchFilter.QUANTITY_MAX, "25");
searchCriteriaMap.put(SearchFilter.SOURCE, "FLUX");
SortKey sortingDto = new SortKey();
sortingDto.setSortBy(SearchFilter.PURPOSE);
sortingDto.setReversed(false);
query.setSorting(sortingDto);
query.setSearchCriteriaMap(searchCriteriaMap);
PaginationDto pagination = new PaginationDto();
pagination.setPageSize(2);
pagination.setOffset(1);
query.setPagination(pagination);
SortKey sortingDto2 = new SortKey();
sortingDto2.setSortBy(SearchFilter.OCCURRENCE);
sortingDto2.setReversed(false);
query.setSorting(sortingDto2);
int size = dao.getCountForFishingActivityListByQuery(query);
System.out.println("done:" + size);
// assertNotEquals(0, size);
}
Aggregations