Example usage for org.hibernate.criterion Restrictions eq

List of usage examples for org.hibernate.criterion Restrictions eq

Introduction

In this page you can find the example usage for org.hibernate.criterion Restrictions eq.

Prototype

public static SimpleExpression eq(String propertyName, Object value) 

Source Link

Document

Apply an "equal" constraint to the named property

Usage

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

License:Open Source License

/**
 * Determines if study component with a given name is already present for a Study.
 * //  w  ww  .j  a va2  s. c om
 * @param studyComponentName
 * @param study
 * @return
 */
public boolean isStudyComponentPresent(String studyComponentName, Study study) {
    boolean isPresent = false;
    Criteria criteria = getSession().createCriteria(StudyComp.class);
    criteria.add(Restrictions.eq("name", studyComponentName));
    criteria.add(Restrictions.eq("study", study));
    if (criteria.list() != null && criteria.list().size() > 0) {
        isPresent = true;
    }
    return isPresent;
}

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

License:Open Source License

public boolean isStudyCompUnique(String studyComponentName, Study study, StudyComp studyComponentToUpdate) {

    boolean isUnique = true;
    StatelessSession stateLessSession = getStatelessSession();
    Criteria criteria = stateLessSession.createCriteria(StudyComp.class);
    criteria.add(Restrictions.eq("name", studyComponentName));
    criteria.add(Restrictions.eq("study", study));
    criteria.setMaxResults(1);/*ww  w . j a  v  a 2s  . c  om*/

    StudyComp existingComponent = (StudyComp) criteria.uniqueResult();

    if ((studyComponentToUpdate.getId() != null && studyComponentToUpdate.getId() > 0)) {

        if (existingComponent != null && !studyComponentToUpdate.getId().equals(existingComponent.getId())) {
            isUnique = false;
        }
    } else {
        if (existingComponent != null) {
            isUnique = false;
        }
    }
    stateLessSession.close();
    return isUnique;

}

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

License:Open Source License

/**
 * The count can be based on CustomFieldDisplay only instead of a left join with it using SubjectCustomFieldData
 *//*www .  ja v a  2  s .co  m*/
public long getSubjectCustomFieldDataCount(LinkSubjectStudy linkSubjectStudyCriteria, ArkFunction arkFunction) {
    Criteria criteria = getSession().createCriteria(CustomFieldDisplay.class);
    criteria.createAlias("customField", "cfield", JoinType.LEFT_OUTER_JOIN);
    criteria.createAlias("cfield.customFieldType", "cfieldType", JoinType.LEFT_OUTER_JOIN);
    criteria.add(Restrictions.eq("cfield.study", linkSubjectStudyCriteria.getStudy()));
    criteria.add(Restrictions.eq("cfield.arkFunction", arkFunction));
    criteria.add(Restrictions.or(Restrictions.isNull("cfield.customFieldType"),
            Restrictions.eq("cfieldType.name", "SUBJECT")));
    criteria.setProjection(Projections.rowCount());

    return (Long) criteria.uniqueResult();
}

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

License:Open Source License

/**
 * The count can be based on CustomFieldDisplay only instead of a left join with it using FamilyCustomFieldData
 *//*from  w  w  w .jav  a 2 s.c o  m*/
public long getFamilyCustomFieldDataCount(LinkSubjectStudy linkSubjectStudyCriteria, ArkFunction arkFunction) {
    Criteria criteria = getSession().createCriteria(CustomFieldDisplay.class);
    criteria.createAlias("customField", "cfield", JoinType.LEFT_OUTER_JOIN);
    criteria.createAlias("cfield.customFieldType", "cfieldType", JoinType.LEFT_OUTER_JOIN);
    criteria.add(Restrictions.eq("cfield.study", linkSubjectStudyCriteria.getStudy()));
    criteria.add(Restrictions.eq("cfield.arkFunction", arkFunction));
    criteria.add(Restrictions.eq("cfieldType.name", "FAMILY"));
    criteria.setProjection(Projections.rowCount());
    return (Long) criteria.uniqueResult();
}

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

License:Open Source License

