Example usage for org.hibernate.criterion Restrictions lt

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

Introduction

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

Prototype

public static SimpleExpression lt(String propertyName, Object value) 

Source Link

Document

Apply a "less than" constraint to the named property

Usage

From source file:es.sm2.openppm.core.dao.ProjectFollowupDAO.java

License:Open Source License

/**
 * Get EV from program projects until a date
 * @param program//from  ww  w  .j a  v  a2  s  .c  om
 * @param tempDate
 * @return
 */
public Double getProgramEV(Program program, Date date, boolean projectsDisabled) {
    Double ev = 0D;

    if (program != null) {
        ProjectDAO projectDAO = new ProjectDAO(getSession());

        List<Project> projects = projectDAO.findByProgramAndProjectsDisabled(program, projectsDisabled);

        for (Project p : projects) {
            Criteria crit = getSession().createCriteria(getPersistentClass());
            crit.add(Restrictions.eq("project.idProject", p.getIdProject()));
            crit.add(Restrictions.lt("followupDate", date));
            crit.add(Restrictions.isNotNull("ev"));
            crit.addOrder(Order.desc("followupDate"));
            crit.setMaxResults(1);

            Projectfollowup followup = (Projectfollowup) crit.uniqueResult();
            if (followup != null) {
                ev += followup.getEv();
            }
        }
    }

    return ev;
}

From source file:es.sm2.openppm.core.dao.ProjectFollowupDAO.java

License:Open Source License

/**
 * Consult backlog for a program in a month
 * CurrentMonth is for calculate number of months of a project to end
 * @param program/*from   w ww .  ja va  2s  .  c o m*/
 * @param date
 * @return
 */
public Double getProgramBacklog(Program program, Date date, Date currentMonth, boolean projectsDisabled) {
    Double backlog = 0D;

    if (program != null) {
        ProjectDAO projectDAO = new ProjectDAO(getSession());

        List<Project> projects = projectDAO.findByProgramAndProjectsDisabled(program, projectsDisabled);

        for (Project p : projects) {
            if (p.getPlannedFinishDate() != null && p.getPlannedFinishDate().after(date)) {
                Integer months = DateUtil.monthsBetween(currentMonth, p.getPlannedFinishDate());
                if (months <= 0)
                    months = 1;

                Criteria crit = getSession().createCriteria(getPersistentClass());
                crit.add(Restrictions.eq("project.idProject", p.getIdProject()));
                crit.add(Restrictions.lt("followupDate", date));
                crit.add(Restrictions.isNotNull("ev"));
                crit.addOrder(Order.desc("followupDate"));
                crit.setMaxResults(1);

                Projectfollowup followup = (Projectfollowup) crit.uniqueResult();

                if (followup != null) {
                    //Extra is project pending incomes divided by months pending to close project
                    double netIncome = (p.getNetIncome() == null ? 0 : p.getNetIncome());
                    backlog += (netIncome - followup.getEv()) / months;
                }
            }
        }
    }

    return backlog;
}

From source file:es.sm2.openppm.core.dao.ProjectFollowupDAO.java

License:Open Source License

public Projectfollowup findPrevius(Project project, Date date) {

    Criteria crit = getSession().createCriteria(getPersistentClass()).setMaxResults(1)
            .add(Restrictions.eq(Projectfollowup.PROJECT, project))
            .add(Restrictions.lt(Projectfollowup.FOLLOWUPDATE, date))
            .addOrder(Order.desc(Projectfollowup.FOLLOWUPDATE));

    return (Projectfollowup) crit.uniqueResult();
}

From source file:es.sm2.openppm.core.dao.ProjectFollowupDAO.java

License:Open Source License

/**
 * followup returns before the date//from   w ww  .j  a v  a  2 s.c o  m
 * @param project
 * @param date
 * @return
 */
public Projectfollowup beforeFollowup(Project project, Date date) {

    Criteria crit = getSession().createCriteria(getPersistentClass()).setMaxResults(1)
            .add(Restrictions.eq(Projectfollowup.PROJECT, project))
            .add(Restrictions.lt(Projectfollowup.FOLLOWUPDATE, date))
            .addOrder(Order.desc(Projectfollowup.FOLLOWUPDATE));

    return (Projectfollowup) crit.uniqueResult();
}

From source file:eu.interedition.text.query.RangeOverlapCriterion.java

License:Apache License

@Override
Criterion restrict() {
    return Restrictions.and(Restrictions.lt("target.start", range.getEnd()),
            Restrictions.gt("target.end", range.getStart()));
}

