Example usage for org.hibernate Criteria add

List of usage examples for org.hibernate Criteria add

Introduction

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

Prototype

public Criteria add(Criterion criterion);

Source Link

Document

Add a Criterion restriction to constrain the results to be retrieved.

Usage

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

License:Open Source License

public List<PhenoDataSetFieldDetailsDataRow> getPhenoDataSetFieldDetailsList(
        PhenoDataSetFieldDetailsReportVO reportVO) {
    List<PhenoDataSetFieldDetailsDataRow> results = new ArrayList<PhenoDataSetFieldDetailsDataRow>();
    if (reportVO.getPhenoDataSetFieldDisplay() != null) {
        /*/*from  w  w  w.  j a  v  a 2s  .  c o m*/
         * Following query returns customFields whether or not they are
         * associated with a customFieldGroups (via customFieldDisplay)
         */
        Criteria criteria = getSession().createCriteria(PhenoDataSetField.class, "pf");
        criteria.createAlias("phenoDatasetFieldDisplay", "pdfd", JoinType.LEFT_OUTER_JOIN); // Left join to CustomFieldDisplay
        criteria.createAlias("pdfd.phenoDatasetFieldGroup", "pdfg", JoinType.LEFT_OUTER_JOIN); // Left join to CustomFieldGroup
        criteria.createAlias("fieldType", "ft", JoinType.LEFT_OUTER_JOIN); // Left join to FieldType
        criteria.createAlias("unitType", "ut", JoinType.LEFT_OUTER_JOIN); // Left join to UnitType
        criteria.add(Restrictions.eq("pf.study", reportVO.getStudy()));
        ArkFunction function = iArkCommonService
                .getArkFunctionByName(au.org.theark.core.Constants.FUNCTION_KEY_VALUE_PHENO_COLLECTION);
        criteria.add(Restrictions.eq("pf.arkFunction", function));

        if (reportVO.getPhenoDataSetFieldDisplay().getPhenoDataSetGroup() != null) {
            criteria.add(Restrictions.eq("pdfg.id",
                    reportVO.getPhenoDataSetFieldDisplay().getPhenoDataSetGroup().getId()));
        }
        if (reportVO.getFieldDataAvailable()) {
            DetachedCriteria fieldDataCriteria = DetachedCriteria.forClass(PhenoDataSetData.class, "pd");
            // Join CustomFieldDisplay and PhenoData on ID FK
            fieldDataCriteria
                    .add(Property.forName("pdfd.id").eqProperty("pd." + "phenoDatasetFieldDisplay.id"));
            criteria.add(Subqueries.exists(
                    fieldDataCriteria.setProjection(Projections.property("pd.phenoDatasetFieldDisplay"))));
        }

        ProjectionList projectionList = Projections.projectionList();
        projectionList.add(Projections.property("pdfg.name"), "questionnaire");
        projectionList.add(Projections.property("pf.name"), "fieldName");
        projectionList.add(Projections.property("pf.description"), "description");
        projectionList.add(Projections.property("pf.minValue"), "minValue");
        projectionList.add(Projections.property("pf.maxValue"), "maxValue");
        projectionList.add(Projections.property("pf.encodedValues"), "encodedValues");
        projectionList.add(Projections.property("pf.missingValue"), "missingValue");
        projectionList.add(Projections.property("ut.name"), "units");
        projectionList.add(Projections.property("ft.name"), "type");

        criteria.setProjection(projectionList); // only return fields required for report
        criteria.setResultTransformer(Transformers.aliasToBean(PhenoDataSetFieldDetailsDataRow.class));
        criteria.addOrder(Order.asc("pdfg.id"));
        criteria.addOrder(Order.asc("pdfd.sequence"));
        results = criteria.list();
    }

    return results;
}

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

License:Open Source License

protected ArkFunction getArkFunctionByName(String functionName) {
    Criteria criteria = getSession().createCriteria(ArkFunction.class);
    criteria.add(Restrictions.eq("name", functionName));
    criteria.setMaxResults(1);//from  w ww  .  j  a  v  a2  s  .c om
    ArkFunction arkFunction = (ArkFunction) criteria.uniqueResult();
    return arkFunction;
}

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

License:Open Source License

