@Override public List<OnmsNotification> doInTransaction(TransactionStatus transactionStatus) { Date fifteenMinutesAgo = new Date(System.currentTimeMillis() - (15 * 60 * 1000)); Date oneWeekAgo = new Date(System.currentTimeMillis() - (7 * 24 * 60 * 60 * 1000)); customSeverity.clear(); List<OnmsNotification> notifications = new ArrayList<>(); notifications.addAll(getNotificationsWithCriterias(rowCategories, colCategories, customSeverity, "Critical", Restrictions.isNull("respondTime"), Restrictions.le("pageTime", fifteenMinutesAgo))); notifications.addAll(getNotificationsWithCriterias(rowCategories, colCategories, customSeverity, "Minor", Restrictions.isNull("respondTime"), Restrictions.gt("pageTime", fifteenMinutesAgo))); notifications.addAll(getNotificationsWithCriterias(rowCategories, colCategories, customSeverity, "Normal", Restrictions.isNotNull("respondTime"), Restrictions.gt("pageTime", oneWeekAgo))); return notifications; } });
public CriteriaBuilder isNull(final String attribute) { addRestriction(Restrictions.isNull(attribute)); return this; }
private List<OnmsNode> getNodes(GeolocationQuery query) { CriteriaBuilder criteriaBuilder = new CriteriaBuilder(OnmsNode.class) .alias("assetRecord", "assetRecord") .and( Restrictions.isNotNull("assetRecord"), Restrictions.isNotNull("assetRecord.geolocation") ); if (query.getLocation() != null) { criteriaBuilder.and(Restrictions.eq("location", query.getLocation())); } if (!query.getNodeIds().isEmpty()) { criteriaBuilder.in("id", query.getNodeIds()); } return genericPersistenceAccessor.findMatching(criteriaBuilder.toCriteria()); }
final String query = "%" + rawQuery + "%"; criteriaBuilder.or( Restrictions.iplike("src_address", rawQuery), // use column for iplike and not the entity property Restrictions.like("srcAddress", query), Restrictions.ilike("srcPort", query), Restrictions.iplike("dst_address", rawQuery), // use column for iplike and not the entity property Restrictions.like("dstAddress", query), Restrictions.ilike("dstPort", query), Restrictions.ilike("name", query), Restrictions.ilike("exporterFilter", query), Restrictions.ilike("protocol", query)).toCriteria();
public CriteriaBuilder isNotNull(final String attribute) { addRestriction(Restrictions.isNotNull(attribute)); return this; }
public CriteriaBuilder in(final String attribute, final Collection<?> collection) { addRestriction(Restrictions.in(attribute, collection)); return this; }
public static EqRestriction id(final Integer id) { return eq("id", id); }
public CriteriaBuilder contains(final String attribute, final Object comparator) { addRestriction(Restrictions.ilike(attribute, "%" + comparator + "%")); return this; }
public CriteriaBuilder iplike(final String attribute, final Object comparator) { addRestriction(Restrictions.iplike(attribute, comparator)); return this; }
public CriteriaBuilder ge(final String attribute, final Object comparator) { addRestriction(Restrictions.ge(attribute, comparator)); return this; }
public CriteriaBuilder gt(final String attribute, final Object comparator) { addRestriction(Restrictions.gt(attribute, comparator)); return this; }
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 CriteriaBuilder isNull(final String attribute) { addRestriction(Restrictions.isNull(attribute)); return this; }
private List<OnmsNode> getNodes(GeolocationQuery query) { CriteriaBuilder criteriaBuilder = new CriteriaBuilder(OnmsNode.class) .alias("assetRecord", "assetRecord") .and( Restrictions.isNotNull("assetRecord"), Restrictions.isNotNull("assetRecord.geolocation") ); if (query.getLocation() != null) { criteriaBuilder.and(Restrictions.eq("location", query.getLocation())); } if (!query.getNodeIds().isEmpty()) { criteriaBuilder.in("id", query.getNodeIds()); } return genericPersistenceAccessor.findMatching(criteriaBuilder.toCriteria()); }
final String query = "%" + rawQuery + "%"; criteriaBuilder.or( Restrictions.iplike("src_address", rawQuery), // use column for iplike and not the entity property Restrictions.like("srcAddress", query), Restrictions.ilike("srcPort", query), Restrictions.iplike("dst_address", rawQuery), // use column for iplike and not the entity property Restrictions.like("dstAddress", query), Restrictions.ilike("dstPort", query), Restrictions.ilike("name", query), Restrictions.ilike("exporterFilter", query), Restrictions.ilike("protocol", query)).toCriteria();
public CriteriaBuilder isNotNull(final String attribute) { addRestriction(Restrictions.isNotNull(attribute)); return this; }