Example usage for org.hibernate.criterion Restrictions not

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

Introduction

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

Prototype

public static Criterion not(Criterion expression) 

Source Link

Document

Return the negation of an expression

Usage

From source file:org.opennms.netmgt.dao.hibernate.AtInterfaceDaoHibernate.java

License:Open Source License

@Override
public void deleteForNodeSourceIdIfOlderThan(final int nodeid, final Date scanTime) {
    OnmsCriteria criteria = new OnmsCriteria(OnmsAtInterface.class);
    criteria.add(Restrictions.eq("sourceNodeId", nodeid));
    criteria.add(Restrictions.lt("lastPollTime", scanTime));
    criteria.add(Restrictions.not(Restrictions.eq("status", StatusType.ACTIVE)));

    for (final OnmsAtInterface iface : findMatching(criteria)) {
        delete(iface);//from   w  ww .  java 2s  . c  o  m
    }
}

From source file:org.opennms.netmgt.dao.hibernate.IpRouteInterfaceDaoHibernate.java

License:Open Source License

@Override
public void deleteForNodeIdIfOlderThan(final int nodeid, final Date scanTime) {
    final OnmsCriteria criteria = new OnmsCriteria(OnmsIpRouteInterface.class);
    criteria.createAlias("node", "node", OnmsCriteria.LEFT_JOIN);
    criteria.add(Restrictions.eq("node.id", nodeid));
    criteria.add(Restrictions.lt("lastPollTime", scanTime));
    criteria.add(Restrictions.not(Restrictions.eq("status", StatusType.ACTIVE)));

    for (final OnmsIpRouteInterface item : findMatching(criteria)) {
        delete(item);//from  w w  w.  j  av a 2  s.c o  m
    }
}

From source file:org.opennms.netmgt.dao.hibernate.StpInterfaceDaoHibernate.java

License:Open Source License

@Override
public void deleteForNodeIdIfOlderThan(final int nodeid, final Date scanTime) {
    final OnmsCriteria criteria = new OnmsCriteria(OnmsStpInterface.class);
    criteria.createAlias("node", "node", OnmsCriteria.LEFT_JOIN);
    criteria.add(Restrictions.eq("node.id", nodeid));
    criteria.add(Restrictions.lt("lastPollTime", scanTime));
    criteria.add(Restrictions.not(Restrictions.eq("status", StatusType.ACTIVE)));

    for (final OnmsStpInterface item : findMatching(criteria)) {
        delete(item);/*from www  .j  a  v a  2s  .  c  o m*/
    }
}

From source file:org.opennms.netmgt.dao.hibernate.StpNodeDaoHibernate.java

License:Open Source License

@Override
public void deleteForNodeIdIfOlderThan(final int nodeid, final Date scanTime) {
    final OnmsCriteria criteria = new OnmsCriteria(OnmsStpNode.class);
    criteria.createAlias("node", "node", OnmsCriteria.LEFT_JOIN);
    criteria.add(Restrictions.eq("node.id", nodeid));
    criteria.add(Restrictions.lt("lastPollTime", scanTime));
    criteria.add(Restrictions.not(Restrictions.eq("status", StatusType.ACTIVE)));

    for (final OnmsStpNode item : findMatching(criteria)) {
        delete(item);//from  ww  w  .  j a v  a  2s  .co  m
    }
}

From source file:org.opennms.netmgt.dao.hibernate.VlanDaoHibernate.java

License:Open Source License

@Override
public void deleteForNodeIdIfOlderThan(final int nodeid, final Date scanTime) {
    final OnmsCriteria criteria = new OnmsCriteria(OnmsVlan.class);
    criteria.createAlias("node", "node", OnmsCriteria.LEFT_JOIN);
    criteria.add(Restrictions.eq("node.id", nodeid));
    criteria.add(Restrictions.lt("lastPollTime", scanTime));
    criteria.add(Restrictions.not(Restrictions.eq("status", StatusType.ACTIVE)));

    for (final OnmsVlan item : findMatching(criteria)) {
        delete(item);/*from  w ww. ja  v a2  s . c  o m*/
    }
}

From source file:org.opennms.web.filter.NoSubstringFilter.java

License:Open Source License

/** {@inheritDoc} */
@Override
public Criterion getCriterion() {
    return Restrictions.not(Restrictions.ilike(getPropertyName(), getValue(), MatchMode.ANYWHERE));
}

From source file:org.projectforge.business.fibu.AuftragDao.java

License:Open Source License

