Example usage for org.hibernate.criterion Restrictions isEmpty

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

Introduction

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

Prototype

public static Criterion isEmpty(String propertyName) 

Source Link

Document

Constrain a collection valued property to be empty

Usage

From source file:ome.services.search.FullText.java

License:Open Source License

private Criteria criteria(FullTextSession session) {
    final Class<?> cls = values.onlyTypes.get(0);
    Criteria criteria = session.createCriteria(cls);
    AnnotationCriteria ann = new AnnotationCriteria(criteria, values.fetchAnnotations);

    ids(criteria);//from ww w  .  j  av  a  2 s . c om
    ownerOrGroup(cls, criteria);
    createdOrModified(cls, criteria);
    annotatedBy(ann);
    annotatedBetween(ann);

    // annotatedWith
    if (values.onlyAnnotatedWith != null) {
        if (values.onlyAnnotatedWith.size() > 1) {
            throw new ApiUsageException("HHH-879: " + "At the moment Hibernate cannot fulfill this request.\n"
                    + "Please use only a single onlyAnnotatedWith "
                    + "parameter when performing full text searches.");
        } else if (values.onlyAnnotatedWith.size() > 0) {
            if (!IAnnotated.class.isAssignableFrom(cls)) {
                // A non-IAnnotated object cannot have any
                // Annotations, and so our results are null
                return null; // EARLY EXIT !
            } else {
                for (Class<?> annCls : values.onlyAnnotatedWith) {
                    SimpleExpression ofType = new TypeEqualityExpression("class", annCls);
                    ann.getChild().add(ofType);
                }
            }
        } else {
            criteria.add(Restrictions.isEmpty("annotationLinks"));
        }
    }

    // orderBy
    if (values.orderBy.size() > 0) {
        for (int i = 0; i < values.orderBy.size(); i++) {
            String orderBy = values.orderBy.get(i);
            String orderWithoutMode = orderByPath(orderBy);
            boolean ascending = orderByAscending(orderBy);
            if (ascending) {
                criteria.addOrder(Order.asc(orderWithoutMode));
            } else {
                criteria.addOrder(Order.desc(orderWithoutMode));
            }
        }
    }
    return criteria;
}

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/*ww w  .  ja v a  2s  .  c o m*/
        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 isEmpty(String property) {
    org.hibernate.criterion.Criterion criterion = Restrictions.isEmpty(calculatePropertyName(property));
    addToCriteria(criterion);/*from   www. j  a v  a  2 s .  com*/
    return this;
}

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

License:Apache License

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

From source file:org.egov.works.milestone.service.MilestoneService.java

License:Open Source License

public List<Milestone> searchMilestone(final SearchRequestMilestone searchRequestMilestone) {
    final Criteria criteria = entityManager.unwrap(Session.class).createCriteria(Milestone.class)
            .createAlias("workOrderEstimate", "woe").createAlias("woe.estimate", "estimate")
            .createAlias("estimate.lineEstimateDetails", "led").createAlias("led.lineEstimate", "le")
            .createAlias("status", "status").createAlias("woe.workOrder", "wo")
            .createAlias("led.projectCode", "projectCode")
            .createAlias("trackMilestone", "tm", JoinType.LEFT_OUTER_JOIN)
            .createAlias("tm.status", "trackStatus", JoinType.LEFT_OUTER_JOIN);

    if (searchRequestMilestone != null) {
        if (searchRequestMilestone.getDepartment() != null)
            criteria.add(Restrictions.eq("le.executingDepartment.id", searchRequestMilestone.getDepartment()));
        if (searchRequestMilestone.getMilestoneFromDate() != null)
            criteria.add(Restrictions.ge("createdDate", searchRequestMilestone.getMilestoneFromDate()));
        if (searchRequestMilestone.getMilestoneToDate() != null) {
            final DateTime dateTime = new DateTime(searchRequestMilestone.getMilestoneToDate().getTime())
                    .plusDays(1);//www  .j a  va 2s . com
            criteria.add(Restrictions.le("createdDate", dateTime.toDate()));
        }
        if (searchRequestMilestone.getStatus() != null)
            criteria.add(Restrictions.eq("status.code", searchRequestMilestone.getStatus()));
        if (searchRequestMilestone.getSubTypeOfWork() != null)
            criteria.add(Restrictions.eq("le.subTypeOfWork.id", searchRequestMilestone.getSubTypeOfWork()));
        if (searchRequestMilestone.getTypeOfWork() != null)
            criteria.add(Restrictions.eq("le.typeOfWork.id", searchRequestMilestone.getTypeOfWork()));
        if (searchRequestMilestone.getWorkIdentificationNumber() != null)
            criteria.add(Restrictions
                    .eq("projectCode.code", searchRequestMilestone.getWorkIdentificationNumber()).ignoreCase());
        if (searchRequestMilestone.getWorkOrderNumber() != null)
            criteria.add(Restrictions.ilike("wo.workOrderNumber", searchRequestMilestone.getWorkOrderNumber(),
                    MatchMode.ANYWHERE));
    }

    criteria.add(Restrictions.or(Restrictions.isEmpty("trackMilestone"),
            Restrictions.or(Restrictions.eq("tm.projectCompleted", false),
                    Restrictions.eq("trackStatus.code", WorksConstants.CANCELLED_STATUS))));
    criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);

    return criteria.list();
}

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;
    }//  w  w  w .j a  va2s.  c o m

    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.mzd.shap.domain.dao.FeatureDaoSpringHibernate.java

License:Open Source License

public List<Feature> findUnprocessed(Sequence sequence) {
    return findByCriteria(null, Restrictions.eq("sequence", sequence), Restrictions.isEmpty("annotations"));
}

From source file:org.mzd.shap.domain.dao.SequenceDaoSpringHibernate.java

License:Open Source License

public List<Sequence> findUnprocessed(final Project project) {
    return findByCriteria(null, Restrictions.eq("project", project), Restrictions.isEmpty("features"));
}

From source file:org.openmrs.api.db.hibernate.HibernateEncounterDAO.java

License:Mozilla Public License

private void addEmptyVisitsByPatientCriteria(Criteria criteria, Patient patient, boolean includeVoided,
        String query) {/* w w  w.  j a va2 s  . c  o  m*/
    criteria.add(Restrictions.eq("patient", patient));
    criteria.add(Restrictions.isEmpty("encounters"));

    if (!includeVoided) {
        criteria.add(Restrictions.eq("voided", includeVoided));
    }

    if (query != null && !StringUtils.isBlank(query)) {
        criteria.createAlias("visitType", "visitType", Criteria.LEFT_JOIN);
        criteria.createAlias("location", "location", Criteria.LEFT_JOIN);

        Disjunction or = Restrictions.disjunction();
        criteria.add(or);
        or.add(Restrictions.ilike("visitType.name", query, MatchMode.ANYWHERE));
        or.add(Restrictions.ilike("location.name", query, MatchMode.ANYWHERE));
    }

    criteria.addOrder(Order.desc("startDatetime"));
    criteria.addOrder(Order.desc("visitId"));
}

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;/* w  w w  .j a  v a  2s . com*/
    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;
}