Example usage for org.hibernate.criterion DetachedCriteria setProjection

List of usage examples for org.hibernate.criterion DetachedCriteria setProjection

Introduction

In this page you can find the example usage for org.hibernate.criterion DetachedCriteria setProjection.

Prototype

public DetachedCriteria setProjection(Projection projection) 

Source Link

Document

Set the projection to use.

Usage

From source file:gr.abiss.calipso.domain.ItemSearch.java

License:Open Source License

public List<DetachedCriteria> getGroupByCriteria() {
    List<DetachedCriteria> criteriaList = new LinkedList();
    List<ColumnHeading> optionHeadings = getGroupByHeadings();
    if (CollectionUtils.isNotEmpty(optionHeadings)) {
        for (ColumnHeading heading : optionHeadings) {
            DetachedCriteria criteria = this.getCriteria();
            criteria.setProjection(
                    Projections.projectionList().add(Projections.groupProperty(heading.getNameText()))
                            .add(Projections.rowCount(), "rowCount"))
                    .addOrder(Order.desc("rowCount"));
            criteriaList.add(criteria);/*from  w ww. j  av a  2 s  .  c  o  m*/

        }
    }
    return criteriaList;
}

From source file:gr.abiss.calipso.hibernate.HibernateDao.java

License:Open Source License

@Override
public List<Item> findItems(ItemSearch itemSearch) {
    int pageSize = itemSearch.getPageSize();
    if (pageSize == -1) {
        List<Item> list = getHibernateTemplate().findByCriteria(itemSearch.getCriteria());
        itemSearch.setResultCount(list.size());
        return list;
    } else {// w ww . j a va 2s  .co m
        // pagination
        int firstResult = pageSize * itemSearch.getCurrentPage();
        List<Item> list = getHibernateTemplate().findByCriteria(itemSearch.getCriteria(), firstResult,
                pageSize);
        List<Item> finalList = null;
        DetachedCriteria criteria = itemSearch.getCriteriaForCount();
        criteria.setProjection(Projections.rowCount());
        Long count = (Long) getHibernateTemplate().findByCriteria(criteria).get(0);
        itemSearch.setResultCount(count);
        return list;
    }
}

From source file:gr.abiss.calipso.hibernate.HibernateDao.java

License:Open Source License

@Override
public Map<String, List> findItemGroupByTotals(ItemSearch itemSearch) {
    Map<String, List> results = new HashMap<String, List>();
    List<ColumnHeading> optionHeadings = itemSearch.getGroupByHeadings();
    if (CollectionUtils.isNotEmpty(optionHeadings)) {
        DetachedCriteria criteria = itemSearch.getCriteria();
        for (ColumnHeading heading : optionHeadings) {
            criteria.setProjection(
                    Projections.projectionList().add(Projections.groupProperty(heading.getNameText()))
                            .add(Projections.rowCount(), "rowCount"))
                    .addOrder(Order.desc("rowCount"));
            List queryResults = getHibernateTemplate().findByCriteria(criteria);
            results.put(heading.getNameText(), queryResults);

        }//from   ww w . ja  v  a 2  s.  c om
    }
    return results;
}

From source file:gr.abiss.calipso.hibernate.HibernateDao.java

License:Open Source License

/**
 * Search Custom Attributes.//www .  j  a  v a 2 s .c o  m
 * 
 * */
@Override
@SuppressWarnings("unchecked")
public List<AssetTypeCustomAttribute> findCustomAttributesMatching(
        final AssetTypeCustomAttributeSearch searchCustomAttribute) {
    DetachedCriteria criteria = searchCustomAttribute.getDetachedCriteria();

    List<AssetTypeCustomAttribute> list = getHibernateTemplate().findByCriteria(criteria,
            searchCustomAttribute.getPageBegin() - 1, searchCustomAttribute.getPageSize());
    criteria = searchCustomAttribute.getDetachedCriteriaForCount();
    criteria.setProjection(Projections.rowCount());
    Long count = (Long) getHibernateTemplate().findByCriteria(criteria).get(0);
    searchCustomAttribute.setResultCount(count);

    return list;
}

From source file:gr.abiss.calipso.hibernate.HibernateDao.java

License:Open Source License

/**
 * Search Asset Types/*from   w w  w  .  ja v  a  2 s  .c  o m*/
 * @author marcello
 * @param assetTypeSearch contains search parameter values
 * @return a list of Asset Types matching given criteria 
 * 
 **/
