Example usage for org.hibernate.criterion Restrictions conjunction

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

Introduction

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

Prototype

public static Conjunction conjunction() 

Source Link

Document

Group expressions together in a single conjunction (A and B and C...).

Usage

From source file:gov.nih.nci.eagle.service.handlers.EpidemiologicalQueryHandler.java

License:BSD License

private void populateFamilyHistoryCrit(FamilyHistoryCriterion familyHistcrit, Criteria targetCrit) {
    Integer lungCancerrelativeCrit = familyHistcrit.getFamilyLungCancer();
    if (lungCancerrelativeCrit != null) {

        targetCrit.add(Restrictions.eq("finding.relativeWithLungCancer", lungCancerrelativeCrit.toString()));
    }/*from   ww w  . j  a  va2  s.  c o m*/
    Collection<Relative> smokingRelativeCrit = familyHistcrit.getSmokingRelativeCollection();
    if (smokingRelativeCrit != null) {
        targetCrit.createAlias("finding.relativeCollection", "relatives");
        Disjunction dis = Restrictions.disjunction();
        for (Relative r : smokingRelativeCrit) {
            Conjunction con = Restrictions.conjunction();
            con.add(Restrictions.eq("relatives.relationshipType", r.getName().toUpperCase()));
            con.add(Restrictions.eq("relatives.smokingStatus", "1"));
            dis.add(con);
        }
        targetCrit.add(dis);
    }
}

From source file:gr.abiss.calipso.domain.ItemSearch.java

License:Open Source License

/**
 * Get item visibility criteria for the spaces included in the search
 * @param spaces/*  ww w  . j  ava  2 s  . co m*/
 * @return
 */
private Disjunction getVisibilityCriteriaForItem(Collection<Space> spaces) {
    Disjunction itemRestrictions = Restrictions.disjunction();
    List<Space> includedSpaces = new LinkedList<Space>();
    for (Space space : spaces) {
        Short visibility = space.getItemVisibility();
        boolean isLoggedIn = user.getId() != 0;
        boolean hasRegularRoleForSpace = user.hasRegularRoleForSpace(space);
        // for spaces allowing item view for anonymous users
        if (visibility.equals(Space.ITEMS_VISIBLE_TO_ANONYMOUS_USERS)) {
            itemRestrictions.add(Restrictions.eq("space", space));
            includedSpaces.add(space);
            //logger.debug("Included space '" + space.getName() + "' since it allows anonymous");

        }
        // for spaces allowing item view for loggedin users
        else if (isLoggedIn && visibility.equals(Space.ITEMS_VISIBLE_TO_ANY_LOGGEDIN_USER)) {
            itemRestrictions.add(Restrictions.eq("space", space));
            //logger.debug("Included space '" + space.getName() + "' since the user is logged in");
        }
        // for spaces allowing item view for item reporters
        else if (isLoggedIn && (visibility.equals(Space.ITEMS_VISIBLE_TO_LOGGEDIN_REPORTERS)
                || visibility.equals(Space.ITEMS_VISIBLE_TO_LOGGEDIN_REPORTERS_NO_COMMENTS))) {
            if (hasRegularRoleForSpace) {
                itemRestrictions.add(Restrictions.eq("space", space));
                //logger.debug("Included space '" + space.getName() + "' since the user is a regular user");
            } else {
                itemRestrictions.add(Restrictions.conjunction().add(Restrictions.eq("space", space))
                        .add(Restrictions.eq("reportedBy", user)));
            }
            //logger.debug("Included space '" + space.getName() + "' but only for items reported by user");
        }
        // for spaces allowing item view users with explicit roles only
        else if (isLoggedIn /* && visibility.equals(Space.ITEMS_VISIBLE_TO_REGULAR_ROLES) */
                && hasRegularRoleForSpace) {
            itemRestrictions.add(Restrictions.eq("space", space));
            //logger.debug("Included space '" + space.getName() + "' since the user is a regular user");
        } else {
            //itemRestrictions.add(Restrictions.ne("space", space));
            //logger.debug("Did NOT include space '" + space.getName()+" user has regular roles for space: "+hasRegularRoleForSpace+", space visibility: "+space.getItemVisibility());
        }
    }
    return itemRestrictions;
}

From source file:info.interactivesystems.spade.dao.NilsimsaSimilarityDao.java

License:Apache License

@SuppressWarnings("unchecked")
public NilsimsaSimilarity findSimilarityByReviewId(String reviewAId, String reviewBId) {
    Criteria criteria = sessionFactory.getCurrentSession().createCriteria(NilsimsaSimilarity.class);

    criteria.add(Restrictions.disjunction(
            Restrictions.conjunction().add(Restrictions.eq("reviewA.id", reviewAId))
                    .add(Restrictions.eq("reviewB.id", reviewBId)),
            Restrictions.conjunction().add(Restrictions.eq("reviewA.id", reviewBId))
                    .add(Restrictions.eq("reviewB.id", reviewAId))));
    criteria.addOrder(Order.desc("similarity"));

    List<NilsimsaSimilarity> resultList = criteria.list();

    if (!resultList.isEmpty()) {
        return resultList.get(0);
    }//from  w  ww. j a v  a 2  s.  co m

    return null;
}

From source file:it.av.eatt.service.impl.EaterRelationServiceHibernate.java

License:Apache License

/**
 * {@inheritDoc}//from   www .j av  a  2s  . c o m
 */
