Example usage for org.hibernate.criterion Restrictions ilike

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

Introduction

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

Prototype

public static Criterion ilike(String propertyName, String value, MatchMode matchMode) 

Source Link

Document

A case-insensitive "like" (similar to Postgres ilike operator) using the provided match mode

Usage

From source file:com.enonic.cms.store.dao.GroupEntityDao.java

License:Open Source License

@SuppressWarnings({ "unchecked" })
public List<GroupEntity> findByQuery(final GroupQuery spec) {
    return (List<GroupEntity>) getHibernateTemplate().execute(new HibernateCallback() {

        public Object doInHibernate(Session session) throws HibernateException, SQLException {

            Criteria crit = session.createCriteria(GroupEntity.class).setCacheable(true);

            if (spec.getUserStoreKey() != null) {
                crit.add(Restrictions.eq("userStore.key", spec.getUserStoreKey().toInt()));
            } else if (spec.isGlobalOnly()) {
                crit.add(Restrictions.isNull("userStore.key"));
            }/* w ww .  jav  a 2  s.com*/

            if (!spec.isIncludeDeleted()) {
                crit.add(Restrictions.eq("deleted", 0));
            }
            if (spec.getQuery() != null && spec.getQuery().length() > 0) {
                crit.add(Restrictions.ilike("name", spec.getQuery(), MatchMode.ANYWHERE));
            }

            if (spec.getOrderBy() != null && !spec.getOrderBy().equals("")) {
                if (spec.isOrderAscending()) {
                    crit.addOrder(Order.asc(spec.getOrderBy()).ignoreCase());
                } else {
                    crit.addOrder(Order.desc(spec.getOrderBy()).ignoreCase());
                }
            }

            if (spec.getGroupTypes() != null) {
                Collection<GroupType> gt = new ArrayList<GroupType>(spec.getGroupTypes());
                if (spec.isIncludeBuiltInGroups()) {
                    if (!spec.isIncludeAnonymousGroups()) {
                        gt.remove(GroupType.ANONYMOUS);
                    }
                } else {
                    gt.removeAll(GroupType.getBuiltInTypes());
                }
                if (spec.isIncludeUserGroups()) {
                    gt.add(GroupType.USER);
                }
                crit.add(Restrictions.in("type", GroupType.getIntegerValues(gt)));
            } else {
                Collection<GroupType> notGroupType = new ArrayList<GroupType>();
                if (!spec.isIncludeBuiltInGroups()) {
                    notGroupType.addAll(GroupType.getBuiltInTypes());
                    if (spec.isIncludeAnonymousGroups()) {
                        notGroupType.remove(GroupType.ANONYMOUS);
                    }
                }
                if (!spec.isIncludeUserGroups()) {
                    notGroupType.add(GroupType.USER);
                }
                if (!spec.isIncludeAnonymousGroups() && !notGroupType.contains(GroupType.ANONYMOUS)) {
                    notGroupType.add(GroupType.ANONYMOUS);
                }
                crit.add(Restrictions.not(Restrictions.in("type", GroupType.getIntegerValues(notGroupType))));
            }

            crit.setFirstResult(spec.getIndex());
            List list = crit.list();
            if (spec.getCount() == null) {
                return list;
            } else {
                return list.subList(0, Math.min(spec.getCount(), list.size()));
            }
        }
    });
}

From source file:com.enonic.cms.store.dao.UserEntityDao.java

License:Open Source License

public List<UserEntity> findByQuery(final UserStoreKey userStoreKey, final String queryStr,
        final String orderBy, final boolean orderAscending) {

    return (List<UserEntity>) getHibernateTemplate().execute(new HibernateCallback() {

        public Object doInHibernate(Session session) throws HibernateException, SQLException {

            Criteria crit = session.createCriteria(UserEntity.class).setCacheable(true);
            crit.add(Restrictions.eq("deleted", 0));
            crit.add(Restrictions.ne("type", UserType.ADMINISTRATOR.getKey()));
            if (userStoreKey != null) {
                crit.add(Restrictions.eq("userStore.key", userStoreKey.toInt()));
            }//from w w  w. ja  v a 2  s. c  o m

            if (queryStr != null && queryStr.length() > 0) {
                crit.add(Restrictions.or(
                        Restrictions.or(Restrictions.ilike("name", queryStr, MatchMode.ANYWHERE),
                                Restrictions.ilike("displayName", queryStr, MatchMode.ANYWHERE)),
                        Restrictions.ilike("email", queryStr, MatchMode.ANYWHERE)));

            }

            if (orderBy != null) {
                if (orderAscending) {
                    crit.addOrder(Order.asc(orderBy).ignoreCase());
                } else {
                    crit.addOrder(Order.desc(orderBy).ignoreCase());
                }
            }

            return crit.list();
        }
    });
}

