@Override public List<OnmsNode> doInTransaction(TransactionStatus transactionStatus) { CriteriaBuilder criteriaBuilder = new CriteriaBuilder(OnmsNode.class); List<String> parameters = new ArrayList<>(rowCategories.stream().map(OnmsCategory::getName).collect(Collectors.toList())); parameters.addAll(colCategories.stream().map(OnmsCategory::getName).collect(Collectors.toList())); Type[] types = new Type[parameters.size()]; Arrays.fill(types, Type.STRING); // Restrict on OnmsNode.nodeId criteriaBuilder.sql( createQuery("{alias}.nodeId", rowCategories, colCategories), parameters.toArray(new String[parameters.size()]), types ); return m_nodeDao.findMatching(criteriaBuilder.toCriteria()); } });
@Override public List<OnmsNode> doInTransaction(TransactionStatus transactionStatus) { CriteriaBuilder criteriaBuilder = new CriteriaBuilder(OnmsNode.class); List<String> parameters = new ArrayList<>(rowCategories.stream().map(OnmsCategory::getName).collect(Collectors.toList())); parameters.addAll(colCategories.stream().map(OnmsCategory::getName).collect(Collectors.toList())); Type[] types = new Type[parameters.size()]; Arrays.fill(types, Type.STRING); // Restrict on OnmsNode.nodeId criteriaBuilder.sql( createQuery("{alias}.nodeId", rowCategories, colCategories), parameters.toArray(new String[parameters.size()]), types ); return m_nodeDao.findMatching(criteriaBuilder.toCriteria()); } });
@Override public List<OnmsAlarm> doInTransaction(TransactionStatus transactionStatus) { final CriteriaBuilder criteriaBuilder = new CriteriaBuilder(OnmsAlarm.class); criteriaBuilder.alias("node", "node"); criteriaBuilder.ne("node.type", "D"); criteriaBuilder.limit(100); criteriaBuilder.distinct(); List<String> parameters = new ArrayList<>(rowCategories.stream().map(OnmsCategory::getName).collect(Collectors.toList())); parameters.addAll(colCategories.stream().map(OnmsCategory::getName).collect(Collectors.toList())); Type[] types = new Type[parameters.size()]; Arrays.fill(types, Type.STRING); // Restrict on OnmsAlarm.nodeId criteriaBuilder.sql( createQuery("{alias}.nodeId", rowCategories, colCategories), parameters.toArray(new String[parameters.size()]), types ); return m_alarmDao.findMatching(criteriaBuilder.toCriteria()); } });
@Override public List<OnmsAlarm> doInTransaction(TransactionStatus transactionStatus) { final CriteriaBuilder criteriaBuilder = new CriteriaBuilder(OnmsAlarm.class); criteriaBuilder.alias("node", "node"); criteriaBuilder.ne("node.type", "D"); criteriaBuilder.limit(100); criteriaBuilder.distinct(); List<String> parameters = new ArrayList<>(rowCategories.stream().map(OnmsCategory::getName).collect(Collectors.toList())); parameters.addAll(colCategories.stream().map(OnmsCategory::getName).collect(Collectors.toList())); Type[] types = new Type[parameters.size()]; Arrays.fill(types, Type.STRING); // Restrict on OnmsAlarm.nodeId criteriaBuilder.sql( createQuery("{alias}.nodeId", rowCategories, colCategories), parameters.toArray(new String[parameters.size()]), types ); return m_alarmDao.findMatching(criteriaBuilder.toCriteria()); } });
criteriaBuilder.sql( createQuery("{alias}.nodeId", rowCategories, colCategories), parameters.toArray(new String[parameters.size()]),
criteriaBuilder.sql( createQuery("{alias}.nodeId", rowCategories, colCategories), parameters.toArray(new String[parameters.size()]),
@Override public List<NodeRtc> doInTransaction(TransactionStatus transactionStatus) { CriteriaBuilder outageCriteriaBuilder = new CriteriaBuilder(OnmsOutage.class); outageCriteriaBuilder.alias("monitoredService", "monitoredService", Alias.JoinType.INNER_JOIN); outageCriteriaBuilder.alias("monitoredService.ipInterface", "ipInterface", Alias.JoinType.INNER_JOIN); outageCriteriaBuilder.alias("monitoredService.ipInterface.node", "node", Alias.JoinType.INNER_JOIN); outageCriteriaBuilder.eq("monitoredService.status", "A"); outageCriteriaBuilder.ne("ipInterface.isManaged", "D"); outageCriteriaBuilder.ne("node.type", "D"); CriteriaBuilder serviceCriteriaBuilder = new CriteriaBuilder(OnmsMonitoredService.class); serviceCriteriaBuilder.alias("ipInterface", "ipInterface", Alias.JoinType.INNER_JOIN); serviceCriteriaBuilder.alias("ipInterface.node", "node", Alias.JoinType.INNER_JOIN); serviceCriteriaBuilder.alias("serviceType", "serviceType", Alias.JoinType.INNER_JOIN); serviceCriteriaBuilder.alias("currentOutages", "currentOutages", Alias.JoinType.LEFT_JOIN); serviceCriteriaBuilder.eq("status", "A"); serviceCriteriaBuilder.ne("ipInterface.isManaged", "D"); serviceCriteriaBuilder.ne("node.type", "D"); List<String> parameters = new ArrayList<>(rowCategories.stream().map(OnmsCategory::getName).collect(Collectors.toList())); parameters.addAll(colCategories.stream().map(OnmsCategory::getName).collect(Collectors.toList())); Type[] types = new Type[parameters.size()]; Arrays.fill(types, Type.STRING); serviceCriteriaBuilder.sql( // HACK: Hibernate aliases 'node' as 'node2_' so we need to use this for the statement. createQuery("node2_.nodeId", rowCategories, colCategories), parameters.toArray(new String[parameters.size()]), types ); return getNodeListForCriteria(serviceCriteriaBuilder.toCriteria(), outageCriteriaBuilder.toCriteria()); } });
@Override public List<NodeRtc> doInTransaction(TransactionStatus transactionStatus) { CriteriaBuilder outageCriteriaBuilder = new CriteriaBuilder(OnmsOutage.class); outageCriteriaBuilder.alias("monitoredService", "monitoredService", Alias.JoinType.INNER_JOIN); outageCriteriaBuilder.alias("monitoredService.ipInterface", "ipInterface", Alias.JoinType.INNER_JOIN); outageCriteriaBuilder.alias("monitoredService.ipInterface.node", "node", Alias.JoinType.INNER_JOIN); outageCriteriaBuilder.eq("monitoredService.status", "A"); outageCriteriaBuilder.ne("ipInterface.isManaged", "D"); outageCriteriaBuilder.ne("node.type", "D"); CriteriaBuilder serviceCriteriaBuilder = new CriteriaBuilder(OnmsMonitoredService.class); serviceCriteriaBuilder.alias("ipInterface", "ipInterface", Alias.JoinType.INNER_JOIN); serviceCriteriaBuilder.alias("ipInterface.node", "node", Alias.JoinType.INNER_JOIN); serviceCriteriaBuilder.alias("serviceType", "serviceType", Alias.JoinType.INNER_JOIN); serviceCriteriaBuilder.alias("currentOutages", "currentOutages", Alias.JoinType.LEFT_JOIN); serviceCriteriaBuilder.eq("status", "A"); serviceCriteriaBuilder.ne("ipInterface.isManaged", "D"); serviceCriteriaBuilder.ne("node.type", "D"); List<String> parameters = new ArrayList<>(rowCategories.stream().map(OnmsCategory::getName).collect(Collectors.toList())); parameters.addAll(colCategories.stream().map(OnmsCategory::getName).collect(Collectors.toList())); Type[] types = new Type[parameters.size()]; Arrays.fill(types, Type.STRING); serviceCriteriaBuilder.sql( // HACK: Hibernate aliases 'node' as 'node2_' so we need to use this for the statement. createQuery("node2_.nodeId", rowCategories, colCategories), parameters.toArray(new String[parameters.size()]), types ); return getNodeListForCriteria(serviceCriteriaBuilder.toCriteria(), outageCriteriaBuilder.toCriteria()); } });
/** {@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()); }
/** * 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()); }
/** * 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()); }