Example usage for org.hibernate.criterion Restrictions isNotEmpty

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

Introduction

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

Prototype

public static Criterion isNotEmpty(String propertyName) 

Source Link

Document

Constrain a collection valued property to be non-empty

Usage

From source file:kr.debop4j.data.hibernate.tools.CriteriaTool.java

License:Apache License

/**
 * Add is not null./*  ww w.  j ava 2  s.com*/
 *
 * @param dc           the dc
 * @param propertyName the property name
 * @return the detached criteria
 */
public static DetachedCriteria addIsNotNull(DetachedCriteria dc, String propertyName) {
    return dc.add(Restrictions.isNotEmpty(propertyName));
}

From source file:net.firejack.platform.core.store.AbstractStore.java

License:Apache License

protected Criterion getRestrictions(SearchQuery query, Class<?> type) {
    Criterion criterion;//from w w w.  j  a v a2  s. co m
    Object value = query.getValue();
    QueryOperation operation = query.getOperation();
    if (value != null
            && !(QueryOperation.FIELDEQUALS.equals(operation) || QueryOperation.FIELDNOTEQUALS.equals(operation)
                    || QueryOperation.FIELDGREATERTHAN.equals(operation)
                    || QueryOperation.FIELDLESSTHAN.equals(operation))) {
        if (value instanceof Collection) {
            Collection values = (Collection) value;
            if (Integer.class.equals(type)) {
                List<Integer> list = new ArrayList<Integer>();
                for (Object item : values) {
                    list.add(Integer.parseInt(item.toString()));
                }
                value = list;
            } else if (Long.class.equals(type)) {
                List<Long> list = new ArrayList<Long>();
                for (Object item : values) {
                    list.add(Long.parseLong(item.toString()));
                }
                value = list;
            } else if (java.sql.Date.class.equals(type) || Date.class.equals(type)) {
                List<Date> list = new ArrayList<Date>();
                for (Object item : values) {
                    Tuple<Date, QueryOperation> tuple = convertToDate(item, operation);
                    operation = tuple.getValue();
                    list.add(tuple.getKey());
                }
                value = list;
            } else if (Enum.class.isAssignableFrom(type)) {
                List<Enum> enumValues = new ArrayList<Enum>(values.size());
                for (Object item : values) {
                    Enum enumItem = prepareEnumFromSearchCriteria((Class<? extends Enum>) type, item);
                    enumValues.add(enumItem);
                }
                value = enumValues;
            }
        } else {
            if (Integer.class.equals(type)) {
                value = Integer.parseInt(value.toString());
            } else if (Long.class.equals(type)) {
                value = Long.parseLong(value.toString());
            } else if (Double.class.equals(type)) {
                value = Double.parseDouble(value.toString());
            } else if (java.sql.Date.class.equals(type) || Date.class.equals(type)) {
                Tuple<Date, QueryOperation> tuple = convertToDate(value, operation);
                value = tuple.getKey();
                operation = tuple.getValue();
            } else if (Enum.class.isAssignableFrom(type)) {
                value = prepareEnumFromSearchCriteria((Class<? extends Enum>) type, value);
            }
        }
    }

    if (!String.class.equals(type)
            && (QueryOperation.LIKECS.equals(operation) || QueryOperation.LIKECSFIRST.equals(operation)
                    || QueryOperation.LIKE.equals(operation) || QueryOperation.LIKEFIRST.equals(operation))) {
        operation = QueryOperation.EQUALS;
    }

    switch (operation) {
    case LIKECS:
        criterion = Restrictions.like(query.getField(), "%" + value + "%");
        break;
    case LIKECSFIRST:
        criterion = Restrictions.like(query.getField(), value + "%");
        break;
    case LIKE:
        criterion = Restrictions.ilike(query.getField(), "%" + value + "%");
        break;
    case LIKEFIRST:
        criterion = Restrictions.ilike(query.getField(), value + "%");
        break;
    case EQUALS:
        criterion = Restrictions.eq(query.getField(), value);
        break;
    case LESSTHAN:
        criterion = Restrictions.lt(query.getField(), value);
        break;
    case GREATERTHAN:
        criterion = Restrictions.gt(query.getField(), value);
        break;
    case ISNULL:
        criterion = Restrictions.isNull(query.getField());
        break;
    case ISNOTNULL:
        criterion = Restrictions.isNotNull(query.getField());
        break;
    case ISEMPTY:
        criterion = Restrictions.isEmpty(query.getField());
        break;
    case ISNOTEMPTY:
        criterion = Restrictions.isNotEmpty(query.getField());
        break;
    case NOTEQUALS:
        criterion = Restrictions.ne(query.getField(), value);
        break;
    case IN:
        criterion = generateInRestriction(query.getField(), (Collection) value);
        break;
    case NOTIN:
        criterion = Restrictions.not(generateInRestriction(query.getField(), (Collection) value));
        break;
    case FIELDEQUALS:
        criterion = Restrictions.eqProperty(query.getField(), value != null ? value.toString() : "");
        break;
    case FIELDNOTEQUALS:
        criterion = Restrictions.neProperty(query.getField(), value != null ? value.toString() : "");
        break;
    case FIELDGREATERTHAN:
        criterion = Restrictions.gtProperty(query.getField(), value != null ? value.toString() : "");
        break;
    case FIELDLESSTHAN:
        criterion = Restrictions.ltProperty(query.getField(), value != null ? value.toString() : "");
        break;
    default:
        throw new RuntimeException("Operation " + query.getField() + " is not a valid operation");
    }
    return criterion;
}

