List of usage examples for org.hibernate.criterion DetachedCriteria createCriteria
public DetachedCriteria createCriteria(String associationPath)
From source file:core.commonapp.server.dao.party.PersonDaoHibernateImpl.java
License:Open Source License
@Override @Transactional//from www . ja v a 2s. c o m public Set<Party> findContactPerson(String partyName, PhoneNumber phoneNumber, PostalAddress postalAddress, String emailAddress, UserLogin userLogin) { log.debug("PersonDaoHibernateImpl.findContactPerson({0},{1},{2},{3},{4},{5})", partyName, phoneNumber, postalAddress, emailAddress, userLogin); DetachedCriteria partyCriteria = DetachedCriteria.forClass(Person.class); // relationship to user DetachedCriteria relationshipFromCriteria = partyCriteria.createCriteria("partyToRelationships"); relationshipFromCriteria.add(Restrictions.eq("partyFrom", userLogin.getParty())); // party name if (!StringUtils.isEmpty(partyName)) { int comma = partyName.indexOf(","); if (comma > 0) { partyCriteria.add(Restrictions.eq("lastName", partyName.substring(0, comma).trim())); partyCriteria.add(Restrictions.eq("firstName", partyName.substring(comma + 1).trim())); } else { partyCriteria.add(Restrictions.eq("lastName", partyName.trim())); } } // contact mech type cache KeyedCacheStore<ContactMechType> contactMechTypeCache = cache.getCacheStore(ContactMechType.class); // email address if (!StringUtils.isEmpty(emailAddress)) { DetachedCriteria partyContactMechCriteria = partyCriteria.createCriteria("partyContactMechs"); DetachedCriteria contactMechCriteria = partyContactMechCriteria.createCriteria("contactMech"); contactMechCriteria.add(Restrictions.eq("contactMechType.contactMechTypeId", contactMechTypeCache.getObject(ContactMechTypeKey.KEY_EMAIL_ADDRESS).getId())); contactMechCriteria.add(Restrictions.eq("emailAddress", emailAddress)); } // phone number PhoneNumberHelper phoneNumberHelper = new PhoneNumberHelper(phoneNumber); if (phoneNumber != null && !phoneNumberHelper.isEmpty()) { DetachedCriteria partyContactMechCriteria = partyCriteria.createCriteria("partyContactMechs"); DetachedCriteria contactMechCriteria = partyContactMechCriteria.createCriteria("contactMech"); contactMechCriteria.add(Restrictions.eq("contactMechType.contactMechTypeId", contactMechTypeCache.getObject(ContactMechTypeKey.KEY_PHONE_NUMBER).getId())); addRestrictionIfNotEmpty(contactMechCriteria, "countryCode", phoneNumber.getCountryCode()); addRestrictionIfNotEmpty(contactMechCriteria, "areaCode", phoneNumber.getAreaCode()); addRestrictionIfNotEmpty(contactMechCriteria, "contactNumber", phoneNumber.getContactNumber()); addRestrictionIfNotEmpty(contactMechCriteria, "extension", phoneNumber.getExtension()); } // postal address PostalAddressHelper postalAddressHelper = new PostalAddressHelper(postalAddress); if (postalAddress != null && !postalAddressHelper.isEmpty()) { DetachedCriteria partyContactMechCriteria = partyCriteria.createCriteria("partyContactMechs"); DetachedCriteria contactMechCriteria = partyContactMechCriteria.createCriteria("contactMech"); contactMechCriteria.add(Restrictions.eq("contactMechType.contactMechTypeId", contactMechTypeCache.getObject(ContactMechTypeKey.KEY_POSTAL_ADDRESS).getId())); addRestrictionIfNotEmpty(contactMechCriteria, "addressLine1", postalAddress.getAddressLine1()); addRestrictionIfNotEmpty(contactMechCriteria, "addressLine2", postalAddress.getAddressLine2()); addRestrictionIfNotEmpty(contactMechCriteria, "city", postalAddress.getCity()); addRestrictionIfNotEmpty(contactMechCriteria, "postalCode", postalAddress.getPostalCode()); if (postalAddress.getStateGeo() != null) { contactMechCriteria.add(Restrictions.eq("stateGeo.geoId", postalAddress.getStateGeo().getGeoId())); } if (postalAddress.getCountryGeo() != null) { contactMechCriteria .add(Restrictions.eq("countryGeo.geoId", postalAddress.getCountryGeo().getGeoId())); } } List<Party> contacts = null; //(List<Party>) getHibernateTemplate().findByCriteria(partyCriteria); log.debug("Found " + contacts.size() + " contacts matching search criteria."); PartyDaoHibernateImpl.lazyLoad(contacts, true, true, false, false); return new HashSet(contacts); }
From source file:de.tudarmstadt.ukp.lmf.api.Uby.java
License:Apache License
/** * Returns {@link Iterator} over all {@link Sense} instances contained in the database accessed * by this {@link Uby} instance.<br> * Optionally, the returned senses can be filtered by {@link Lexicon}. * * @param lexicon//from w ww .ja v a 2 s. c om * If not null, senses are filtered by the given lexicon * * @return an iterator over all senses in the accessed database filtered by the given lexicon if * not null */ public Iterator<Sense> getSenseIterator(Lexicon lexicon) { DetachedCriteria criteria = DetachedCriteria.forClass(Sense.class); if (lexicon != null) { criteria = criteria.createCriteria("lexicalEntry").add(Restrictions.eq("lexicon", lexicon)); } CriteriaIterator<Sense> senseIterator = new CriteriaIterator<Sense>(criteria, sessionFactory, 500); return senseIterator; }
From source file:dk.teachus.backend.dao.hibernate.HibernateBookingDAO.java
License:Apache License
@SuppressWarnings("unchecked") @Transactional(readOnly = true)/*from w w w . j a va2 s .c om*/ public List<PupilBooking> getFutureBookingsForTeacher(Teacher teacher) { DetachedCriteria c = DetachedCriteria.forClass(PupilBookingImpl.class); DateTime end = new DateTime().minusDays(1).withHourOfDay(23).withMinuteOfHour(59).withSecondOfMinute(59) .withMillisOfSecond(999); c.createCriteria("period").add(Restrictions.eq("status", Status.FINAL)); c.createCriteria("pupil").add(Restrictions.eq("teacher", teacher)).add(Restrictions.eq("active", true)) .createCriteria("teacher").add(Restrictions.eq("active", true)); c.add(Restrictions.gt("date", end)); c.add(Restrictions.eq("active", true)); c.addOrder(Order.asc("date")); c.setResultTransformer(DistinctRootEntityResultTransformer.INSTANCE); return getHibernateTemplate().findByCriteria(c); }
From source file:dk.teachus.backend.dao.hibernate.HibernateBookingDAO.java
License:Apache License
@SuppressWarnings("unchecked") @Transactional(readOnly = true)/*from ww w . j a v a 2s . co m*/ public List<PupilBooking> getUnpaidBookings(Pupil pupil) { DetachedCriteria c = DetachedCriteria.forClass(PupilBookingImpl.class); c.createCriteria("period").add(Restrictions.eq("status", Status.FINAL)); c.createCriteria("pupil").add(Restrictions.eq("active", true)).createCriteria("teacher") .add(Restrictions.eq("active", true)); c.add(Restrictions.eq("pupil", pupil)); c.add(Restrictions.lt("date", new DateTime())); c.add(Restrictions.eq("paid", false)); c.add(Restrictions.eq("active", true)); c.addOrder(Order.asc("date")); return getHibernateTemplate().findByCriteria(c); }
From source file:dk.teachus.backend.dao.hibernate.HibernateBookingDAO.java
License:Apache License
@SuppressWarnings("unchecked") @Transactional(readOnly = true)/*from ww w . j a v a 2 s . c o m*/ public List<PupilBooking> getUnpaidBookings(Teacher teacher) { DetachedCriteria c = DetachedCriteria.forClass(PupilBookingImpl.class); c.createCriteria("period").add(Restrictions.eq("status", Status.FINAL)); c.createCriteria("pupil").add(Restrictions.eq("teacher", teacher)).add(Restrictions.eq("active", true)) .createCriteria("teacher").add(Restrictions.eq("active", true)); c.add(Restrictions.lt("date", new DateTime())); c.add(Restrictions.eq("paid", false)); c.add(Restrictions.eq("active", true)); c.addOrder(Order.asc("date")); return getHibernateTemplate().findByCriteria(c); }
From source file:dk.teachus.backend.dao.hibernate.HibernateBookingDAO.java
License:Apache License
@SuppressWarnings("unchecked") @Transactional(readOnly = true)/* ww w .j a v a 2s. co m*/ public List<PupilBooking> getTeacherNotificationBookings(Teacher teacher) { DetachedCriteria c = DetachedCriteria.forClass(PupilBookingImpl.class); c.createCriteria("period").add(Restrictions.eq("status", Status.FINAL)); c.createCriteria("pupil").add(Restrictions.eq("teacher", teacher)).add(Restrictions.eq("active", true)) .createCriteria("teacher").add(Restrictions.eq("active", true)); c.add(Restrictions.eq("notificationSent", false)); c.add(Restrictions.lt("createDate", new DateTime().minusMinutes(15))); c.add(Restrictions.eq("active", true)); return getHibernateTemplate().findByCriteria(c); }
From source file:dk.teachus.backend.dao.hibernate.HibernateBookingDAO.java
License:Apache License
@SuppressWarnings("unchecked") @Transactional(readOnly = true)// www . ja v a 2s .c om public Map<Pupil, List<PupilBooking>> getPupilNotificationBookings() { Map<Pupil, List<PupilBooking>> pupilNotificationBookings = new HashMap<Pupil, List<PupilBooking>>(); DetachedCriteria c = DetachedCriteria.forClass(PupilBookingImpl.class); c.createCriteria("period").add(Restrictions.eq("status", Status.FINAL)); c.createCriteria("pupil").add(Restrictions.eq("active", true)).createCriteria("teacher") .add(Restrictions.eq("active", true)); c.add(Restrictions.eq("pupilNotificationSent", false)); c.add(Restrictions.lt("createDate", new DateTime().minusMinutes(15))); c.add(Restrictions.eq("active", true)); List<PupilBooking> bookings = getHibernateTemplate().findByCriteria(c); for (PupilBooking pupilBooking : bookings) { List<PupilBooking> pupilBookings = pupilNotificationBookings.get(pupilBooking.getPupil()); if (pupilBookings == null) { pupilBookings = new ArrayList<PupilBooking>(); pupilNotificationBookings.put(pupilBooking.getPupil(), pupilBookings); } pupilBookings.add(pupilBooking); } return pupilNotificationBookings; }
From source file:dk.teachus.backend.dao.hibernate.HibernateBookingDAO.java
License:Apache License
@SuppressWarnings("unchecked") @Transactional(readOnly = true)/* w w w . j a v a 2s. c om*/ public List<PupilBooking> getPaidBookings(Teacher teacher, DateMidnight startDate, DateMidnight endDate) { DetachedCriteria c = DetachedCriteria.forClass(PupilBookingImpl.class); c.createCriteria("period").add(Restrictions.eq("status", Status.FINAL)); c.createCriteria("pupil").add(Restrictions.eq("teacher", teacher)).add(Restrictions.eq("active", true)) .createCriteria("teacher").add(Restrictions.eq("active", true)); c.add(Restrictions.eq("paid", true)); c.add(Restrictions.eq("active", true)); if (startDate != null && endDate != null) { c.add(Restrictions.between("date", startDate.toDateTime(), endDate.toDateTime())); } else if (startDate != null) { c.add(Restrictions.gt("date", startDate.toDateTime())); } else if (endDate != null) { c.add(Restrictions.lt("date", endDate.toDateTime())); } c.addOrder(Order.asc("date")); return getHibernateTemplate().findByCriteria(c); }
From source file:dk.teachus.backend.dao.hibernate.HibernateBookingDAO.java
License:Apache License
@SuppressWarnings("unchecked") @Transactional(readOnly = true)//from w w w . j av a 2 s.c o m public List<PupilBooking> getUnPaidBookings(Teacher teacher, DateMidnight startDate, DateMidnight endDate) { DetachedCriteria c = DetachedCriteria.forClass(PupilBookingImpl.class); c.createCriteria("period").add(Restrictions.eq("status", Status.FINAL)); c.createCriteria("pupil").add(Restrictions.eq("teacher", teacher)).add(Restrictions.eq("active", true)) .createCriteria("teacher").add(Restrictions.eq("active", true)); c.add(Restrictions.eq("paid", false)); c.add(Restrictions.eq("active", true)); if (startDate != null && endDate != null) { c.add(Restrictions.between("date", startDate.toDateTime(), endDate.toDateTime())); } else if (startDate != null) { c.add(Restrictions.gt("date", startDate.toDateTime())); } else if (endDate != null) { c.add(Restrictions.lt("date", endDate.toDateTime())); } c.addOrder(Order.asc("date")); return getHibernateTemplate().findByCriteria(c); }
From source file:dk.teachus.backend.dao.hibernate.HibernateBookingDAO.java
License:Apache License
@SuppressWarnings("unchecked") @Transactional(readOnly = true)// ww w . j a v a 2 s . c o m public Bookings getAllBookings(Teacher teacher) { DetachedCriteria c = DetachedCriteria.forClass(BookingImpl.class); c.createCriteria("period").add(Restrictions.eq("status", Status.FINAL)); c.createCriteria("teacher").add(Restrictions.eq("active", true)); c.add(Restrictions.eq("teacher", teacher)); c.add(Restrictions.eq("active", true)); c.setResultTransformer(DistinctRootEntityResultTransformer.INSTANCE); List<Booking> bookings = getHibernateTemplate().findByCriteria(c); List<Booking> filteredBookings = filterBookings(bookings); return new BookingsImpl(filteredBookings); }