List of usage examples for org.hibernate.criterion Restrictions between
public static Criterion between(String propertyName, Object low, Object high)
From source file:Dao.MovieDAO.java
public List<Movie> getMoviesNowPlaying() { Session session = this.sessionFactory.getCurrentSession(); Calendar cal = Calendar.getInstance(); cal.add(Calendar.DATE, -50);//from w ww. jav a 2 s .c o m Date date = cal.getTime(); Timestamp today = new Timestamp(System.currentTimeMillis()); Timestamp lastMonth = new Timestamp(date.getTime()); List movies = session.createCriteria(Movie.class).add(Restrictions.between("releaseDate", lastMonth, today)) .list(); if (movies.isEmpty()) { return null; } logger.info("Now Playing loaded successfully, Movie details=" + movies); return movies; }
From source file:Dao.MovieDAO.java
public List<Movie> getMoviesComingSoon() { Session session = this.sessionFactory.getCurrentSession(); Calendar cal = Calendar.getInstance(); cal.add(Calendar.DATE, 750);//from w w w . j a va 2 s . com Date date = cal.getTime(); Timestamp today = new Timestamp(System.currentTimeMillis()); Timestamp comingSoon = new Timestamp(date.getTime()); List movies = session.createCriteria(Movie.class) .add(Restrictions.between("releaseDate", today, comingSoon)).list(); if (movies.isEmpty()) { return null; } logger.info("Coming Soon successfully, Movie details=" + movies); return movies; }
From source file:Dao.MovieDAO.java
public List<Movie> getOldMovies() { Session session = this.sessionFactory.getCurrentSession(); Calendar cal2000 = Calendar.getInstance(); cal2000.add(Calendar.DATE, -6330); Calendar cal2016 = Calendar.getInstance(); cal2016.add(Calendar.DATE, -486); Date date = cal2000.getTime(); Date date2 = cal2016.getTime(); Timestamp year2000 = new Timestamp(date.getTime()); Timestamp year2016 = new Timestamp(date2.getTime()); List movies = session.createCriteria(Movie.class) .add(Restrictions.between("releaseDate", year2000, year2016)) .add(Restrictions.ge("movieScore", 7.5)).list(); if (movies.isEmpty()) { return null; }/* www .j a v a 2 s .co m*/ logger.info("Old Movies successfully, Movie details=" + movies); return movies; }
From source file:Dao.MovieDAO.java
public List<Movie> getMoviesTopRated() { Session session = this.sessionFactory.getCurrentSession(); Calendar cal2016 = Calendar.getInstance(); cal2016.add(Calendar.DATE, -486); Date date = cal2016.getTime(); Timestamp year2016 = new Timestamp(date.getTime()); Timestamp today = new Timestamp(System.currentTimeMillis()); List movies = session.createCriteria(Movie.class).add(Restrictions.between("releaseDate", year2016, today)) .add(Restrictions.ge("movieScore", 7.5)).list(); if (movies.isEmpty()) { return null; }//from w ww. j a v a2 s . c o m logger.info("Top Rated successfully, Movie details=" + movies); return movies; }
From source file:database.Company.java
License:Open Source License
/** * Gets the number of added dates of particular month and year from db. * * @param date the date//from www. j a v a2 s .com * @return the number of added dates of particular month and year from db */ public int getNumberOfAddedDatesOfParticularMonthAndYearFromDB(Date date) { Pair<Calendar, Calendar> from_to = MyDateUtils.getMaxAndMinOfMonth(date); Calendar from = from_to.getValue0(); Calendar to = from_to.getValue1(); HibernateSupport.beginTransaction(); long values_size = (long) HibernateSupport.getCurrentSession().createCriteria(MarketValue.class) .add(Restrictions.eq("company", this)) .add(Restrictions.between("date", from.getTime(), to.getTime())) .setProjection(Projections.rowCount()).uniqueResult(); HibernateSupport.commitTransaction(); return (int) values_size; }
From source file:database.Company.java
License:Open Source License
/** * Gets the market values between two dates from database [from, to]. * * @param from the start date// w w w. j a v a 2 s . c om * @param to the end date * @return the market values between dates */ public ArrayList<MarketValue> getMarketValuesBetweenDatesFromDB(Date from, Date to) { List<Criterion> list = new ArrayList<Criterion>(); list.add(Restrictions.eq("company", this)); list.add(Restrictions.between("date", from, to)); return HibernateSupport.readMoreObjectsDesc(MarketValue.class, list, "date"); }
From source file:db.Database.java
public ArrayList<CashFlow> getCashFlow(Date begin, Date end, Account acc) { session = sessionFactory.openSession(); ArrayList<CashFlow> cashFlow = new ArrayList<>(); List transfers = session.createCriteria(Transfer.class) .add(Restrictions.disjunction().add(Restrictions.eq("from", acc)).add(Restrictions.eq("to", acc))) .add(Restrictions.between("date", begin, end)).list(); List payments = session.createCriteria(Payment.class).add(Restrictions.eq("account", acc)) .add(Restrictions.between("date", begin, end)).list(); int lastid = 0; for (int i = payments.size() - 1; i >= 0; i--) { Payment p = (Payment) payments.get(i); if (p.getId() != lastid) { lastid = p.getId();/* ww w .j a v a2s.com*/ } else { payments.remove(i); } } cashFlow.addAll(transfers); cashFlow.addAll(payments); session.close(); return cashFlow; }
From source file:db.Database.java
public ArrayList<CashFlow> getCashFlow(Date begin, Date end) { session = sessionFactory.openSession(); ArrayList<CashFlow> cashFlow = new ArrayList<>(); List transfers = session.createCriteria(Transfer.class).add(Restrictions.between("date", begin, end)) .list();//www .j av a 2 s . c om List payments = session.createCriteria(Payment.class).add(Restrictions.between("date", begin, end)) .addOrder(Order.asc("id")).list(); int lastid = 0; for (int i = payments.size() - 1; i >= 0; i--) { Payment p = (Payment) payments.get(i); if (p.getId() != lastid) { lastid = p.getId(); } else { payments.remove(i); } } cashFlow.addAll(transfers); cashFlow.addAll(payments); session.close(); return cashFlow; }
From source file:de.ingrid.portal.interfaces.impl.DBAnniversaryInterfaceImpl.java
License:EUPL
/** * @see de.ingrid.portal.interfaces.SimilarTermsInterface#getAnniversary(java.sql.Date) *//*from ww w . ja va 2s . c om*/ public IngridHitDetail[] getAnniversaries(Date d, String lang) { Session session = HibernateUtil.currentSession(); Transaction tx = null; try { Calendar queryDateFrom = Calendar.getInstance(); queryDateFrom.set(Calendar.HOUR_OF_DAY, 0); queryDateFrom.set(Calendar.MINUTE, 0); queryDateFrom.set(Calendar.SECOND, 0); queryDateFrom.set(Calendar.MILLISECOND, 0); Calendar queryDateTo = Calendar.getInstance(); queryDateTo.set(Calendar.HOUR_OF_DAY, 23); queryDateTo.set(Calendar.MINUTE, 59); queryDateTo.set(Calendar.SECOND, 59); queryDateTo.set(Calendar.MILLISECOND, 0); Calendar fromCal = Calendar.getInstance(); Calendar toCal = Calendar.getInstance(); fromCal.setTime(d); tx = session.beginTransaction(); List anniversaryList = session.createCriteria(IngridAnniversary.class) .add(Restrictions.eq("dateFromDay", new Integer(fromCal.get(Calendar.DAY_OF_MONTH)))) .add(Restrictions.eq("dateFromMonth", new Integer(fromCal.get(Calendar.MONTH) + 1))) .add(Restrictions.eq("language", lang)).list(); tx.commit(); if (anniversaryList.isEmpty()) { // fall back: get any event of this month fromCal.setTime(d); toCal.setTime(d); tx = session.beginTransaction(); anniversaryList = session.createCriteria(IngridAnniversary.class) .add(Restrictions.between("dateFromMonth", new Integer(fromCal.get(Calendar.MONTH) + 1), new Integer(toCal.get(Calendar.MONTH) + 1))) .add(Restrictions.sqlRestriction("length({alias}.date_from) > 4")) .add(Restrictions.eq("language", lang)).list(); tx.commit(); if (anniversaryList.isEmpty()) { // fall back: get any event that has been fetched for today fromCal.setTime(d); tx = session.beginTransaction(); anniversaryList = session.createCriteria(IngridAnniversary.class) .add(Restrictions.eq("language", lang)).list(); tx.commit(); } } IngridHitDetail[] rslt = new IngridHitDetail[anniversaryList.size()]; for (int i = 0; i < rslt.length; i++) { IngridAnniversary anni = (IngridAnniversary) anniversaryList.get(i); rslt[i] = new DetailedTopic(); rslt[i].put("topicId", anni.getTopicId()); rslt[i].put("topicName", anni.getTopicName()); rslt[i].put("from", anni.getDateFrom()); rslt[i].put("until", anni.getDateTo()); rslt[i].put("until", anni.getDateTo()); session.evict(anni); } return rslt; } catch (Exception e) { if (tx != null && tx.isActive()) { tx.rollback(); } if (log.isErrorEnabled()) { log.error("Exception while querying sns for anniversary.", e); } return new DetailedTopic[0]; } finally { HibernateUtil.closeSession(); } }
From source file:de.lemo.dms.connectors.clix2010.ClixImporter.java
License:Open Source License
/** * Loads all tables needed for the data-extraction from the Clix database. * /*from ww w. ja va 2 s .com*/ * @param start * the start * @param end * the end */ @SuppressWarnings("unchecked") private void loadData(final DBConfigObject dbConfig, final Long start, final Long end, List<Long> courses, List<String> logins) { // accessing DB by creating a session and a transaction using HibernateUtil final Session session = ClixHibernateUtil.getSessionFactory(dbConfig).openSession(); boolean hasCR = false; if (courses != null && courses.size() > 0) hasCR = true; boolean empty = true; if (logins != null && !logins.isEmpty()) { List<Long> newCourses = new ArrayList<Long>(); Criteria criteria = session.createCriteria(Person.class, "obj"); criteria.add(CriteriaHelper.in("obj.login", logins)); List<Long> usId = new ArrayList<Long>(); for (Person p : (List<Person>) criteria.list()) usId.add(p.getId()); if (!usId.isEmpty()) { criteria = session.createCriteria(PersonComponentAssignment.class, "obj"); criteria.add(CriteriaHelper.in("obj.person", usId)); for (PersonComponentAssignment pca : (List<PersonComponentAssignment>) criteria.list()) newCourses.add(pca.getComponent()); courses.addAll(newCourses); hasCR = true; } } this.logger.info("Starting data extraction."); Criteria criteria; // The Clix database uses date representation of the type varchar, so the unix-timestamp has to be converted // to a string String startStr = TimeConverter.getStringRepresentation(start); String endStr = TimeConverter.getStringRepresentation(end); // Read the tables that don't refer to log-entries once if (this.userMining == null) { //Get EComposing tables criteria = session.createCriteria(EComposing.class, "obj"); if (hasCR) { criteria.add(CriteriaHelper.in("obj.composing", courses)); } criteria.addOrder(Property.forName("obj.id").asc()); this.eComposing = criteria.list(); this.eComposingMap = new HashMap<Long, EComposing>(); for (int i = 0; i < this.eComposing.size(); i++) { this.eComposingMap.put(this.eComposing.get(i).getComponent(), this.eComposing.get(i)); } logger.info("EComposing tables: " + this.eComposing.size()); criteria = session.createCriteria(Portfolio.class, "obj"); if (hasCR) { criteria.add(CriteriaHelper.in("obj.component", courses)); } criteria.addOrder(Property.forName("obj.id").asc()); this.portfolio = criteria.list(); this.logger.info("Portfolio tables: " + this.portfolio.size()); //Get PersonComponentAssignment tables criteria = session.createCriteria(PersonComponentAssignment.class, "obj"); if (hasCR) { criteria.add(CriteriaHelper.in("obj.component", courses)); } criteria.addOrder(Property.forName("obj.id").asc()); this.personComponentAssignment = criteria.list(); this.logger.info("PersonComponentAssignment tables: " + this.personComponentAssignment.size()); //Get ExerciseGroup tables criteria = session.createCriteria(ExerciseGroup.class, "obj"); if (hasCR) { criteria.add(CriteriaHelper.in("obj.associatedCourse", courses)); } criteria.addOrder(Property.forName("obj.id").asc()); this.exerciseGroup = criteria.list(); this.logger.info("ExerciseGroup tables: " + this.exerciseGroup.size()); //Get ExercisePersonalised tables criteria = session.createCriteria(ExercisePersonalised.class, "obj"); if (hasCR) { Set<Long> ids = new HashSet<Long>(); for (ExerciseGroup eg : this.exerciseGroup) ids.add(eg.getId()); if (!(empty = ids.isEmpty())) criteria.add(CriteriaHelper.in("obj.community", ids)); } criteria.add(Restrictions.between("obj.uploadDate", startStr, endStr)); criteria.addOrder(Property.forName("obj.id").asc()); if (!(hasCR && empty)) this.exercisePersonalised = criteria.list(); else this.exercisePersonalised = new ArrayList<ExercisePersonalised>(); this.logger.info("ExercisePersonalised tables: " + this.exercisePersonalised.size()); //Get EComponent tables Set<Long> tmpComp = new HashSet<Long>(); criteria = session.createCriteria(EComponent.class, "obj"); if (hasCR) { tmpComp.addAll(this.eComposingMap.keySet()); tmpComp.addAll(courses); for (ExercisePersonalised eP : this.exercisePersonalised) tmpComp.add(eP.getExercise()); if (!(empty = tmpComp.isEmpty())) criteria.add(CriteriaHelper.in("obj.id", tmpComp)); } criteria.addOrder(Property.forName("obj.id").asc()); final List<EComponent> tmp; if (!(hasCR && empty)) tmp = criteria.list(); else tmp = new ArrayList<EComponent>(); this.eComponentMap = new HashMap<Long, EComponent>(); for (final EComponent c : tmp) { this.eComponentMap.put(c.getId(), c); } tmp.clear(); this.logger.info("EComponent tables: " + this.eComponentMap.values().size()); //Get EComponentType tables criteria = session.createCriteria(EComponentType.class, "obj"); if (hasCR) { Set<Long> ids = new HashSet<Long>(); for (EComponent eg : this.eComponentMap.values()) { ids.add(eg.getType()); } //if(!(empty = ids.isEmpty())) //criteria.add(CriteriaHelper.in("obj.id", ids)); } criteria.addOrder(Property.forName("obj.id").asc()); this.eComponentType = criteria.list(); this.logger.info("EComponentType tables: " + this.eComponentType.size()); //Get TQtiContentStructure tables criteria = session.createCriteria(TQtiContentStructure.class, "obj"); if (hasCR) { ArrayList<Long> newKeys = new ArrayList<Long>(this.eComposingMap.keySet()); HashSet<Long> allKeys = new HashSet<Long>(); while (!newKeys.isEmpty()) { criteria = session.createCriteria(TQtiContentStructure.class, "obj"); criteria.add(CriteriaHelper.in("obj.container", newKeys)); List<TQtiContentStructure> t = criteria.list(); newKeys.clear(); for (TQtiContentStructure tqs : t) { newKeys.add(tqs.getContent()); allKeys.add(tqs.getContainer()); } allKeys.addAll(newKeys); } criteria = session.createCriteria(TQtiContentStructure.class, "obj"); if (!(empty = allKeys.isEmpty())) criteria.add(CriteriaHelper.in("obj.container", allKeys)); } criteria.addOrder(Property.forName("obj.id").asc()); if (!(hasCR && empty)) this.tQtiContentStructure = criteria.list(); else this.tQtiContentStructure = new ArrayList<TQtiContentStructure>(); this.logger.info("TQtiContentStructure tables: " + this.tQtiContentStructure.size()); //Get TQtiContentComposing tables criteria = session.createCriteria(TQtiContentComposing.class, "obj"); if (hasCR) { HashSet<Long> tmp1 = new HashSet<Long>(); for (TQtiContentStructure tqs : this.tQtiContentStructure) tmp1.add(tqs.getContent()); if (!(empty = tmp1.isEmpty())) criteria.add(CriteriaHelper.in("obj.container", tmp1)); } criteria.addOrder(Property.forName("obj.id").asc()); if (!(hasCR && empty)) this.tQtiContentComposing = criteria.list(); else this.tQtiContentComposing = new ArrayList<TQtiContentComposing>(); logger.info("TQtiContentComposing tables: " + this.tQtiContentComposing.size()); //Get Person tables criteria = session.createCriteria(Person.class, "obj"); if (hasCR) { Set<Long> ids = new HashSet<Long>(); for (Portfolio eg : this.portfolio) ids.add(eg.getPerson()); for (ExercisePersonalised eP : this.exercisePersonalised) ids.add(eP.getUser()); for (PersonComponentAssignment eP : this.personComponentAssignment) ids.add(eP.getPerson()); if (!(empty = ids.isEmpty())) criteria.add(CriteriaHelper.in("obj.id", ids)); } criteria.addOrder(Property.forName("obj.id").asc()); if (!(hasCR && empty)) this.person = criteria.list(); else this.person = new ArrayList<Person>(); this.logger.info("Person tables: " + this.person.size()); //Get PlatformGroupSpecification tables /*criteria = session.createCriteria(PlatformGroupSpecification.class, "obj"); if(hasCR) { Set<Long> ids = new HashSet<Long>(); for(Person eg : this.person) ids.add(eg.getId()); if(!(empty = ids.isEmpty())) criteria.add(CriteriaHelper.in("obj.person", ids)); } criteria.addOrder(Property.forName("obj.id").asc()); if(!hasCR || !empty) this.platformGroupSpecification = criteria.list(); else*/ this.platformGroupSpecification = new ArrayList<PlatformGroupSpecification>(); this.logger.info("PlatformGroupSpecification tables: " + this.platformGroupSpecification.size()); //Get PlatformGroup tables criteria = session.createCriteria(PlatformGroup.class, "obj"); if (hasCR) { Set<Long> ids = new HashSet<Long>(); for (PlatformGroupSpecification eg : this.platformGroupSpecification) ids.add(eg.getGroup()); if (!(empty = ids.isEmpty())) criteria.add(CriteriaHelper.in("obj.id", ids)); } criteria.addOrder(Property.forName("obj.id").asc()); if (!(hasCR && empty)) this.platformGroup = criteria.list(); else this.platformGroup = new ArrayList<PlatformGroup>(); this.logger.info("PlatformGroup tables: " + this.platformGroup.size()); //Get TQtiContent tables criteria = session.createCriteria(TQtiContent.class, "obj"); if (hasCR) { HashSet<Long> ids = new HashSet<Long>(); for (TQtiContentStructure tqs : this.tQtiContentStructure) { ids.add(tqs.getContainer()); ids.add(tqs.getContent()); } for (TQtiContentComposing tqs : this.tQtiContentComposing) { ids.add(tqs.getContainer()); ids.add(tqs.getContent()); } if (!(empty = ids.isEmpty())) criteria.add(CriteriaHelper.in("obj.id", ids)); } criteria.addOrder(Property.forName("obj.id").asc()); if (!(hasCR && empty)) this.tQtiContent = criteria.list(); else this.tQtiContent = new ArrayList<TQtiContent>(); this.logger.info("TQtiContent tables: " + this.tQtiContent.size()); } //Get TQtiTestItemD tables criteria = session.createCriteria(TQtiTestItemD.class, "obj"); if (hasCR) { HashSet<Long> ids = new HashSet<Long>(); for (TQtiContent tc : this.tQtiContent) { ids.add(tc.getId()); } if (!(empty = ids.isEmpty())) { criteria.add(CriteriaHelper.in("obj.content", ids)); } } criteria.addOrder(Property.forName("obj.id").asc()); if (!(hasCR && empty)) this.tQtiTestItemD = criteria.list(); else this.tQtiTestItemD = new ArrayList<TQtiTestItemD>(); this.logger.info("TQtiTestItemD tables: " + this.tQtiTestItemD.size()); //Get TeamExerciseGroup tables criteria = session.createCriteria(TeamExerciseGroup.class, "obj"); if (hasCR) { criteria.add(CriteriaHelper.in("obj.component", courses)); } criteria.addOrder(Property.forName("obj.id").asc()); this.teamExerciseGroup = criteria.list(); this.logger.info("TeamExerciseGroup tables: " + this.teamExerciseGroup.size()); //Get TGroupFullSpecification tables criteria = session.createCriteria(TGroupFullSpecification.class, "obj"); if (hasCR) { Set<Long> ids = new HashSet<Long>(); for (TeamExerciseGroup eg : this.teamExerciseGroup) ids.add(eg.getId()); if (!(empty = ids.isEmpty())) criteria.add(CriteriaHelper.in("obj.group", ids)); } criteria.addOrder(Property.forName("obj.id").asc()); if (!(hasCR && empty)) this.tGroupFullSpecification = criteria.list(); else this.tGroupFullSpecification = new ArrayList<TGroupFullSpecification>(); this.logger.info("TGroupFullSpecification tables: " + this.tGroupFullSpecification.size()); // Read log-data successively, using the time stamps //Get QTiTestPlayerResp tables criteria = session.createCriteria(TQtiTestPlayerResp.class, "obj"); if (hasCR) { criteria.add(CriteriaHelper.in("obj.container", courses)); } criteria.addOrder(Property.forName("obj.id").asc()); this.tQtiTestPlayerResp = criteria.list(); logger.info("TQtiTestPlayerResp tables: " + this.tQtiTestPlayerResp.size()); //Get LearningLog tables criteria = session.createCriteria(LearningLog.class, "obj"); if (hasCR) { criteria.add(CriteriaHelper.in("obj.course", courses)); } criteria.add(Restrictions.between("obj.lastUpdated", startStr, endStr)); criteria.addOrder(Property.forName("obj.id").asc()); this.learningLog = criteria.list(); this.logger.info("LearningLog tables: " + this.learningLog.size()); //Get Portfolio tables criteria = session.createCriteria(Portfolio.class, "obj"); if (hasCR) { criteria.add(CriteriaHelper.in("obj.component", courses)); } criteria.add(Restrictions.between("obj.lastUpdated", startStr, endStr)); criteria.addOrder(Property.forName("obj.id").asc()); this.portfolio = criteria.list(); this.logger.info("Portfolio tables: " + this.portfolio.size()); //Get PortfolioLog tables criteria = session.createCriteria(PortfolioLog.class, "obj"); if (hasCR) { criteria.add(CriteriaHelper.in("obj.component", courses)); } criteria.add(Restrictions.between("obj.lastUpdated", startStr, endStr)); criteria.addOrder(Property.forName("obj.id").asc()); this.portfolioLog = criteria.list(); this.logger.info("PortfolioLog tables: " + this.portfolioLog.size()); //Get ChatProtocol tables criteria = session.createCriteria(ChatProtocol.class, "obj"); if (hasCR) { HashSet<Long> tmp1 = new HashSet<Long>(this.eComposingMap.keySet()); if (!(empty = tmp1.isEmpty())) criteria.add(CriteriaHelper.in("obj.chatroom", tmp1)); } criteria.add(Restrictions.between("obj.lastUpdated", startStr, endStr)); criteria.addOrder(Property.forName("obj.id").asc()); if (!(hasCR && empty)) this.chatProtocol = criteria.list(); else this.chatProtocol = new ArrayList<ChatProtocol>(); this.logger.info("ChatProtocol tables: " + this.chatProtocol.size()); //Get ForumEntry tables criteria = session.createCriteria(ForumEntry.class, "obj"); if (hasCR) { criteria.add(CriteriaHelper.in("obj.forum", this.eComposingMap.keySet())); } criteria.add(Restrictions.between("obj.lastUpdated", startStr, endStr)); criteria.addOrder(Property.forName("obj.id").asc()); this.forumEntry = criteria.list(); this.logger.info("ForumEntry tables: " + this.forumEntry.size()); //Get ForumEntryState tables criteria = session.createCriteria(ForumEntryState.class, "obj"); if (hasCR) { if (!this.eComposingMap.isEmpty()) criteria.add(CriteriaHelper.in("obj.forum", this.eComposingMap.keySet())); } criteria.add(Restrictions.between("obj.lastUpdated", startStr, endStr)); criteria.addOrder(Property.forName("obj.id").asc()); if (!this.eComposingMap.isEmpty()) this.forumEntryState = criteria.list(); else this.forumEntryState = new ArrayList<ForumEntryState>(); this.logger.info("ForumEntryState tables: " + this.forumEntryState.size()); //Get TQtiEvalAssessment tables criteria = session.createCriteria(TQtiEvalAssessment.class, "obj"); if (hasCR) { criteria.add(CriteriaHelper.in("obj.component", courses)); } criteria.add(Restrictions.between("obj.lastInvocation", startStr, endStr)); criteria.addOrder(Property.forName("obj.id").asc()); this.tQtiEvalAssessment = criteria.list(); this.logger.info("TQtiEvalAssessment tables: " + this.tQtiEvalAssessment.size()); //Get ScormSessionTimes tables criteria = session.createCriteria(ScormSessionTimes.class, "obj"); if (hasCR) { criteria.add(CriteriaHelper.in("obj.component", courses)); } criteria.add(Restrictions.between("obj.lastUpdated", startStr, endStr)); criteria.addOrder(Property.forName("obj.id").asc()); this.scormSessionTimes = criteria.list(); this.logger.info("ScormSessionTimes tables: " + this.scormSessionTimes.size()); //Get WikiEntry tables criteria = session.createCriteria(WikiEntry.class, "obj"); if (hasCR) { criteria.add(CriteriaHelper.in("obj.component", courses)); } criteria.add(Restrictions.between("obj.lastUpdated", startStr, endStr)); criteria.addOrder(Property.forName("obj.id").asc()); this.wikiEntry = criteria.list(); this.logger.info("WikiEntry tables: " + this.wikiEntry.size()); //Get QTiTestPlayer tables criteria = session.createCriteria(TQtiTestPlayer.class, "obj"); if (hasCR) { criteria.add(CriteriaHelper.in("obj.container", courses)); } criteria.add(Restrictions.between("obj.created", startStr, endStr)); criteria.addOrder(Property.forName("obj.id").asc()); this.tQtiTestPlayer = criteria.list(); logger.info("TQtiTestPlayer tables: " + this.tQtiTestPlayer.size()); // The date-strings have to be modified, because the date format of the table BiTrackContentImpressions is // different startStr = startStr.substring(0, startStr.indexOf(' ')); endStr = endStr.substring(0, endStr.indexOf(' ')); //Get BiTrackContentImpressions tables criteria = session.createCriteria(BiTrackContentImpressions.class, "obj"); if (hasCR) { criteria.add(CriteriaHelper.in("obj.container", courses)); } criteria.add(Restrictions.between("obj.dayOfAccess", startStr, endStr)); criteria.addOrder(Property.forName("obj.id").asc()); this.biTrackContentImpressions = criteria.list(); this.logger.info("BiTrackContentImpressions tables: " + this.biTrackContentImpressions.size()); session.clear(); session.close(); }