Example usage for org.hibernate.criterion Restrictions disjunction

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

Introduction

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

Prototype

public static Disjunction disjunction() 

Source Link

Document

Group expressions together in a single disjunction (A or B or C...).

Usage

From source file:dk.teachus.backend.dao.hibernate.HibernateStatisticsDAO.java

License:Apache License

@SuppressWarnings("unchecked")
@Transactional(readOnly = true)//from   w w w  .jav a  2s .com
public List<PupilBooking> getAllBookings(DateMidnight fromDate, DateMidnight toDate) {
    DetachedCriteria c = DetachedCriteria.forClass(PupilBookingImpl.class);
    c.createCriteria("pupil").add(Restrictions.eq("active", true));
    c.createCriteria("teacher").add(Restrictions.eq("active", true));
    c.createCriteria("period").add(Restrictions.eq("status", Status.FINAL));
    Disjunction disjunction = Restrictions.disjunction();
    disjunction.add(Restrictions.and(Restrictions.ge("createDate", fromDate.toDateTime()),
            Restrictions.le("createDate", toDate.toDateTime())));
    disjunction.add(Restrictions.and(Restrictions.ge("updateDate", fromDate.toDateTime()),
            Restrictions.le("updateDate", toDate.toDateTime())));
    c.add(disjunction);

    c.setResultTransformer(DistinctRootEntityResultTransformer.INSTANCE);

    List<PupilBooking> bookings = getHibernateTemplate().findByCriteria(c);

    return bookings;
}

From source file:edu.depaul.armada.dao.ContainerLogDaoHibernate.java

License:Open Source License

/**
 * Returns a List<Metric> from all of the containers with state fields greater-than
 * or equal to certain user defined parameters.
 * @param memThreshold long//from ww  w .j  a  va  2 s .c om
 * @param cpuThreshold long
 * @param diskThreshold long
 * @param periodCountInHours int
 * @return List<Metric>
 */
@Override
public List<Metric> getStateCounts(long memThreshold, long cpuThreshold, long diskThreshold,
        int periodCountInHours) {
    List<Metric> metrics = new ArrayList<Metric>(periodCountInHours);
    Calendar cal = Calendar.getInstance();
    for (int i = 0; i < periodCountInHours; i++) {
        Date end = cal.getTime();
        int hour = cal.get(Calendar.HOUR_OF_DAY);
        cal.add(Calendar.HOUR_OF_DAY, -1);
        Date start = cal.getTime();

        Criteria criteria = newCriteria();
        criteria.add(Restrictions.le("timestamp", end));
        criteria.add(Restrictions.gt("timestamp", start)); // we don't want overlap here
        criteria.add(Restrictions.disjunction().add(Restrictions.ge("cpuUsed", cpuThreshold))
                .add(Restrictions.ge("memUsed", memThreshold)).add(Restrictions.ge("diskUsed", diskThreshold)));
        criteria.setProjection(Projections.countDistinct("container"));
        int count = ((Long) criteria.uniqueResult()).intValue();
        Metric temp = new Metric();
        temp.setHour(hour);
        temp.setValue(count);
        metrics.add(temp);
    }
    Collections.reverse(metrics); // we want the current time to be the last hour
    return metrics;
}

From source file:edu.duke.cabig.c3pr.dao.ParticipantDao.java

License:BSD License

/**
 * Searches based on an example object. Typical usage from your service class: - If you want
 * to search based on diseaseCode, monitorCode,
 * <li><code>Participant participant = new Participant();</li></code>
 * <li>code>participant.setLastName("last_namee");</li>
 * </code>/*from   w  w w  .  j  a  va 2s.co  m*/
 * <li>code>participantDao.searchByExample(study)</li>
 * </code>
 * 
 * @param participant the participant
 * @param isWildCard the is wild card
 * @param useAddress if set to true and {@link Address} is present, use it for the search.
 * @param useContactInfo if set to true and {@link ContactMechanism} is present, use it for the search.
 * @return list of matching participant objects based on your sample participant object
 */
