List of usage examples for org.hibernate.criterion Projections projectionList
public static ProjectionList projectionList()
From source file:inventory.executors.CommonTasks.java
public void fillComboBoxByBillPrefix(ComboBox billPrefixCombo) { try {//w ww .j av a 2 s .c o m session = HibernateUtil.getSessionFactory().openSession(); Criteria billPrefixCriteria = session.createCriteria(BillPrefixTable.class); billPrefixCriteria.setProjection(Projections.projectionList().add(Projections.property("billPrefix"))); ArrayList<BillPrefixTable> billPrefixList = (ArrayList<BillPrefixTable>) billPrefixCriteria.list(); Iterator<BillPrefixTable> billPrefixItr = billPrefixList.iterator(); if (billPrefixItr.hasNext()) { billPrefixCombo.setTooltip(new Tooltip()); if (billPrefixCombo != null) { billPrefixCombo.getItems().removeAll(); } while (billPrefixItr.hasNext()) { billPrefixCombo.getItems().add("" + billPrefixItr.next()); } // Enabling AutoComplete Text // AutoTextCompletionJComboBox.enable(billPrefixCombo); } } catch (IllegalArgumentException iae) { fillComboBoxByBillPrefix(billPrefixCombo); iae.printStackTrace(); } catch (HibernateException ex) { ex.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } finally { if (session.isOpen()) { session.close(); } } }
From source file:io.milton.cloud.server.apps.admin.WebsiteAccessReport.java
License:Open Source License
@Override public GraphData runReport(Organisation org, Website website, Date start, Date finish, JsonResult jsonResult) { Session session = SessionManager.session(); Criteria crit = session.createCriteria(AccessLog.class) .setProjection(Projections.projectionList().add(Projections.min("reqDate")) .add(Projections.rowCount()).add(Projections.groupProperty("reqYear")) .add(Projections.groupProperty("reqMonth")).add(Projections.groupProperty("reqDay")) .add(Projections.groupProperty("reqHour"))); if (start != null) { crit.add(Restrictions.ge("reqDate", start)); }/*from w w w . j av a 2s . c om*/ if (finish != null) { crit.add(Restrictions.le("reqDate", finish)); } if (website != null) { crit.add(Restrictions.le("website", website)); } if (org != null) { crit.add(Restrictions.le("organisation", org)); } List list = crit.list(); List<TimeDataPointBean> dataPoints = new ArrayList<>(); for (Object oRow : list) { Object[] arr = (Object[]) oRow; Date date = (Date) arr[0]; Integer count = (Integer) arr[1]; TimeDataPointBean b = new TimeDataPointBean(); b.setDate(date.getTime()); b.setValue(count); dataPoints.add(b); } GraphData graphData = new GraphData(); graphData.setData(dataPoints); String[] labels = { "Hits" }; graphData.setLabels(labels); graphData.setXkey("date"); String[] ykeys = { "value" }; graphData.setYkeys(ykeys); return graphData; }
From source file:io.milton.cloud.server.apps.reporting.SiteActivityReportPage.java
License:Open Source License
private void searchDaily(Map<String, String> params, OutputStream out) throws IOException { Date start;//from w ww.ja v a 2 s .co m Date finish; try { String sStart = params.get("startDate"); start = parseDate(sStart); System.out.println("start: " + start); String sFinish = params.get("finishDate"); finish = parseDate(sFinish); System.out.println("finish: " + finish); } catch (ParseException parseException) { JsonResult jsonResult = new JsonResult(false, "Invalid date: " + parseException.getMessage()); jsonResult.write(out); return; } Session session = SessionManager.session(); Criteria crit = session.createCriteria(AccessLog.class) .setProjection(Projections.projectionList().add(Projections.min("reqDate")) .add(Projections.rowCount()).add(Projections.groupProperty("reqYear")) .add(Projections.groupProperty("reqMonth")).add(Projections.groupProperty("reqDay")) .add(Projections.groupProperty("reqHour"))); if (start != null) { crit.add(Restrictions.ge("reqDate", start)); } if (finish != null) { crit.add(Restrictions.le("reqDate", finish)); } List list = crit.list(); List<TimeDataPointBean> dataPoints = new ArrayList<>(); for (Object oRow : list) { Object[] arr = (Object[]) oRow; Date date = (Date) arr[0]; Integer count = (Integer) arr[1]; TimeDataPointBean b = new TimeDataPointBean(); b.setDate(date.getTime()); b.setValue(count); dataPoints.add(b); } JsonResult jsonResult = new JsonResult(true); jsonResult.setData(dataPoints); jsonResult.write(out); }
From source file:io.milton.cloud.server.apps.signup.GroupSignupsReport.java
License:Open Source License
@Override public GraphData runReport(Organisation org, Website website, Date start, Date finish, JsonResult jsonResult) { log.info("runReport: " + start + " - " + finish); Session session = SessionManager.session(); Criteria crit = session.createCriteria(SignupLog.class) .setProjection(Projections.projectionList().add(Projections.min("reqDate")) .add(Projections.rowCount()).add(Projections.groupProperty("groupEntity")) .add(Projections.groupProperty("reqYear")).add(Projections.groupProperty("reqMonth")) .add(Projections.groupProperty("reqDay")).add(Projections.groupProperty("reqHour"))); // if (start != null) { // crit.add(Restrictions.ge("reqDate", start)); // }/*from www . j av a2s . co m*/ // if (finish != null) { // crit.add(Restrictions.le("reqDate", finish)); // } // if( website != null ) { // crit.add(Restrictions.le("website", website)); // } // if( org != null ) { // crit.add(Restrictions.le("organisation", org)); // } List list = crit.list(); Set<String> groupsInSeries = new HashSet<>(); List<Map<String, Object>> dataPoints = new ArrayList<>(); Map<Long, Map<String, Object>> mapOfDataPointsByTime = new HashMap<>(); log.info("results: " + list.size()); for (Object oRow : list) { Object[] arr = (Object[]) oRow; log.info("got row: " + arr); Date date = (Date) arr[0]; Long time = date.getTime(); Integer count = (Integer) arr[1]; Group group = (Group) arr[2]; groupsInSeries.add(group.getName()); // keep a set of group names for labels Map<String, Object> dataPoint = mapOfDataPointsByTime.get(time); if (dataPoint == null) { dataPoint = new HashMap<>(); dataPoint.put("date", time); mapOfDataPointsByTime.put(time, dataPoint); dataPoints.add(dataPoint); } dataPoint.put(group.getName(), count); } GraphData graphData = new GraphData(); graphData.setData(dataPoints); String[] labels = { "Signups" }; graphData.setLabels(labels); graphData.setXkey("date"); String[] ykeys = new String[groupsInSeries.size()]; groupsInSeries.toArray(ykeys); graphData.setYkeys(ykeys); log.info("data points: " + dataPoints.size()); return graphData; }
From source file:ispok.dao.VisitorHibernateJpaDao.java
@Override public <ENTITY> List<ENTITY> getPage(int first, int rows, String sortBy, boolean ascending, Map<String, Object> filters, Class<ENTITY> clazz) { logger.entry();/* w w w . j a v a2 s . c o m*/ Session session = getEntityManager().unwrap(Session.class); Criteria criteria = session.createCriteria(clazz, "visitor"); for (Map.Entry<String, Object> filter : filters.entrySet()) { logger.debug("Filter: {}={}", filter.getKey(), filter.getValue()); if ("id".equals(filter.getKey())) { criteria.add(Restrictions.eq("id", Long.parseLong(filter.getValue().toString()))); } else { criteria.add(Restrictions.ilike(filter.getKey(), (String) filter.getValue(), MatchMode.START)); } } if (ascending) { criteria.addOrder(Order.asc(sortBy)); } else { criteria.addOrder(Order.desc(sortBy)); } criteria.setFirstResult(first); criteria.setMaxResults(rows); ProjectionList projectionList = Projections.projectionList(); projectionList.add(Projections.property("id"), "id") .add(Projections.property("visitor.firstName"), "firstName") .add(Projections.property("visitor.lastName"), "lastName") .add(Projections.property("visitor.birthDate"), "birthDate") .add(Projections.property("visitor.nin"), "nin") .add(Projections.property("visitor.nickname"), "nickname") .add(Projections.property("visitor.telephone"), "telephone") .add(Projections.property("visitor.email"), "email").add(Projections.property("visitor.sex"), "sex") .add(Projections.property("visitor.passwordHash"), "passwordHash") .add(Projections.property("visitor.saltHash"), "saltHash") .add(Projections.property("visitor.idNumber"), "idNumber") .add(Projections.property("visitor.bonusPoints"), "bonusPoints") .add(Projections.property("visitor.citizenship"), "citizenship") .add(Projections.property("visitor.domicile"), "domicile") .add(Projections.property("visitor.bonusPoints"), "bonusPoints"); criteria.setProjection(projectionList); criteria.setResultTransformer(Transformers.aliasToBean(clazz)); List<ENTITY> list = criteria.list(); logger.exit(); return list; }
From source file:it.unitn.elisco.dao.AdministratorDAO.java
public List<PersonBasics> findCourseAdmins(String emailLike) { Session s = HibernateUtil.getSession(); Transaction tx = s.beginTransaction(); // Fetch admins: // - which are course admin (isSysAdmin is false) // - which email begins with the specified query (optional, otherwise return all admins) Criteria criteria = s.createCriteria(Administrator.class); criteria.add(Restrictions.eq("isSysAdmin", false)); if (emailLike != null && emailLike != "") { criteria.add(Restrictions.like("email", emailLike, MatchMode.START)); }//from w w w . j av a 2 s . c o m // Then return results as PersonBasics objects criteria.setProjection(Projections.projectionList().add(Projections.property("name"), "name") .add(Projections.property("surname"), "surname").add(Projections.property("email"), "email")); criteria.setResultTransformer(Transformers.aliasToBean(PersonBasics.class)); List<PersonBasics> res = criteria.list(); tx.commit(); s.close(); return res; }
From source file:it.unitn.elisco.dao.AdministratorDAO.java
public List<PersonBasics> findSysAdmins(String emailLike) { Session s = HibernateUtil.getSession(); Transaction tx = s.beginTransaction(); // Fetch admins: // - which are system admin (isSysAdmin is true) // - which email begins with the specified query (optional, otherwise return all admins) Criteria criteria = s.createCriteria(Administrator.class); criteria.add(Restrictions.eq("isSysAdmin", true)); if (emailLike != null && emailLike != "") { criteria.add(Restrictions.like("email", emailLike, MatchMode.START)); }//from w w w . j a v a2s .co m // Then return results as PersonBasics objects criteria.setProjection(Projections.projectionList().add(Projections.property("name"), "name") .add(Projections.property("surname"), "surname").add(Projections.property("email"), "email")); criteria.setResultTransformer(Transformers.aliasToBean(PersonBasics.class)); List<PersonBasics> res = criteria.list(); tx.commit(); s.close(); return res; }
From source file:it.unitn.elisco.dao.AdministratorDAO.java
public List<PersonBasics> findAllAdmins(String emailLike) { Session s = HibernateUtil.getSession(); Transaction tx = s.beginTransaction(); // Fetch admins: // - which email begins with the specified query (optional, otherwise return all admins) Criteria criteria = s.createCriteria(Administrator.class); if (emailLike != null && emailLike != "") { criteria.add(Restrictions.like("email", emailLike, MatchMode.START)); }/*ww w .ja va2s. c o m*/ // Then return results as PersonBasics objects criteria.setProjection(Projections.projectionList().add(Projections.property("name"), "name") .add(Projections.property("surname"), "surname").add(Projections.property("email"), "email")); criteria.setResultTransformer(Transformers.aliasToBean(PersonBasics.class)); List<PersonBasics> res = criteria.list(); tx.commit(); s.close(); return res; }
From source file:it.unitn.elisco.dao.CourseDAO.java
public List<PersonBasics> findAdminsLikeForCourse(String name, String year, String adminEmail) { Session s = HibernateUtil.getSession(); Transaction tx = s.beginTransaction(); // Fetch admins: // - which administrates the specified course // - which email begins with the specified query (optional, otherwise return all admins for the course) Criteria criteria = s.createCriteria(Course.class); criteria.add(Restrictions.eq("name", name)).add(Restrictions.eq("year", year)); criteria.createAlias("admins", "a"); if (adminEmail != null && !adminEmail.equals("")) { criteria.add(Restrictions.like("a.email", adminEmail, MatchMode.START)); }//from w w w . j ava 2 s . c o m // Then return results as PersonBasics objects criteria.setProjection(Projections.projectionList().add(Projections.property("a.name"), "name") .add(Projections.property("a.surname"), "surname").add(Projections.property("a.email"), "email")) .setResultTransformer(Transformers.aliasToBean(PersonBasics.class)); List<PersonBasics> res = criteria.list(); tx.commit(); s.close(); return res; }
From source file:it.unitn.elisco.dao.CourseDAO.java
public List<StudentBasics> getRankings(String name, String year) { Session s = HibernateUtil.getSession(); Transaction tx = s.beginTransaction(); // Fetch rankings (student info) for specified course Criteria criteria = s.createCriteria(Course.class); criteria.add(Restrictions.eq("name", name)).add(Restrictions.eq("year", year)); criteria.createAlias("students", "sc").createAlias("sc.student", "s") .addOrder(Property.forName("sc.score").desc()); // Then return results as PersonBasics objects criteria.setProjection(Projections.projectionList().add(Projections.property("s.id"), "id") .add(Projections.property("s.email"), "email").add(Projections.property("s.name"), "name") .add(Projections.property("s.surname"), "surname") .add(Projections.property("s.imagePath"), "imagePath") .add(Projections.property("s.student_number"), "student_number") .add(Projections.property("sc.score"), "score")) .setResultTransformer(Transformers.aliasToBean(StudentBasics.class)); List<StudentBasics> res = criteria.list(); tx.commit();//w w w . ja v a 2 s .com s.close(); return res; }