search.setDistinct(true); List<GSUser> users = super.search(search);
/** * Return a list of resources joined with their data. This call can be very heavy for the system. Please use this * method only when you are sure a few data will be returned, otherwise consider using * {@link #getResources(it.geosolutions.geostore.services.dto.search.SearchFilter, it.geosolutions.geostore.core.model.User) getResources) * if you need less data. * * @param filter * @param authUser * @return * @throws BadRequestServiceEx * @throws InternalErrorServiceEx */ @Override public List<Resource> getResourcesFull(SearchFilter filter, User authUser) throws BadRequestServiceEx, InternalErrorServiceEx { Search searchCriteria = SearchConverter.convert(filter); searchCriteria.addFetch("security"); searchCriteria.setDistinct(true); searchCriteria.addFetch("data"); resourceDAO.addReadSecurityConstraints(searchCriteria, authUser); List<Resource> resources = this.resourceDAO.search(searchCriteria); return resources; }
@Override public List<ShortResource> getList(String nameLike, Integer page, Integer entries, User authUser) throws BadRequestServiceEx { if (((page != null) && (entries == null)) || ((page == null) && (entries != null))) { throw new BadRequestServiceEx("Page and entries params should be declared together"); } Search searchCriteria = new Search(Resource.class); if (page != null) { searchCriteria.setMaxResults(entries); searchCriteria.setPage(page); } searchCriteria.addSortAsc("name"); if (nameLike != null) { searchCriteria.addFilterILike("name", nameLike); } // load security rules for each resource in the list searchCriteria.addFetch("security"); searchCriteria.setDistinct(true); resourceDAO.addReadSecurityConstraints(searchCriteria, authUser); if(LOGGER.isTraceEnabled()) { LOGGER.trace("Get Resource List: " + searchCriteria); } List<Resource> found = resourceDAO.search(searchCriteria); return convertToShortList(found, authUser); }
public List<Resource> getResources(SearchFilter filter, Integer page, Integer entries, boolean includeAttributes, boolean includeData, User authUser) throws BadRequestServiceEx, InternalErrorServiceEx { if (((page != null) && (entries == null)) || ((page == null) && (entries != null))) { throw new BadRequestServiceEx("Page and entries params should be declared together"); } Search searchCriteria = SearchConverter.convert(filter); if (page != null) { searchCriteria.setMaxResults(entries); searchCriteria.setPage(page); } searchCriteria.addFetch("security"); searchCriteria.setDistinct(true); resourceDAO.addReadSecurityConstraints(searchCriteria, authUser); List<Resource> resources = this.resourceDAO.search(searchCriteria); resources = this.configResourceList(resources, includeAttributes, includeData, authUser); return resources; }
@Override public List<ShortResource> getResources(SearchFilter filter, Integer page, Integer entries, User authUser) throws BadRequestServiceEx, InternalErrorServiceEx { if (((page != null) && (entries == null)) || ((page == null) && (entries != null))) { throw new BadRequestServiceEx("Page and entries params should be declared together"); } Search searchCriteria = SearchConverter.convert(filter); if (page != null) { searchCriteria.setMaxResults(entries); searchCriteria.setPage(page); } // ////////////////////////////////////////////////////////// // addFetch to charge the corresponding security rules // for each resource in the list // ////////////////////////////////////////////////////////// searchCriteria.addFetch("security"); searchCriteria.setDistinct(true); resourceDAO.addReadSecurityConstraints(searchCriteria, authUser); List<Resource> resources = this.resourceDAO.search(searchCriteria); return convertToShortList(resources, authUser); }
@Override public List<ShortResource> getAll(Integer page, Integer entries, User authUser) throws BadRequestServiceEx { if (((page != null) && (entries == null)) || ((page == null) && (entries != null))) { throw new BadRequestServiceEx("Page and entries params should be declared together"); } Search searchCriteria = new Search(Resource.class); if (page != null) { searchCriteria.setMaxResults(entries); searchCriteria.setPage(page); } searchCriteria.addSortAsc("name"); // load security rules for each resource in the list searchCriteria.addFetch("security"); searchCriteria.setDistinct(true); resourceDAO.addReadSecurityConstraints(searchCriteria, authUser); List<Resource> found = resourceDAO.search(searchCriteria); return convertToShortList(found, authUser); }