public List<Participant> searchByExample(Participant participant, boolean isWildCard, boolean useAddress,
        boolean useContactInfo, boolean forceEager) {
    Example example = Example.create(participant).excludeZeroes().ignoreCase();
    Criteria participantCriteria = getSession().createCriteria(Participant.class)
            .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
    example.excludeProperty("doNotUse").enableLike(MatchMode.ANYWHERE);
    if (forceEager) {
        // TODO: The following lines may cause Participant.identifiers to contain duplicate entries!
        // In order to avoid that, Participant.identifiers will need to be changed from List to Set.
        // Related to http://www.jroller.com/eyallupu/entry/hibernate_exception_simultaneously_fetch_multiple.
        participantCriteria.setFetchMode("identifiers", FetchMode.JOIN);
        participantCriteria.setFetchMode("raceCodeAssociations", FetchMode.JOIN);
        participantCriteria.setFetchMode("contactMechanisms", FetchMode.JOIN);
    }
    if (isWildCard) {
        participantCriteria.add(example);

        if (participant.getIdentifiers().size() > 0) {
            Criterion identifierValueCriterion = Restrictions.ilike("value",
                    "%" + participant.getIdentifiers().get(0).getValue() + "%");
            Criterion identifierTypeCriterion = Restrictions.ilike("typeInternal",
                    "%" + participant.getIdentifiers().get(0).getTypeInternal() + "%");
            if (participant.getIdentifiers().get(0) instanceof SystemAssignedIdentifier) {
                Criterion identifierSourceCriterion = Restrictions.ilike("systemName",
                        "%" + ((SystemAssignedIdentifier) participant.getIdentifiers().get(0)).getSystemName()
                                + "%");
                participantCriteria.createCriteria("identifiers").add(identifierValueCriterion)
                        .add(identifierSourceCriterion).add(identifierTypeCriterion);
            } else {
                Criteria identifiersCriteria = participantCriteria.createCriteria("identifiers");
                identifiersCriteria.add(identifierValueCriterion).add(identifierTypeCriterion);

                if (((OrganizationAssignedIdentifier) participant.getIdentifiers().get(0)).getHealthcareSite()
                        .getIdentifiersAssignedToOrganization().size() > 0) {
                    Criteria organizationCriteria = identifiersCriteria.createCriteria("healthcareSite");
                    organizationCriteria.createCriteria("identifiersAssignedToOrganization")
                            .add(Restrictions.ilike("value",
                                    "%" + ((OrganizationAssignedIdentifier) participant.getIdentifiers().get(0))
                                            .getHealthcareSite().getIdentifiersAssignedToOrganization().get(0)
                                            .getValue() + "%"));

                }
            }

            for (int i = 1; i < participant.getIdentifiers().size(); i++) {
                identifierValueCriterion = Restrictions.or(identifierValueCriterion, Restrictions.ilike("value",
                        "%" + participant.getIdentifiers().get(i).getValue() + "%"));
            }
        }
        final Address address = participant.getAddressInternal();
        if (useAddress && address != null) {
            final Criteria addrCrit = participantCriteria.createCriteria("addresses");
            if (StringUtils.isNotBlank(address.getStreetAddress()))
                addrCrit.add(Restrictions.ilike("streetAddress", "%" + address.getStreetAddress() + "%"));
            if (StringUtils.isNotBlank(address.getCity()))
                addrCrit.add(Restrictions.ilike("city", "%" + address.getCity() + "%"));
            if (StringUtils.isNotBlank(address.getStateCode()))
                addrCrit.add(Restrictions.ilike("stateCode", "%" + address.getStateCode() + "%"));
            if (StringUtils.isNotBlank(address.getCountryCode()))
                addrCrit.add(Restrictions.ilike("countryCode", "%" + address.getCountryCode() + "%"));
            if (StringUtils.isNotBlank(address.getPostalCode()))
                addrCrit.add(Restrictions.ilike("postalCode", "%" + address.getPostalCode() + "%"));
        }
        if (useContactInfo) {
            List<Criterion> criterions = new ArrayList<Criterion>();
            if (StringUtils.isNotBlank(participant.getEmail())) {
                criterions.add(
                        Example.create(new ContactMechanism(ContactMechanismType.EMAIL, participant.getEmail()))
                                .enableLike().ignoreCase());
            }
            if (StringUtils.isNotBlank(participant.getPhone())) {
                criterions.add(
                        Example.create(new ContactMechanism(ContactMechanismType.PHONE, participant.getPhone()))
                                .enableLike().ignoreCase());
            }
            if (StringUtils.isNotBlank(participant.getFax())) {
                criterions.add(
                        Example.create(new ContactMechanism(ContactMechanismType.Fax, participant.getFax()))
                                .enableLike().ignoreCase());
            }
            if (!criterions.isEmpty()) {
                Disjunction disjunction = Restrictions.disjunction();
                for (Criterion criterion : criterions) {
                    disjunction.add(criterion);
                }
                final Criteria contactCrit = participantCriteria.createCriteria("contactMechanisms");
                contactCrit.add(disjunction);
            }
        }

        return participantCriteria.list();
    }
    return participantCriteria.add(example).list();
}

