Example usage for org.hibernate.criterion ProjectionList add

List of usage examples for org.hibernate.criterion ProjectionList add

Introduction

In this page you can find the example usage for org.hibernate.criterion ProjectionList add.

Prototype

public ProjectionList add(Projection projection) 

Source Link

Document

Add a projection to this list of projections

Usage

From source file:ar.com.zauber.commons.repository.aggregate.ProjectionAggregateFunctionVisitor.java

License:Apache License

/** @see AggregateFunctionVisitor#visitCompositeAggregateFilter(
 * CompositeAggregateFunction) */
public final void visitCompositeAggregateFilter(final CompositeAggregateFunction caf) {

    final ProjectionList pj = Projections.projectionList();
    ProjectionList last = pj;
    for (final AggregateFunction function : caf.getFunctions()) {
        final Projection p = createProjection(function);
        last = last.add(p);
    }/*from  w w w . j  av  a  2s . c  o m*/
    projection = pj;
}

From source file:au.org.theark.core.dao.ArkAuthorisationDao.java

License:Open Source License

@SuppressWarnings("unchecked")
public Collection<String> getArkRolePermission(ArkFunction arkFunction, String userRole, ArkModule arkModule)
        throws EntityNotFoundException {

    Collection<String> stringPermissions = new ArrayList<String>();
    ArkRole arkRole = getArkRoleByName(userRole);
    Criteria criteria = getSession().createCriteria(ArkRolePolicyTemplate.class);

    if (arkModule != null) {
        criteria.add(Restrictions.eq("arkModule", arkModule));
    }//from www .  j  a va  2  s .c o  m

    if (arkFunction != null) {
        criteria.add(Restrictions.eq("arkFunction", arkFunction));
    }

    if (arkRole != null) {
        criteria.add(Restrictions.eq("arkRole", arkRole));

        criteria.createAlias("arkPermission", "permission");
        ProjectionList projectionList = Projections.projectionList();
        projectionList.add(Projections.groupProperty("permission.name"));
        criteria.setProjection(projectionList);

        stringPermissions = criteria.list();
    }
    return stringPermissions;
}

From source file:au.org.theark.core.dao.ArkAuthorisationDao.java

License:Open Source License

/**
 * Returns a list of All Permissions in Ark System
 * // ww w  .j  av a2 s. c  om
 * @return
 */
@SuppressWarnings("unchecked")
public Collection<String> getArkPermission() {
    Collection<String> arkStringPermissions = new ArrayList<String>();
    Criteria criteria = getSession().createCriteria(ArkPermission.class);
    ProjectionList projectionList = Projections.projectionList();
    projectionList.add(Projections.groupProperty("name"));
    criteria.setProjection(projectionList);
    arkStringPermissions = criteria.list();
    return arkStringPermissions;
}

From source file:au.org.theark.core.dao.StudyDao.java

License:Open Source License

@Override
public List<StudyComp> getDifferentStudyComponentsInConsentForSubject(Study study,
        LinkSubjectStudy linkSubjectStudy) {
    Criteria criteria = getSession().createCriteria(Consent.class);
    criteria.add(Restrictions.eq("study", study));
    criteria.add(Restrictions.eq("linkSubjectStudy", linkSubjectStudy));
    ProjectionList projectionList = Projections.projectionList();
    projectionList.add(Projections.groupProperty("studyComp"));
    criteria.setProjection(projectionList);
    criteria.addOrder(Order.asc("id"));
    List<StudyComp> fieldsList = criteria.list();
    return fieldsList;
}

From source file:au.org.theark.phenotypic.model.dao.PhenotypicDao.java

License:Open Source License

public long getCountOfCollectionsWithDataInStudy(Study study) {
    long count = 0;

    if (study.getId() != null) {
        Collection<PhenoDataSetCollection> phenoCollectionColn = getPhenoCollectionByStudy(study);

        for (Iterator iterator = phenoCollectionColn.iterator(); iterator.hasNext();) {
            PhenoDataSetCollection phenoCollection = (PhenoDataSetCollection) iterator.next();

            Criteria criteria = getSession().createCriteria(PhenoDataSetData.class);
            criteria.add(Restrictions.eq("phenCollection", phenoCollection));
            ProjectionList projList = Projections.projectionList();
            projList.add(Projections.countDistinct("collection"));
            criteria.setProjection(projList);
            List list = criteria.list();
            count = count + ((Long) list.get(0));
        }// w  w  w  . j av  a 2  s  .c  o  m
    }

    return count;
}

From source file:au.org.theark.phenotypic.model.dao.PhenotypicDao.java

License:Open Source License