@Override
public List<EaterRelation> getAllRelations(Eater ofUser) {
    Conjunction pendingFriend = Restrictions.conjunction();
    pendingFriend.add(Restrictions.eq(EaterRelation.STATUS, EaterRelation.STATUS_PENDING));
    pendingFriend.add(Restrictions.eq(EaterRelation.TYPE, EaterRelation.TYPE_FRIEND));
    pendingFriend.add(Restrictions.eq(EaterRelation.TO_USER, ofUser));
    Disjunction inOr = Restrictions.disjunction();
    inOr.add(pendingFriend);
    inOr.add(Restrictions.eq(EaterRelation.FROM_USER, ofUser));
    return findByCriteria(inOr);
}

From source file:it.av.youeat.service.impl.DialogServiceHibernate.java

License:Apache License

/**
 * {@inheritDoc}//w w w .jav  a  2 s.  co  m
 */
@Override
public List<Dialog> getCreatedDialogs(Eater eater) {
    Conjunction senderFilter = Restrictions.conjunction();
    Criterion critBySender1 = Restrictions.eq(Dialog.SENDER_FIELD, eater);
    Criterion critBySender2 = Restrictions.eq(Dialog.DELETED_FROM_SENDER_FIELD, false);
    senderFilter.add(critBySender1);
    senderFilter.add(critBySender2);
    Order orderBYDate = Order.desc(Dialog.CREATION_TIME_FIELD);
    return findByCriteria(orderBYDate, senderFilter);
}

From source file:it.av.youeat.service.impl.DialogServiceHibernate.java

License:Apache License

/**
 * {@inheritDoc}//from w  w w  .  j  a  va 2 s .c  o m
 */
@Override
public int countCreatedDialogs(Eater eater) {
    Criteria criteria = getHibernateSession().createCriteria(getPersistentClass());
    Conjunction senderFilter = Restrictions.conjunction();
    Criterion critBySender1 = Restrictions.eq(Dialog.SENDER_FIELD, eater);
    Criterion critBySender2 = Restrictions.eq(Dialog.DELETED_FROM_SENDER_FIELD, false);
    senderFilter.add(critBySender1);
    senderFilter.add(critBySender2);
    criteria.add(senderFilter);
    criteria.setProjection(Projections.rowCount());
    return ((Long) criteria.list().get(0)).intValue();
}

From source file:it.av.youeat.service.impl.DialogServiceHibernate.java

License:Apache License

/**
 * {@inheritDoc}/*from  ww  w.j ava  2 s  .  c o m*/
 */
@Override
public List<Dialog> getDialogs(Eater eater, boolean excludeSingleMessage) {
    Conjunction receiverFilter = Restrictions.conjunction();
    Criterion critByReceiver1 = Restrictions.eq(Dialog.RECEIVER_FIELD, eater);
    Criterion critByReceiver2 = Restrictions.eq(Dialog.DELETED_FROM_RECEIVER_FIELD, false);
    receiverFilter.add(critByReceiver1);
    receiverFilter.add(critByReceiver2);

    Conjunction senderFilter = Restrictions.conjunction();
    Criterion critBySender1 = Restrictions.eq(Dialog.SENDER_FIELD, eater);
    Criterion critBySender2 = Restrictions.eq(Dialog.DELETED_FROM_SENDER_FIELD, false);
    senderFilter.add(critBySender1);
    senderFilter.add(critBySender2);

    Disjunction or = Restrictions.disjunction();
    or.add(receiverFilter);
    or.add(senderFilter);
    Order orderBYDate = Order.desc(Dialog.CREATION_TIME_FIELD);
    List<Dialog> results = findByCriteria(orderBYDate, or);
    if (excludeSingleMessage) {
        for (int i = 0; i < results.size(); i++) {
            if (results.get(i).getSender().equals(eater) && results.get(i).getMessages().size() == 1) {
                results.remove(i);
            }
        }
    }
    return results;
}

From source file:it.av.youeat.service.impl.EaterRelationServiceHibernate.java

License:Apache License

/**
 * {@inheritDoc}//from   w  ww. j  av a2s.c  o m
 */
@Override
public List<EaterRelation> getAllRelations(Eater ofUser) {
    Conjunction pendingFriend = Restrictions.conjunction();
    pendingFriend.add(Restrictions.eq(EaterRelation.STATUS, EaterRelation.STATUS_PENDING));
    pendingFriend.add(Restrictions.eq(EaterRelation.TYPE, EaterRelation.TYPE_FRIEND));
    pendingFriend.add(Restrictions.eq(EaterRelation.TO_USER, ofUser));
    Disjunction inOr = Restrictions.disjunction();
    inOr.add(pendingFriend);
    inOr.add(Restrictions.eq(EaterRelation.FROM_USER, ofUser));
    List<EaterRelation> results = findByCriteria(inOr);
    Collections.sort(results);
    return results;
}

From source file:it.av.youeat.service.impl.EaterRelationServiceHibernate.java

License:Apache License

/**
 * Return all the relations on the given user without any filter.
 *///from  w  ww. j  ava  2  s .c om
private Collection<EaterRelation> getRelations(Eater ofUser) {
    Conjunction pendingFriend = Restrictions.conjunction();
    pendingFriend.add(Restrictions.eq(EaterRelation.TO_USER, ofUser));
    Disjunction inOr = Restrictions.disjunction();
    inOr.add(pendingFriend);
    inOr.add(Restrictions.eq(EaterRelation.FROM_USER, ofUser));
    List<EaterRelation> results = findByCriteria(inOr);
    return results;
}

From source file:it.av.youeat.service.impl.EaterRelationServiceHibernate.java

License:Apache License

private List<EaterRelation> getOppositeRelation(EaterRelation relation) {
    Conjunction friend = Restrictions.conjunction();
    friend.add(Restrictions.eq(EaterRelation.TYPE, relation.getType()));
    friend.add(Restrictions.eq(EaterRelation.TO_USER, relation.getFromUser()));
    friend.add(Restrictions.eq(EaterRelation.FROM_USER, relation.getToUser()));
    return findByCriteria(friend);
}