From source file:com.floreantpos.model.dao.CustomerDAO.java

License:Open Source License

public List<Customer> findByName(String name) {
    Session session = null;//ww w.  ja  va 2  s. co  m

    try {
        session = getSession();
        Criteria criteria = session.createCriteria(getReferenceClass());

        if (StringUtils.isNotEmpty(name))
            criteria.add(Restrictions.ilike(Customer.PROP_FIRST_NAME, name + "%".trim(), MatchMode.ANYWHERE)); //$NON-NLS-1$ //$NON-NLS-2$

        return criteria.list();

    } finally {
        if (session != null) {
            closeSession(session);
        }
    }

}

From source file:com.floreantpos.model.dao.MenuItemDAO.java

License:Open Source License

public List<MenuItem> getMenuItems(String itemName, Object menuGroup, Object selectedType) {
    Session session = null;//from  ww  w.  j  a v a 2 s  .  c om
    Criteria criteria = null;
    try {
        session = getSession();
        criteria = session.createCriteria(MenuItem.class);

        if (menuGroup != null && menuGroup instanceof MenuGroup) {
            criteria.add(Restrictions.eq(MenuItem.PROP_PARENT, (MenuGroup) menuGroup));
        } else if (menuGroup != null && menuGroup instanceof String) {
            criteria.add(Restrictions.isNull(MenuItem.PROP_PARENT));
        }
        if (StringUtils.isNotEmpty(itemName)) {
            criteria.add(Restrictions.ilike(MenuItem.PROP_NAME, itemName.trim(), MatchMode.ANYWHERE));
        }

        //List<MenuItem> similarItems = criteria.list();

        if (selectedType != null && selectedType instanceof OrderType) {
            OrderType orderType = (OrderType) selectedType;

            criteria.createAlias("orderTypeList", "type");
            criteria.add(Restrictions.eq("type.id", orderType.getId()));

            /*List<MenuItem> selectedMenuItems = new ArrayList();
                    
            List<MenuItem> items = findAll();
                    
            for (MenuItem item : items) {
                    
               List<OrderType> types = item.getOrderTypeList();
               OrderType type = (OrderType) selectedType;
                    
               if (types.contains(type.getName()) || types.isEmpty()) {
                  selectedMenuItems.add(item);
               }
            }
            similarItems.retainAll(selectedMenuItems);*/
        } else if (selectedType != null && selectedType instanceof String) {
            criteria.add(Restrictions.isEmpty("orderTypeList"));
        }
        return criteria.list();

    } catch (Exception e) {
    }
    return criteria.list();
}

From source file:com.floreantpos.model.dao.MenuItemDAO.java

License:Open Source License

public List<MenuItem> getPizzaItems(String itemName, MenuGroup menuGroup, Object selectedType) {
    Session session = null;/*from  w  w  w  .  ja v a  2 s  .co  m*/
    Criteria criteria = null;
    try {
        session = getSession();
        criteria = session.createCriteria(MenuItem.class);
        criteria.add(Restrictions.eq(MenuItem.PROP_PIZZA_TYPE, true));

        if (menuGroup != null) {
            criteria.add(Restrictions.eq(MenuItem.PROP_PARENT, menuGroup));
        }

        if (StringUtils.isNotEmpty(itemName)) {
            criteria.add(Restrictions.ilike(MenuItem.PROP_NAME, itemName.trim(), MatchMode.ANYWHERE));
        }

        //List<MenuItem> similarItems = criteria.list();

        if (selectedType instanceof OrderType) {
            OrderType orderType = (OrderType) selectedType;

            criteria.createAlias("orderTypeList", "type");
            criteria.add(Restrictions.eq("type.id", orderType.getId()));

            /*List<MenuItem> selectedMenuItems = new ArrayList();
                    
            List<MenuItem> items = findAll();
                    
            for (MenuItem item : items) {
                    
               List<OrderType> types = item.getOrderTypeList();
               OrderType type = (OrderType) selectedType;
               if (types.contains(type.getName()) || types.isEmpty()) {
                  selectedMenuItems.add(item);
               }
            }
            similarItems.retainAll(selectedMenuItems);*/
        }

        return criteria.list();

    } catch (Exception e) {
    }
    return criteria.list();
}