private List<AuftragDO> getList(final BaseSearchFilter filter, final boolean checkAccess) {
    final AuftragFilter myFilter;
    if (filter instanceof AuftragFilter) {
        myFilter = (AuftragFilter) filter;
    } else {/*w w w. ja  v a2s  . c  o  m*/
        myFilter = new AuftragFilter(filter);
    }
    final QueryFilter queryFilter = new QueryFilter(myFilter);
    Boolean vollstaendigFakturiert = null;
    if (myFilter.isShowBeauftragtNochNichtVollstaendigFakturiert() == true) {
        queryFilter.add(Restrictions.not(Restrictions.in("auftragsStatus",
                new AuftragsStatus[] { AuftragsStatus.ABGELEHNT, AuftragsStatus.ERSETZT, AuftragsStatus.GELEGT,
                        AuftragsStatus.GROB_KALKULATION, AuftragsStatus.IN_ERSTELLUNG })));
        vollstaendigFakturiert = false;
    } else if (myFilter.isShowNochNichtVollstaendigFakturiert() == true) {
        queryFilter.add(Restrictions.not(Restrictions.in("auftragsStatus",
                new AuftragsStatus[] { AuftragsStatus.ABGELEHNT, AuftragsStatus.ERSETZT })));
        vollstaendigFakturiert = false;
    } else if (myFilter.isShowVollstaendigFakturiert() == true) {
        vollstaendigFakturiert = true;
    } else if (myFilter.isShowAbgelehnt() == true) {
        queryFilter.add(Restrictions.eq("auftragsStatus", AuftragsStatus.ABGELEHNT));
    } else if (myFilter.isShowAbgeschlossenNichtFakturiert() == true) {
        queryFilter.createAlias("positionen", "position")
                .createAlias("paymentSchedules", "paymentSchedule", Criteria.FULL_JOIN).add(
                        Restrictions.or(
                                Restrictions.or(Restrictions.eq("auftragsStatus", AuftragsStatus.ABGESCHLOSSEN),
                                        Restrictions.eq("position.status",
                                                AuftragsPositionsStatus.ABGESCHLOSSEN)),
                                Restrictions.eq("paymentSchedule.reached", true)));
        vollstaendigFakturiert = false;
    } else if (myFilter.isShowAkquise() == true) {
        queryFilter.add(Restrictions.in("auftragsStatus", new AuftragsStatus[] { AuftragsStatus.GELEGT,
                AuftragsStatus.IN_ERSTELLUNG, AuftragsStatus.GROB_KALKULATION }));
    } else if (myFilter.isShowBeauftragt() == true) {
        queryFilter.add(Restrictions.in("auftragsStatus", new AuftragsStatus[] { AuftragsStatus.BEAUFTRAGT,
                AuftragsStatus.LOI, AuftragsStatus.ESKALATION }));
    } else if (myFilter.isShowErsetzt() == true) {
        queryFilter.add(Restrictions.eq("auftragsStatus", AuftragsStatus.ERSETZT));
    }
    if (myFilter.getYear() > 1900) {
        final Calendar cal = DateHelper.getUTCCalendar();
        cal.set(Calendar.YEAR, myFilter.getYear());
        java.sql.Date lo = null;
        java.sql.Date hi = null;
        cal.set(Calendar.DAY_OF_YEAR, 1);
        lo = new java.sql.Date(cal.getTimeInMillis());
        final int lastDayOfYear = cal.getActualMaximum(Calendar.DAY_OF_YEAR);
        cal.set(Calendar.DAY_OF_YEAR, lastDayOfYear);
        hi = new java.sql.Date(cal.getTimeInMillis());
        queryFilter.add(Restrictions.between("angebotsDatum", lo, hi));
    }
    queryFilter.addOrder(Order.desc("nummer"));
    final List<AuftragDO> list;
    if (checkAccess == true) {
        list = getList(queryFilter);
    } else {
        list = internalGetList(queryFilter);
    }
    if (vollstaendigFakturiert != null) {
        final Boolean invoiced = vollstaendigFakturiert;
        CollectionUtils.filter(list, new Predicate() {
            @Override
            public boolean evaluate(final Object object) {
                final AuftragDO auftrag = (AuftragDO) object;
                final boolean orderIsCompletelyInvoiced = auftrag.isVollstaendigFakturiert();
                if (HibernateUtils.getDialect() != DatabaseDialect.HSQL
                        && myFilter.isShowAbgeschlossenNichtFakturiert() == true) {
                    // if order is completed and not all positions are completely invoiced
                    if (auftrag.getAuftragsStatus() == AuftragsStatus.ABGESCHLOSSEN
                            && orderIsCompletelyInvoiced == false) {
                        return true;
                    }
                    // if order is completed and not completely invoiced
                    if (auftrag.getPositionen() != null) {
                        for (final AuftragsPositionDO pos : auftrag.getPositionen()) {
                            if (pos.isAbgeschlossenUndNichtVollstaendigFakturiert() == true) {
                                return true;
                            }
                        }
                    }
                    if (auftrag.getPaymentSchedules() != null) {
                        for (final PaymentScheduleDO schedule : auftrag.getPaymentSchedules()) {
                            if (schedule.isReached() == true && schedule.isVollstaendigFakturiert() == false) {
                                return true;
                            }
                        }
                    }
                    return false;
                }
                return orderIsCompletelyInvoiced == invoiced;
            }
        });
    }
    if (myFilter.getAuftragsPositionsArt() != null) {
        final AuftragFilter fil = myFilter;
        CollectionUtils.filter(list, new Predicate() {
            @Override
            public boolean evaluate(final Object object) {
                final AuftragDO auftrag = (AuftragDO) object;
                boolean match = false;
                if (fil.getAuftragsPositionsArt() != null) {
                    if (CollectionUtils.isNotEmpty(auftrag.getPositionen()) == true) {
                        for (final AuftragsPositionDO position : auftrag.getPositionen()) {
                            if (fil.getAuftragsPositionsArt() == position.getArt()) {
                                match = true;
                                break;
                            }
                        }
                    }
                }
                return match;
            }
        });
    }
    return list;
}

