List of usage examples for org.hibernate.criterion Projections groupProperty
public static PropertyProjection groupProperty(String propertyName)
From source file:org.gaixie.micrite.enterprise.dao.hibernate.EnterpriseDAOImpl.java
@SuppressWarnings("unchecked") public List findCSGroupByTelVague(SearchBean[] queryBean) { DetachedCriteria criteria = SearchFactory.generateCriteria(Enterprise.class, queryBean); criteria.add(Restrictions.ne("id", SYS_RECORD_ID)); criteria.createAlias("qualification", "cs"); criteria.setProjection(Projections.projectionList().add(Projections.count("cs.name")) .add(Projections.groupProperty("cs.name"))); return getHibernateTemplate().findByCriteria(criteria); }
From source file:org.gaixie.micrite.patrolRiverSummary.dao.hibernate.PatrolRiverSummaryDAOImpl.java
License:Open Source License
@SuppressWarnings("unchecked") public List findCSGroupByTelVague(SearchBean[] queryBean) { DetachedCriteria criteria = SearchFactory.generateCriteria(PatrolRiverSummary.class, queryBean); criteria.add(Expression.eq("approveStatus", IPatrolRiverSummaryService.STATUS_NORMAL)); criteria.addOrder(Order.desc("editDate")); criteria.createAlias("carType", "cs"); criteria.setProjection(Projections.projectionList().add(Projections.count("cs.name")) .add(Projections.groupProperty("cs.name"))); List<PatrolRiverSummary> list = getHibernateTemplate().findByCriteria(criteria); // desidedExpiredFlag(list); return list;//from www . ja va 2s. c o m }
From source file:org.gaixie.micrite.river.dao.hibernate.RiverDAOImpl.java
@SuppressWarnings("unchecked") public List findCSGroupByTelVague(SearchBean[] queryBean) { DetachedCriteria criteria = SearchFactory.generateCriteria(River.class, queryBean); criteria.add(Restrictions.ne("id", SYS_RECORD_ID)); criteria.createAlias("village", "cs"); criteria.setProjection(Projections.projectionList().add(Projections.count("cs.vname")) .add(Projections.groupProperty("cs.vname"))); return getHibernateTemplate().findByCriteria(criteria); }
From source file:org.generationcp.middleware.dao.dms.ExperimentDao.java
License:Open Source License
public Map<String, Long> countObservationsPerInstance(final Integer datasetId) { try {/*from w w w .j av a 2s .co m*/ final ProjectionList projectionList = Projections.projectionList(); projectionList.add(Projections.groupProperty("g.description")).add(Projections.rowCount()); final Criteria criteria = this.getSession().createCriteria(this.getPersistentClass()); criteria.createAlias("geoLocation", "g"); criteria.setProjection(projectionList); criteria.add(Restrictions.eq("project.projectId", datasetId)); final List<Object[]> rows = criteria.list(); final Map<String, Long> results = new LinkedHashMap<>(); for (final Object[] row : rows) { results.put((String) row[0], (Long) row[1]); } return results; } catch (final HibernateException e) { final String message = "Error at countObservationsPerInstance=" + datasetId + " query at ExperimentDao: " + e.getMessage(); ExperimentDao.LOG.error(message, e); throw new MiddlewareQueryException(message, e); } }
From source file:org.generationcp.middleware.dao.dms.PhenotypeDao.java
License:Open Source License
public Map<Integer, Long> countOutOfSyncDataOfDatasetsInStudy(final Integer studyId) { final Map<Integer, Long> countOutOfSyncPerProjectMap = new HashMap<>(); final Criteria criteria = this.getSession().createCriteria(this.getPersistentClass()); criteria.createAlias("experiment", "experiment"); criteria.createAlias("experiment.project", "project"); criteria.createAlias("project.study", "study"); criteria.add(Restrictions.eq("study.projectId", studyId)); criteria.add(Restrictions.eq("valueStatus", ValueStatus.OUT_OF_SYNC)); final ProjectionList projectionList = Projections.projectionList(); projectionList.add(Projections.groupProperty("project.projectId")).add(Projections.rowCount()); criteria.setProjection(projectionList); final List<Object[]> results = criteria.list(); for (final Object[] row : results) { countOutOfSyncPerProjectMap.put((Integer) row[0], (Long) row[1]); }//from w w w. ja v a 2 s.co m return countOutOfSyncPerProjectMap; }
From source file:org.geoserver.taskmanager.data.impl.TaskManagerDaoImpl.java
License:Open Source License
@SuppressWarnings("unchecked") @Override/*from w ww . j av a 2s. com*/ public List<BatchRun> getCurrentBatchRuns(final Batch batch) { return (List<BatchRun>) (getSession().createCriteria(RunImpl.class).createAlias("batchRun", "batchRun") .createAlias("batchRun.batch", "batch").add(Restrictions.eq("batch.id", batch.getId())) .add(Restrictions.in("status", new Run.Status[] { Run.Status.RUNNING, Run.Status.READY_TO_COMMIT, Run.Status.COMMITTING })) .setProjection(Projections.groupProperty("batchRun")).list()); }
From source file:org.goobi.production.chart.HibernateProjectionProjectTaskList.java
License:Open Source License
@SuppressWarnings("rawtypes") private synchronized void calculate(Project inProject, List<IProjectTask> myTaskList, Boolean countImages, Integer inMax) {/*from w w w . j a va 2 s . c om*/ Session session = Helper.getHibernateSession(); Criteria crit = session.createCriteria(Task.class); crit.createCriteria("process", "proc"); crit.addOrder(Order.asc("ordering")); crit.add(Restrictions.eq("proc.template", Boolean.FALSE)); crit.add(Restrictions.eq("proc.project", inProject)); ProjectionList proList = Projections.projectionList(); proList.add(Projections.property("title")); proList.add(Projections.property("processingStatus")); proList.add(Projections.sum("proc.sortHelperImages")); proList.add(Projections.count("id")); // proList.add(Projections.groupProperty(("reihenfolge"))); proList.add(Projections.groupProperty(("title"))); proList.add(Projections.groupProperty(("processingStatus"))); crit.setProjection(proList); List list = crit.list(); Iterator it = list.iterator(); if (!it.hasNext()) { logger.debug("No any data!"); } else { Integer rowCount = 0; while (it.hasNext()) { Object[] row = (Object[]) it.next(); rowCount++; StringBuilder message = new StringBuilder(); String shorttitle; if (((String) row[FieldList.stepName.getFieldLocation()]).length() > 60) { shorttitle = ((String) row[FieldList.stepName.getFieldLocation()]).substring(0, 60) + "..."; } else { shorttitle = (String) row[FieldList.stepName.getFieldLocation()]; } IProjectTask pt = null; for (IProjectTask task : myTaskList) { if (task.getTitle().equals(shorttitle)) { pt = task; break; } } if (pt == null) { pt = new ProjectTask(shorttitle, 0, 0); myTaskList.add(pt); } if (TaskStatus.DONE.getValue().equals(row[FieldList.stepStatus.getFieldLocation()])) { if (countImages) { pt.setStepsCompleted((Integer) row[FieldList.pageCount.getFieldLocation()]); } else { pt.setStepsCompleted((Integer) row[FieldList.processCount.getFieldLocation()]); } } if (countImages) { pt.setStepsMax(pt.getStepsMax() + (Integer) row[FieldList.pageCount.getFieldLocation()]); } else { pt.setStepsMax(pt.getStepsMax() + (Integer) row[FieldList.processCount.getFieldLocation()]); } // TODO remove following lines all the way to system.out for (int i = 0; i < row.length; i++) { message.append("|"); message.append(row[i]); } logger.debug(Integer.toString(rowCount) + message); } } }
From source file:org.goobi.production.flow.statistics.hibernate.StatQuestProjectAssociations.java
License:Open Source License
@Override public List<DataTable> getDataTables(List<? extends BaseDTO> dataSource) { ProjectionList proj = Projections.projectionList(); proj.add(Projections.count("id")); proj.add(Projections.groupProperty("project.title")); Criteria crit;// ww w . j av a2 s. c o m //TODO: fix it /*if (originalFilter instanceof UserDefinedFilter) { crit = new UserDefinedFilter(originalFilter.getIDList()).getCriteria(); crit.createCriteria("project", "project"); } else { crit = originalFilter.clone().getCriteria(); } // use a clone on the filter and apply the projection on the clone crit.setProjection(proj);*/ String title = StatisticsMode.getByClassName(this.getClass()).getTitle(); DataTable dtbl = new DataTable(title); dtbl.setShowableInPieChart(true); DataRow dRow = new DataRow(Helper.getTranslation("count")); //TODO: replace empty list with result list for (Object obj : new ArrayList<>()) { Object[] objArr = (Object[]) obj; dRow.addValue(new Converter(objArr[1]).getString(), new Converter(new Converter(objArr[0]).getInteger()).getDouble()); } dtbl.addDataRow(dRow); List<DataTable> allTables = new ArrayList<>(); dtbl.setUnitLabel(Helper.getTranslation("project")); allTables.add(dtbl); return allTables; }
From source file:org.hoteia.qalingo.core.dao.impl.ServerDaoImpl.java
License:Apache License
public List<ServerStatus> getServerList() { Criteria criteria = createDefaultCriteria(ServerStatus.class); criteria.setProjection(Projections.groupProperty("serverName").as("serverName")); List<String> serverNames = (List<String>) criteria.list(); List<ServerStatus> serverStatus = new ArrayList<ServerStatus>(); if (null != serverNames) { for (int i = 0; i < serverNames.size(); i++) { ServerStatus status = new ServerStatus(); status.setServerName(serverNames.get(i)); serverStatus.add(status);/* ww w .ja v a 2s . c o m*/ } } return serverStatus; }
From source file:org.hoteia.qalingo.core.dao.ServerDao.java
License:Apache License
public List<ServerStatus> findServerList(Object... params) { Criteria criteria = createDefaultCriteria(ServerStatus.class); criteria.setProjection(Projections.groupProperty("serverName").as("serverName")); List<String> serverNames = (List<String>) criteria.list(); List<ServerStatus> serverStatus = new ArrayList<ServerStatus>(); if (null != serverNames) { for (int i = 0; i < serverNames.size(); i++) { ServerStatus status = new ServerStatus(); status.setServerName(serverNames.get(i)); serverStatus.add(status);/*from ww w .j av a 2s . c om*/ } } return serverStatus; }