From source file:com.floreantpos.model.dao.ModifierDAO.java

License:Open Source License

public List<MenuModifier> findModifier(String name, MenuModifierGroup menuModifierGroup) {
    Session session = null;/*from   w  w w . java 2 s.c o m*/
    Criteria criteria = null;

    try {
        session = getSession();
        criteria = session.createCriteria(MenuModifier.class);
        if (StringUtils.isNotEmpty(name)) {
            criteria.add(Restrictions.ilike(MenuModifier.PROP_NAME, name + "%".trim(), MatchMode.ANYWHERE)); //$NON-NLS-1$
        }

        if (menuModifierGroup != null) {

            criteria.add(Restrictions.eq(MenuModifier.PROP_MODIFIER_GROUP, menuModifierGroup));
        }

        return criteria.list();
    } finally {

        session.close();
    }
}

From source file:com.floreantpos.model.dao.ModifierDAO.java

License:Open Source License

public List<MenuModifier> findPizzaModifier(String name, MenuModifierGroup menuModifierGroup) {
    Session session = null;// w ww  .  j  a v  a  2  s.  c o  m
    Criteria criteria = null;

    try {
        session = getSession();
        criteria = session.createCriteria(MenuModifier.class);
        criteria.add(Restrictions.eq(MenuModifier.PROP_PIZZA_MODIFIER, true)); //$NON-NLS-1$
        if (StringUtils.isNotEmpty(name)) {
            criteria.add(Restrictions.ilike(MenuModifier.PROP_NAME, name + "%".trim(), MatchMode.ANYWHERE)); //$NON-NLS-1$
        }

        if (menuModifierGroup != null) {

            criteria.add(Restrictions.eq(MenuModifier.PROP_MODIFIER_GROUP, menuModifierGroup));
        }

        return criteria.list();
    } finally {

        session.close();
    }
}

From source file:com.googlecode.wicketwebbeans.databinder.DataSearchFilter.java

License:Apache License

@Override
public void build(Criteria criteria) {
    super.build(criteria);
    if (searchPanel.getDefaultModelObject() != null && properties != null) {
        for (String alias : aliases) {
            criteria.createAlias(alias, alias);
        }/*ww  w  . j ava2  s .com*/
        Disjunction disjunction = Restrictions.disjunction();
        criteria.add(disjunction);
        for (String property : properties) {
            disjunction.add(Restrictions.ilike(property, searchPanel.getDefaultModelObject().toString(),
                    MatchMode.ANYWHERE));
        }
    }
}

From source file:com.ihsolution.hqipo.dao.utils.QueryHelper.java

License:Open Source License

/**
 * Main conversion method//from   w  w  w .  jav  a  2 s . c o  m
 * @param fieldName
 * @param fieldVal
 * @param oper (=, equal, IN ...)
 * @param j (AND OR)
 * @return
 */
