List of usage examples for org.hibernate.criterion Restrictions in
public static Criterion in(String propertyName, Collection values)
From source file:ca.myewb.controllers.common.Member.java
License:Open Source License
private void searchMode(Context ctx) throws Exception, RedirectionException { MemberSearchForm searchForm = null;/*ww w . j av a2 s . co m*/ List result = null; if (currentUser.isAdmin()) { result = hibernateSession.createQuery("FROM GroupChapterModel where visible=true").list(); } // run search, store results in temp list if (requestParams.get("Advanced") != null) { searchForm = new MemberSearchForm(getInterpageVar("membersearchtarget") + "/search", requestParams, true, result); ctx.put("advanced", new Boolean(true)); } else { searchForm = new MemberSearchForm(getInterpageVar("membersearchtarget") + "/search", requestParams, false, result); } Message m = searchForm.validate(); if (m != null) // validation failed, redirect to self, next time we'll be entering the next block { // Display error and prompt user to fix throw getValidationException(searchForm, m, (String) getInterpageVar("membersearchtarget")); } //form validation succeeded! String first = searchForm.getParameter("Firstname"); String last = searchForm.getParameter("Lastname"); String email = searchForm.getParameter("Email"); String city = searchForm.getParameter("City", false); String province = searchForm.getParameter("Province", false); String lang = searchForm.getParameter("Language", false); String gender = searchForm.getParameter("Gender", false); String birth = searchForm.getParameter("Birth", false); String student = searchForm.getParameter("Student", false); String username = searchForm.getParameter("Username", false); Criteria crit = hibernateSession.createCriteria(UserModel.class); if ((username != null) && !username.equals("")) { crit.add(Restrictions.like("username", "%" + username.trim() + "%")); } if ((first != null) && !first.equals("")) { crit.add(Restrictions.like("firstname", "%" + first.trim() + "%")); } if ((last != null) && !last.equals("")) { crit.add(Restrictions.like("lastname", "%" + last.trim() + "%")); } if ((email != null) && !email.equals("")) { List ids = HibernateUtil.currentSession() .createSQLQuery("SELECT userid FROM useremails e WHERE e.email LIKE '%" + email.trim() + "%'") .list(); if (!ids.isEmpty()) { crit.add(Restrictions.in("id", ids)); } else { crit.add(Restrictions.eq("email", "###invalidemail###")); //so that no results are given } } if ((city != null) && !city.equals("")) { crit.add(Restrictions.like("address", "%\n%" + city.trim() + "%\n%")); } if ((province != null) && !province.equals("")) { crit.add(Restrictions.like("address", "%\n%" + province.trim() + "%\n%")); } if ((lang != null) && !lang.equals("")) { crit.add(Restrictions.eq("language", lang.trim())); } if ((gender != null) && !gender.equals("")) { crit.add(Restrictions.eq("gender", gender.trim())); } if ((birth != null) && !birth.equals("")) { crit.add(Restrictions.eq("birth", new Integer(birth))); } if ((student != null) && !student.equals("")) { crit.add(Restrictions.eq("student", new Boolean(student))); } // Get "my" own lead groups, since I can only // see people in groups I lead crit.createAlias("roles", "r"); crit.add(Restrictions.isNull("r.end")); if (!currentUser.isAdmin()) { crit.add(Restrictions.in("r.group", currentUser.getGroups('l'))); } else { GroupChapterModel chapter = null; if (searchForm.getParameter("Chapter", false) != null) { if (!searchForm.getParameter("Chapter", false).equals("")) { chapter = (GroupChapterModel) hibernateSession.get(GroupChapterModel.class, new Integer(searchForm.getParameter("Chapter", false))); } } if (chapter != null) { crit.add(Restrictions.eq("r.group", chapter)); crit.add(Restrictions.eq("r.level", new Character('m'))); } //don't filter out deleted users! } crit.add(Restrictions.ne("id", new Integer(1))); crit.addOrder(Order.asc("lastname")); crit.addOrder(Order.asc("firstname")); crit.setProjection(Projections.groupProperty("id")); crit.setMaxResults(101); List uniqueResultsList = crit.list(); Vector<UserModel> uniqueResults = new Vector<UserModel>(); if (uniqueResultsList.size() < 101) { Iterator iter = uniqueResultsList.iterator(); while (iter.hasNext()) { Integer i = (Integer) iter.next(); // This try/catch block is a workaround to the deleted-admin-causes-cgilib-blowup bug try { uniqueResults.add((UserModel) hibernateSession.get(UserModel.class, i)); } catch (Exception e) { log.warn("Unable to add user to usersearch: id " + i.toString()); } } } else { ctx.put("tooMany", "yes"); } setInterpageVar("membersearchtempresults", uniqueResultsList); ctx.put("tempresults", uniqueResults); //NOT the ids, but the users ctx.put("searchmode", "yes"); if (searchForm == null) { log.info("search form was null!"); throw new RedirectionException(getInterpageVar("membersearchtarget") + "/new"); } ctx.put("form", searchForm); ctx.put("target", getInterpageVar("membersearchtarget")); }
From source file:ca.myewb.controllers.common.PostList.java
License:Open Source License
private void addBooleanFilters(boolean onlyNew, boolean findReplies, boolean onlyFlagged, boolean onlyFeatured, boolean findEmails, boolean sortByLastReply, Criteria criteria) { if (!findReplies) { criteria.add(Restrictions.isNull("parent")); }//from w w w . java2 s .c o m if (!findEmails) { criteria.add(Restrictions.eq("emailed", false)); } if (sortByLastReply) { criteria.addOrder(Order.desc("lastReply")); } else if (onlyNew) { SimpleExpression mainDate = Restrictions.gt("date", currentUser.getLastLogin()); criteria.add(mainDate); criteria.addOrder(Order.asc("date")); } else { criteria.addOrder(Order.desc("date")); } if (onlyFlagged) { Set<PostModel> flaggedPosts2 = currentUser.getFlaggedPosts(); if (flaggedPosts2.isEmpty()) { criteria.add(Restrictions.eq("id", 0)); } else { Vector<Integer> flaggedIDs = new Vector<Integer>(); for (PostModel p : flaggedPosts2) { flaggedIDs.add(p.getId()); } Criterion flaggedSelf = Restrictions.in("id", flaggedIDs); Criterion flaggedParent = Restrictions.in("parent", flaggedPosts2); criteria.add(Restrictions.or(flaggedSelf, flaggedParent)); } } if (onlyFeatured) { criteria.add(Restrictions.eq("featured", true)); } }
From source file:ca.myewb.controllers.common.PostList.java
License:Open Source License
private Criteria getUserPostCriteria(UserLogic targetUser) { // Find matching posts Criteria criteria = hibernateSession.createCriteria(PostModel.class); criteria.addOrder(Order.desc("date")); criteria.add(Restrictions.eq("poster", targetUser)); if (!currentUser.isAdmin()) { criteria.add(Restrictions.in("group", Permissions.visibleGroups(currentUser, false))); }//from w ww.j a v a2 s .c o m return criteria; }
From source file:ca.myewb.controllers.common.PostList.java
License:Open Source License
private Criteria getVisiblePostsCriteria(String filter, boolean onlyNew, boolean findReplies, boolean onlyFlagged, boolean onlyFeatured, boolean findEmails, boolean sortByLastReply) { Criteria criteria = hibernateSession.createCriteria(PostModel.class); addBooleanFilters(onlyNew, findReplies, onlyFlagged, onlyFeatured, findEmails, sortByLastReply, criteria); addFilter(filter, criteria);/*from ww w . j a v a 2 s. c o m*/ if (!currentUser.isAdmin() || !currentUser.getAdminToggle()) { criteria.add(Restrictions.in("group", Permissions.visibleGroups(currentUser, true))); } return criteria; }
From source file:ca.myewb.controllers.common.PostList.java
License:Open Source License
private Criteria getChapterPostsCriteria(GroupChapterModel chapter, boolean findEmails, boolean findReplies, boolean frontpagebeta, String filter) { Criteria criteria = hibernateSession.createCriteria(PostModel.class); criteria.add(Restrictions.in("group", Permissions.visibleGroupsInChapter(currentUser, chapter))); addBooleanFilters(false, findReplies, false, false, findEmails, frontpagebeta, criteria); addFilter(filter, criteria);// ww w. j a va2s . com return criteria; }
From source file:ca.myewb.controllers.common.WhiteboardList.java
License:Open Source License
public List<WhiteboardModel> listPaginatedVisibleWhiteboards(int startPage, int eventsPerPage) throws HibernateException { Criteria criteria = hibernateSession.createCriteria(WhiteboardModel.class); if (!currentUser.isAdmin() || !currentUser.getAdminToggle()) { criteria.add(Restrictions.in("group", Permissions.visibleGroups(currentUser, true))); }//w w w . ja v a 2s .co m criteria.add(Restrictions.ne("numEdits", 0)); criteria.add(Restrictions.gt("lastEditDate", currentUser.getLastLogin())); criteria.addOrder(Order.desc("lastEditDate")); criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); addPagination(startPage, eventsPerPage, criteria); return getUniqueWhiteboardList(criteria); }
From source file:ca.myewb.controllers.common.WhiteboardList.java
License:Open Source License
public int visibleWhiteboardCount() throws HibernateException { Criteria criteria = hibernateSession.createCriteria(WhiteboardModel.class); if (!currentUser.isAdmin() || !currentUser.getAdminToggle()) { criteria.add(Restrictions.in("group", Permissions.visibleGroups(currentUser, true))); }/*from w ww. ja va 2s . co m*/ criteria.add(Restrictions.ne("numEdits", 0)); criteria.add(Restrictions.gt("lastEditDate", currentUser.getLastLogin())); criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); return getUniqueWhiteboardCount(criteria); }
From source file:ca.myewb.frame.Helpers.java
License:Open Source License
public static List<GroupModel> getNationalRepLists(boolean includeUni, boolean includePro) { Criteria crit = HibernateUtil.currentSession().createCriteria(GroupModel.class); crit.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); ArrayList<Object> types = new ArrayList<Object>(); types.add('b'); if (includePro) { types.add('p'); }/*w ww .jav a 2 s. c o m*/ if (includeUni) { types.add('s'); } crit.add(Restrictions.in("nationalRepType", types)); return (new SafeHibList<GroupModel>(crit)).list(); }
From source file:cc.cnfc.core.orm.hibernate.SimpleHibernateDao.java
License:Open Source License
/** * id?. */ public List<T> findByIds(List<PK> ids) { return find(Restrictions.in(getIdName(), ids)); }
From source file:ch.systemsx.cisd.openbis.generic.server.dataaccess.db.PersonDAO.java
License:Apache License
public final List<PersonPE> listByCodes(Collection<String> userIds) throws DataAccessException { if (userIds.size() == 0) return new ArrayList<PersonPE>(); final Criteria criteria = getSession().createCriteria(PersonPE.class); criteria.add(Restrictions.in("userId", userIds)); return cast(criteria.list()); }