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:com.webbfontaine.valuewebb.action.pricedb.pdss.PdssCriteriaContainer.java

License:Open Source License

@Override
public Criteria transformUserCriteria(Session session) throws Exception {
    if (fakeToRealPropertyMap == null || entityClass == null) {
        throw new RuntimeException("Target bean/properties were not initialized");
    }//from  w  w w .j  a v  a2 s .  c o m

    Criteria criteria = session.createCriteria(entityClass)
            .add(Example.create(entityClass.newInstance()).excludeZeroes());
    List<String> aliases = new ArrayList<>();

    Junction junction = getMatchAll() ? Restrictions.conjunction() : Restrictions.disjunction();

    List<UserCriterion> selectedUserCriteria = getSelectedUserCriteria();
    for (UserCriterion fakeCriterion : selectedUserCriteria) {

        if (beanHasCriterionProperty(fakeCriterion.getFullKey())) {
            UserCriterion realCriterion = prepareUCForBean(fakeCriterion);

            String alias = extractAlias(realCriterion.getFullKey());
            if (alias != null) {
                if (!aliases.contains(alias)) {
                    aliases.add(alias);
                    criteria.createCriteria(alias, alias);
                }
            }

            Criterion transformedCriterion;

            if ("ageOfPrice".equals(fakeCriterion.getFullKey())) {
                transformedCriterion = transformAgeOfPriceToPriceDate(fakeCriterion, realCriterion);
            } else {
                transformedCriterion = realCriterion.transform();
            }

            criteria.add(junction.add(transformedCriterion));
        }
    }

    return criteria;
}

From source file:com.webbfontaine.valuewebb.action.pricedb.prd.PRDCriteriaContainer.java

License:Open Source License

@Override
public Criteria transformUserCriteria(Session session) throws Exception {

    Criteria criteria = session.createCriteria(Pd.class).add(Example.create(new Pd()).excludeZeroes());
    criteria.createCriteria("ttGen", "ttGen");
    criteria.createCriteria("ttInv", "ttInv");

    Junction junction = getMatchAll() ? Restrictions.conjunction() : Restrictions.disjunction();

    List<UserCriterion> selectedUserCriteria = getSelectedUserCriteria();
    for (UserCriterion userCriterion : selectedUserCriteria) {

        Criterion transformedCriterion;/* w w  w . j  a va  2  s . com*/
        if ("ageOfPrice".equals(userCriterion.getFullKey())) {
            transformedCriterion = MPCriteriaContainer.transformAgeOfPriceToPriceDate(userCriterion,
                    getDefinedCriterion("ttInv.invDat"));
        } else {
            transformedCriterion = userCriterion.transform();
        }

        if (transformedCriterion != null) {
            criteria.add(junction.add(transformedCriterion));
        }
    }

    return criteria;
}

From source file:com.wisemapping.dao.MindmapManagerImpl.java

License:Open Source License

public List<MindMap> search(MindMapCriteria criteria, int maxResult) {
    final Criteria hibernateCriteria = getSession().createCriteria(MindMap.class);
    //always search public maps
    hibernateCriteria.add(Restrictions.like("public", Boolean.TRUE));

    if (criteria != null) {
        final Junction junction;
        if (criteria.isOrCriteria()) {
            junction = Restrictions.disjunction();
        } else {/* w  w  w.  j  a  v  a 2  s  .  c  o m*/
            junction = Restrictions.conjunction();
        }

        if (criteria.getTitle() != null && criteria.getTitle().length() > 0) {
            final SimpleExpression titleRestriction = Restrictions.like("title",
                    "%" + criteria.getTitle() + "%");
            junction.add(titleRestriction);
        }

        if (criteria.getDescription() != null && criteria.getDescription().length() > 0) {
            final SimpleExpression descriptionRestriction = Restrictions.like("description",
                    "%" + criteria.getDescription() + "%");
            junction.add(descriptionRestriction);
        }
        if (criteria.getTags().size() > 0) {
            for (String tag : criteria.getTags()) {
                final SimpleExpression tagRestriction = Restrictions.like("tags", "%" + tag + "%");
                junction.add(tagRestriction);
            }
        }

        hibernateCriteria.add(junction);
    }
    //        if (maxResult>0)
    //        {
    //            hibernateCriteria.setMaxResults(maxResult);
    //        }
    return hibernateCriteria.list();
}

From source file:com.xbwl.common.orm.hibernate.HibernateDao.java

License:Apache License

/**
 * Criterion,./*from w w  w .  j av a 2 s  . co m*/
 */
protected Criterion[] buildPropertyFilterCriterions(final List<PropertyFilter> filters) {
    List<Criterion> criterionList = new ArrayList<Criterion>();
    for (PropertyFilter filter : filters) {
        if (!filter.isMultiProperty()) { //.
            Criterion criterion = buildPropertyFilterCriterion(filter.getPropertyName(),
                    filter.getPropertyValue(), filter.getMatchType());
            criterionList.add(criterion);
        } else {//,or.
            Disjunction disjunction = Restrictions.disjunction();
            for (String param : filter.getPropertyNames()) {
                Criterion criterion = buildPropertyFilterCriterion(param, filter.getPropertyValue(),
                        filter.getMatchType());
                disjunction.add(criterion);
            }
            criterionList.add(disjunction);
        }
    }
    return criterionList.toArray(new Criterion[criterionList.size()]);
}

