List of usage examples for org.hibernate.criterion Restrictions lt
public static SimpleExpression lt(String propertyName, Object value)
From source file:de.lemo.dms.connectors.moodle_2_7.ExtractAndMapMoodle.java
License:Open Source License
@Override @SuppressWarnings("unchecked") public void getLMStables(final DBConfigObject dbConf, final long readingfromtimestamp, final long readingtotimestamp, List<Long> courses, List<String> logins) { // accessing DB by creating a session and a transaction using HibernateUtil final Session session = HibernateUtil.getSessionFactory(dbConf).openSession(); // Session session = HibernateUtil.getDynamicSourceDBFactoryMoodle("jdbc:mysql://localhost/moodle19", session.clear();//w w w. j av a2s . c o m final Transaction tx = session.beginTransaction(); // reading the LMS Database, create tables as lists of instances of the DB-table classes Criteria criteria; boolean hasCR = false; if (courses != null && courses.size() > 0) hasCR = true; boolean empty = false; if (this.userLms == null) { //Read Context criteria = session.createCriteria(ContextLMS.class, "obj"); List<Long> contextLevels = new ArrayList<Long>(); contextLevels.add(40L); contextLevels.add(50L); criteria.add(Restrictions.in("obj.contextlevel", contextLevels)); criteria.addOrder(Property.forName("obj.id").asc()); this.contextLms = criteria.list(); logger.info("ContextLMS tables: " + this.contextLms.size()); if (logins != null && !logins.isEmpty()) { List<String> archetypes = new ArrayList<String>(); List<Long> roleIds = new ArrayList<Long>(); List<String> userIds = new ArrayList<String>(); archetypes.add("manager"); archetypes.add("coursecreator"); archetypes.add("teacher"); archetypes.add("editingteacher"); criteria = session.createCriteria(RoleLMS.class, "obj"); criteria.add(Restrictions.in("obj.archetype", archetypes)); for (RoleLMS role : (List<RoleLMS>) criteria.list()) roleIds.add(role.getId()); criteria = session.createCriteria(UserLMS.class, "obj"); criteria.add(Restrictions.in("obj.username", logins)); for (UserLMS user : (List<UserLMS>) criteria.list()) userIds.add(user.getId() + ""); criteria = session.createCriteria(RoleAssignmentsLMS.class, "obj"); criteria.add(Restrictions.in("obj.userid", userIds)); criteria.add(Restrictions.in("obj.roleid", roleIds)); for (ContextLMS c : this.contextLms) { for (RoleAssignmentsLMS ra : (List<RoleAssignmentsLMS>) criteria.list()) { if (c.getContextlevel() == 50 && c.getId() == ra.getContextid()) { courses.add(c.getInstanceid()); hasCR = true; } } } } criteria = session.createCriteria(AssignLMS.class, "obj"); if (hasCR) criteria.add(Restrictions.in("obj.course", courses)); criteria.addOrder(Property.forName("obj.id").asc()); this.assignLms = criteria.list(); logger.info("AssignLMS tables: " + this.assignLms.size()); criteria = session.createCriteria(EnrolLMS.class, "obj"); if (hasCR) criteria.add(Restrictions.in("obj.courseid", courses)); criteria.addOrder(Property.forName("obj.id").asc()); this.enrolLms = criteria.list(); logger.info("EnrolLMS tables: " + this.enrolLms.size()); criteria = session.createCriteria(ModulesLMS.class, "obj"); criteria.addOrder(Property.forName("obj.id").asc()); this.modulesLms = criteria.list(); logger.info("ModulesLMS tables: " + this.modulesLms.size()); criteria = session.createCriteria(UserEnrolmentsLMS.class, "obj"); if (hasCR) { ArrayList<Long> ids = new ArrayList<Long>(); for (EnrolLMS e : this.enrolLms) ids.add(e.getId()); if (!(empty = ids.isEmpty())) criteria.add(Restrictions.in("obj.enrolid", ids)); } criteria.addOrder(Property.forName("obj.id").asc()); if (!(hasCR && empty)) this.userEnrolmentsLms = criteria.list(); else this.userEnrolmentsLms = new ArrayList<UserEnrolmentsLMS>(); logger.info("UserEnrolmentsLMS tables: " + this.userEnrolmentsLms.size()); criteria = session.createCriteria(CourseModulesLMS.class, "obj"); if (hasCR) criteria.add(Restrictions.in("obj.course", courses)); criteria.addOrder(Property.forName("obj.id").asc()); this.courseModulesLms = criteria.list(); logger.info("CourseModulesLMS tables: " + this.courseModulesLms.size()); criteria = session.createCriteria(ResourceLMS.class, "obj"); if (hasCR) criteria.add(Restrictions.in("obj.course", courses)); criteria.addOrder(Property.forName("obj.id").asc()); this.resourceLms = criteria.list(); logger.info("ResourceLMS tables: " + this.resourceLms.size()); //Read Urls criteria = session.createCriteria(UrlLMS.class, "obj"); if (hasCR) criteria.add(Restrictions.in("obj.course", courses)); criteria.add(Restrictions.gt("obj.timemodified", readingfromtimestamp)); criteria.addOrder(Property.forName("obj.id").asc()); this.urlLms = criteria.list(); logger.info("UrlLMS tables: " + this.urlLms.size()); //Read Pages criteria = session.createCriteria(PageLMS.class, "obj"); if (hasCR) criteria.add(Restrictions.in("obj.course", courses)); criteria.add(Restrictions.gt("obj.timemodified", readingfromtimestamp)); criteria.addOrder(Property.forName("obj.id").asc()); this.pageLms = criteria.list(); logger.info("UrlLMS tables: " + this.pageLms.size()); criteria = session.createCriteria(CourseLMS.class, "obj"); if (hasCR) criteria.add(Restrictions.in("obj.id", courses)); criteria.addOrder(Property.forName("obj.id").asc()); this.courseLms = criteria.list(); logger.info("CourseLMS tables: " + this.courseLms.size()); criteria = session.createCriteria(ChatLMS.class, "obj"); if (hasCR) criteria.add(Restrictions.in("obj.course", courses)); criteria.addOrder(Property.forName("obj.id").asc()); this.chatLms = criteria.list(); logger.info("ChatLMS tables: " + this.chatLms.size()); criteria = session.createCriteria(CourseCategoriesLMS.class, "obj"); criteria.addOrder(Property.forName("obj.id").asc()); this.courseCategoriesLms = criteria.list(); logger.info("CourseCategoriesLMS tables: " + this.courseCategoriesLms.size()); criteria = session.createCriteria(ForumLMS.class, "obj"); if (hasCR) criteria.add(Restrictions.in("obj.course", courses)); criteria.addOrder(Property.forName("obj.id").asc()); this.forumLms = criteria.list(); logger.info("ForumLMS tables: " + this.forumLms.size()); criteria = session.createCriteria(GroupsLMS.class, "obj"); if (hasCR) criteria.add(Restrictions.in("obj.courseid", courses)); criteria.addOrder(Property.forName("obj.id").asc()); this.groupLms = criteria.list(); logger.info("GroupsLMS tables: " + this.groupLms.size()); criteria = session.createCriteria(QuizLMS.class, "obj"); if (hasCR) criteria.add(Restrictions.in("obj.course", courses)); criteria.addOrder(Property.forName("obj.id").asc()); this.quizLms = criteria.list(); logger.info("QuizLMS tables: " + this.quizLms.size()); criteria = session.createCriteria(WikiLMS.class, "obj"); if (hasCR) criteria.add(Restrictions.in("obj.course", courses)); criteria.addOrder(Property.forName("obj.id").asc()); this.wikiLms = criteria.list(); logger.info("WikiLMS tables: " + this.wikiLms.size()); /* criteria = session.createCriteria(QuizQuestionInstancesLMS.class, "obj"); if(hasCR) { ArrayList<Long> ids = new ArrayList<Long>(); for(QuizLMS e : this.quizLms) ids.add(e.getId()); if(!(empty = ids.isEmpty())) criteria.add(Restrictions.in("obj.quiz", ids)); } criteria.addOrder(Property.forName("obj.id").asc()); if(!(hasCR && empty)) this.quizQuestionInstancesLms = criteria.list(); else this.quizQuestionInstancesLms = new ArrayList<QuizQuestionInstancesLMS>(); logger.info("QuizQuestionInstancesLMS tables: " + this.quizQuestionInstancesLms.size()); */ /* criteria = session.createCriteria(QuestionLMS.class, "obj"); if(hasCR) { ArrayList<Long> ids = new ArrayList<Long>(); for(QuizQuestionInstancesLMS e : this.quizQuestionInstancesLms) ids.add(e.getQuestion()); if(!(empty = ids.isEmpty())) criteria.add(Restrictions.in("obj.id", ids)); } criteria.addOrder(Property.forName("obj.id").asc()); if(!(hasCR && empty)) this.questionLms = criteria.list(); else this.questionLms = new ArrayList<QuestionLMS>(); logger.info("QuestionLMS tables: " + this.questionLms.size()); */ criteria = session.createCriteria(RoleLMS.class, "obj"); criteria.addOrder(Property.forName("obj.id").asc()); this.roleLms = criteria.list(); logger.info("RoleLMS tables: " + this.roleLms.size()); session.clear(); /* criteria = session.createCriteria(AssignmentLMS.class, "obj"); if(hasCR) { criteria.add(Restrictions.in("obj.course", courses)); } criteria.addOrder(Property.forName("obj.id").asc()); this.assignmentLms = criteria.list(); logger.info("AssignmentLMS tables: " + this.assignmentLms.size()); */ criteria = session.createCriteria(ScormLMS.class, "obj"); if (hasCR) { criteria.add(Restrictions.in("obj.course", courses)); } criteria.addOrder(Property.forName("obj.id").asc()); this.scormLms = criteria.list(); logger.info("ScormLMS tables: " + this.scormLms.size()); criteria = session.createCriteria(GradeItemsLMS.class, "obj"); if (hasCR) { criteria.add(Restrictions.in("obj.courseid", courses)); } criteria.addOrder(Property.forName("obj.id").asc()); this.gradeItemsLms = criteria.list(); logger.info("GradeItemsLMS tables: " + this.gradeItemsLms.size()); criteria = session.createCriteria(RoleAssignmentsLMS.class, "obj"); if (hasCR) { ArrayList<Long> ids = new ArrayList<Long>(); for (ContextLMS c : this.contextLms) { if (c.getContextlevel() == 50 && courses.contains(c.getInstanceid())) ids.add(c.getId()); } if (!(empty = ids.isEmpty())) criteria.add(Restrictions.in("obj.contextid", ids)); } criteria.addOrder(Property.forName("obj.id").asc()); if (!(hasCR && empty)) this.roleAssignmentsLms = criteria.list(); else this.roleAssignmentsLms = new ArrayList<RoleAssignmentsLMS>(); logger.info("RoleAssignmentsLMS tables: " + this.roleAssignmentsLms.size()); criteria = session.createCriteria(UserLMS.class, "obj"); if (hasCR) { ArrayList<Long> ids = new ArrayList<Long>(); for (RoleAssignmentsLMS e : this.roleAssignmentsLms) ids.add(Long.valueOf(e.getUserid())); if (!(empty = ids.isEmpty())) criteria.add(Restrictions.in("obj.id", ids)); } criteria.addOrder(Property.forName("obj.id").asc()); if (!(hasCR && empty)) this.userLms = criteria.list(); else this.userLms = new ArrayList<UserLMS>(); logger.info("UserLMS tables: " + this.userLms.size()); } criteria = session.createCriteria(QuizAttemptsLMS.class, "obj"); if (hasCR) if (hasCR) { ArrayList<Long> ids = new ArrayList<Long>(); for (QuizLMS e : this.quizLms) ids.add(e.getId()); if (!(empty = ids.isEmpty())) criteria.add(Restrictions.in("obj.quiz", ids)); } criteria.add(Restrictions.lt("obj.timemodified", readingtotimestamp)); criteria.add(Restrictions.gt("obj.timemodified", readingfromtimestamp)); criteria.addOrder(Property.forName("obj.id").asc()); if (!(hasCR && empty)) this.quizAttemptsLms = criteria.list(); else this.quizAttemptsLms = new ArrayList<QuizAttemptsLMS>(); logger.info("QuizAttemptsLMS tables: " + this.quizAttemptsLms.size()); criteria = session.createCriteria(LogstoreStandardLogLMS.class, "obj"); if (hasCR) criteria.add(Restrictions.in("obj.course", courses)); criteria.add(Restrictions.lt("obj.time", readingtotimestamp)); criteria.add(Restrictions.gt("obj.time", readingfromtimestamp)); criteria.addOrder(Property.forName("obj.id").asc()); this.logstoreLms = criteria.list(); logger.info("LogLMS tables: " + this.logstoreLms.size()); criteria = session.createCriteria(ChatLogLMS.class, "obj"); if (hasCR) { ArrayList<Long> ids = new ArrayList<Long>(); for (ChatLMS e : this.chatLms) ids.add(e.getId()); if (!(empty = ids.isEmpty())) criteria.add(Restrictions.in("obj.chat", ids)); } criteria.add(Restrictions.lt("obj.timestamp", readingtotimestamp)); criteria.add(Restrictions.gt("obj.timestamp", readingfromtimestamp)); criteria.addOrder(Property.forName("obj.id").asc()); if (!(hasCR && empty)) this.chatLogLms = criteria.list(); else this.chatLogLms = new ArrayList<ChatLogLMS>(); logger.info("ChatLogLMS tables: " + this.chatLogLms.size()); final Query forumPosts; if (!hasCR) { forumPosts = session.createQuery( "from ForumPostsLMS x where x.created>=:readingtimestamp and x.created<=:ceiling order by x.id asc"); forumPosts.setParameter("readingtimestamp", readingfromtimestamp); forumPosts.setParameter("ceiling", readingtotimestamp); this.forumPostsLms = forumPosts.list(); } else { String courseClause = "("; for (int i = 0; i < courses.size(); i++) { courseClause += courses.get(i); if (i < courses.size() - 1) courseClause += ","; else courseClause += ")"; } forumPosts = session.createSQLQuery( "SELECT posts.id,posts.userid,posts.created,posts.modified,posts.subject,posts.message,posts.discussion from forum_posts as posts JOIN logstore_standard_log as logs ON posts.userid = logs.userid Where logs.courseid in " + courseClause + " and (posts.created = logs.timecreated or posts.modified = logs.timecreated) AND posts.created>=:readingtimestamp and posts.created<=:ceiling"); forumPosts.setParameter("readingtimestamp", readingfromtimestamp); forumPosts.setParameter("ceiling", readingtotimestamp); List<Object[]> tmpl = forumPosts.list(); if (this.forumPostsLms == null) this.forumPostsLms = new ArrayList<ForumPostsLMS>(); for (Object[] obj : tmpl) { ForumPostsLMS p = new ForumPostsLMS(); if (obj[0].getClass().equals(BigInteger.class)) { p.setId(((BigInteger) obj[0]).longValue()); } else { p.setId(((Integer) obj[0]).longValue()); } if (obj[0].getClass().equals(BigInteger.class)) { p.setUserid(((BigInteger) obj[1]).longValue()); } else { p.setUserid(((Integer) obj[1]).longValue()); } if (obj[0].getClass().equals(BigInteger.class)) { p.setCreated(((BigInteger) obj[2]).longValue()); } else { p.setCreated(((Integer) obj[2]).longValue()); } if (obj[0].getClass().equals(BigInteger.class)) { p.setModified(((BigInteger) obj[3]).longValue()); } else { p.setModified(((Integer) obj[3]).longValue()); } p.setSubject((String) obj[4]); p.setMessage((String) obj[5]); if (obj[0].getClass().equals(BigInteger.class)) { p.setDiscussion(((BigInteger) obj[6]).longValue()); } else { p.setDiscussion(((Integer) obj[6]).longValue()); } this.forumPostsLms.add(p); } } logger.info("ForumPostsLMS tables: " + this.forumPostsLms.size()); final Query forumPostsModified; if (!hasCR) { forumPostsModified = session.createQuery( "from ForumPostsLMS x where x.modified>=:readingtimestamp and x.modified<=:ceiling order by x.id asc"); this.forumPostsLms.addAll(forumPostsModified.list()); } else { String courseClause = "("; for (int i = 0; i < courses.size(); i++) { courseClause += courses.get(i); if (i < courses.size() - 1) courseClause += ","; else courseClause += ")"; } forumPostsModified = session.createSQLQuery( "SELECT posts.id,posts.userid,posts.created,posts.modified,posts.subject,posts.message from mdl_forum_posts as posts JOIN mdl_log as logs ON posts.userid = logs.userid Where logs.course in " + courseClause + " and (posts.created = logs.time or posts.modified = logs.time) AND posts.modified>=:readingtimestamp and posts.modified<=:ceiling"); forumPostsModified.setParameter("readingtimestamp", readingfromtimestamp); forumPostsModified.setParameter("ceiling", readingtotimestamp); List<Object[]> tmpl = forumPostsModified.list(); if (this.forumPostsLms == null) this.forumPostsLms = new ArrayList<ForumPostsLMS>(); for (Object[] obj : tmpl) { ForumPostsLMS p = new ForumPostsLMS(); p.setId(((Integer) obj[0]).longValue()); p.setUserid(((Integer) obj[1]).longValue()); p.setCreated(((Integer) obj[2]).longValue()); p.setModified(((Integer) obj[3]).longValue()); p.setSubject((String) obj[4]); p.setMessage((String) obj[5]); this.forumPostsLms.add(p); } } logger.info("ForumPostsModifiedLMS tables: " + this.forumPostsLms.size()); session.clear(); criteria = session.createCriteria(AssignGradesLMS.class, "obj"); if (hasCR) { List<Long> tmp = new ArrayList<Long>(); for (AssignLMS assign : assignLms) { tmp.add(assign.getId()); } if (!(empty = tmp.isEmpty())) criteria.add(Restrictions.in("obj.assignment", tmp)); } criteria.add(Restrictions.gt("obj.timemodified", readingfromtimestamp)); criteria.add(Restrictions.lt("obj.timemodified", readingtotimestamp)); criteria.addOrder(Property.forName("obj.id").asc()); if (!(hasCR && empty)) this.assignGradesLms = criteria.list(); else this.assignGradesLms = new ArrayList<AssignGradesLMS>(); logger.info("AssignGradesLMS tables: " + this.assignGradesLms.size()); criteria = session.createCriteria(GroupsMembersLMS.class, "obj"); if (hasCR) { ArrayList<Long> ids = new ArrayList<Long>(); for (GroupsLMS e : this.groupLms) ids.add(e.getId()); if (!(empty = ids.isEmpty())) criteria.add(Restrictions.in("obj.groupid", ids)); } criteria.add(Restrictions.lt("obj.timeadded", readingtotimestamp)); criteria.add(Restrictions.gt("obj.timeadded", readingfromtimestamp)); criteria.addOrder(Property.forName("obj.id").asc()); if (!(hasCR && empty)) this.groupMembersLms = criteria.list(); else this.groupMembersLms = new ArrayList<GroupsMembersLMS>(); logger.info("GroupsMembersLMS tables: " + this.groupMembersLms.size()); /* criteria = session.createCriteria(QuestionStatesLMS.class, "obj"); if(hasCR) { ArrayList<Long> ids = new ArrayList<Long>(); for(QuizQuestionInstancesLMS e : this.quizQuestionInstancesLms) ids.add(e.getQuestion()); if(!(empty = ids.isEmpty())) criteria.add(Restrictions.in("obj.question", ids)); } criteria.add(Restrictions.lt("obj.timestamp", readingtotimestamp)); criteria.add(Restrictions.gt("obj.timestamp", readingfromtimestamp)); criteria.addOrder(Property.forName("obj.id").asc()); if(!(hasCR && empty)) this.questionStatesLms = criteria.list(); else this.questionStatesLms = new ArrayList<QuestionStatesLMS>(); logger.info("QuestionStatesLMS tables: " + this.questionStatesLms.size()); */ /* criteria = session.createCriteria(AssignmentSubmissionsLMS.class, "obj"); if(hasCR) { ArrayList<Long> ids = new ArrayList<Long>(); for(AssignmentLMS e : this.assignmentLms) ids.add(e.getId()); if(!(empty = ids.isEmpty())) criteria.add(Restrictions.in("obj.id", ids)); } criteria.add(Restrictions.lt("obj.timecreated", readingtotimestamp)); criteria.add(Restrictions.gt("obj.timecreated", readingfromtimestamp)); criteria.addOrder(Property.forName("obj.id").asc()); if(!(hasCR && empty)) this.assignmentSubmissionLms = criteria.list(); else this.assignmentSubmissionLms = new ArrayList<AssignmentSubmissionsLMS>(); logger.info("AssignmentSubmissionsLMS tables: " + this.userLms.size()); */ criteria = session.createCriteria(QuizGradesLMS.class, "obj"); if (hasCR) { ArrayList<Long> ids = new ArrayList<Long>(); for (QuizLMS e : this.quizLms) ids.add(e.getId()); if (!(empty = ids.isEmpty())) criteria.add(Restrictions.in("obj.quiz", ids)); } criteria.add(Restrictions.lt("obj.timemodified", readingtotimestamp)); criteria.add(Restrictions.gt("obj.timemodified", readingfromtimestamp)); criteria.addOrder(Property.forName("obj.id").asc()); if (!(hasCR && empty)) this.quizGradesLms = criteria.list(); else this.quizGradesLms = new ArrayList<QuizGradesLMS>(); logger.info("QuizGradesLMS tables: " + this.quizGradesLms.size()); criteria = session.createCriteria(ForumDiscussionsLMS.class, "obj"); if (hasCR) { ArrayList<Long> ids = new ArrayList<Long>(); for (ForumLMS e : this.forumLms) ids.add(e.getId()); if (!(empty = ids.isEmpty())) criteria.add(Restrictions.in("obj.forum", ids)); } criteria.add(Restrictions.lt("obj.timemodified", readingtotimestamp)); criteria.add(Restrictions.gt("obj.timemodified", readingfromtimestamp)); criteria.addOrder(Property.forName("obj.id").asc()); if (!(hasCR && empty)) this.forumDiscussionsLms = criteria.list(); else this.forumDiscussionsLms = new ArrayList<ForumDiscussionsLMS>(); logger.info("ForumDiscussionsLMS tables: " + this.forumDiscussionsLms.size()); criteria = session.createCriteria(GradeGradesLMS.class, "obj"); if (hasCR) { ArrayList<Long> ids = new ArrayList<Long>(); for (GradeItemsLMS e : this.gradeItemsLms) ids.add(e.getId()); if (!(empty = ids.isEmpty())) criteria.add(Restrictions.in("obj.itemid", ids)); } criteria.add(Restrictions.lt("obj.timemodified", readingtotimestamp)); criteria.add(Restrictions.gt("obj.timemodified", readingfromtimestamp)); criteria.addOrder(Property.forName("obj.id").asc()); if (!(hasCR && empty)) this.gradeGradesLms = criteria.list(); else this.gradeGradesLms = new ArrayList<GradeGradesLMS>(); logger.info("GradeGradesLMS tables: " + this.gradeGradesLms.size()); session.clear(); // hibernate session finish and close tx.commit(); session.close(); }
From source file:de.sub.goobi.forms.AktuelleSchritteForm.java
License:Open Source License
/** * Korrekturmeldung an vorherige Schritte. */// www. j ava 2s .c o m @SuppressWarnings("unchecked") public List<Task> getPreviousStepsForProblemReporting() { List<Task> alleVorherigenSchritte = Helper.getHibernateSession().createCriteria(Task.class) .add(Restrictions.lt("ordering", this.mySchritt.getOrdering())).addOrder(Order.desc("ordering")) .createCriteria("process").add(Restrictions.idEq(this.mySchritt.getProcess().getId())).list(); return alleVorherigenSchritte; }
From source file:de.sub.goobi.helper.BatchStepHelper.java
License:Open Source License
/** * Get previous tasks for problem reporting. * * @return list of selected items// w w w .j av a2 s .co m */ @SuppressWarnings("unchecked") public List<SelectItem> getPreviousStepsForProblemReporting() { List<SelectItem> answer = new ArrayList<>(); List<Task> alleVorherigenSchritte = Helper.getHibernateSession().createCriteria(Task.class) .add(Restrictions.lt("ordering", this.currentStep.getOrdering())).addOrder(Order.desc("ordering")) .createCriteria("process").add(Restrictions.idEq(this.currentStep.getProcess().getId())).list(); for (Task s : alleVorherigenSchritte) { answer.add(new SelectItem(s.getTitle(), serviceManager.getTaskService().getTitleWithUserName(s))); } return answer; }
From source file:dk.matzon.echelog.infrastructure.hibernate.HibernateEntryRepository.java
License:Open Source License
@Override public List<Entry> findAll(Network _network, Channel _channel, Date _start, Date _end) { Session currentSession = sessionFactory.getCurrentSession(); Criteria criteria = currentSession.createCriteria(Entry.class); criteria.add(Restrictions.eq("network", _network.getName())); criteria.add(Restrictions.eq("channel", _network.getName())); criteria.add(Restrictions.gt("date", _start)); criteria.add(Restrictions.lt("date", _end)); return criteria.list(); }
From source file:dk.teachus.backend.dao.hibernate.HibernateBookingDAO.java
License:Apache License
@SuppressWarnings("unchecked") @Transactional(readOnly = true)// w w w . j av a2 s . 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)// w w w . ja va 2 s.com 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)/* w w w .j a v a 2 s . c om*/ 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)//from ww w .ja v a2 s . co m 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)//from w ww . j ava2 s.co m 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 ava2 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); }