List of usage examples for org.hibernate.criterion Restrictions in
public static Criterion in(String propertyName, Collection values)
From source file:com.duroty.application.mail.manager.MailManager.java
License:Open Source License
/** * DOCUMENT ME!// ww w . j a va 2s .c o m * * @param hsession DOCUMENT ME! * @param repositoryName DOCUMENT ME! * @param folderName DOCUMENT ME! * @param page DOCUMENT ME! * @param messagesByPage DOCUMENT ME! * @param order DOCUMENT ME! * @param orderType DOCUMENT ME! * * @return DOCUMENT ME! * * @throws MailException DOCUMENT ME! */ public Vector getMessages(Session hsession, String repositoryName, String folderName, int page, int messagesByPage, int order, String orderType) throws MailException { Vector messages = new Vector(); try { Users user = getUser(hsession, repositoryName); Locale locale = new Locale(user.getUseLanguage()); TimeZone timeZone = TimeZone.getDefault(); Date now = new Date(); Calendar calendar = Calendar.getInstance(timeZone, locale); calendar.setTime(now); SimpleDateFormat formatter1 = new SimpleDateFormat("MMM dd", locale); SimpleDateFormat formatter2 = new SimpleDateFormat("HH:mm:ss", locale); SimpleDateFormat formatter3 = new SimpleDateFormat("MM/yy", locale); Criteria crit = hsession.createCriteria(Message.class); crit.add(Restrictions.eq("users", user)); if (folderName.equals(this.folderAll) || folderName.equals(this.folderHidden)) { crit.add(Restrictions.not(Restrictions.in("mesBox", new String[] { this.folderTrash, this.folderSpam, this.folderChat, FOLDER_DELETE }))); } else if (folderName.equals(this.folderImportant)) { crit.add(Restrictions.eq("mesFlagged", new Boolean(true))); } else { crit.add(Restrictions.eq("mesBox", folderName)); } switch (order) { case ORDER_BY_IMPORTANT: if (orderType.equals("ASC")) { crit.addOrder(Order.asc("mesFlagged")); } else { crit.addOrder(Order.desc("mesFlagged")); } break; case ORDER_BY_ADDRESS: if (orderType.equals("ASC")) { crit.addOrder(Order.asc("mesFrom")); } else { crit.addOrder(Order.desc("mesFrom")); } break; case ORDER_BY_SIZE: if (orderType.equals("ASC")) { crit.addOrder(Order.asc("mesSize")); } else { crit.addOrder(Order.desc("mesSize")); } break; case ORDER_BY_SUBJECT: if (orderType.equals("ASC")) { crit.addOrder(Order.asc("mesSubject")); } else { crit.addOrder(Order.desc("mesSubject")); } break; case ORDER_BY_DATE: if (orderType.equals("ASC")) { crit.addOrder(Order.asc("mesDate")); } else { crit.addOrder(Order.desc("mesDate")); } break; case ORDER_BY_UNREAD: if (orderType.equals("ASC")) { crit.addOrder(Order.asc("mesRecent")); } else { crit.addOrder(Order.desc("mesRecent")); } break; default: crit.addOrder(Order.desc("mesDate")); break; } crit.setFirstResult(page * messagesByPage); crit.setMaxResults(messagesByPage); ScrollableResults scroll = crit.scroll(); while (scroll.next()) { Message message = (Message) scroll.get(0); MessageObj obj = new MessageObj(message.getMesName()); obj.setBox(message.getMesBox()); obj.setFrom(message.getMesFrom()); if ((message.getAttachments() != null) && (message.getAttachments().size() > 0)) { obj.setHasAttachment(true); } else { obj.setHasAttachment(false); } int size = message.getMesSize(); size /= 1024; if (size > 1024) { size /= 1024; obj.setSize(size + " MB"); } else { obj.setSize(((size > 0) ? (size + "") : "<1") + " kB"); } if (message.getMesBox().equals(folderSent)) { try { obj.setEmail(message.getMesTo()); } catch (Exception e) { obj.setEmail("unknown to"); } } else { obj.setEmail(message.getMesFrom()); } Date date = message.getMesDate(); if (date != null) { Calendar calendar2 = Calendar.getInstance(timeZone, locale); calendar2.setTime(date); if ((calendar.get(Calendar.YEAR) == calendar2.get(Calendar.YEAR)) && (calendar.get(Calendar.MONTH) == calendar2.get(Calendar.MONTH)) && (calendar.get(Calendar.DATE) == calendar2.get(Calendar.DATE))) { obj.setDateStr(formatter2.format(calendar2.getTime())); } else if (calendar.get(Calendar.YEAR) == calendar2.get(Calendar.YEAR)) { obj.setDateStr(formatter1.format(calendar2.getTime())); } else { obj.setDateStr(formatter3.format(calendar2.getTime())); } } obj.setDate(date); if (message.getLabMeses() != null) { Iterator it = message.getLabMeses().iterator(); StringBuffer label = new StringBuffer(); while (it.hasNext()) { if (label.length() > 0) { label.append(", "); } LabMes labMes = (LabMes) it.next(); label.append(labMes.getId().getLabel().getLabName()); } obj.setLabel(label.toString()); } try { if (StringUtils.isBlank(message.getMesSubject())) { obj.setSubject("(no subject)"); } else { obj.setSubject(message.getMesSubject()); } } catch (Exception ex) { obj.setSubject("(no subject)"); } if (message.isMesFlagged()) { obj.setFlagged(true); } else { obj.setFlagged(false); } if (message.isMesRecent()) { obj.setRecent(true); } else { obj.setRecent(false); } String priority = "normal"; if (MessageUtilities.isHighPriority(message.getMesHeaders())) { priority = "high"; } else if (MessageUtilities.isLowPriority(message.getMesHeaders())) { priority = "low"; } obj.setPriority(priority); messages.addElement(obj); } return messages; } catch (Exception e) { throw new MailException(e); } finally { GeneralOperations.closeHibernateSession(hsession); } }
From source file:com.duroty.application.mail.manager.MailManager.java
License:Open Source License
/** * DOCUMENT ME!/* w w w .j a v a 2s .c o m*/ * * @param hsession DOCUMENT ME! * @param repositoryName DOCUMENT ME! * @param mids DOCUMENT ME! * @param folder DOCUMENT ME! * * @throws MailException DOCUMENT ME! */ public void moveMessages(Session hsession, String repositoryName, String[] mids, String folder) throws MailException { if ((mids == null) || (mids.length == 0)) { throw new MailException("ErrorMessages.messages.selection.null"); } try { folder = parseFolder(folder); if (folder.equals(this.folderAll)) { folder = this.folderHidden; } Criteria crit = hsession.createCriteria(Message.class); crit.add(Restrictions.in("mesName", mids)); crit.add(Restrictions.eq("users", getUser(hsession, repositoryName))); ScrollableResults scroll = crit.scroll(); while (scroll.next()) { Message message = (Message) scroll.get(0); message.setMesBox(folder); hsession.update(message); hsession.flush(); } } catch (Exception ex) { throw new MailException(ex); } finally { GeneralOperations.closeHibernateSession(hsession); } }
From source file:com.duroty.application.mail.manager.PreferencesManager.java
License:Open Source License
/** * DOCUMENT ME!//w ww . ja v a 2s . co m * * @param hsession DOCUMENT ME! * @param repositoryName DOCUMENT ME! * @param idints DOCUMENT ME! * * @throws Exception DOCUMENT ME! */ public void deleteContacts(Session hsession, String repositoryName, Integer[] idints) throws Exception { try { Users user = getUser(hsession, repositoryName); Criteria crit = hsession.createCriteria(Contact.class); crit.add(Restrictions.eq("users", user)); crit.add(Restrictions.in("conIdint", idints)); ScrollableResults scroll = crit.scroll(); while (scroll.next()) { Contact contact = (Contact) scroll.get(0); Criteria crit1 = hsession.createCriteria(Identity.class); crit1.add(Restrictions.eq("ideEmail", contact.getConEmail())); crit1.add(Restrictions.eq("ideActive", new Boolean(true))); ScrollableResults scroll2 = crit1.scroll(); while (scroll2.next()) { Identity identity = (Identity) scroll2.get(0); Users buddy = identity.getUsers(); if (buddy != null) { Criteria auxCrit = hsession.createCriteria(BuddyList.class); auxCrit.add(Restrictions.eq("usersByBuliOwnerIdint", user)); auxCrit.add(Restrictions.eq("usersByBuliBuddyIdint", buddy)); BuddyList buddyList = (BuddyList) auxCrit.uniqueResult(); if (buddyList != null) { hsession.delete(buddyList); hsession.flush(); } auxCrit = hsession.createCriteria(BuddyList.class); auxCrit.add(Restrictions.eq("usersByBuliOwnerIdint", buddy)); auxCrit.add(Restrictions.eq("usersByBuliBuddyIdint", user)); buddyList = (BuddyList) auxCrit.uniqueResult(); if (buddyList != null) { hsession.delete(buddyList); hsession.flush(); } } } hsession.delete(contact); hsession.flush(); } } finally { GeneralOperations.closeHibernateSession(hsession); } }
From source file:com.duroty.application.mail.manager.PreferencesManager.java
License:Open Source License
/** * DOCUMENT ME!//from w w w. ja va2 s .c om * * @param hsession DOCUMENT ME! * @param repositoryName DOCUMENT ME! * @param idints DOCUMENT ME! * * @throws Exception DOCUMENT ME! */ public void deleteGroups(Session hsession, String repositoryName, Integer[] idints) throws Exception { try { Criteria crit = hsession.createCriteria(ContactList.class); crit.add(Restrictions.eq("users", getUser(hsession, repositoryName))); crit.add(Restrictions.in("coliIdint", idints)); ScrollableResults scroll = crit.scroll(); while (scroll.next()) { hsession.delete(scroll.get(0)); hsession.flush(); } } finally { GeneralOperations.closeHibernateSession(hsession); } }
From source file:com.duroty.task.PurgeTrashAndSpam.java
License:Open Source License
/** * DOCUMENT ME!// w w w .j ava 2 s . c o m */ private void flush() { setInit(true); SessionFactory hfactory = null; Session hsession = null; try { hfactory = (SessionFactory) ctx.lookup(hibernateSessionFactory); hsession = hfactory.openSession(); Calendar cal = new GregorianCalendar(); int year = cal.get(Calendar.YEAR); // 2002 int month = cal.get(Calendar.MONTH); // 0=Jan, 1=Feb, ... int day = cal.get(Calendar.DAY_OF_MONTH); // 1... Calendar cal1 = new GregorianCalendar(year, month - 1, day, 0, 0, 0); Date date = new Date(cal1.getTimeInMillis()); Criteria criteria = hsession.createCriteria(Message.class); criteria.add(Restrictions.in("mesBox", new String[] { this.folderSpam, this.folderTrash })); criteria.add(Restrictions.le("mesDate", date)); criteria.addOrder(Order.asc("mesDate")); ScrollableResults scroll = criteria.scroll(); while (scroll.next()) { Message message = (Message) scroll.get(0); Users user = message.getUsers(); try { messageable.deleteMimeMessage(message.getMesName(), user); } catch (Exception e) { DLog.log(DLog.INFO, this.getClass(), e.getMessage() + " for user " + user.getUseUsername()); } hsession.delete(message); hsession.flush(); Thread.sleep(100); } } catch (Exception e) { System.gc(); DLog.log(DLog.WARN, this.getClass(), e.getMessage()); } catch (OutOfMemoryError e) { System.gc(); DLog.log(DLog.WARN, this.getClass(), e.getMessage()); } catch (Throwable e) { System.gc(); DLog.log(DLog.WARN, this.getClass(), e.getMessage()); } finally { GeneralOperations.closeHibernateSession(hsession); setInit(false); } }
From source file:com.eharmony.matching.seeking.translator.hibernate.HibernateQueryTranslator.java
License:Apache License
@Override public Criterion in(String fieldName, Object[] values) { return Restrictions.in(fieldName, values); }
From source file:com.eharmony.matching.seeking.translator.hibernate.HibernateQueryTranslator.java
License:Apache License
@Override public Criterion notIn(String fieldName, Object[] values) { return Restrictions.not(Restrictions.in(fieldName, values)); }
From source file:com.ejushang.steward.common.genericdao.dao.hibernate.HibernateBaseDAO.java
License:Apache License
/** * Remove all the entities of the given type from the datastore that have * one of these ids./*from ww w. j a v a 2s.c o m*/ */ protected void _deleteById(Class<?> type, Serializable... ids) { type = metadataUtil.getUnproxiedClass(type); //Get the real entity class Criteria c = getSession().createCriteria(type); c.add(Restrictions.in("id", ids)); for (Object entity : c.list()) { getSession().delete(entity); } }
From source file:com.ejushang.steward.common.genericdao.dao.hibernate.HibernateBaseDAO.java
License:Apache License
/** * <p>//from w ww.j a v a2 s.c o m * Return the all the persistent instances of the given entity class with * the given identifiers. An array of entities is returned that matches the * same order of the ids listed in the call. For each entity that is not * found in the datastore, a null will be inserted in its place in the * return array. * * <p> * <code>get()</code> always hits the database immediately. */ protected <T> T[] _get(Class<T> type, Serializable... ids) { type = metadataUtil.getUnproxiedClass(type); //Get the real entity class Criteria c = getSession().createCriteria(type); c.add(Restrictions.in("id", ids)); Object[] retVal = (Object[]) Array.newInstance(type, ids.length); for (Object entity : c.list()) { Serializable id = getMetadataUtil().getId(entity); for (int i = 0; i < ids.length; i++) { if (id.equals(ids[i])) { retVal[i] = entity; break; } } } return (T[]) retVal; }
From source file:com.emergya.persistenceGeo.dao.impl.AuthorityEntityDaoHibernateImpl.java
License:Open Source License
public List<AbstractAuthorityEntity> findByName(List<String> names) { return findByCriteria(Restrictions.in(AUTHORITY, names)); }