From source file:net.sf.xplanner.dao.impl.RoleDaoImpl.java

License:Open Source License

@Override
public List<Role> getRoles(final int personId, final int projectId, final boolean includeWildcardProject) {
    final Criteria criteria = this.createCriteria();
    criteria.add(Restrictions.isNotEmpty("right"));
    DetachedCriteria.forEntityName("Role");

    // ChangeSoon 
    return null;// ww w. ja v  a  2  s.  c om
}

From source file:org.codehaus.groovy.grails.orm.hibernate.query.AbstractHibernateCriterionAdapter.java

License:Apache License

protected void addSimpleCriterionAdapters() {
    criterionAdaptors.put(Query.IsNull.class, new CriterionAdaptor<Query.IsNull>() {
        @Override//from w ww.j a  v  a2s.  c  om
        public Criterion toHibernateCriterion(AbstractHibernateQuery hibernateQuery, Query.IsNull criterion,
                String alias) {
            String propertyName = getPropertyName(criterion, alias);
            return Restrictions.isNull(propertyName);
        }
    });
    criterionAdaptors.put(Query.IsNotNull.class, new CriterionAdaptor<Query.IsNotNull>() {
        @Override
        public Criterion toHibernateCriterion(AbstractHibernateQuery hibernateQuery, Query.IsNotNull criterion,
                String alias) {
            String propertyName = getPropertyName(criterion, alias);
            return Restrictions.isNotNull(propertyName);
        }
    });
    criterionAdaptors.put(Query.IsEmpty.class, new CriterionAdaptor<Query.IsEmpty>() {
        @Override
        public Criterion toHibernateCriterion(AbstractHibernateQuery hibernateQuery, Query.IsEmpty criterion,
                String alias) {
            String propertyName = getPropertyName(criterion, alias);
            return Restrictions.isEmpty(propertyName);
        }
    });
    criterionAdaptors.put(Query.IsNotEmpty.class, new CriterionAdaptor<Query.IsNotEmpty>() {
        @Override
        public Criterion toHibernateCriterion(AbstractHibernateQuery hibernateQuery, Query.IsNotEmpty criterion,
                String alias) {
            String propertyName = getPropertyName(criterion, alias);
            return Restrictions.isNotEmpty(propertyName);
        }
    });
}

From source file:org.codehaus.groovy.grails.orm.hibernate.query.AbstractHibernateQuery.java

License:Apache License

@Override
public Query isNotEmpty(String property) {
    addToCriteria(Restrictions.isNotEmpty(calculatePropertyName(property)));
    return this;
}

From source file:org.codehaus.groovy.grails.orm.hibernate.query.HibernateQuery.java

License:Apache License

@Override
public Query isNotEmpty(String property) {
    criteria.add(Restrictions.isNotEmpty(property));
    return this;
}