public QueryHelper addFieldAndVal(String fieldName, Object fieldVal, String oper, Junction j) {

    boolean isValString = fieldVal instanceof String;
    String str = "";
    if (oper == null || "".equals(oper)) {
        oper = "equal";
    }

    if (isValString)
        str = ((String) fieldVal).trim();
    if ("equal".equals(oper)) {
        if (isValString) {
            j.add(Restrictions.eq(fieldName, str).ignoreCase());
        } else
            j.add(Restrictions.eq(fieldName, fieldVal));
    } else if ("notEqual".equals(oper)) {
        if (isValString) {
            j.add(Restrictions.ne(fieldName, str).ignoreCase());
        } else
            j.add(Restrictions.ne(fieldName, fieldVal));
    } else if ("null".equals(oper)) {
        j.add(Restrictions.isNull(fieldName));
    } else if ("notNull".equals(oper)) {
        j.add(Restrictions.isNotNull(fieldName));
    } else if ("notExists".equals(oper)) {
        j.add(Restrictions.sqlRestriction(fieldVal.toString()));
    } else if ("Exists".equals(oper)) {
        j.add(Restrictions.sqlRestriction(fieldVal.toString()));
    } else if (isValString) {
        MatchMode mm = getMatchMode(oper);
        if (mm != null)
            j.add(Restrictions.ilike(fieldName, str, mm));
    } else if ("le".equals(oper))
        j.add(Restrictions.le(fieldName, fieldVal));

    else if ("ge".equals(oper))
        j.add(Restrictions.ge(fieldName, fieldVal));
    else if ("gtProperty".equals(oper)) {
        String[] spl = ((String) fieldVal).split(";");
        if (spl.length == 2)
            j.add(Restrictions.gtProperty(spl[0], spl[1]));
        else
            j.add(Restrictions.gt(fieldName, fieldVal));
    } else if ("in".equals(oper)) {
        if (fieldVal instanceof Collection)
            j.add(Restrictions.in(fieldName, (Collection) fieldVal));
        else if (fieldVal instanceof Object[])
            j.add(Restrictions.in(fieldName, (Object[]) fieldVal));
        else
            throw new IllegalArgumentException(
                    "QueryHelper.IN illegal argument type. Should be Collection or Object[]");
    } else if ("notIn".equals(oper)) {
        if (fieldVal instanceof Collection)
            j.add(Restrictions.not(Restrictions.in(fieldName, (Collection) fieldVal)));
        else if (fieldVal instanceof Object[])
            j.add(Restrictions.not(Restrictions.in(fieldName, (Object[]) fieldVal)));
        else
            throw new IllegalArgumentException(
                    "QueryHelper.NOTIN illegal argument type. Should be Collection or Object[]");

    } else if ("between".equals(oper)) {
        Collection objs = (Collection) fieldVal;
        Iterator it2 = objs.iterator();
        Object obj1 = it2.next();
        Object obj2 = it2.next();

        j.add(Restrictions.between(fieldName, obj1 instanceof String ? obj1.toString().toLowerCase() : obj1,
                obj2 instanceof String ? obj2.toString().toLowerCase() : obj2));
    } else
        j.add(Restrictions.eq(fieldName, fieldVal));

    return this;
}

From source file:com.inkubator.hrm.dao.impl.BioDataDaoImpl.java

private void doSearchBioDataByParam(BioDataSearchParameter parameter, Criteria criteria) {
    if (parameter.getName() != null) {
        //            criteria.add(Restrictions.like("firstName", parameter.getParameter(), MatchMode.ANYWHERE));
        //            Disjunction disjunction = Restrictions.disjunction();
        //            disjunction.add(Restrictions.like("firstName", parameter.getName(), MatchMode.ANYWHERE));
        //            disjunction.add(Restrictions.like("lastName", parameter.getName(), MatchMode.ANYWHERE));
        //            criteria.add(disjunction);

        criteria.createAlias("religion", "religion", JoinType.INNER_JOIN);
        criteria.createAlias("maritalStatus", "maritalStatus", JoinType.INNER_JOIN);
        criteria.add(Restrictions.ilike("combineName", parameter.getName().toLowerCase(), MatchMode.ANYWHERE));
    }/*from   w  ww  . j a v  a 2 s  . com*/

    if (parameter.getEmailAddress() != null) {
        criteria.add(Restrictions.like("personalEmail", parameter.getEmailAddress(), MatchMode.ANYWHERE));
    }
    if (parameter.getNickName() != null) {
        criteria.add(Restrictions.like("nickname", parameter.getNickName(), MatchMode.ANYWHERE));
    }
    criteria.add(Restrictions.isNotNull("id"));

}