Example usage for org.hibernate.criterion DetachedCriteria add

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

Introduction

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

Prototype

public DetachedCriteria add(Criterion criterion) 

Source Link

Document

Add a restriction

Usage

From source file:com.cimmyt.model.dao.impl.RegisterDAOImpl.java

License:Apache License

/**
 * Method that create the filters to get a register object
 *//*from  www .ja v  a 2  s.  com*/
@Override
protected void buildCriteria(DetachedCriteria criteria, Register filter) {
    if (filter.getIdRegister() != null)
        criteria.add(Restrictions.eq("idRegister", filter.getIdRegister()));

    if (filter.getIsPending() != null)
        criteria.add(Restrictions.eq("isPending", filter.getIsPending()));
    ;
    if (filter.getFisrtName() != null && !filter.getFisrtName().isEmpty())
        criteria.add(Restrictions.eq("fisrtName", filter.getFisrtName()));
    if (filter.getLastName() != null && !filter.getLastName().isEmpty())
        criteria.add(Restrictions.eq("lastName", filter.getLastName()));
    if (filter.getEmail() != null && !filter.getEmail().isEmpty())
        criteria.add(Restrictions.eq("email", filter.getEmail()));
}

From source file:com.cimmyt.model.dao.impl.ResultsPreferencesDAOImpl.java

License:Apache License

@Override
protected void buildCriteria(DetachedCriteria criteria, ResultsPreferences filter) {
    // TODO Auto-generated method stub
    if (filter.getStudytemplateid() != null) {
        criteria.add(Restrictions.eq("studytemplateid", filter.getStudytemplateid()));
    }//from w  w w.  java2 s  .co m
}

From source file:com.cimmyt.model.dao.impl.SampleDetailDAOImpl.java

License:Apache License