From source file:org.projectforge.business.task.TaskDao.java

License:Open Source License

@Override
@Transactional(readOnly = true, propagation = Propagation.SUPPORTS)
public List<TaskDO> getList(final BaseSearchFilter filter) throws AccessException {
    final TaskFilter myFilter;
    if (filter instanceof TaskFilter) {
        myFilter = (TaskFilter) filter;/*from w ww.  j av  a2 s  .c  o  m*/
    } else {
        myFilter = new TaskFilter(filter);
    }
    final QueryFilter queryFilter = new QueryFilter(myFilter);
    final Collection<TaskStatus> col = new ArrayList<TaskStatus>(4);
    if (myFilter.isNotOpened() == true) {
        col.add(TaskStatus.N);
    }
    if (myFilter.isOpened() == true) {
        col.add(TaskStatus.O);
    }
    if (myFilter.isClosed() == true) {
        col.add(TaskStatus.C);
    }
    if (col.size() > 0) {
        queryFilter.add(Restrictions.in("status", col));
    } else {
        // Note: Result set should be empty, because every task should has one of the following status values.
        queryFilter.add(Restrictions
                .not(Restrictions.in("status", new TaskStatus[] { TaskStatus.N, TaskStatus.O, TaskStatus.C })));
    }
    queryFilter.addOrder(Order.asc("title"));
    if (log.isDebugEnabled() == true) {
        log.debug(myFilter.toString());
    }
    return getList(queryFilter);
}

From source file:org.projectforge.fibu.AuftragDao.java

License:Open Source License