From source file:edu.emory.library.tast.images.admin.ImagesBean.java

License:Open Source License

public List getAllImages() {

    // open db/*  w  w w .jav a 2 s.c om*/
    Session sess = HibernateConn.getSession();
    Transaction transaction = sess.beginTransaction();

    // basic query
    Criteria crit = sess.createCriteria(Image.class);
    crit.createAlias("category", "cat");

    // category
    if (listCategoryId != 0) {
        ImageCategory cat = ImageCategory.loadById(sess, listCategoryId);
        crit.add(Restrictions.eq("category", cat));
    }

    // search for
    if (!StringUtils.isNullOrEmpty(searchFor)) {
        String searchForLocal = "%" + searchFor.trim() + "%";
        crit.add(Restrictions.disjunction().add(Restrictions.ilike("title", searchForLocal))
                .add(Restrictions.ilike("description", searchForLocal))
                .add(Restrictions.ilike("comments", searchForLocal))
                .add(Restrictions.ilike("source", searchForLocal))
                .add(Restrictions.ilike("references", searchForLocal)));
    }

    // sort order
    crit.addOrder(Order.asc(sortBy));
    if (!"date".equals(sortBy))
        crit.addOrder(Order.asc("date"));

    // load images from db and create a new list for UI
    List dbImages = crit.list();
    List uiImages = new ArrayList(dbImages.size());

    // thumnail size
    String[] thumbnailSizeArr = thumbnailSize.split("x");
    String w = thumbnailSizeArr[0];
    String h = thumbnailSizeArr[1];

    // move them to ui list
    for (Iterator iter = dbImages.iterator(); iter.hasNext();) {
        Image image = (Image) iter.next();

        int authStatus = image.getAuthorizationStatus();
        String authStatusLabel;
        if (authStatus < 0 || AUTH_STATUS_SHORT_LABELS.length <= authStatus)
            authStatusLabel = "?";
        else
            authStatusLabel = AUTH_STATUS_SHORT_LABELS[authStatus];

        int imgStatus = image.getImageStatus();
        String imgStatusLabel;
        if (imgStatus < 0 || IMAGE_STATUS_LABELS.length <= imgStatus)
            imgStatusLabel = "?";
        else
            imgStatusLabel = IMAGE_STATUS_LABELS[imgStatus];

        String subItems[] = new String[] { image.isReadyToGo() ? "yes" : "no", authStatusLabel, imgStatusLabel,
                image.getCategory().getName(), String.valueOf(image.getDate()),
                StringUtils.coalesce(image.getSource(), "") };

        ImageListItem uiImage = new ImageListItem();
        uiImage.setId(String.valueOf(image.getId()));
        uiImage.setName(image.getTitle());
        uiImage.setUrl("servlet/thumbnail?i=" + image.getFileName() + "&w=" + w + "&h=" + h);
        uiImage.setSubItems(subItems);
        uiImages.add(uiImage);
    }

    // close db
    transaction.commit();
    sess.close();

    // return list of images
    return uiImages;

}

From source file:edu.monash.merc.dao.PEEvidenceDAO.java

License:Open Source License

/**
 * {@inheritDoc}//w w w  .  j a va 2s .  c  om
 */
