Example usage for org.hibernate.criterion Projections groupProperty

List of usage examples for org.hibernate.criterion Projections groupProperty

Introduction

In this page you can find the example usage for org.hibernate.criterion Projections groupProperty.

Prototype

public static PropertyProjection groupProperty(String propertyName) 

Source Link

Document

A grouping property value projection

Usage

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;
}