private List<AuftragDO> getList(final BaseSearchFilter filter, final boolean checkAccess) {
    final AuftragFilter myFilter;
    if (filter instanceof AuftragFilter) {
        myFilter = (AuftragFilter) filter;
    } else {/*from   www.ja  v  a  2 s .c  om*/
        myFilter = new AuftragFilter(filter);
    }
    final QueryFilter queryFilter = new QueryFilter(myFilter);
    if (myFilter.getYear() > 1900) {
        final Calendar cal = DateHelper.getUTCCalendar();
        cal.set(Calendar.YEAR, myFilter.getYear());
        java.sql.Date lo = null;
        java.sql.Date hi = null;
        cal.set(Calendar.DAY_OF_YEAR, 1);
        lo = new java.sql.Date(cal.getTimeInMillis());
        final int lastDayOfYear = cal.getActualMaximum(Calendar.DAY_OF_YEAR);
        cal.set(Calendar.DAY_OF_YEAR, lastDayOfYear);
        hi = new java.sql.Date(cal.getTimeInMillis());
        queryFilter.add(Restrictions.between("angebotsDatum", lo, hi));
    }
    queryFilter.addOrder(Order.desc("nummer"));
    Boolean vollstaendigFakturiert = null;
    if (myFilter.isShowBeauftragtNochNichtVollstaendigFakturiert() == true) {
        queryFilter.add(Restrictions.not(Restrictions.in("auftragsStatus",
                new AuftragsStatus[] { AuftragsStatus.ABGELEHNT, AuftragsStatus.ERSETZT, AuftragsStatus.GELEGT,
                        AuftragsStatus.GROB_KALKULATION, AuftragsStatus.IN_ERSTELLUNG })));
        vollstaendigFakturiert = false;
    } else if (myFilter.isShowNochNichtVollstaendigFakturiert() == true) {
        queryFilter.add(Restrictions.not(Restrictions.in("auftragsStatus",
                new AuftragsStatus[] { AuftragsStatus.ABGELEHNT, AuftragsStatus.ERSETZT })));
        vollstaendigFakturiert = false;
    } else if (myFilter.isShowVollstaendigFakturiert() == true) {
        vollstaendigFakturiert = true;
    } else if (myFilter.isShowAbgelehnt() == true) {
        queryFilter.add(Restrictions.eq("auftragsStatus", AuftragsStatus.ABGELEHNT));
    } else if (myFilter.isShowAbgeschlossenNichtFakturiert() == true) {
        queryFilter.createAlias("positionen", "position")
                .add(Restrictions.or(Restrictions.eq("auftragsStatus", AuftragsStatus.ABGESCHLOSSEN),
                        Restrictions.and(
                                Restrictions.eq("position.status", AuftragsPositionsStatus.ABGESCHLOSSEN),
                                Restrictions.eq("position.vollstaendigFakturiert", false))));
        vollstaendigFakturiert = false; // Und noch nicht fakturiert.
    } else if (myFilter.isShowAkquise() == true) {
        queryFilter.add(Restrictions.in("auftragsStatus", new AuftragsStatus[] { AuftragsStatus.GELEGT,
                AuftragsStatus.IN_ERSTELLUNG, AuftragsStatus.GROB_KALKULATION }));
    } else if (myFilter.isShowBeauftragt() == true) {
        queryFilter.add(Restrictions.in("auftragsStatus", new AuftragsStatus[] { AuftragsStatus.BEAUFTRAGT,
                AuftragsStatus.LOI, AuftragsStatus.ESKALATION }));
    } else if (myFilter.isShowErsetzt() == true) {
        queryFilter.add(Restrictions.eq("auftragsStatus", AuftragsStatus.ERSETZT));
    }
    final List<AuftragDO> list;
    if (checkAccess == true) {
        list = getList(queryFilter);
    } else {
        list = internalGetList(queryFilter);
    }
    if (vollstaendigFakturiert != null || myFilter.getAuftragsPositionsArt() != null) {
        final Boolean fakturiert = vollstaendigFakturiert;
        final AuftragFilter fil = myFilter;
        CollectionUtils.filter(list, new Predicate() {
            public boolean evaluate(final Object object) {
                final AuftragDO auftrag = (AuftragDO) object;
                if (fil.getAuftragsPositionsArt() != null) {
                    boolean match = false;
                    if (CollectionUtils.isNotEmpty(auftrag.getPositionen()) == true) {
                        for (final AuftragsPositionDO position : auftrag.getPositionen()) {
                            if (fil.getAuftragsPositionsArt() == position.getArt()) {
                                match = true;
                                break;
                            }
                        }
                    }
                    if (match == false) {
                        return false;
                    }
                }
                if (fakturiert != null) {
                    return auftrag.isVollstaendigFakturiert() == fakturiert;
                }
                return true;
            }
        });
    }
    return list;
}

From source file:org.pssframework.dao.BaseHibernateDao.java

License:Open Source License

/**
 * ???.//  w ww. ja  v a  2s . c o  m
 *
 * @param uniquePropertyNames POJO???,? "name,loginid,password"
 */
public boolean isUnique(E entity, String uniquePropertyNames) {
    Assert.hasText(uniquePropertyNames);
    Criteria criteria = getSession().createCriteria(getEntityClass()).setProjection(Projections.rowCount());
    String[] nameList = uniquePropertyNames.split(",");
    try {
        // 
        for (int i = 0; i < nameList.length; i++) {
            criteria.add(Restrictions.eq(nameList[i], PropertyUtils.getProperty(entity, nameList[i])));
        }

        // ?update,entity.

        String idName = getSessionFactory().getClassMetadata(entity.getClass()).getIdentifierPropertyName();
        if (idName != null) {
            // ?entity
            Serializable id = (Serializable) PropertyUtils.getProperty(entity, idName);

            // id!=null,,?update,
            if (id != null)
                criteria.add(Restrictions.not(Restrictions.eq(idName, id)));
        }
    } catch (Exception e) {
        ReflectionUtils.handleReflectionException(e);
    }
    return ((Number) criteria.uniqueResult()).intValue() == 0;
}