public void addRestriction(String property, CriteriaBuilderHelper criteriaBuilderHelper, CriteriaBuilder criteriaBuilder, Object[] values) { criteriaBuilder.desc(); } },
@Override @Transactional public Optional<OnmsAcknowledgment> findLatestAckForRefId(Integer refId) { CriteriaBuilder builder = new CriteriaBuilder(OnmsAcknowledgment.class) .eq("refId", refId) .limit(1) .orderBy("ackTime").desc() .orderBy("id").desc(); List<OnmsAcknowledgment> acks = findMatching(builder.toCriteria()); return acks.size() == 1 ? Optional.of(acks.get(0)) : Optional.empty(); } }
public OnmsAlarm getAlarm(int nodeId) { CriteriaBuilder builder = new CriteriaBuilder(OnmsAlarm.class); builder.alias("node", "node"); builder.ne("severity", OnmsSeverity.CLEARED); builder.orderBy("severity").desc(); builder.eq("node.id", nodeId); builder.limit(Integer.valueOf(1)); List<OnmsAlarm> alarms = alarmDao.findMatching(builder.toCriteria()); return alarms == null || alarms.isEmpty() ? null : alarms.get(0); } }
public OnmsAlarm getAlarm(int nodeId) { CriteriaBuilder builder = new CriteriaBuilder(OnmsAlarm.class); builder.alias("node", "node"); builder.ne("severity", OnmsSeverity.CLEARED); builder.orderBy("severity").desc(); builder.eq("node.id", nodeId); builder.limit(Integer.valueOf(1)); List<OnmsAlarm> alarms = alarmDao.findMatching(builder.toCriteria()); return alarms == null || alarms.isEmpty() ? null : alarms.get(0); } }
private Status getStatusForGroup(VertexRef groupRef) { List<Vertex> vertices = getVertexProvider().getChildren(groupRef); Collection<Integer> nodeIds = new ArrayList<Integer>(); for(Vertex vertex : vertices) { if(!vertex.isGroup()) { nodeIds.add(vertex.getNodeID()); } } CriteriaBuilder builder = new CriteriaBuilder(OnmsAlarm.class); builder.alias("node", "node"); builder.in("node.id", nodeIds); builder.ge("severity", OnmsSeverity.WARNING); builder.orderBy("severity").desc(); builder.limit(1); return getStatusForCriteria(builder); }
@Override public Status getStatusForVertex(VertexRef vertexRef) { if(vertexRef.getNamespace().equals("nodes")) { if(isGroup(vertexRef) && getVertexProvider() != null) { return getStatusForGroup(vertexRef); } else { try { int nodeId = Integer.valueOf(vertexRef.getId()); CriteriaBuilder builder = new CriteriaBuilder(OnmsAlarm.class); builder.alias("node", "node"); builder.eq("node.id", nodeId); builder.ge("severity", OnmsSeverity.WARNING); builder.orderBy("severity").desc(); builder.limit(1); return getStatusForCriteria(builder); }catch(NumberFormatException e) { return createIndeterminateStatus(); } } } else { return createIndeterminateStatus(); } }