Example usage for org.hibernate.criterion Restrictions isNotNull

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

Introduction

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

Prototype

public static Criterion isNotNull(String propertyName) 

Source Link

Document

Apply an "is not null" constraint to the named property

Usage

From source file:org.openfaces.component.filter.HibernateCriterionBuilder.java

License:LGPL

private static Criterion convertToHibernateCriteria(final ExpressionFilterCriterion expressionFilterCriterion) {
    final String property = expressionFilterCriterion.getExpressionStr();
    final Object parameter = expressionFilterCriterion.getArg1();
    FilterCondition condition = expressionFilterCriterion.getCondition();
    Criterion result = condition.process(new FilterConditionProcessor<Criterion>() {
        @Override//from   ww w  . j a  va  2s .  co m
        public Criterion processEmpty() {
            return Restrictions.isNull(property);
        }

        @Override
        public Criterion processEquals() {
            if (parameter == null) {
                return Restrictions.isNull(property);
            }

            if (parameter instanceof Date) {
                TimeZone timeZone = (TimeZone) expressionFilterCriterion.getParameters().get("timeZone");
                Date dayStart = ParametersInterpreter.dayStart((Date) parameter, timeZone);
                Date dayEnd = ParametersInterpreter.dayEnd((Date) parameter, timeZone);
                return Restrictions.and(Restrictions.ge(property, dayStart), Restrictions.le(property, dayEnd));
            } else if (parameter instanceof String) {
                boolean caseSensitive = expressionFilterCriterion.isCaseSensitive();
                if (!caseSensitive) {
                    return Restrictions.like(property, parameter.toString().toLowerCase()).ignoreCase();
                } else {
                    return Restrictions.like(property, parameter);
                }
            } else {
                return Restrictions.eq(property, parameter);
            }
        }

        @Override
        public Criterion processContains() {
            boolean caseSensitive = expressionFilterCriterion.isCaseSensitive();
            if (!caseSensitive) {
                return Restrictions.like(property, "%" + parameter.toString().toLowerCase() + "%").ignoreCase();
            } else {
                return Restrictions.like(property, "%" + parameter + "%");
            }
        }

        @Override
        public Criterion processBegins() {
            boolean caseSensitive = expressionFilterCriterion.isCaseSensitive();
            if (!caseSensitive) {
                return Restrictions.like(property, parameter.toString().toLowerCase() + "%").ignoreCase();
            } else {
                return Restrictions.like(property, parameter + "%");
            }
        }

        @Override
        public Criterion processEnds() {
            boolean caseSensitive = expressionFilterCriterion.isCaseSensitive();
            if (!caseSensitive) {
                return Restrictions.like(property, "%" + parameter.toString().toLowerCase()).ignoreCase();
            } else {
                return Restrictions.like(property, "%" + parameter);
            }
        }

        @Override
        public Criterion processLess() {
            Object correctedParameter = parameter;
            if (parameter instanceof Date) {
                TimeZone timeZone = (TimeZone) expressionFilterCriterion.getParameters().get("timeZone");
                correctedParameter = ParametersInterpreter.dayStart((Date) parameter, timeZone);
            }
            return Restrictions.lt(property, correctedParameter);
        }

        @Override
        public Criterion processGreater() {
            Object correctedParameter = parameter;
            if (parameter instanceof Date) {
                TimeZone timeZone = (TimeZone) expressionFilterCriterion.getParameters().get("timeZone");
                correctedParameter = ParametersInterpreter.dayEnd((Date) parameter, timeZone);
            }
            return Restrictions.gt(property, correctedParameter);
        }

        @Override
        public Criterion processLessOrEqual() {
            Object correctedParameter = parameter;
            if (parameter instanceof Date) {
                TimeZone timeZone = (TimeZone) expressionFilterCriterion.getParameters().get("timeZone");
                correctedParameter = ParametersInterpreter.dayEnd((Date) parameter, timeZone);
            }
            return Restrictions.le(property, correctedParameter);
        }

        @Override
        public Criterion processGreaterOrEqual() {
            Object correctedParameter = parameter;
            if (parameter instanceof Date) {
                TimeZone timeZone = (TimeZone) expressionFilterCriterion.getParameters().get("timeZone");
                correctedParameter = ParametersInterpreter.dayStart((Date) parameter, timeZone);
            }
            return Restrictions.ge(property, correctedParameter);
        }

        @Override
        public Criterion processBetween() {
            Object parameter2 = expressionFilterCriterion.getArg2();
            if (parameter instanceof Date && parameter2 instanceof Date) {
                TimeZone timeZone = (TimeZone) expressionFilterCriterion.getParameters().get("timeZone");
                Date periodStart = ParametersInterpreter.dayStart((Date) parameter, timeZone);
                Date periodEnd = ParametersInterpreter.dayEnd((Date) parameter2, timeZone);
                return Restrictions.and(Restrictions.ge(property, periodStart),
                        Restrictions.le(property, periodEnd));
            } else {
                return Restrictions.between(property, parameter, parameter2);
            }
        }
    });

    if (parameter != null) {
        result = Restrictions.and(Restrictions.isNotNull(property), result);
    }
    return (expressionFilterCriterion.isInverse()) ? Restrictions.not(result) : result;
}