From source file:eu.jangos.manager.utils.Utils.java

License:Apache License

/**
 * Generic method to apply a date filter on an Hibernate query.
 *
 * @param query The query object in its actual state.
 * @param param The name of the parameter in Hibernate configuration.
 * @param filter The filter type for the date.
 * @param from The starting date.//www .j av a2 s . c o  m
 * @param to The second date filter.
 * @return The updated query object with the corresponding filter.
 */
public static Criteria applyDateFilter(Criteria query, String param, DateType filter, Date from, Date to) {
    // We first exchange dates if they are invalid.   
    if (from != null && to != null && from.after(to)) {
        Date temp = from;
        from = to;
        to = temp;
    }

    switch (filter) {
    case BEFORE:
        query.add(Restrictions.le(param, from));
        break;
    case AFTER:
        query.add(Restrictions.ge(param, from));
        break;
    case BETWEEN:
        query.add(Restrictions.gt(param, from)).add(Restrictions.lt(param, to));
        break;
    }

    return query;
}

From source file:fi.iot.iiframework.restapi.filters.Before.java

License:Apache License

@Override
public Criterion createCriterion(String... filters) throws ArrayIndexOutOfBoundsException {
    long bound = 0;
    try {//from www.  java 2s.c o m
        bound = Long.parseLong(filters[0]);
    } catch (NumberFormatException ex) {
        ErrorLogger.log(ErrorType.PARSE_ERROR, ErrorSeverity.LOW,
                "Could not parse long given as a parameter in filter.");
    }

    return Restrictions.lt(getField(), bound);
}

From source file:fi.iot.iiframework.restapi.filters.LessThan.java

License:Apache License

@Override
public Criterion createCriterion(String... filters) throws ArrayIndexOutOfBoundsException {
    Double bound = 0.0;//from  w w w  . java  2  s .  c o  m
    try {
        bound = Double.parseDouble(filters[0]);
    } catch (NumberFormatException ex) {
        ErrorLogger.log(ErrorType.PARSE_ERROR, ErrorSeverity.LOW,
                "Could not parse double given as a parameter in filter.");
    }

    return Restrictions.lt(getField(), bound);
}

From source file:fr.gael.dhus.olingo.v1.SQLVisitor.java

License:Open Source License

private Criterion internalCriterionComparative(BinaryOperator operator, String property, Object value) {
    Criterion criterion;/* w w  w . j av  a  2s.  c  om*/
    switch (operator) {
    case EQ: {
        criterion = Restrictions.eq(property, value);
        break;
    }
    case NE: {
        criterion = Restrictions.ne(property, value);
        break;
    }
    case GT: {
        criterion = Restrictions.gt(property, value);
        break;
    }
    case GE: {
        criterion = Restrictions.ge(property, value);
        break;
    }
    case LT: {
        criterion = Restrictions.lt(property, value);
        break;
    }
    case LE: {
        criterion = Restrictions.le(property, value);
        break;
    }
    default:
        throw new UnsupportedOperationException("Unsupported operation: " + operator.toUriLiteral());
    }
    return criterion;
}

From source file:gov.nih.nci.caintegrator.data.DateComparisonCriterionHandler.java

License:BSD License

/**
 * {@inheritDoc}//  w  ww.j  a v a 2s.co m
 */
@Override
Criterion translate() {
    if (dateComparisonCriterion.getDateComparisonOperator() != null) {
        DateComparisonOperatorEnum operator = dateComparisonCriterion.getDateComparisonOperator();
        switch (operator) {
        case EQUAL:
            return Restrictions.eq(DATE_VALUE_COLUMN, dateComparisonCriterion.getDateValue());
        case GREATER:
            return Restrictions.gt(DATE_VALUE_COLUMN, dateComparisonCriterion.getDateValue());
        case GREATEROREQUAL:
            return Restrictions.ge(DATE_VALUE_COLUMN, dateComparisonCriterion.getDateValue());
        case LESS:
            return Restrictions.lt(DATE_VALUE_COLUMN, dateComparisonCriterion.getDateValue());
        case LESSOREQUAL:
            return Restrictions.le(DATE_VALUE_COLUMN, dateComparisonCriterion.getDateValue());
        case NOTEQUAL:
            return Restrictions.ne(DATE_VALUE_COLUMN, dateComparisonCriterion.getDateValue());
        default:
            throw new IllegalStateException("Unknown DateComparisonOperator: " + operator);
        }
    } else {
        throw new IllegalStateException("DateComparisonOperator is not set");
    }

}