public PEEvidence getPESummaryByGeneAndType(long geneId, DataType dataType) {
    Criteria peCriteria = this.session().createCriteria(this.persistClass);
    Criteria gCriteria = peCriteria.createCriteria("gene");
    Criteria dtypeCriteria = peCriteria.createCriteria("tpbDataType");

    gCriteria.add(Restrictions.eq("id", geneId));

    Disjunction dtypeOr = Restrictions.disjunction();

    //PE
    if (dataType.equals(DataType.PE)) {
        dtypeOr.add(Restrictions.eq("dataType", DataType.PE.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PE_MS.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PE_MS_ANN.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PE_MS_PROB.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PE_MS_SAM.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PE_ANTI.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PE_ANTI_ANN.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PE_ANTI_IHC.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PE_ANTI_IHC_NORM.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PE_OTH.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PE_OTH_CUR.type()));
        dtypeCriteria.add(dtypeOr);

    } else if (dataType.equals(DataType.PE_MS)) {
        dtypeOr.add(Restrictions.eq("dataType", DataType.PE_MS.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PE_MS_ANN.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PE_MS_PROB.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PE_MS_SAM.type()));
        dtypeCriteria.add(dtypeOr);

    } else if (dataType.equals(DataType.PE_MS_ANN)) {
        dtypeCriteria.add(Restrictions.eq("dataType", DataType.PE_MS_ANN.type()));

    } else if (dataType.equals(DataType.PE_MS_PROB)) {
        dtypeCriteria.add(Restrictions.eq("dataType", DataType.PE_MS_PROB.type()));

    } else if (dataType.equals(DataType.PE_MS_SAM)) {
        dtypeCriteria.add(Restrictions.eq("dataType", DataType.PE_MS_SAM.type()));

    } else if (dataType.equals(DataType.PE_ANTI)) {
        dtypeOr.add(Restrictions.eq("dataType", DataType.PE_ANTI.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PE_ANTI_ANN.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PE_ANTI_IHC.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PE_ANTI_IHC_NORM.type()));
        dtypeCriteria.add(dtypeOr);

    } else if (dataType.equals(DataType.PE_ANTI_ANN)) {
        dtypeCriteria.add(Restrictions.eq("dataType", DataType.PE_ANTI_ANN.type()));

    } else if (dataType.equals(DataType.PE_ANTI_IHC)) {
        dtypeOr.add(Restrictions.eq("dataType", DataType.PE_ANTI_IHC.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PE_ANTI_IHC_NORM.type()));
        dtypeCriteria.add(dtypeOr);

    } else if (dataType.equals(DataType.PE_ANTI_IHC_NORM)) {
        dtypeOr.add(Restrictions.eq("dataType", DataType.PE_ANTI_IHC_NORM.type()));
        dtypeCriteria.add(dtypeOr);

    } else if (dataType.equals(DataType.PE_OTH)) {
        dtypeOr.add(Restrictions.eq("dataType", DataType.PE_OTH.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PE_OTH_CUR.type()));
        dtypeCriteria.add(dtypeOr);

    } else if (dataType.equals(DataType.PE_OTH_CUR)) {
        dtypeCriteria.add(Restrictions.eq("dataType", DataType.PE_OTH_CUR.type()));

    } else {
        //nothing to be added
    }

    peCriteria.addOrder(Order.desc("colorLevel"));
    peCriteria.setMaxResults(1);
    return (PEEvidence) peCriteria.uniqueResult();
}

From source file:edu.monash.merc.dao.PEEvidenceDAO.java

License:Open Source License

/**
 * {@inheritDoc}/*www .  j  a  v a2s.c o m*/
 */