From source file:org.openhealthtools.openatna.audit.persistence.dao.hibernate.HibernateQueryBuilder.java

License:Apache License

private Criterion createConditional(CriteriaNode root, CriteriaNode node, Query.ConditionalStatement value,
        String name) {//from   ww  w .  j a  v  a 2 s  .  c om
    Criteria c = node.getCriteria();
    Query.Conditional con = value.getConditional();
    Object val = value.getValue();
    Criterion cron = null;

    switch (con) {
    case MAX_NUM:
        idCriteria.setMaxResults((Integer) val);
        break;
    case START_OFFSET:
        idCriteria.setFirstResult((Integer) val);
        break;
    case AFTER:
        cron = Restrictions.ge(name, val);
        break;
    case BEFORE:
        cron = Restrictions.le(name, val);
        break;
    case CASE_INSENSITIVE_LIKE:
        cron = Restrictions.ilike(name, val);
        break;
    case EQUALS:
        cron = Restrictions.eq(name, val);
        break;
    case GREATER_THAN:
        cron = Restrictions.gt(name, val);
        break;
    case GREATER_THAN_OR_EQUAL:
        cron = Restrictions.ge(name, val);
        break;
    case LESS_THAN:
        cron = Restrictions.lt(name, val);
        break;
    case LESS_THAN_OR_EQUAL:
        cron = Restrictions.le(name, val);
        break;
    case LIKE:
        cron = Restrictions.like(name, val);
        break;
    case NOT_EQUAL:
        cron = Restrictions.ne(name, val);
        break;
    case OR:
        processJoint(root, value, false);
        break;
    case AND:
        processJoint(root, value, true);
        break;
    case NULLITY:
        Boolean b = (Boolean) val;
        cron = b ? Restrictions.isNull(name) : Restrictions.isNotNull(name);
        break;
    case ASC:
        messageCriteria.addOrder(Order.asc((String) val));
        break;
    case DESC:
        messageCriteria.addOrder(Order.desc((String) val));
        break;
    default:
        break;
    }
    if (cron != null && c != null) {
        c.add(cron);
    }
    return cron;
}

From source file:org.openhie.openempi.blocking.basicblockinghp.dao.hibernate.BlockingDaoHibernate.java

License:Open Source License

@SuppressWarnings("rawtypes")
private void addCriterion(org.hibernate.Criteria criteriaHibernate, Criterion criterion) {
    if (criterion.getOperation().equals(Operation.EQ)) {
        criteriaHibernate.add(Restrictions.eq(criterion.getName(), criterion.getValue()));
    } else if (criterion.getOperation().equals(Operation.ISNOTNULL)) {
        criteriaHibernate.add(Restrictions.isNotNull(criterion.getName()));
    } else if (criterion.getOperation().equals(Operation.ISNULL)) {
        criteriaHibernate.add(Restrictions.isNull(criterion.getName()));
    } else if (criterion.getOperation().equals(Operation.LIKE)) {
        criteriaHibernate.add(Restrictions.like(criterion.getName(), criterion.getValue()));
    } else if (criterion.getOperation().equals(Operation.NE)) {
        criteriaHibernate.add(Restrictions.ne(criterion.getName(), criterion.getValue()));
    } else if (criterion.getOperation().equals(Operation.IN)) {
        criteriaHibernate.add(Restrictions.in(criterion.getName(), (Collection) criterion.getValue()));
    }//from  w  w w. j  av  a2s.  c  o  m
}

