Example usage for org.hibernate.criterion Restrictions or

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

Introduction

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

Prototype

public static LogicalExpression or(Criterion lhs, Criterion rhs) 

Source Link

Document

Return the disjuction of two expressions

Usage

From source file:com.bean.ProvinceBean.java

public List<Province> getAllProvince() {
    Dao dao = new Dao();
    HibernateUtil.getInstance().clear();
    List<Province> list = null;
    if (proSearch == null || proSearch.equals(null) || proSearch.equals("")) {
        list = dao.getByCondition(Province.class, Order.desc("provId"));
    } else {//  w  w w .j a  v a 2s . com
        Criterion name = Restrictions.like("provName", "%" + proSearch + "%");
        Criterion desc = Restrictions.like("provDescription", "%" + proSearch + "%");
        LogicalExpression orExp = Restrictions.or(desc, name);
        list = dao.getByCondition(Province.class, orExp, Order.desc("provId"));
    }
    return list;
}

From source file:com.bean.RegisterAdmin.java

public List<Users> getAllUsers() {
    Dao dao = new Dao();
    List<Users> list1 = null;
    HibernateUtil.getInstance().clear();
    if (usersearh == null || usersearh.equals(null) || usersearh.equals("")) {
        Criterion admin = Restrictions.eq("UIsAdmin", true);
        list1 = dao.getByCondition(Users.class, admin);
    } else {//from  ww  w .ja va2 s  .co  m
        Criterion admin = Restrictions.eq("UIsAdmin", true);
        Criterion name = Restrictions.like("UUsername", "%" + usersearh + "%");
        Criterion fname = Restrictions.like("UFullname", "%" + usersearh + "%");
        Criterion phone = Restrictions.like("UPhone", "%" + usersearh + "%");
        Criterion mail = Restrictions.like("UEmail", "%" + usersearh + "%");
        LogicalExpression orExp = Restrictions.or(fname, name);
        orExp = Restrictions.or(orExp, phone);
        orExp = Restrictions.or(orExp, mail);
        orExp = Restrictions.and(orExp, admin);
        list1 = dao.getByCondition(Users.class, orExp);
    }
    return list1;
}

From source file:com.bean.RegisterEmployees.java

public List<Users> getAllUsers() {
    Dao dao = new Dao();
    List<Users> list = null;
    //HibernateUtil.getInstance().clear();
    if (userview == null || userview.equals(null) || userview.equals("")) {
        Criterion admin = Restrictions.eq("UIsAdmin", false);
        list = dao.getByCondition(Users.class, admin);
    } else {/*from  w  w  w  .j  av a2s  . c o m*/
        Criterion admin = Restrictions.eq("UIsAdmin", false);
        Criterion name = Restrictions.like("UUsername", "%" + userview + "%");
        Criterion fname = Restrictions.like("UFullname", "%" + userview + "%");
        Criterion phone = Restrictions.like("UPhone", "%" + userview + "%");
        Criterion mail = Restrictions.like("UEmail", "%" + userview + "%");
        LogicalExpression orExp = Restrictions.or(fname, name);
        orExp = Restrictions.or(orExp, phone);
        orExp = Restrictions.or(orExp, mail);
        orExp = Restrictions.and(orExp, admin);
        list = dao.getByCondition(Users.class, orExp);
    }
    return list;
}

From source file:com.cai310.lottery.web.controller.lottery.SchemeBaseController.java

/**
 * ?/*from w  w  w .j  av  a  2s .  c  o  m*/
 */