@Override
protected void buildCriteria(DetachedCriteria criteria, SampleDetail filter) {
    // TODO Auto-generated method stub
    if (filter.getLabstudyid() != null) {
        if (filter.getLabstudyid().getProject() != null)
            criteria.add(Restrictions.eq("labstudyid.project", filter.getLabstudyid().getProject()));
    }/*from  w ww . j  av a 2 s .  c  o m*/

    if (filter.getPlatename() != null)
        criteria.add(Restrictions.eq("platename", filter.getPlatename()));

    if (filter.getPlateloc() != null)
        criteria.add(Restrictions.eq("plateloc", filter.getPlateloc()));

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

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

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

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

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

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

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

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

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

From source file:com.cimmyt.model.dao.impl.SampleDetailDAOImpl.java

License:Apache License

/**
 * Gets a list of samples from a Study by it ID, excluding samples selected
 * for SENT to external company and excluding samples in excluedSamples
 * parameter/*ww  w . j av  a  2  s .c o  m*/
 * 
 * @param labStudyId
 *            Study ID
 * @param excludedSamples
 *            list of samples to exclude
 * @return List of samples with matching ID, empty list if not matching ID
 *         or all samples are in excluedSamples
 */
@Override
@SuppressWarnings("unchecked")
public List<SampleDetail> getSamplesByStudy(final Integer labStudyId, final List<Integer> excludedSamples) {
    List<SampleDetail> sampleDetails = null;
    DetachedCriteria criteria = DetachedCriteria.forClass(SampleDetail.class);
    criteria.add(Restrictions.eq("labstudyid.labstudyid", labStudyId));
    criteria.add(Restrictions.ne("selforsend", ShipmentStatus.FOR_SEND.getId()));
    if (excludedSamples.size() > 0) {
        criteria.add(Restrictions.not(Restrictions.in("studysampleid", excludedSamples)));
    }
    sampleDetails = (List<SampleDetail>) getHibernateTemplate().findByCriteria(criteria);
    return sampleDetails;
}

From source file:com.cimmyt.model.dao.impl.SampleDetailDAOImpl.java

License:Apache License

@SuppressWarnings("unchecked")
public List<SampleDetail> getSamplesByStudyUsedInStorageLocation(final Integer labStudyId,
        final List<Integer> excludedSamples, int firstResult, int maxResults) {
    List<SampleDetail> sampleDetails = null;
    DetachedCriteria criteria = DetachedCriteria.forClass(SampleDetail.class);
    criteria.add(Restrictions.eq("labstudyid.labstudyid", labStudyId));
    criteria.add(Restrictions.eq("selforsend", ShipmentStatus.NO_SELECTED.getId()));
    if (excludedSamples.size() > 0) {
        criteria.add(Restrictions.not(Restrictions.in("studysampleid", excludedSamples)));
    }//from  w w  w .ja  v a2s.c o m

    sampleDetails = (List<SampleDetail>) getHibernateTemplate().findByCriteria(criteria, firstResult,
            maxResults);
    return sampleDetails;
}

From source file:com.cimmyt.model.dao.impl.SampleDetailDAOImpl.java

License:Apache License

public Integer getSamplesByStudyUsedInStorageLocationTotal(Integer labStudyId, List<Integer> excludedSamples) {
    Integer numberSamples = null;
    DetachedCriteria criteria = DetachedCriteria.forClass(SampleDetail.class);
    criteria.add(Restrictions.eq("labstudyid.labstudyid", labStudyId));
    criteria.add(Restrictions.eq("selforsend", ShipmentStatus.NO_SELECTED.getId()));
    if (excludedSamples.size() > 0) {
        criteria.add(Restrictions.not(Restrictions.in("studysampleid", excludedSamples)));
    }/* w ww .j a  v  a 2s.c o  m*/
    criteria.setProjection(Projections.rowCount());
    numberSamples = (Integer) getHibernateTemplate().findByCriteria(criteria).get(0);
    return numberSamples;
}

From source file:com.cimmyt.model.dao.impl.SampleDetailDAOImpl.java

License:Apache License

/**
 * add parameters for project, study and sample
 * */// w ww.j  a v a2  s  .c  om
private void addCriteria(DetachedCriteria criteria, List<DsSearchParam> params) {
    boolean hasAND = false;
    boolean hasOR = false;

    List<DsSearchParam> paramList = new ArrayList<DsSearchParam>(params);

    criteria.createAlias("labstudyid", Constants.VALUE_STUDY)
            .createAlias("study.project", Constants.VALUE_PROJECT)
            .createAlias("locationid", "location", CriteriaSpecification.LEFT_JOIN)
            .createAlias("seasonid", "season", CriteriaSpecification.LEFT_JOIN)
            .createAlias("study.investigatorid", "investigator", CriteriaSpecification.LEFT_JOIN);

    //separates 'OR' from other operators, to use in disjunction
    List<DsSearchParam> orParams = new ArrayList<DsSearchParam>();
    for (DsSearchParam p : paramList) {

        if (p.getOperator().equals(TypeCondition.OR)) {
            orParams.add(p);
        }
    }
    paramList.removeAll(orParams);

    String qualifiedParam = null;
    Conjunction conjunction = Restrictions.conjunction();

    for (DsSearchParam param : paramList) {
        hasAND = true;

        qualifiedParam = param.getQualifier();
        DataType dataType = OperatorImp.getType(param.getElement(), param.getQualifier());
        Operator condition = OperatorImp.valueOf(param.getCondition());
        addDynamicCriterion(conjunction, condition, dataType, qualifiedParam, param.getValue());

    }

    Disjunction disjunction = Restrictions.disjunction();
    for (DsSearchParam param : orParams) {
        hasOR = true;

        qualifiedParam = param.getQualifier();
        DataType dataType = OperatorImp.getType(param.getElement(), param.getQualifier());
        Operator condition = OperatorImp.valueOf(param.getCondition());

        addDynamicCriterion(disjunction, condition, dataType, qualifiedParam, param.getValue());

    }

    if (hasAND) {
        if (hasOR) {
            criteria.add(Restrictions.or(conjunction, disjunction));
        } else {
            criteria.add(conjunction);
        }
    } else if (hasOR) {
        criteria.add(disjunction);
    }
}

From source file:com.cimmyt.model.dao.impl.SampleIDDAOImpl.java

License:Apache License

@SuppressWarnings("unchecked")
public List<SampleID> searchListSampleMixture(final Integer idproject, final Integer gid, final Integer nplanta,
        final Integer locationid, final Integer seasonid) {
    List<SampleID> samplesid = null;

    DetachedCriteria criteria = DetachedCriteria.forClass(SampleID.class);
    criteria.add(Restrictions.eq("projectid", idproject));
    criteria.add(Restrictions.eq("gid", gid));
    criteria.add(Restrictions.eq("locationid", locationid));
    criteria.add(Restrictions.eq("seasonid", seasonid));
    criteria.add(Restrictions.eq("nplant", nplanta));

    samplesid = (List<SampleID>) getHibernateTemplate().findByCriteria(criteria);

    return samplesid;
}

From source file:com.cimmyt.model.dao.impl.SeasonDAOImpl.java

License:Apache License

@Override
protected void buildCriteria(DetachedCriteria criteria, Season filter) {
    // TODO Auto-generated method stub
    // TODO Auto-generated method stub
    if (filter.getSeasonid() != null) {
        criteria.add(Restrictions.eq("seasonid", filter.getSeasonid()));
    }/*  ww w  .ja v a2 s  .  co m*/

    if (filter.getSeason_name() != null && !filter.getSeason_name().isEmpty()) {
        criteria.add(Restrictions.like("season_name", "%" + filter.getSeason_name() + "%"));
    }
}

From source file:com.cimmyt.model.dao.impl.ShipmentDAOImpl.java

License:Apache License

@Override
protected void buildCriteria(DetachedCriteria criteria, Shipment filter) {

    if (filter.getComment() != null) {
        criteria.add(Restrictions.like("comment", "%" + filter.getComment() + "%"));
    }/*from ww w  . java 2  s . com*/
    if (filter.getIsSentToKB() != null) {
        criteria.add(Restrictions.eq("isSentToKB", filter.getIsSentToKB()));
    }
}