@Transactional @Override public OnmsAlarm getUnacknowledged(final Criteria criteria) { criteria.addRestriction(org.opennms.core.criteria.restrictions.Restrictions.isNull("alarmAckUser")); criteria.setLimit(1); final List<OnmsAlarm> alarms = m_alarmDao.findMatching(criteria); if (alarms.size() == 0) return null; return alarms.get(0); }
@Transactional @Override public OnmsAlarm getAcknowledged(final Criteria criteria) { criteria.addRestriction(org.opennms.core.criteria.restrictions.Restrictions.isNotNull("alarmAckUser")); criteria.setLimit(1); final List<OnmsAlarm> alarms = m_alarmDao.findMatching(criteria); if (alarms.size() == 0) return null; return alarms.get(0); }
private static <T, X> Response createResponse(CriteriaBuilder criteriaBuilder, MatchingDelegate<T> matchingDelegate, CountDelegate countDelegate, Function<List<T>, List<X>> transform) { Objects.requireNonNull(criteriaBuilder); Objects.requireNonNull(matchingDelegate); Objects.requireNonNull(countDelegate); Objects.requireNonNull(transform); final Criteria criteria = criteriaBuilder.toCriteria(); final List<T> entities = matchingDelegate.findMatching(criteria); if (entities.isEmpty()) { return Response.noContent().build(); } // Reset any offset/limits and orders in order to count properly criteria.setOrders(new ArrayList<>()); criteria.setOffset(null); criteria.setLimit(null); // build response final List responseBody = transform.apply(entities); final int offset = (criteria.getOffset() == null ? 0 : criteria.getOffset()); final long totalCount = countDelegate.countMatching(criteria); return ResponseUtils.createResponse(responseBody, offset, totalCount); }
private static <T, X> Response createResponse(CriteriaBuilder criteriaBuilder, MatchingDelegate<T> matchingDelegate, CountDelegate countDelegate, Function<List<T>, List<X>> transform) { Objects.requireNonNull(criteriaBuilder); Objects.requireNonNull(matchingDelegate); Objects.requireNonNull(countDelegate); Objects.requireNonNull(transform); final Criteria criteria = criteriaBuilder.toCriteria(); final List<T> entities = matchingDelegate.findMatching(criteria); if (entities.isEmpty()) { return Response.noContent().build(); } // Reset any offset/limits and orders in order to count properly criteria.setOrders(new ArrayList<>()); criteria.setOffset(null); criteria.setLimit(null); // build response final List responseBody = transform.apply(entities); final int offset = (criteria.getOffset() == null ? 0 : criteria.getOffset()); final long totalCount = countDelegate.countMatching(criteria); return ResponseUtils.createResponse(responseBody, offset, totalCount); }
public Criteria toCriteria() { final Criteria criteria = new Criteria(m_class, m_rootAlias); criteria.setOrders(m_orderBuilder.getOrderCollection()); criteria.setAliases(m_aliasBuilder.getAliasCollection()); criteria.setFetchTypes(m_fetch); criteria.setDistinct(m_distinct); criteria.setLimit(m_limit); criteria.setOffset(m_offset); if ("any".equals(m_matchType)) { criteria.setRestrictions(Collections.singleton(Restrictions.any(m_restrictions.toArray(EMPTY_RESTRICTION_ARRAY)))); } else { criteria.setRestrictions(m_restrictions); } return criteria; }
public Criteria toCriteria() { final Criteria criteria = new Criteria(m_class, m_rootAlias); criteria.setOrders(m_orderBuilder.getOrderCollection()); criteria.setAliases(m_aliasBuilder.getAliasCollection()); criteria.setFetchTypes(m_fetch); criteria.setDistinct(m_distinct); criteria.setLimit(m_limit); criteria.setOffset(m_offset); if ("any".equals(m_matchType)) { criteria.setRestrictions(Collections.singleton(Restrictions.any(m_restrictions.toArray(EMPTY_RESTRICTION_ARRAY)))); } else { criteria.setRestrictions(m_restrictions); } return criteria; }
/** * Creates a {@link Criteria} object to get data from database. * If considerPaging is set Limit and offset values are added as restriction. * @param page * @param doOrder * @return */ protected Criteria getCriteria(Page page, boolean doOrder) { Criteria tmpCriteria = new Criteria(getItemClass()); for (Restriction eachRestriction : m_restrictions) { tmpCriteria.addRestriction(eachRestriction); } if (doOrder) { tmpCriteria.setOrders(m_orders); } if (page != null) { tmpCriteria.setOffset(page.offset); tmpCriteria.setLimit(page.length); } addAdditionalCriteriaOptions(tmpCriteria, page, doOrder); LOG.debug("query criteria: {}", tmpCriteria); return tmpCriteria; }
/** * Creates a {@link Criteria} object to get data from database. * If considerPaging is set Limit and offset values are added as restriction. * @param page * @param doOrder * @return */ protected Criteria getCriteria(Page page, boolean doOrder) { Criteria tmpCriteria = new Criteria(getItemClass()); for (Restriction eachRestriction : m_restrictions) { tmpCriteria.addRestriction(eachRestriction); } if (doOrder) { tmpCriteria.setOrders(m_orders); } if (page != null) { tmpCriteria.setOffset(page.offset); tmpCriteria.setLimit(page.length); } addAdditionalCriteriaOptions(tmpCriteria, page, doOrder); LOG.debug("query criteria: {}", tmpCriteria); return tmpCriteria; }
/** * Creates a {@link Criteria} object to get data from database. * If considerPaging is set Limit and offset values are added as restriction. * @param page * @param doOrder * @return */ protected Criteria getCriteria(Page page, boolean doOrder) { Criteria tmpCriteria = new Criteria(getItemClass()); for (Restriction eachRestriction : m_restrictions) { tmpCriteria.addRestriction(eachRestriction); } if (doOrder) { tmpCriteria.setOrders(m_orders); } if (page != null) { tmpCriteria.setOffset(page.offset); tmpCriteria.setLimit(page.length); } addAdditionalCriteriaOptions(tmpCriteria, page, doOrder); LOG.debug("query criteria: {}", tmpCriteria); return tmpCriteria; }
@Override public final Criteria clone() { Criteria retval = new Criteria(getCriteriaClass()); retval.setAliases(getAliases()); retval.setDistinct(isDistinct()); retval.setFetchTypes(getFetchTypes()); retval.setLimit(getLimit()); retval.setOffset(getOffset()); retval.setOrders(getOrders()); retval.setRestrictions(getRestrictions()); return retval; } }
@Override public final Criteria clone() { Criteria retval = new Criteria(getCriteriaClass()); retval.setAliases(getAliases()); retval.setDistinct(isDistinct()); retval.setFetchTypes(getFetchTypes()); retval.setLimit(getLimit()); retval.setOffset(getOffset()); retval.setOrders(getOrders()); retval.setRestrictions(getRestrictions()); return retval; } }