protected XDetachedCriteria buildListDetachedCriteria() {
    XDetachedCriteria criteria = new XDetachedCriteria(this.schemeClass, "m");

    criteria.add(Restrictions.eq("m.periodId", this.period.getId()));

    criteria.add(Restrictions.eq("m.shareType", ShareType.TOGETHER));

    if (queryForm != null) {
        if (StringUtils.isNotBlank(queryForm.getSponsorName())) {
            if (!"???".equals(queryForm.getSponsorName().trim())) {
                criteria.add(Restrictions.or(Restrictions.eq("m.sponsorName", queryForm.getSponsorName()),
                        Restrictions.eq("m.sponsorName", queryForm.getSponsorName())));
            }
        }
        if (StringUtils.isNotBlank(queryForm.getSchemeNumber())) {
            Long schemeId = this.period.getLotteryType().getSchemeId(queryForm.getSchemeNumber());
            if (schemeId != null)
                criteria.add(Restrictions.eq("m.id", schemeId));
        }
        if (null != queryForm.getCostType()) {
            queryForm.setMinMaxCost();
        }
        if (null != queryForm.getChooseType()) {
            if (Integer.valueOf(1).equals(queryForm.getChooseType())) {
                // ?
                criteria.add(Restrictions.eq("m.sendToPrint", true));
            } else if (Integer.valueOf(2).equals(queryForm.getChooseType())) {
                // 
                User user = this.getLoginUser();
                if (user != null) {
                    criteria.add(Restrictions.eq("m.sponsorId", user.getId()));
                }
            }
        }
        if (queryForm.getMinSchemeCost() != null)
            criteria.add(Restrictions.ge("m.schemeCost", queryForm.getMinSchemeCost()));

        if (queryForm.getMaxSchemeCost() != null)
            criteria.add(Restrictions.le("m.schemeCost", queryForm.getMaxSchemeCost()));

        if (queryForm.getSchemeState() != null)
            criteria.add(Restrictions.eq("m.state", queryForm.getSchemeState()));

        if (queryForm.getOrderType() != null) {
            criteria.addOrder(Order.desc("m.orderPriority"));
            switch (queryForm.getOrderType()) {
            case CREATE_TIME_DESC:
                criteria.addOrder(Order.desc("m.id"));
                break;
            case CREATE_TIME_ASC:
                criteria.addOrder(Order.asc("m.id"));
                break;
            case PROCESS_RATE_DESC:
                criteria.addOrder(Order.desc("m.progressRate"));
                break;
            case PROCESS_RATE_ASC:
                criteria.addOrder(Order.asc("m.progressRate"));
                break;
            case SCHEME_COST_DESC:
                criteria.addOrder(Order.desc("m.schemeCost"));
                break;
            case SCHEME_COST_ASC:
                criteria.addOrder(Order.asc("m.schemeCost"));
                break;
            }
            criteria.addOrder(Order.asc("m.state"));
        } else {
            criteria.addOrder(Order.asc("m.state"));
            criteria.addOrder(Order.desc("m.orderPriority"));
            criteria.addOrder(Order.desc("m.progressRate"));
            criteria.addOrder(Order.desc("m.id"));
        }
    } else {
        criteria.addOrder(Order.asc("m.state"));
        criteria.addOrder(Order.desc("m.orderPriority"));
        criteria.addOrder(Order.desc("m.progressRate"));
        criteria.addOrder(Order.desc("m.id"));
    }

    return criteria;
}

From source file:com.callcenter.controller.command.Whom.java

License:Apache License

public void addSearchFilter(DetachedCriteria criteria) {
    String actualNumber = number.replaceAll("\\*", "%").replaceAll("\\?", "_");
    if (type == Whom.Type.TO_AND_FROM) {
        criteria.add(/*  w w w  .  ja  v a2s  .  c  o  m*/
                Restrictions.or(Restrictions.ilike(Constants.CallRecord.CALLED_ID_PROPERTY_NAME, actualNumber),
                        Restrictions.ilike(Constants.CallRecord.CALLER_ID_PROPERTY_NAME, actualNumber)));
        return;
    }
    if (type == Whom.Type.TO) {
        criteria.add(Restrictions.ilike(Constants.CallRecord.CALLED_ID_PROPERTY_NAME, actualNumber));
        return;
    }
    criteria.add(Restrictions.ilike(Constants.CallRecord.CALLER_ID_PROPERTY_NAME, actualNumber));
}

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

License:Apache License

private void addCriteria(DetachedCriteria criteria, List<DsSearchParam> params,
        boolean useSampleDetailFilters) {
    boolean hasAND = false;
    boolean hasOR = false;

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

    criteria.createAlias("project", VALUE_PROJECT)
            .createAlias("investigatorid", "investigator", CriteriaSpecification.LEFT_JOIN)
            .createAlias("season", "season", CriteriaSpecification.LEFT_JOIN)
            .createAlias("location", "location", CriteriaSpecification.LEFT_JOIN);

    if (useSampleDetailFilters)
        criteria.createAlias("sampleDetailCollection", VALUE_SAMPLE, CriteriaSpecification.INNER_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);/*from   w w w  .  j a  v a  2 s . co  m*/
        }
    }
    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.SampleDetailDAOImpl.java

