@Override public User get(String name) throws NotFoundServiceEx { Search searchCriteria = new Search(User.class); searchCriteria.addFilterEqual("name", name); searchCriteria.addFetch("attribute"); List<User> users = userDAO.search(searchCriteria); if (!users.isEmpty()) { return users.get(0); } else { throw new NotFoundServiceEx("User not found with name: " + name); } }
search.addFetch("userGroups"); 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 Collection<User> getByAttribute(UserAttribute attribute) { Search searchCriteria = new Search(UserAttribute.class); searchCriteria.addFilterEqual("name", attribute.getName()); searchCriteria.addFilterEqual("value", attribute.getValue()); searchCriteria.addFetch("user"); List<UserAttribute> attributes = userAttributeDAO.search(searchCriteria); Set<User> users = new HashSet<User>(); for(UserAttribute userAttr : attributes) { if(userAttr.getUser() != null) { users.add(userAttr.getUser()); } } return users; } }
@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); }
@Override public List<GSUser> getFullList(String nameLike, Integer page, Integer entries, boolean fetchGroups) 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(GSUser.class); if(page != null) { searchCriteria.setMaxResults(entries); searchCriteria.setPage(page); } if(fetchGroups) { searchCriteria.addFetch("userGroups"); } searchCriteria.addSortAsc("name"); if (nameLike != null) { searchCriteria.addFilterILike("name", nameLike); } List<GSUser> found = userDAO.search(searchCriteria); return found; }
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); }