From source file:org.dspace.content.dao.impl.WorkspaceItemDAOImpl.java

License:BSD License

@Override
public List<WorkspaceItem> findWithSupervisedGroup(Context context) throws SQLException {
    Criteria criteria = createCriteria(context, WorkspaceItem.class);
    criteria.add(Restrictions.isNotEmpty("supervisorGroups"));
    criteria.addOrder(Order.asc("workspaceItemId"));
    return list(criteria);
}

From source file:org.fornax.cartridges.sculptor.framework.accessimpl.jpahibernate.JpaHibFindByConditionAccessImpl.java

License:Apache License

private Criterion makeCriterion(ConditionalCriteria crit) {
    if (crit == null) {
        return null;
    }/*from w  w  w  . j  a  v a  2s.  c om*/

    ConditionalCriteria.Operator operator = crit.getOperator();
    if (Operator.Equal.equals(operator)) {
        return Restrictions.eq(makePathWithAlias(crit.getPropertyFullName()), crit.getFirstOperant());
    } else if (Operator.IgnoreCaseEqual.equals(operator)) {
        return Restrictions.eq(makePathWithAlias(crit.getPropertyFullName()), crit.getFirstOperant())
                .ignoreCase();
    } else if (Operator.LessThan.equals(operator)) {
        return Restrictions.lt(makePathWithAlias(crit.getPropertyFullName()), crit.getFirstOperant());
    } else if (Operator.LessThanOrEqual.equals(operator)) {
        return Restrictions.le(makePathWithAlias(crit.getPropertyFullName()), crit.getFirstOperant());
    } else if (Operator.GreatThan.equals(operator)) {
        return Restrictions.gt(makePathWithAlias(crit.getPropertyFullName()), crit.getFirstOperant());
    } else if (Operator.GreatThanOrEqual.equals(operator)) {
        return Restrictions.ge(makePathWithAlias(crit.getPropertyFullName()), crit.getFirstOperant());
    } else if (Operator.Like.equals(operator)) {
        return Restrictions.like(makePathWithAlias(crit.getPropertyFullName()), crit.getFirstOperant());
    } else if (Operator.IgnoreCaseLike.equals(operator)) {
        return Restrictions.ilike(makePathWithAlias(crit.getPropertyFullName()), crit.getFirstOperant());
    } else if (Operator.IsNull.equals(operator)) {
        return Restrictions.isNull(makePathWithAlias(crit.getPropertyFullName()));
    } else if (Operator.IsNotNull.equals(operator)) {
        return Restrictions.isNotNull(makePathWithAlias(crit.getPropertyFullName()));
    } else if (Operator.IsEmpty.equals(operator)) {
        return Restrictions.isEmpty(makePathWithAlias(crit.getPropertyFullName()));
    } else if (Operator.IsNotEmpty.equals(operator)) {
        return Restrictions.isNotEmpty(makePathWithAlias(crit.getPropertyFullName()));
    } else if (Operator.Not.equals(operator)) {
        return Restrictions.not(makeCriterion((ConditionalCriteria) crit.getFirstOperant()));
    } else if (Operator.Or.equals(operator) && crit.getFirstOperant() instanceof List<?>) {
        Disjunction disj = Restrictions.disjunction();
        List<?> disjList = (List<?>) crit.getFirstOperant();
        for (Object disjPart : disjList) {
            disj.add(makeCriterion((ConditionalCriteria) disjPart));
        }
        return disj;
    } else if (Operator.Or.equals(operator)) {
        return Restrictions.or(makeCriterion((ConditionalCriteria) crit.getFirstOperant()),
                makeCriterion((ConditionalCriteria) crit.getSecondOperant()));
    } else if (Operator.And.equals(operator) && crit.getFirstOperant() instanceof List<?>) {
        Conjunction conj = Restrictions.conjunction();
        List<?> conjList = (List<?>) crit.getFirstOperant();
        for (Object conjPart : conjList) {
            conj.add(makeCriterion((ConditionalCriteria) conjPart));
        }
        return conj;
    } else if (Operator.And.equals(operator)) {
        return Restrictions.and(makeCriterion((ConditionalCriteria) crit.getFirstOperant()),
                makeCriterion((ConditionalCriteria) crit.getSecondOperant()));
    } else if (Operator.In.equals(operator)) {
        if (crit.getFirstOperant() instanceof Collection<?>) {
            return Restrictions.in(makePathWithAlias(crit.getPropertyFullName()),
                    (Collection<?>) crit.getFirstOperant());
        } else {
            return Restrictions.in(makePathWithAlias(crit.getPropertyFullName()),
                    (Object[]) crit.getFirstOperant());
        }
    } else if (Operator.Between.equals(operator)) {
        return Restrictions.between(makePathWithAlias(crit.getPropertyFullName()), crit.getFirstOperant(),
                crit.getSecondOperant());
    } else if (Operator.DistinctRoot.equals(operator)) {
        realDistinctRoot = true;
        return null;
    } else if (Operator.ProjectionRoot.equals(operator)) {
        resultTransformer = Criteria.PROJECTION;
        return null;
    } else if (Operator.EqualProperty.equals(operator)) {
        return Restrictions.eqProperty(makePathWithAlias(crit.getPropertyFullName()),
                (String) crit.getFirstOperant());
    } else if (Operator.LessThanProperty.equals(operator)) {
        return Restrictions.eqProperty(makePathWithAlias(crit.getPropertyFullName()),
                (String) crit.getFirstOperant());
    } else if (Operator.LessThanOrEqualProperty.equals(operator)) {
        return Restrictions.eqProperty(makePathWithAlias(crit.getPropertyFullName()),
                (String) crit.getFirstOperant());
    } else if (Operator.GreatThanProperty.equals(operator)) {
        return Restrictions.eqProperty(makePathWithAlias(crit.getPropertyFullName()),
                (String) crit.getFirstOperant());
    } else if (Operator.GreatThanOrEqualProperty.equals(operator)) {
        return Restrictions.eqProperty(makePathWithAlias(crit.getPropertyFullName()),
                (String) crit.getFirstOperant());
    } else {
        return null;
    }
}