public List<PhenoDataSetGroup> getQuestionnaireList(Study study) {
    List<PhenoDataSetGroup> results = null;
    Criteria criteria = getSession().createCriteria(PhenoDataSetGroup.class);
    criteria.add(Restrictions.eq("study", study));
    ArkFunction function = iArkCommonService
            .getArkFunctionByName(au.org.theark.core.Constants.FUNCTION_KEY_VALUE_PHENO_COLLECTION);
    criteria.add(Restrictions.eq("arkFunction", function));
    results = criteria.list();/*from w  ww .ja  va  2 s  .  c  om*/
    return results;
}

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

License:Open Source License

public List<ResearcherCostDataRow> getResearcherBillableItemTypeCostData(
        final ResearcherCostResportVO researcherCostResportVO) {
    List<ResearcherCostDataRow> results = new ArrayList<ResearcherCostDataRow>();
    Criteria criteria = getSession().createCriteria(BillableItem.class, "bi");
    criteria.createAlias("workRequest", "wr", JoinType.LEFT_OUTER_JOIN);
    criteria.createAlias("billableItemType", "bit", JoinType.LEFT_OUTER_JOIN);
    criteria.createAlias("bit.billableItemTypeStatus", "bitst", JoinType.LEFT_OUTER_JOIN);
    criteria.createAlias("wr.researcher", "re", JoinType.LEFT_OUTER_JOIN);

    criteria.add(Restrictions.eq("re.id", researcherCostResportVO.getResearcherId()));
    criteria.add(Restrictions.eq("bi.studyId", researcherCostResportVO.getStudyId()));
    criteria.add(Restrictions.eq("bi.invoice", researcherCostResportVO.getInvoice()));
    criteria.add(Restrictions.le("bi.commenceDate", researcherCostResportVO.getToDate()));
    criteria.add(Restrictions.ge("bi.commenceDate", researcherCostResportVO.getFromDate()));
    criteria.add(Restrictions.eq("bitst.name", "ACTIVE"));

    ProjectionList projectionList = Projections.projectionList();
    projectionList.add(Projections.groupProperty("bit.id"));
    projectionList.add(Projections.property("bit.itemName"), "costType");
    projectionList.add(Projections.sum("bi.totalCost"), "totalCost");
    projectionList.add(Projections.sum("bi.totalGST"), "totalGST");

    criteria.setProjection(projectionList); // only return fields required for report
    criteria.setResultTransformer(Transformers.aliasToBean(ResearcherCostDataRow.class));

    criteria.addOrder(Order.asc("bit.itemName"));
    results = criteria.list();// ww  w .  jav a 2 s  .  c om
    return results;
}

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

License:Open Source License

public List<Researcher> searchResearcherByStudyId(final Long studyId) {
    Criteria criteria = getSession().createCriteria(Researcher.class);
    criteria.add(Restrictions.eq("studyId", studyId));
    List<Researcher> list = criteria.list();
    return list;//from   w  ww.  j  av  a 2s.  com
}

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

License:Open Source License

public List<ResearcherDetailCostDataRow> getBillableItemDetailCostData(
        ResearcherCostResportVO researcherCostResportVO) {
    List<ResearcherDetailCostDataRow> results = new ArrayList<ResearcherDetailCostDataRow>();
    Criteria criteria = getSession().createCriteria(BillableItem.class, "bi");
    criteria.createAlias("workRequest", "wr", JoinType.LEFT_OUTER_JOIN);
    criteria.createAlias("billableItemType", "bit", JoinType.LEFT_OUTER_JOIN);
    criteria.createAlias("wr.researcher", "re", JoinType.LEFT_OUTER_JOIN);

    if (researcherCostResportVO.getResearcherId() != null) {
        criteria.add(Restrictions.eq("re.id", researcherCostResportVO.getResearcherId()));
    }//from   w  w w .j  av a2s  .  c  o m

    criteria.add(Restrictions.eq("bi.studyId", researcherCostResportVO.getStudyId()));
    criteria.add(Restrictions.eq("bi.invoice", researcherCostResportVO.getInvoice()));
    criteria.add(Restrictions.le("bi.commenceDate", researcherCostResportVO.getToDate()));
    criteria.add(Restrictions.ge("bi.commenceDate", researcherCostResportVO.getFromDate()));

    ProjectionList projectionList = Projections.projectionList();
    projectionList.add(Projections.property("bi.description"), "description");
    projectionList.add(Projections.property("bi.commenceDate"), "commencedDate");
    projectionList.add(Projections.property("bi.invoice"), "invoice");
    projectionList.add(Projections.property("bi.quantity"), "quantity");
    projectionList.add(Projections.property("bi.totalCost"), "totalAmount");
    projectionList.add(Projections.property("bi.totalGST"), "totalGST");
    projectionList.add(Projections.property("bit.itemName"), "itemType");
    projectionList.add(Projections.property("bit.id"), "typeId");
    projectionList.add(Projections.property("bit.quantityType"), "quantityType");
    projectionList.add(Projections.property("wr.gstAllow"), "gstAllowed");

    projectionList.add(Projections.property("wr.name"), "requestName");

    criteria.setProjection(projectionList); // only return fields required for report
    criteria.setResultTransformer(Transformers.aliasToBean(ResearcherDetailCostDataRow.class));
    criteria.addOrder(Order.asc("bit.id"));
    criteria.addOrder(Order.asc("bi.commenceDate"));
    results = criteria.list();
    return results;
}

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