License:Apache License

/**
 * add parameters for project, study and sample
 * *///from  w  w w . j  av 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.codefupanda.persistor.util.HibernateUtil.java

License:Open Source License

private static Criterion convert(LogicalCriteria criteria) {
    Criterion criterion = null;//ww w . j  a v  a 2s . c o  m
    Criteria lhs = criteria.getLhs();
    Criteria rhs = criteria.getRhs();

    if (criteria.getLogicalOp().equals("or")) {
        criterion = Restrictions.or(convert(lhs), convert(rhs));
    } else if (criteria.getLogicalOp().equals("and")) {
        criterion = Restrictions.and(convert(lhs), convert(rhs));
    }
    return criterion;
}

From source file:com.cristian.tareask.daoImpl.EmailConversationDaoImpl.java

@Override
public List getAllEmailConversations(int idUser) {
    s = HibernateUtil.getSessionFactory().openSession();
    Criteria c = s.createCriteria(EmailConversation.class).createAlias("emailMessage", "message")
            .createAlias("message.messageReceptors", "receptor").createAlias("receptor.user", "user")
            .createAlias("message.user", "userid")
            //parte experimental
            .add(Restrictions.or(Restrictions.eq("userid.id", idUser), Restrictions.eq("user.id", idUser)))
            //.add(Restrictions.eq("userid.id", 2))
            //.add(Restrictions.eq("user.id",2))
            // fin parte experimental
            .addOrder(Order.desc("message.date"))
            .setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
    return c.list();
}

From source file:com.denimgroup.threadfix.data.dao.hibernate.HibernateApplicationDao.java

License:Mozilla Public License

@SuppressWarnings("unchecked")
@Override//w  w  w.ja  v a  2  s . co m
public List<Integer> getTopXVulnerableAppsFromList(int numApps, List<Integer> teamIdList,
        List<Integer> applicationIdList, List<Integer> tagIdList, List<Integer> vulnTagIdList) {
    Session session = sessionFactory.getCurrentSession();
    Criteria criteria = session.createCriteria(Application.class);
    criteria.createAlias("vulnerabilities", "vulnerability");
    criteria.add(Restrictions.eq("active", true));
    criteria.add(Restrictions.eq("vulnerability.active", true));
    criteria.add(Restrictions.eq("vulnerability.hidden", false));
    criteria.add(Restrictions.eq("vulnerability.isFalsePositive", false));

    if (vulnTagIdList.size() > 0) {
        criteria.createAlias("vulnerability.tags", "tags");
        criteria.add(Restrictions.in("tags.id", vulnTagIdList));
    }

    if (teamIdList.isEmpty() || applicationIdList.isEmpty()) {
        if (!applicationIdList.isEmpty()) {
            criteria.add(Restrictions.in("id", applicationIdList));
        }

        if (!teamIdList.isEmpty()) {
            criteria.add(Restrictions.in("organization.id", teamIdList));
        }
    } else {
        criteria.add(Restrictions.or(Restrictions.in("id", applicationIdList),
                Restrictions.in("organization.id", teamIdList)));
    }
    if (!tagIdList.isEmpty()) {
        criteria.createAlias("tags", "tag");
        criteria.add(Restrictions.in("tag.id", tagIdList));
    }

    criteria.setProjection(Projections.projectionList().add(Projections.groupProperty("id"))
            .add(Projections.alias(Projections.countDistinct("vulnerability.id"), "vulnCount")));
    criteria.addOrder(Order.desc("vulnCount"));

    List<Integer> list = list();
    List results = criteria.list();
    int i = 0;
    for (Object result : results) {
        if (i++ >= numApps) {
            break;
        }
        Object[] resultArray = (Object[]) result;
        list.add((Integer) resultArray[0]);
    }

    if (list.isEmpty())
        list = Arrays.asList(-1);
    return list;
}