@SuppressWarnings("unchecked")
public List<PEEvidence> getPEEvidencesByGeneAndType(long geneId, DataType dataType) {
    Criteria peCriteria = this.session().createCriteria(this.persistClass);
    Criteria gCriteria = peCriteria.createCriteria("gene");
    Criteria dtypeCriteria = peCriteria.createCriteria("tpbDataType");
    dtypeCriteria.addOrder(Order.asc("displayName"));
    Criteria acCriteria = peCriteria.createCriteria("identifiedAccession");
    acCriteria.addOrder(Order.asc("accession"));

    gCriteria.add(Restrictions.eq("id", geneId));

    Disjunction dtypeOr = Restrictions.disjunction();

    //PE
    if (dataType.equals(DataType.PE)) {
        dtypeOr.add(Restrictions.eq("dataType", DataType.PE.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PE_MS.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PE_MS_ANN.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PE_MS_PROB.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PE_MS_SAM.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PE_ANTI.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PE_ANTI_ANN.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PE_ANTI_IHC.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PE_ANTI_IHC_NORM.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PE_OTH.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PE_OTH_CUR.type()));
        dtypeCriteria.add(dtypeOr);

    } else if (dataType.equals(DataType.PE_MS)) {
        dtypeOr.add(Restrictions.eq("dataType", DataType.PE_MS.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PE_MS_ANN.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PE_MS_PROB.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PE_MS_SAM.type()));
        dtypeCriteria.add(dtypeOr);

    } else if (dataType.equals(DataType.PE_MS_ANN)) {
        dtypeCriteria.add(Restrictions.eq("dataType", DataType.PE_MS_ANN.type()));

    } else if (dataType.equals(DataType.PE_MS_PROB)) {
        dtypeCriteria.add(Restrictions.eq("dataType", DataType.PE_MS_PROB.type()));

    } else if (dataType.equals(DataType.PE_MS_SAM)) {
        dtypeCriteria.add(Restrictions.eq("dataType", DataType.PE_MS_SAM.type()));

    } else if (dataType.equals(DataType.PE_ANTI)) {
        dtypeOr.add(Restrictions.eq("dataType", DataType.PE_ANTI.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PE_ANTI_ANN.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PE_ANTI_IHC.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PE_ANTI_IHC_NORM.type()));
        dtypeCriteria.add(dtypeOr);

    } else if (dataType.equals(DataType.PE_ANTI_ANN)) {
        dtypeCriteria.add(Restrictions.eq("dataType", DataType.PE_ANTI_ANN.type()));

    } else if (dataType.equals(DataType.PE_ANTI_IHC)) {
        dtypeCriteria.add(Restrictions.eq("dataType", DataType.PE_ANTI_IHC.type()));
        dtypeCriteria.add(Restrictions.eq("dataType", DataType.PE_ANTI_IHC_NORM.type()));

    } else if (dataType.equals(DataType.PE_ANTI_IHC_NORM)) {
        dtypeCriteria.add(Restrictions.eq("dataType", DataType.PE_ANTI_IHC_NORM.type()));

    } else if (dataType.equals(DataType.PE_OTH)) {
        dtypeOr.add(Restrictions.eq("dataType", DataType.PE_OTH.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PE_OTH_CUR.type()));
        dtypeCriteria.add(dtypeOr);

    } else if (dataType.equals(DataType.PE_OTH_CUR)) {
        dtypeCriteria.add(Restrictions.eq("dataType", DataType.PE_OTH_CUR.type()));

    } else {
        //nothing
    }
    peCriteria.addOrder(Order.desc("colorLevel"));
    return peCriteria.list();
}

From source file:edu.monash.merc.dao.PTMEvidenceDAO.java

License:Open Source License

/**
 * {@inheritDoc}//from w  w w  .  j  a v  a 2  s.  co m
 */
@Override
public PTMEvidence getPTMSummaryByGeneAndType(long geneId, DataType dataType) {
    Criteria ptmEvCriteria = this.session().createCriteria(this.persistClass);
    Criteria gCriteria = ptmEvCriteria.createCriteria("gene");
    Criteria dtypeCriteria = ptmEvCriteria.createCriteria("tpbDataType");

    gCriteria.add(Restrictions.eq("id", geneId));

    Disjunction dtypeOr = Restrictions.disjunction();
    //PTM
    if (dataType.equals(DataType.PTM)) {
        dtypeOr.add(Restrictions.eq("dataType", DataType.PTM.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PTM_PHS.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PTM_PHS_SER.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PTM_PHS_TYR.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PTM_PHS_THR.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PTM_ACE.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PTM_ACE_LYS.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PTM_ACE_NTA.type()));
        dtypeCriteria.add(dtypeOr);
    } else if (dataType.equals(DataType.PTM_PHS)) {
        dtypeOr.add(Restrictions.eq("dataType", DataType.PTM_PHS.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PTM_PHS_SER.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PTM_PHS_TYR.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PTM_PHS_THR.type()));
        dtypeCriteria.add(dtypeOr);
    } else if (dataType.equals(DataType.PTM_PHS_SER)) {
        dtypeCriteria.add(Restrictions.eq("dataType", DataType.PTM_PHS_SER.type()));
    } else if (dataType.equals(DataType.PTM_PHS_TYR)) {
        dtypeCriteria.add(Restrictions.eq("dataType", DataType.PTM_PHS_TYR.type()));
    } else if (dataType.equals(DataType.PTM_PHS_THR)) {
        dtypeCriteria.add(Restrictions.eq("dataType", DataType.PTM_PHS_THR.type()));
    } else if (dataType.equals(DataType.PTM_ACE)) {
        dtypeOr.add(Restrictions.eq("dataType", DataType.PTM_ACE.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PTM_ACE_LYS.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PTM_ACE_NTA.type()));
        dtypeCriteria.add(dtypeOr);
    } else if (dataType.equals(DataType.PTM_ACE_LYS)) {
        dtypeCriteria.add(Restrictions.eq("dataType", DataType.PTM_ACE_LYS.type()));
    } else if (dataType.equals(DataType.PTM_ACE_NTA)) {
        dtypeCriteria.add(Restrictions.eq("dataType", DataType.PTM_ACE_NTA.type()));
    } else {
        return null;
    }
    ptmEvCriteria.addOrder(Order.desc("colorLevel"));
    ptmEvCriteria.setMaxResults(1);
    return (PTMEvidence) ptmEvCriteria.uniqueResult();
}