License:Open Source License

public List<BiospecimenSummaryDataRow> getBiospecimenSummaryData(
        BiospecimenSummaryReportVO biospecimenSummaryReportVO) {
    List<BiospecimenSummaryDataRow> results = new ArrayList<BiospecimenSummaryDataRow>();

    Criteria criteria = getSession().createCriteria(BioTransaction.class, "bt");

    criteria.createAlias("status", "bts", JoinType.LEFT_OUTER_JOIN);
    criteria.createAlias("biospecimen", "bs", JoinType.LEFT_OUTER_JOIN);
    criteria.createAlias("bs.study", "st", JoinType.LEFT_OUTER_JOIN);
    criteria.createAlias("bs.linkSubjectStudy", "lss", JoinType.LEFT_OUTER_JOIN);
    criteria.createAlias("bs.sampleType", "sat", JoinType.LEFT_OUTER_JOIN);

    criteria.add(Restrictions.eq("st.id", biospecimenSummaryReportVO.getStudy().getId()));
    if (biospecimenSummaryReportVO.getSubjectUID() != null) {
        criteria.add(Restrictions.eq("lss.subjectUID", biospecimenSummaryReportVO.getSubjectUID()));
    }//from   w  w  w  .ja v  a2  s  . co  m

    ProjectionList projectionList = Projections.projectionList();
    projectionList.add(Projections.min("bt.id"));
    projectionList.add(Projections.groupProperty("bs.id"));

    projectionList.add(Projections.property("st.name"), "studyName");
    projectionList.add(Projections.property("lss.subjectUID"), "subjectUId");
    projectionList.add(Projections.property("bs.id"), "biospecimenId");
    projectionList.add(Projections.property("bs.biospecimenUid"), "biospecimenUid");
    projectionList.add(Projections.property("bs.parentUid"), "parentId");
    projectionList.add(Projections.property("sat.name"), "sampleType");
    projectionList.add(Projections.property("bs.quantity"), "quantity");
    projectionList.add(Projections.property("bts.name"), "initialStatus");

    criteria.setProjection(projectionList);
    criteria.setResultTransformer(Transformers.aliasToBean(BiospecimenSummaryDataRow.class));
    criteria.addOrder(Order.asc("lss.subjectUID"));
    criteria.addOrder(Order.asc("bs.biospecimenUid"));
    results = criteria.list();

    return results;
}

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

License:Open Source License