From source file:org.openhie.openempi.dao.hibernate.BlockingDaoHibernate.java

License:Open Source License

private void addCriterion(org.hibernate.Criteria criteriaHibernate, Criterion criterion) {
    if (criterion.getOperation().equals(Operation.EQ)) {
        criteriaHibernate.add(Restrictions.eq(criterion.getName(), criterion.getValue()));
    } else if (criterion.getOperation().equals(Operation.ISNOTNULL)) {
        criteriaHibernate.add(Restrictions.isNotNull(criterion.getName()));
    } else if (criterion.getOperation().equals(Operation.ISNULL)) {
        criteriaHibernate.add(Restrictions.isNull(criterion.getName()));
    } else if (criterion.getOperation().equals(Operation.LIKE)) {
        criteriaHibernate.add(Restrictions.like(criterion.getName(), criterion.getValue()));
    } else if (criterion.getOperation().equals(Operation.NE)) {
        criteriaHibernate.add(Restrictions.ne(criterion.getName(), criterion.getValue()));
    }/*from  ww w .  j av a 2s . c om*/
}

From source file:org.openhie.openempi.dao.hibernate.PersonDaoHibernate.java

License:Open Source License

private void addCriterion(org.hibernate.Criteria criteriaHibernate,
        org.openhie.openempi.model.Criterion criterion) {
    if (criterion instanceof ExtendedCriterion) {
        ExtendedCriterion extended = (ExtendedCriterion) criterion;
        criteriaHibernate.createAlias(extended.getAssociationPath(), extended.getAlias());
    }//from  w  w w.j a v  a  2 s . c  o m
    if (criterion.getOperation().equals(Operation.EQ) || criterion.getValue() instanceof java.util.Date) {
        if (criterion.getValue() instanceof java.util.Date) {
            criteriaHibernate.add(Restrictions.eq(criterion.getName(), criterion.getValue()));
        } else {
            criteriaHibernate.add(Restrictions.eq(criterion.getName(), criterion.getValue()).ignoreCase());
        }
    } else if (criterion.getOperation().equals(Operation.ISNOTNULL)) {
        criteriaHibernate.add(Restrictions.isNotNull(criterion.getName()));
    } else if (criterion.getOperation().equals(Operation.ISNULL)) {
        criteriaHibernate.add(Restrictions.isNull(criterion.getName()));
    } else if (criterion.getOperation().equals(Operation.LIKE)) {
        criteriaHibernate.add(Restrictions.like(criterion.getName(), criterion.getValue()).ignoreCase());
    } else if (criterion.getOperation().equals(Operation.EQ)) {
        criteriaHibernate.add(Restrictions.eq(criterion.getName(), criterion.getValue()).ignoreCase());
    } else if (criterion.getOperation().equals(Operation.NE)) {
        criteriaHibernate.add(Restrictions.ne(criterion.getName(), criterion.getValue()));
    }
}

From source file:org.openinfobutton.responder.dao.impl.ResponderRequestParameterDaoImpl.java

License:Apache License

/**
 *
 * @return/*  w w  w  .  java 2  s. co m*/
 */
@Override
public List<RequestParameter> getSupportedOpenInfobuttonRequestParametersOrdered() {

    if (supportedOpenInfobuttonRequestParameters == null) {
        supportedOpenInfobuttonRequestParameters = getSessionFactory().getCurrentSession()
                .createCriteria(RequestParameter.class).add(Restrictions.isNotNull("parameterRoot"))
                .add(Restrictions.isNotNull("parameterName")).add(Restrictions.isNotNull("typeCode"))
                .addOrder(Order.asc("parameterName")).list();
    }

    return supportedOpenInfobuttonRequestParameters;
}

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

License:Mozilla Public License

/**
 * @see org.openmrs.api.db.ConceptDAO#getProposedConcepts(java.lang.String)
 *//* w  ww .ja v a  2s .c  o m*/
@SuppressWarnings("unchecked")
public List<Concept> getProposedConcepts(String text) throws DAOException {
    Criteria crit = sessionFactory.getCurrentSession().createCriteria(ConceptProposal.class);
    crit.add(Restrictions.ne("state", OpenmrsConstants.CONCEPT_PROPOSAL_UNMAPPED));
    crit.add(Restrictions.eq("originalText", text));
    crit.add(Restrictions.isNotNull("mappedConcept"));
    crit.setProjection(Projections.distinct(Projections.property("mappedConcept")));

    return crit.list();
}

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