From source file:org.openbravo.test.base.BaseTest.java

License:Open Source License

/**
 * Gets a random User (Record ID) from the available ones in the test client. The ID is one
 * different than {@link #TEST_USER_ID}//www. j  a  v a2  s  . c om
 * 
 * @return A record ID of a available user
 */
protected User getRandomUser() {
    if (userIds == null) {
        setTestUserContext();

        String[] excludedUserIds = { "100", TEST_USER_ID };
        OBCriteria<User> obc = OBDal.getInstance().createCriteria(User.class);
        obc.add(Restrictions.not(Restrictions.in(User.PROPERTY_ID, excludedUserIds)));
        obc.add(Restrictions.isNotEmpty(User.PROPERTY_ADUSERROLESLIST));

        if (obc.count() == 0) {
            throw new RuntimeException("Unable to initialize the list of available users");
        }
        userIds = new ArrayList<User>();
        for (User u : obc.list()) {
            userIds.add(u);
        }
    }

    Random r = new Random();
    return userIds.get(r.nextInt(userIds.size()));
}

From source file:org.openmrs.module.openhmis.commons.api.entity.search.BaseObjectTemplateSearch.java

License:Open Source License

protected Criterion createCriterion(String field, String value, StringComparisonType comparisonType) {
    StringComparisonType comparison = comparisonType == null ? StringComparisonType.EQUAL : comparisonType;

    Criterion result;//from   ww w.  j a  v a  2s  . co  m
    switch (comparison) {
    case EQUAL:
        result = Restrictions.eq(field, value);
        break;
    case NOT_EQUAL:
        result = Restrictions.ne(field, value);
        break;
    case IS_NULL:
        result = Restrictions.isNull(field);
        break;
    case IS_NOT_NULL:
        result = Restrictions.isNotNull(field);
        break;
    case IS_EMPTY:
        result = Restrictions.isEmpty(field);
        break;
    case IS_NOT_EMPTY:
        result = Restrictions.isNotEmpty(field);
        break;
    case LIKE:
        result = Restrictions.ilike(field, value);
        break;
    default:
        throw new IllegalArgumentException();
    }

    return result;
}