public List<BiospecimenDetailsDataRow> getBiospecimenDetailsData(
        BiospecimenDetailsReportVO biospecimenDetailReportVO) {
    List<BiospecimenDetailsDataRow> results = new ArrayList<BiospecimenDetailsDataRow>();

    Criteria criteria = getSession().createCriteria(BioTransaction.class, "bt");

    criteria.createAlias("status", "bts", JoinType.LEFT_OUTER_JOIN);
    criteria.createAlias("biospecimen", "bs", JoinType.LEFT_OUTER_JOIN);
    criteria.createAlias("bs.study", "st", JoinType.LEFT_OUTER_JOIN);
    criteria.createAlias("bs.bioCollection", "bc", JoinType.LEFT_OUTER_JOIN);
    criteria.createAlias("bs.linkSubjectStudy", "lss", JoinType.LEFT_OUTER_JOIN);
    criteria.createAlias("bs.sampleType", "sat", JoinType.LEFT_OUTER_JOIN);
    criteria.createAlias("bs.invCell", "inc", JoinType.LEFT_OUTER_JOIN);
    criteria.createAlias("inc.invBox", "inb", JoinType.LEFT_OUTER_JOIN);
    criteria.createAlias("inb.invRack", "inr", JoinType.LEFT_OUTER_JOIN);
    criteria.createAlias("inr.invFreezer", "inf", JoinType.LEFT_OUTER_JOIN);
    criteria.createAlias("inf.invSite", "ins", JoinType.LEFT_OUTER_JOIN);

    criteria.add(Restrictions.eq("st.id", biospecimenDetailReportVO.getStudy().getId()));
    if (biospecimenDetailReportVO.getSubjectUID() != null) {
        criteria.add(Restrictions.eq("lss.subjectUID", biospecimenDetailReportVO.getSubjectUID()));
    }//  w  ww .j a  v  a  2s  . c o  m

    ProjectionList projectionList = Projections.projectionList();
    projectionList.add(Projections.min("bt.id"));
    projectionList.add(Projections.groupProperty("bs.id"));

    projectionList.add(Projections.property("st.name"), "studyName");
    projectionList.add(Projections.property("lss.subjectUID"), "subjectUId");
    projectionList.add(Projections.property("bs.id"), "biospecimenId");
    projectionList.add(Projections.property("bc.biocollectionUid"), "biocollectionUid");
    projectionList.add(Projections.property("bs.sampleDate"), "sampleDate");
    projectionList.add(Projections.property("bs.biospecimenUid"), "biospecimenUid");
    projectionList.add(Projections.property("bs.parentUid"), "parentId");
    projectionList.add(Projections.property("sat.name"), "sampleType");
    projectionList.add(Projections.property("bs.quantity"), "quantity");
    projectionList.add(Projections.property("bts.name"), "initialStatus");

    projectionList.add(Projections.property("inb.name"), "box");
    projectionList.add(Projections.property("inr.name"), "rack");
    projectionList.add(Projections.property("inf.name"), "freezer");
    projectionList.add(Projections.property("ins.name"), "site");

    criteria.setProjection(projectionList);
    criteria.setResultTransformer(Transformers.aliasToBean(BiospecimenDetailsDataRow.class));
    criteria.addOrder(Order.asc("lss.subjectUID"));
    criteria.addOrder(Order.asc("bs.biospecimenUid"));
    results = criteria.list();

    return results;
}

From source file:au.org.theark.study.model.dao.StudyDao.java

License:Open Source License

public boolean isStudyComponentUsed(StudyComp studyComp) {
    boolean flag = false;
    Criteria criteria = getSession().createCriteria(Consent.class);
    criteria.add(Restrictions.eq("studyComp", studyComp));
    criteria.setProjection(Projections.rowCount());
    Long i = (Long) criteria.uniqueResult();
    if (i > 0L) {
        flag = true;/*from w ww.j  a va  2s  . com*/
    }
    return flag;
}

From source file:au.org.theark.study.model.dao.StudyDao.java

License:Open Source License

public List<StudyComp> searchStudyComp(StudyComp studyCompCriteria) {
    Criteria criteria = getSession().createCriteria(StudyComp.class);
    if (studyCompCriteria.getId() != null) {
        //criteria.add(Restrictions.like(Constants.ID, studyCompCriteria.getId().toString(),MatchMode.ANYWHERE));
        //ARK-1558
        criteria.add(Restrictions.sqlRestriction(" id LIKE '%" + studyCompCriteria.getId() + "%' "));
    }/*from ww w  .  j a  va 2  s  .com*/
    if (studyCompCriteria.getName() != null) {
        criteria.add(
                Restrictions.ilike(Constants.STUDY_COMP_NAME, studyCompCriteria.getName(), MatchMode.ANYWHERE));
    }
    if (studyCompCriteria.getKeyword() != null) {
        criteria.add(Restrictions.ilike(Constants.STUDY_COMP_KEYWORD, studyCompCriteria.getKeyword(),
                MatchMode.ANYWHERE));
    }
    // Restrict the search for the study do not pull other study components
    criteria.add(Restrictions.eq("study", studyCompCriteria.getStudy()));

    List<StudyComp> list = criteria.list();
    return list;
}