License:Mozilla Public License

private Criterion getCriterionForShortName(String name, boolean includeVoided) {
    Criterion criterion = Restrictions.disjunction()
            .add(Restrictions.conjunction().add(Restrictions.isNotNull("name.givenName"))
                    .add(Restrictions.eq("name.givenName", name).ignoreCase()))
            .add(Restrictions.conjunction().add(Restrictions.isNotNull("name.middleName"))
                    .add(Restrictions.eq("name.middleName", name).ignoreCase()))
            .add(Restrictions.conjunction().add(Restrictions.isNotNull("name.familyName"))
                    .add(Restrictions.eq("name.familyName", name).ignoreCase()))
            .add(Restrictions.conjunction().add(Restrictions.isNotNull("name.familyName2"))
                    .add(Restrictions.eq("name.familyName2", name).ignoreCase()));

    if (!includeVoided) {
        return Restrictions.conjunction().add(Restrictions.eq("name.voided", false)).add(criterion);
    }/*from  w  ww .j  a  v a2s. c o m*/
    return criterion;
}

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

License:Mozilla Public License

private Criterion getCriterionForNoExactName(String name, boolean includeVoided) {
    MatchMode matchMode = getMatchMode();

    Criterion criterion = Restrictions.conjunction()
            .add(Restrictions.disjunction()
                    .add(Restrictions.conjunction().add(Restrictions.isNotNull("name.givenName"))
                            .add(Restrictions.like("name.givenName", name, matchMode)))
                    .add(Restrictions.conjunction().add(Restrictions.isNotNull("name.middleName"))
                            .add(Restrictions.like("name.middleName", name, matchMode)))
                    .add(Restrictions.conjunction().add(Restrictions.isNotNull("name.familyName"))
                            .add(Restrictions.like("name.familyName", name, matchMode)))
                    .add(Restrictions.conjunction().add(Restrictions.isNotNull("name.familyName2"))
                            .add(Restrictions.like("name.familyName2", name, matchMode))))
            .add(Restrictions.disjunction().add(Restrictions.isNull("name.givenName"))
                    .add(Restrictions.ne("name.givenName", name)))
            .add(Restrictions.disjunction().add(Restrictions.isNull("name.middleName"))
                    .add(Restrictions.ne("name.middleName", name)))
            .add(Restrictions.disjunction().add(Restrictions.isNull("name.familyName"))
                    .add(Restrictions.ne("name.familyName", name)))
            .add(Restrictions.disjunction().add(Restrictions.isNull("name.familyName2"))
                    .add(Restrictions.ne("name.familyName2", name)));

    if (!includeVoided) {
        return Restrictions.conjunction().add(Restrictions.eq("name.voided", false)).add(criterion);
    }/* w  w  w.  java2  s  . c  o m*/
    return criterion;
}

From source file:org.openmrs.module.clinicalsummary.db.hibernate.HibernateIndexDAO.java

License:Open Source License

/**
 * @see IndexDAO#getIndexes(org.openmrs.Location, org.openmrs.module.clinicalsummary.Summary, java.util.Date, java.util.Date)
 *///from ww w . j a  va  2s.c o  m
@Override
@SuppressWarnings("unchecked")
public List<Index> getIndexes(final Location location, final Summary summary, final Date startVisitDate,
        final Date endVisitDate) throws DAOException {
    Criteria criteria = sessionFactory.getCurrentSession().createCriteria(Index.class);
    criteria.add(Restrictions.eq("location", location));
    criteria.createAlias("patient", "patient");
    criteria.createAlias("patient.identifiers", "identifier");

    criteria.add(Restrictions.eq("patient.voided", Boolean.FALSE));
    criteria.add(Restrictions.isNotNull("identifier.identifier"));

    if (summary != null)
        criteria.add(Restrictions.eq("summary", summary));

    if (startVisitDate != null)
        criteria.add(Restrictions.ge("returnDate", startVisitDate));

    if (endVisitDate != null)
        criteria.add(Restrictions.le("returnDate", endVisitDate));

    criteria.addOrder(Order.asc("returnDate"));
    criteria.addOrder(Order.asc("identifier.identifier"));
    return criteria.list();
}