From source file:com.xin.orm.hibernate.HibernateDao.java

License:Apache License

/**
 * orCriterion,./* www. ja va  2s  . co m*/
 * @param orfilters
 * @return
 */
protected Criterion[] buildOrCriterionByPropertyFilter(List<PropertyFilter> orfilters) {
    List<Criterion> criterionList = new ArrayList<Criterion>();
    Disjunction disjunction = Restrictions.disjunction();
    for (PropertyFilter filter : orfilters) {
        if (!filter.hasMultiProperties()) { // ??.
            Criterion criterion = buildCriterion(filter.getPropertyName(), filter.getMatchValue(),
                    filter.getMatchType());
            disjunction.add(criterion);
        } else {// ??,or?.
            for (String param : filter.getPropertyNames()) {
                Criterion criterion = buildCriterion(param, filter.getMatchValue(), filter.getMatchType());
                disjunction.add(criterion);
            }
        }
        criterionList.add(disjunction);
    }
    return criterionList.toArray(new Criterion[criterionList.size()]);
}

From source file:Controller.CashierController.java

/**
 * Zwraca list uytkownikw, ktrych login, imi lub nazwisko zawiera podany cig znakw
 * @param text tekst wykorzystywany jako wzorzec do wyszukiwania w bazie
 * @return lista uytkownikw/*from  w w w.  j  a v  a 2  s .co  m*/
 */
public List GetUsersList(String text) {
    List queryResult = s.createCriteria(Users.class)
            .add(Restrictions.disjunction().add(Restrictions.like("login", text, MatchMode.ANYWHERE))
                    .add(Restrictions.like("name", text, MatchMode.ANYWHERE))
                    .add(Restrictions.like("surname", text, MatchMode.ANYWHERE)))
            .list();

    return queryResult;
}

From source file:Controller.TerminalController.java

public List GetTerminalList(String text) {
    int possibleID = 0;

    try {/*  w  w  w. j a v  a 2 s .co m*/
        possibleID = Integer.parseInt(text);
    } catch (Exception e) {
        possibleID = -1;
    }

    Criteria c = s.createCriteria(Terminal.class);
    Junction junction = Restrictions.disjunction().add(Restrictions.eq("terminalid", possibleID));

    List possibleAttractions = GetAttractionList(text);

    for (Object result : possibleAttractions) {
        Attraction attraction = (Attraction) result;
        junction.add(Restrictions.eq("attraction", attraction));
    }

    List queryResult = c.add(junction).list();

    return queryResult;
}

From source file:db.Database.java

public ArrayList<CashFlow> getCashFlow(Date begin, Date end, Account acc) {
    session = sessionFactory.openSession();
    ArrayList<CashFlow> cashFlow = new ArrayList<>();
    List transfers = session.createCriteria(Transfer.class)
            .add(Restrictions.disjunction().add(Restrictions.eq("from", acc)).add(Restrictions.eq("to", acc)))
            .add(Restrictions.between("date", begin, end)).list();

    List payments = session.createCriteria(Payment.class).add(Restrictions.eq("account", acc))
            .add(Restrictions.between("date", begin, end)).list();

    int lastid = 0;
    for (int i = payments.size() - 1; i >= 0; i--) {
        Payment p = (Payment) payments.get(i);
        if (p.getId() != lastid) {
            lastid = p.getId();//from  ww w  . java2  s. c  o m
        } else {
            payments.remove(i);
        }
    }

    cashFlow.addAll(transfers);
    cashFlow.addAll(payments);
    session.close();
    return cashFlow;
}

From source file:db.Database.java

public ArrayList<CashFlow> getUncheckedCashFlow(Account acc) {

    session = sessionFactory.openSession();
    ArrayList<CashFlow> cashFlow = new ArrayList<>();
    List transfers = session.createCriteria(Transfer.class)
            .add(Restrictions.disjunction().add(Restrictions.eq("from", acc)).add(Restrictions.eq("to", acc)))
            .add(Restrictions.eq("checked", false)).list();

    List payments = session.createCriteria(Payment.class).add(Restrictions.eq("account", acc))
            .add(Restrictions.eq("checked", false)).list();

    int lastid = 0;
    for (int i = payments.size() - 1; i >= 0; i--) {
        Payment p = (Payment) payments.get(i);
        if (p.getId() != lastid) {
            lastid = p.getId();/*  w w  w .ja v  a2s .  c om*/
        } else {
            payments.remove(i);
        }
    }

    cashFlow.addAll(transfers);
    cashFlow.addAll(payments);
    session.close();
    return cashFlow;

}

From source file:de.cosmocode.hibernate.CustomRestrictions.java

License:Apache License

/**
 * Group expressions together in a single disjunction (A or B or C...).
 * //from www .j a  va 2s .c o  m
 * @param first the first {@link Criterion}
 * @param second the second {@link Criterion}
 * @param rest the rest
 * @return a {@link Criterion} containing all parameters combined in disjunct style
 */
public static Criterion disjunction(Criterion first, Criterion second, Criterion... rest) {
    final Disjunction disjunction = Restrictions.disjunction();
    disjunction.add(first).add(second);
    for (Criterion criterion : rest) {
        disjunction.add(criterion);
    }
    return disjunction;
}