protected Search buildCriteria(Integer page, Integer entries, String nameLike) 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(UserGroup.class); if ( page != null ) { searchCriteria.setMaxResults(entries); searchCriteria.setPage(page); } searchCriteria.addSortAsc("name"); if ( nameLike != null ) { searchCriteria.addFilterILike("name", nameLike); } return searchCriteria; }
public GSUser searchByName(String name) { Search search = new Search(); search.addFilter(new Filter("username", name)); List<GSUser> users = search(search); if(users.isEmpty()) return null; else if(users.size() > 1) throw new IllegalArgumentException("Given filter ("+name+") returns too many users ("+users.size()+")"); GSUser user = users.get(0); return user; }
@Override public GSUser getFull(String name) { Search search = new Search(GSUser.class); search.addFilterEqual("name", name); return searchFull(search); }
@Override public List<String> findResourceNamesMatchingPattern(String pattern) { Search searchCriteria = new Search(Resource.class); searchCriteria.addField("name"); searchCriteria.addFilterLike("name", pattern); searchCriteria.setResultMode(Search.RESULT_SINGLE); List<String> resourceNames = super.search(searchCriteria); return resourceNames; }
/** * @param resourceId * @return List<Attribute> */ @Override public List<Attribute> findAttributes(long resourceId) { Search searchCriteria = new Search(Resource.class); searchCriteria.addField("attribute"); Filter securityFilter = Filter.some("attribute", Filter.equal("resource.id", resourceId)); searchCriteria.addFilter(securityFilter); return super.search(searchCriteria); }
@Override public List<ModuleDirectoryBo> getModuleDirectoryList(int directoryId) { Search search=new Search(); search.addFilterEqual("sysDirectory.id",directoryId); search.addSortAsc("id"); List<ModuleDirectoryPo> moduleDirectoryAllList=moduleDirectoryDao.search(search); return modelMapper.map(moduleDirectoryAllList,new TypeToken<List<ModuleDirectoryBo>>(){}.getType()); } }
@Override public List<UserGroup> getAllAllowed(User user, Integer page, Integer entries, String nameLike, boolean all) throws BadRequestServiceEx { if (user == null) throw new BadRequestServiceEx("User must be defined."); if (((page != null) && (entries == null)) || ((page == null) && (entries != null))) { throw new BadRequestServiceEx("Page and entries params should be declared together."); } Search searchCriteria = new Search(UserGroup.class); if (page != null) { searchCriteria.setMaxResults(entries); searchCriteria.setPage(page); } searchCriteria.addSortAsc("groupName"); Role userRole = user.getRole(); if (userRole.equals((Role)Role.USER)){ Set<UserGroup> userGrp = user.getGroups(); Collection<Long> grpIds = new Vector<Long>(); for(UserGroup grp :userGrp){ grpIds.add(grp.getId()); } searchCriteria.addFilterIn("id", grpIds); } if (nameLike != null) searchCriteria.addFilterILike("groupName", nameLike); if(!all) searchCriteria.addFilterNotEqual("groupName", GroupReservedNames.EVERYONE.groupName()); List<UserGroup> found = userGroupDAO.search(searchCriteria); return found; }
@Override public List<LabelBo> findLanguageListForActivated(String[] notInCodes) { Search search = new Search(); search.addFilterEqual("isactive", "Y"); search.addFilterNotIn("key", notInCodes); List<LabelPo> labelPoList = labelDao.search(search); return convertPoToBo(labelPoList); }
Search search = new Search(clazz); search.setFirstResult((int)entity.getPriority()); search.setMaxResults(1); search.addSortAsc("priority"); List<Prioritizable> list = super._search(search); if(list.isEmpty()) { // no rule found at given position: let's find out why int count = count(new Search(clazz)); if(LOGGER.isDebugEnabled()) LOGGER.debug("No rule found at position " + entity.getPriority() + " -- rules count:"+count); entity.setPriority(1); // this is the only rule so far, let's put in an arbitrary value } else { // some rules in, the requested postion is at bottom Search s1 = new Search(clazz); s1.addField("priority", Field.OP_MAX); long maxPri = (Long)searchUnique(s1); entity.setPriority(maxPri+1); int count = count(new Search(clazz)); if(count == 0) { if(LOGGER.isDebugEnabled()) Search searchEnd = new Search(clazz); searchEnd.setFirstResult((int)posFromStart); searchEnd.setMaxResults(1); searchEnd.addSortAsc("priority"); List<Prioritizable> list1 = super._search(searchEnd); if(list1.isEmpty()) { // no rule found at given position: let's find out why
@Override public List<ShortAdminRule> getRulesByPriority(long priority, Integer page, Integer entries) { Search searchCriteria = new Search(AdminRule.class); searchCriteria.addFilter(Filter.greaterOrEqual("priority", priority)); searchCriteria.addSortAsc("priority"); addPagingConstraints(searchCriteria, page, entries); List<AdminRule> found = ruleDAO.search(searchCriteria); return convertToShortList(found); }
@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); } }
public List<WindowBo> getWindows(String lang) { List<WindowBo> windowBoList = new ArrayList<>(); Search search = new Search(); search.addFilterEqual("lang", lang); search.addFilterEqual("windowPo.isactive", "Y"); search.addField("windowId").addField("name"); search.setResultMode(RESULT_MAP); List<Map> windowTrlPoList = windowTrlDao.search(search); windowTrlPoList.forEach(e -> { WindowBo windowBo = new WindowBo(); windowBo.setWindowId((Integer) e.get("windowId")); windowBo.setWindowName((String) e.get("name")); windowBoList.add(windowBo); }); return windowBoList; }
@Override public long getCount(User user, String nameLike, boolean all) throws BadRequestServiceEx { if (user == null) throw new BadRequestServiceEx("User must be defined."); Search searchCriteria = new Search(UserGroup.class); searchCriteria.addSortAsc("groupName"); Role userRole = user.getRole(); if (userRole.equals((Role)Role.USER)){ Set<UserGroup> userGrp = user.getGroups(); Collection<Long> grpIds = new Vector<Long>(); for(UserGroup grp :userGrp){ grpIds.add(grp.getId()); } searchCriteria.addFilterIn("id", grpIds); } if (nameLike != null) { searchCriteria.addFilterILike("groupName", nameLike); } if(!all) searchCriteria.addFilterNotEqual("groupName", GroupReservedNames.EVERYONE.groupName()); return userGroupDAO.count(searchCriteria); }
public PaginationResult<WindowPo> getWindowListByPaging(Search search, QueryParams queryParams) { search.setFirstResult(queryParams.getFirstResult()); search.setMaxResults(queryParams.getPageSize()); PaginationResult<WindowPo> paginationResult = null; if (queryParams.isInit()) { SearchResult<WindowPo> searchResult = windowDao.searchAndCount(search); paginationResult = PaginationResult.pagination(searchResult.getResult(), searchResult.getTotalCount(), queryParams.getPageNo(), queryParams.getPageSize()); } else { List<WindowPo> windowPoList = windowDao.search(search); paginationResult = PaginationResult.pagination(windowPoList, queryParams.getTotalRecords(), queryParams.getPageNo(), queryParams.getPageSize()); } return paginationResult; }
protected AdminRule getAdminAuthAux(RuleFilter filter, TextFilter roleFilter) { Search searchCriteria = new Search(AdminRule.class); searchCriteria.addSortAsc("priority"); addStringCriteria(searchCriteria, "username", filter.getUser()); addStringCriteria(searchCriteria, "rolename", roleFilter); addCriteria(searchCriteria, "instance", filter.getInstance()); addStringCriteria(searchCriteria, "workspace", filter.getWorkspace()); // we only need the first match, no need to aggregate (no LIMIT rules here) searchCriteria.setMaxResults(1); List<AdminRule> found = adminRuleDAO.search(searchCriteria); found = filterByAddress(filter, found); switch(found.size()) { case 0: return null; case 1: return found.get(0); default: // should not happen throw new IllegalStateException("Too many admin auth rules"); } }
public PaginationResult<FieldPo> getFieldListByTabId(Search search, Integer tabId) { QueryParams queryParams = new QueryParams(); search.setFirstResult(queryParams.getFirstResult()); search.setMaxResults(queryParams.getPageSize()); search.addFilterEqual("tabId", tabId); PaginationResult<FieldPo> paginationResult = null; if (queryParams.isInit()) { SearchResult<FieldPo> searchResult = fieldDao.searchAndCount(search); paginationResult = PaginationResult.pagination(searchResult.getResult(), searchResult.getTotalCount(), queryParams.getPageNo(), queryParams.getPageSize()); } else { List<FieldPo> fieldPoList = fieldDao.search(search); paginationResult = PaginationResult.pagination(fieldPoList, queryParams.getTotalRecords(), queryParams.getPageNo(), queryParams.getPageSize()); } return paginationResult; }
public int count(ISearch search) { if (search == null) search = new Search(); return _count(persistentClass, search); }
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; }
protected List<Rule> getRuleAux(RuleFilter filter, TextFilter roleFilter) { Search searchCriteria = new Search(Rule.class); searchCriteria.addSortAsc("priority"); addStringCriteria(searchCriteria, "username", filter.getUser()); addStringCriteria(searchCriteria, "rolename", roleFilter); addCriteria(searchCriteria, "instance", filter.getInstance()); addStringCriteria(searchCriteria, "service", filter.getService()); // see class' javadoc addStringCriteria(searchCriteria, "request", filter.getRequest()); // see class' javadoc addStringCriteria(searchCriteria, "workspace", filter.getWorkspace()); addStringCriteria(searchCriteria, "layer", filter.getLayer()); List<Rule> found = ruleDAO.search(searchCriteria); found = filterByAddress(filter, found); return found; }
@Override public PaginationResult<PageMenuBo> findPageMenu(Search search, QueryParams queryParams) { search.addSortAsc("seqNo"); search.setFirstResult(queryParams.getFirstResult()); search.setMaxResults(queryParams.getPageSize()); PaginationResult<PageMenuBo> paginationResult = null; if (queryParams.isInit()) { SearchResult<PageMenuPo> searchResult = pageMenuDao.searchAndCount(search); List<PageMenuBo> list = modelMapper.map(searchResult.getResult(), new TypeToken<List<PageMenuBo>>() { }.getType()); paginationResult = PaginationResult.pagination(list, searchResult.getTotalCount(), queryParams.getPageNo(), queryParams.getPageSize()); } else { List<PageMenuPo> pageMenuPoList = pageMenuDao.search(search); List<PageMenuBo> pageMenuBoList = modelMapper.map(pageMenuPoList, new TypeToken<List<PageMenuBo>>() { }.getType()); paginationResult = PaginationResult.pagination(pageMenuBoList, queryParams.getTotalRecords(), queryParams.getPageNo(), queryParams.getPageSize()); } return paginationResult; }