public List<CustomField> getCustomFieldsLinkedToCustomFieldGroup(CustomFieldGroup customFieldCriteria) {

    Criteria criteria = getSession().createCriteria(CustomFieldDisplay.class);
    criteria.add(Restrictions.eq("customFieldGroup", customFieldCriteria));
    ProjectionList projectionList = Projections.projectionList();
    projectionList.add(Projections.property("customField"));
    criteria.setProjection(projectionList);
    criteria.addOrder(Order.asc("sequence"));
    List<CustomField> fieldsList = criteria.list();
    //log.warn("______________customFieldsList = " + fieldsList.size());
    return fieldsList;

}

From source file:au.org.theark.phenotypic.model.dao.PhenotypicDao.java

License:Open Source License

@Override
public List<PhenoDataSetField> getPhenoDataSetFieldsLinkedToPhenoDataSetFieldGroup(
        PhenoDataSetGroup phenoDataSetGroupCriteria) {
    Criteria criteria = getSession().createCriteria(PhenoDataSetFieldDisplay.class);
    criteria.add(Restrictions.eq("phenoDataSetGroup", phenoDataSetGroupCriteria));
    ProjectionList projectionList = Projections.projectionList();
    projectionList.add(Projections.property("phenoDataSetField"));
    criteria.setProjection(projectionList);
    criteria.addOrder(Order.asc("phenoDataSetFiledOrderNumber"));
    List<PhenoDataSetField> fieldsList = criteria.list();
    return fieldsList;
}

From source file:au.org.theark.report.model.dao.ReportDao.java

License:Open Source License

public Map<String, Long> getSubjectStatusCounts(Study study) {
    Criteria criteria = getSession().createCriteria(LinkSubjectStudy.class);
    criteria.add(Restrictions.eq("study", study));
    ProjectionList projectionList = Projections.projectionList();
    criteria.createAlias("subjectStatus", "subjectStatusAlias");
    projectionList.add(Projections.groupProperty("subjectStatusAlias.name"));
    projectionList.add(Projections.rowCount());
    criteria.setProjection(projectionList);
    List results = criteria.list();
    Map<String, Long> statusMap = new HashMap<String, Long>();
    for (Object r : results) {
        Object[] obj = (Object[]) r;
        String statusName = (String) obj[0];
        statusMap.put(statusName, (Long) obj[1]);
    }// w  w  w  .j ava  2s .  c  o m
    return statusMap;
}

From source file:au.org.theark.report.model.dao.ReportDao.java

License:Open Source License

public Map<String, Long> getStudyConsentCounts(Study study) {
    Map<String, Long> statusMap = new HashMap<String, Long>();

    Criteria criteria = getSession().createCriteria(LinkSubjectStudy.class);
    criteria.add(Restrictions.eq("study", study));
    ProjectionList projectionList = Projections.projectionList();
    criteria.createAlias("consentStatus", "consentStatusAlias");
    projectionList.add(Projections.groupProperty("consentStatusAlias.name"));
    projectionList.add(Projections.rowCount());
    criteria.setProjection(projectionList);
    List results = criteria.list();
    for (Object r : results) {
        Object[] obj = (Object[]) r;
        String statusName = (String) obj[0];
        statusMap.put(statusName, (Long) obj[1]);
    }//from w  ww . ja  v  a  2 s.  co  m

    // Tack on count of when consentStatus = undefined (NULL)
    criteria = getSession().createCriteria(LinkSubjectStudy.class);
    criteria.add(Restrictions.eq("study", study));
    criteria.add(Restrictions.isNull("consentStatus"));
    projectionList = Projections.projectionList();
    projectionList.add(Projections.rowCount());
    criteria.setProjection(projectionList);
    Long undefCount = (Long) criteria.uniqueResult();
    String statusName = Constants.NOT_CONSENTED;
    statusMap.put(statusName, undefCount);

    return statusMap;
}

From source file:au.org.theark.report.model.dao.ReportDao.java

License:Open Source License

public Map<String, Long> getStudyCompConsentCounts(Study study, StudyComp studyComp) {
    Map<String, Long> statusMap = new HashMap<String, Long>();

    Criteria criteria = getSession().createCriteria(Consent.class);
    criteria.add(Restrictions.eq("study", study));
    criteria.add(Restrictions.eq("studyComp", studyComp));
    ProjectionList projectionList = Projections.projectionList();
    criteria.createAlias("consentStatus", "consentStatusAlias");
    projectionList.add(Projections.groupProperty("consentStatusAlias.name"));
    projectionList.add(Projections.rowCount());
    criteria.setProjection(projectionList);
    List results = criteria.list();
    if ((results != null) && (results.size() > 0)) {
        for (Object r : results) {
            Object[] obj = (Object[]) r;
            String statusName = (String) obj[0];
            statusMap.put(statusName, (Long) obj[1]);
        }/*from   w  ww  .  j  a  v  a 2  s.c o m*/
    } else {
        statusMap.put("(none found)", new Long(0));
    }
    return statusMap;
}