@Override
public List<AssetType> findAssetTypesMatching(AssetTypeSearch assetTypeSearch) {

    DetachedCriteria criteria = assetTypeSearch.getDetachedCriteria();
    List<AssetType> list = getHibernateTemplate().findByCriteria(criteria, assetTypeSearch.getPageBegin() - 1,
            assetTypeSearch.getPageSize());
    criteria = assetTypeSearch.getDetachedCriteriaForCount();
    criteria.setProjection(Projections.rowCount());
    Long count = (Long) getHibernateTemplate().findByCriteria(criteria).get(0);
    assetTypeSearch.setResultCount(count);

    return list;
}

From source file:gr.abiss.calipso.hibernate.HibernateDao.java

License:Open Source License

@Override
public List<Object> findCustomAttributeValueMatching(AssetSearch assetSearch) {

    DetachedCriteria criteria = assetSearch.getDetachedCriteria();
    List<Object> list = getHibernateTemplate().findByCriteria(criteria, assetSearch.getPageBegin() - 1,
            assetSearch.getPageSize());//from w  ww  . java 2 s  . c  om
    criteria = assetSearch.getDetachedCriteriaForCount();
    criteria.setProjection(Projections.rowCount());
    Long count = (Long) getHibernateTemplate().findByCriteria(criteria).get(0);
    assetSearch.setResultCount(count.longValue());
    //      assetSearch.setResultCount(list.size());

    return list;
}

From source file:gr.abiss.calipso.hibernate.HibernateDao.java

License:Open Source License

@Override
public List<ValidationExpression> findValidationExpressionsMatching(
        ValidationExpressionSearch validationExpressionSearch) {

    DetachedCriteria criteria = validationExpressionSearch.getDetachedCriteria();
    List<ValidationExpression> list = getHibernateTemplate().findByCriteria(criteria,
            validationExpressionSearch.getPageBegin() - 1, validationExpressionSearch.getPageSize());
    criteria = validationExpressionSearch.getDetachedCriteriaForCount();
    criteria.setProjection(Projections.rowCount());
    Long count = (Long) getHibernateTemplate().findByCriteria(criteria).get(0);
    validationExpressionSearch.setResultCount(count);

    return list;/*ww w .j  a v a 2 s .  c om*/
}

From source file:gr.abiss.calipso.hibernate.HibernateDao.java

License:Open Source License

@Override
public List<Organization> findOrganizationsMatching(OrganizationSearch organizationSearch) {

    DetachedCriteria criteria = organizationSearch.getDetachedCriteria();
    List<Organization> list = getHibernateTemplate().findByCriteria(criteria,
            organizationSearch.getPageBegin() - 1, organizationSearch.getPageSize());
    criteria = organizationSearch.getDetachedCriteriaForCount();
    criteria.setProjection(Projections.rowCount());
    Long count = (Long) getHibernateTemplate().findByCriteria(criteria).get(0);
    organizationSearch.setResultCount(count);

    return list;/*from   w  ww  .j a  v  a 2 s . c  o m*/
}

From source file:gr.abiss.calipso.hibernate.HibernateDao.java

License:Open Source License

@Override
public List<PageDictionary> findPageDictionaryMatching(PageDictionarySearch pageDictionarySearch) {
    DetachedCriteria criteria = pageDictionarySearch.getDetachedCriteria();
    List<PageDictionary> list = getHibernateTemplate().findByCriteria(criteria,
            pageDictionarySearch.getPageBegin() - 1, pageDictionarySearch.getPageSize());
    criteria = pageDictionarySearch.getDetachedCriteriaForCount();
    criteria.setProjection(Projections.rowCount());
    Long count = (Long) getHibernateTemplate().findByCriteria(criteria).get(0);
    pageDictionarySearch.setResultCount(count);

    return list;/* w w  w.j  av  a 2  s  .  c  om*/
}

From source file:gr.abiss.calipso.hibernate.HibernateDao.java

License:Open Source License

@Override
public List<InforamaDocument> findInforamaDocumentMatching(InforamaDocumentSearch inforamaDocumentSearch) {
    DetachedCriteria criteria = inforamaDocumentSearch.getDetachedCriteria();
    List<InforamaDocument> list = getHibernateTemplate().findByCriteria(criteria,
            inforamaDocumentSearch.getPageBegin() - 1, inforamaDocumentSearch.getPageSize());
    criteria = inforamaDocumentSearch.getDetachedCriteriaForCount();
    criteria.setProjection(Projections.rowCount());
    Long count = (Long) getHibernateTemplate().findByCriteria(criteria).get(0);
    inforamaDocumentSearch.setResultCount(count);

    return list;//from  w w w .j a  va  2  s. c  om
}