public void addRestriction(String property, CriteriaBuilderHelper criteriaBuilderHelper, CriteriaBuilder criteriaBuilder, Object[] values) { criteriaBuilder.eq(values[0].toString(), values[1]); } },
@Override public List<OnmsIpInterface> getPollableNodesByIp(String ipaddr) { CriteriaBuilder builder = new CriteriaBuilder(OnmsIpInterface.class); builder.eq("ipAddress", InetAddressUtils.addr(ipaddr)).eq("isSnmpPrimary", PrimaryType.PRIMARY).eq("isManaged", "M"); return getIpInterfaceDao().findMatching(builder.toCriteria()); }
@Override public Rule findByDefinition(Rule rule, Group group) { Objects.requireNonNull(rule); Objects.requireNonNull(group); CriteriaBuilder criteriaBuilder = createCriteriaBuilderDefinition(rule); criteriaBuilder.alias("group", "group"); criteriaBuilder.eq("group.id", group.getId()); // Exclude me, otherwise it will always at least return the rule if (rule.getId() != null) { criteriaBuilder.not().eq("id", rule.getId()); } final List<Rule> matchingRules = findMatching(criteriaBuilder.toCriteria()); return matchingRules.isEmpty() ? null : matchingRules.get(0); }
/** {@inheritDoc} */ @Override public List<OnmsSnmpInterface> get(int nodeId, String criteria) { CriteriaBuilder builder = new CriteriaBuilder(OnmsSnmpInterface.class); builder.sql(criteria).eq("node.id", nodeId).eq("poll", "P"); builder.alias("ipInterfaces", "ipInterface", JoinType.LEFT_JOIN); return getSnmpInterfaceDao().findMatching(builder.toCriteria()); }
@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(); } }
private int getNumServices(int nodeId, List<String> serviceNames) { final CriteriaBuilder builder = new CriteriaBuilder(OnmsMonitoredService.class) .alias("ipInterface", "ipInterface") .alias("ipInterface.node", "node") .eq("ipInterface.isManaged", "M") .eq("node.id", nodeId); if (serviceNames != null && serviceNames.size() > 0) { builder.alias("serviceType", "serviceType") .in("serviceType.name", serviceNames); } // Retrieve the services and group them by node id return m_monitoredServiceDao.countMatching(builder.toCriteria()); }
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); } }
@Override public List<OnmsNode> findAllByVarCharAssetColumn(final String columnName, final String columnValue) { final CriteriaBuilder builder = new CriteriaBuilder(OnmsNode.class); builder.alias("assetRecord", "assets"); builder.eq("assets." + columnName, columnValue); return findMatching(builder.toCriteria()); }
@Override public List<Rule> findAllEnabledRules() { return findMatching( new CriteriaBuilder(Rule.class) .alias("group", "group") .eq("group.enabled", true) .toCriteria()); }
@Override public List<OnmsNode> findAllByVarCharAssetColumn(final String columnName, final String columnValue) { final CriteriaBuilder builder = new CriteriaBuilder(OnmsNode.class); builder.alias("assetRecord", "assets"); builder.eq("assets." + columnName, columnValue); return findMatching(builder.toCriteria()); }
private List<OnmsAlarm> findAlarms() { CriteriaBuilder bldr = new CriteriaBuilder(OnmsAlarm.class); String query = getSearchResult().getQuery(); if (isSeverityQuery()) { bldr.eq("severity", OnmsSeverity.get(query)); } else { bldr.eq("id", getSearchResult().getAlarmId()); } return alarmProvider.findMatchingAlarms(bldr.toCriteria()); }
private List<OnmsAlarm> findAlarms() { CriteriaBuilder bldr = new CriteriaBuilder(OnmsAlarm.class); String query = getSearchResult().getQuery(); if (isSeverityQuery()) { bldr.eq("severity", OnmsSeverity.get(query)); } else { bldr.eq("id", getSearchResult().getAlarmId()); } return alarmProvider.findMatchingAlarms(bldr.toCriteria()); }
@Override public void deleteRules(int groupId) { CriteriaBuilder criteriaBuilder = new CriteriaBuilder(Rule.class).alias("group", "group"); criteriaBuilder.eq("group.id", groupId); runInTransaction(status -> { final Criteria criteria = criteriaBuilder.toCriteria(); classificationRuleDao.findMatching(criteria).forEach(r -> classificationRuleDao.delete(r)); classificationEngine.reload(); return null; }); }
/** * Searches for alarms with the given criterias and returns the number found. * * @param acknowledged search for acknowledged or unacknowledged alarms * @param age the age of the alarms * @param uei search for alarms with the specified uei * @return number of alarms found */ public int countByUei(boolean acknowledged, long age, String uei) { CriteriaBuilder criteriaBuilder = new CriteriaBuilder(OnmsAlarm.class); if (acknowledged) { criteriaBuilder.isNotNull("alarmAckUser"); } else { criteriaBuilder.isNull("alarmAckUser"); } criteriaBuilder.eq("uei", uei); criteriaBuilder.sql("EXTRACT(EPOCH FROM CURRENT_TIMESTAMP - lastEventTime) < ?", age, Type.LONG); return m_alarmDao.countMatching(criteriaBuilder.toCriteria()); }
/** * Searches for alarms with the given criterias and returns the number found. * * @param acknowledged search for acknowledged or unacknowledged alarms * @param age the age of the alarms * @param onmsSeverity the {@link OnmsSeverity} to search for * @return number of alarms found */ public int countBySeverity(boolean acknowledged, long age, OnmsSeverity onmsSeverity) { CriteriaBuilder criteriaBuilder = new CriteriaBuilder(OnmsAlarm.class); if (acknowledged) { criteriaBuilder.isNotNull("alarmAckUser"); } else { criteriaBuilder.isNull("alarmAckUser"); } criteriaBuilder.eq("severity", onmsSeverity); criteriaBuilder.sql("EXTRACT(EPOCH FROM CURRENT_TIMESTAMP - lastEventTime) < ?", age, Type.LONG); return m_alarmDao.countMatching(criteriaBuilder.toCriteria()); }
private List<OnmsAlarm> findAlarms(final List<SearchResult> results, final String queryString) { CriteriaBuilder bldr = new CriteriaBuilder(OnmsAlarm.class); OnmsSeverity severity = OnmsSeverity.get(queryString); List<OnmsAlarm> alarms; if (!OnmsSeverity.INDETERMINATE.equals(severity)) { bldr = new CriteriaBuilder(OnmsAlarm.class); bldr.eq("severity", severity); alarms = alarmProvider.findMatchingAlarms(bldr.toCriteria()); if (alarms.size() > 0) { AlarmSearchResult result = new AlarmSearchResult(queryString); result.setSeverityQuery(true); results.add(result); } } else { bldr.isNotNull("node").ilike("uei", "%"+queryString+"%").orderBy("node"); alarms = alarmProvider.findMatchingAlarms(bldr.toCriteria()); } return alarms; }
/** * Retrieves all of the outages (using DAOs) associated with * the given service. */ private List<OnmsOutage> getOutages(MockService svc) { OnmsMonitoredService monitoredSvc = m_monitoredServiceDao.get( svc.getNodeId(), svc.getAddress(), svc.getSvcName()); Criteria criteria = new CriteriaBuilder(OnmsOutage.class) .eq("monitoredService", monitoredSvc) .orderBy("ifLostService") .toCriteria(); return m_outageDao.findMatching(criteria); }