From source file:edu.monash.merc.dao.PTMEvidenceDAO.java

License:Open Source License

/**
 * {@inheritDoc}/*ww  w .j a v a 2s. c  o  m*/
 */
@Override
@SuppressWarnings("unchecked")
public List<PTMEvidence> getPTMEvidencesByGeneAndType(long geneId, DataType dataType) {
    Criteria ptmEvCriteria = this.session().createCriteria(this.persistClass);
    Criteria gCriteria = ptmEvCriteria.createCriteria("gene");
    Criteria dtypeCriteria = ptmEvCriteria.createCriteria("tpbDataType");
    Criteria acCriteria = ptmEvCriteria.createCriteria("identifiedAccession");
    acCriteria.addOrder(Order.asc("accession"));

    gCriteria.add(Restrictions.eq("id", geneId));

    Disjunction dtypeOr = Restrictions.disjunction();
    //PTM
    if (dataType.equals(DataType.PTM)) {
        dtypeOr.add(Restrictions.eq("dataType", DataType.PTM.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PTM_PHS.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PTM_PHS_SER.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PTM_PHS_TYR.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PTM_PHS_THR.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PTM_ACE.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PTM_ACE_LYS.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PTM_ACE_NTA.type()));
        dtypeCriteria.add(dtypeOr);
    } else if (dataType.equals(DataType.PTM_PHS)) {
        dtypeOr.add(Restrictions.eq("dataType", DataType.PTM_PHS.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PTM_PHS_SER.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PTM_PHS_TYR.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PTM_PHS_THR.type()));
        dtypeCriteria.add(dtypeOr);
    } else if (dataType.equals(DataType.PTM_PHS_SER)) {
        dtypeCriteria.add(Restrictions.eq("dataType", DataType.PTM_PHS_SER.type()));
    } else if (dataType.equals(DataType.PTM_PHS_TYR)) {
        dtypeCriteria.add(Restrictions.eq("dataType", DataType.PTM_PHS_TYR.type()));
    } else if (dataType.equals(DataType.PTM_PHS_THR)) {
        dtypeCriteria.add(Restrictions.eq("dataType", DataType.PTM_PHS_THR.type()));
    } else if (dataType.equals(DataType.PTM_ACE)) {
        dtypeOr.add(Restrictions.eq("dataType", DataType.PTM_ACE.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PTM_ACE_LYS.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.PTM_ACE_NTA.type()));
        dtypeCriteria.add(dtypeOr);
    } else if (dataType.equals(DataType.PTM_ACE_LYS)) {
        dtypeCriteria.add(Restrictions.eq("dataType", DataType.PTM_ACE_LYS.type()));
    } else if (dataType.equals(DataType.PTM_ACE_NTA)) {
        dtypeCriteria.add(Restrictions.eq("dataType", DataType.PTM_ACE_NTA.type()));
    } else {
        //nothing
    }

    ptmEvCriteria.addOrder(Order.desc("colorLevel"));
    return ptmEvCriteria.list();
}