public boolean isStudyComponentHasAttachments(StudyComp studyComp) {

    boolean isFlag = false;
    Criteria criteria = getStatelessSession().createCriteria(SubjectFile.class);
    criteria.add(Restrictions.eq("studyComp", studyComp));
    criteria.setProjection(Projections.rowCount());
    Long i = (Long) criteria.uniqueResult();
    if (i > 0L) {
        isFlag = true;//from  ww  w.  j a v  a 2s .  c  o  m
    }
    return isFlag;
}

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

License:Open Source License

private boolean linkSubjectStudyExists(LinkSubjectStudy linkSubjectStudy) {
    Criteria criteria = getStatelessSession().createCriteria(LinkSubjectStudy.class);
    criteria.add(Restrictions.eq("subjectUID", linkSubjectStudy.getSubjectUID()));
    criteria.add(Restrictions.eq("study", linkSubjectStudy.getStudy()));
    return criteria.uniqueResult() != null;
}

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

License:Open Source License

public LinkStudySubstudy isSubStudy(Study study) {
    Criteria criteria = getStatelessSession().createCriteria(LinkStudySubstudy.class);
    criteria.add(Restrictions.eq("subStudy", study));
    LinkStudySubstudy linkedStudy = (LinkStudySubstudy) criteria.uniqueResult();
    return linkedStudy;
}

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

License:Open Source License

public List<Study> getChildStudyListOfParent(Study study) {
    Criteria criteria = getStatelessSession().createCriteria(Study.class);
    criteria.add(Restrictions.ne("id", study.getId()));
    criteria.add(Restrictions.eq("parentStudy", study));

    try {// ww  w.j a  v  a 2 s .  c  o  m
        criteria.add(Restrictions.ne("studyStatus", getStudyStatus("Archive")));
    } catch (StatusNotAvailableException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    criteria.addOrder(Order.asc("name"));
    List<Study> childStudyList = (List<Study>) criteria.list();
    return childStudyList;
}

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

License:Open Source License

public RelationshipVo getSubjectRelative(final String subjectUID, final Long studyId) {
    List<RelationshipVo> relatives = new ArrayList<RelationshipVo>();
    Criteria criteria = getSession().createCriteria(LinkSubjectStudy.class, "sub");
    criteria.createAlias("sub.study", "substudy", JoinType.LEFT_OUTER_JOIN);
    criteria.createAlias("sub.person", "subPerson", JoinType.LEFT_OUTER_JOIN);
    criteria.createAlias("subPerson.genderType", "subGender", JoinType.LEFT_OUTER_JOIN);
    criteria.createAlias("subPerson.vitalStatus", "subVitStatus", JoinType.LEFT_OUTER_JOIN);

    criteria.createAlias("substudy.pedigreeConfiguration", "spc", JoinType.LEFT_OUTER_JOIN);
    criteria.createAlias("spc.customField", "cf", JoinType.LEFT_OUTER_JOIN);
    criteria.createAlias("cf.customFieldDisplay", "cfd", JoinType.LEFT_OUTER_JOIN);
    criteria.createAlias("sub.subjectCustomFieldDataSet", "scfd", JoinType.LEFT_OUTER_JOIN,
            Restrictions.eqProperty("cfd.id", "scfd.customFieldDisplay.id"));

    criteria.add(Restrictions.eq("sub.subjectUID", subjectUID));
    criteria.add(Restrictions.eq("substudy.id", studyId));

    criteria.setFetchMode("subject", FetchMode.JOIN);
    criteria.setFetchMode("relative", FetchMode.JOIN);

    ProjectionList projectionList = Projections.projectionList();
    projectionList.add(Projections.property("sub.subjectUID"), "individualId");
    projectionList.add(Projections.property("subGender.name"), "gender");
    projectionList.add(Projections.property("subPerson.dateOfBirth"), "dob");
    projectionList.add(Projections.property("subPerson.dateOfDeath"), "dod");
    projectionList.add(Projections.property("subVitStatus.name"), "deceased");

    projectionList.add(Projections.property("scfd.textDataValue"), "affectedStatus");

    criteria.setProjection(projectionList);
    criteria.setResultTransformer(Transformers.aliasToBean(RelationshipVo.class));

    relatives = criteria.list();//from  w ww . j  a v a2 s.  c  o  m

    return relatives.size() > 0 ? relatives.get(0) : null;
}