From source file:edu.monash.merc.dao.TEEvidenceDAO.java

License:Open Source License

@Override
public TEEvidence getTESummaryByGeneAndType(long seneId, DataType dataType) {
    Criteria teEvCriteria = this.session().createCriteria(this.persistClass);
    Criteria gCriteria = teEvCriteria.createCriteria("gene");
    Criteria dtypeCriteria = teEvCriteria.createCriteria("tpbDataType");

    gCriteria.add(Restrictions.eq("id", seneId));

    Disjunction dtypeOr = Restrictions.disjunction();
    //TE//from   w  w w.j  a va  2 s.c  om
    if (dataType.equals(DataType.TE)) {
        dtypeOr.add(Restrictions.eq("dataType", DataType.TE.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.TE_MA.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.TE_MA_PROP.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.TE_OTH.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.TE_OTH_CUR.type()));
        dtypeCriteria.add(dtypeOr);
    } else if (dataType.equals(DataType.TE_MA)) {
        dtypeOr.add(Restrictions.eq("dataType", DataType.TE_MA.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.TE_MA_PROP.type()));
        dtypeCriteria.add(dtypeOr);
    } else if (dataType.equals(DataType.TE_MA_PROP)) {
        dtypeCriteria.add(Restrictions.eq("dataType", DataType.TE_MA_PROP.type()));
    } else if (dataType.equals(DataType.TE_OTH)) {
        dtypeOr.add(Restrictions.eq("dataType", DataType.TE_OTH.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.TE_OTH_CUR.type()));
        dtypeCriteria.add(dtypeOr);
    } else if (dataType.equals(DataType.TE_OTH_CUR)) {
        dtypeCriteria.add(Restrictions.eq("dataType", DataType.TE_OTH_CUR.type()));
    } else {
        //nothing
    }
    teEvCriteria.addOrder(Order.desc("colorLevel"));
    teEvCriteria.setMaxResults(1);
    return (TEEvidence) teEvCriteria.uniqueResult();
}

From source file:edu.monash.merc.dao.TEEvidenceDAO.java

License:Open Source License

@SuppressWarnings("unchecked")
@Override//  w  w  w  .j a va 2 s.  c o m
public List<TEEvidence> getTEEvidencesByGeneAndType(long geneId, DataType dataType) {
    Criteria teEvCriteria = this.session().createCriteria(this.persistClass);
    Criteria gCriteria = teEvCriteria.createCriteria("gene");
    Criteria dtypeCriteria = teEvCriteria.createCriteria("tpbDataType");
    Criteria acCriteria = teEvCriteria.createCriteria("identifiedAccession");
    acCriteria.addOrder(Order.asc("accession"));

    gCriteria.add(Restrictions.eq("id", geneId));

    Disjunction dtypeOr = Restrictions.disjunction();
    //TE
    if (dataType.equals(DataType.TE)) {
        dtypeOr.add(Restrictions.eq("dataType", DataType.TE.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.TE_MA.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.TE_MA_PROP.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.TE_OTH.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.TE_OTH_CUR.type()));
        dtypeCriteria.add(dtypeOr);
    } else if (dataType.equals(DataType.TE_MA)) {
        dtypeOr.add(Restrictions.eq("dataType", DataType.TE_MA.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.TE_MA_PROP.type()));
        dtypeCriteria.add(dtypeOr);
    } else if (dataType.equals(DataType.TE_MA_PROP)) {
        dtypeCriteria.add(Restrictions.eq("dataType", DataType.TE_MA_PROP.type()));
    } else if (dataType.equals(DataType.TE_OTH)) {
        dtypeOr.add(Restrictions.eq("dataType", DataType.TE_OTH.type()));
        dtypeOr.add(Restrictions.eq("dataType", DataType.TE_OTH_CUR.type()));
        dtypeCriteria.add(dtypeOr);
    } else if (dataType.equals(DataType.TE_OTH_CUR)) {
        dtypeCriteria.add(Restrictions.eq("dataType", DataType.TE_OTH_CUR.type()));
    } else {
        //nothing
    }
    teEvCriteria.addOrder(Order.desc("colorLevel"));
    return teEvCriteria.list();
}