public void addRestriction(String property, CriteriaBuilderHelper criteriaBuilderHelper, CriteriaBuilder criteriaBuilder, Object[] values) { criteriaBuilder.distinct(); } },
@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()); } });
@Override public List<InetAddress> getActiveIPAddressList(final String rule) throws FilterParseException { LOG.debug("rule = {}", rule); final List<InetAddress> addrs = new ArrayList<>(); if (rule.equals("IPADDR != '0.0.0.0'")) { Assert.notNull(m_ipInterfaceDao); final CriteriaBuilder builder = new CriteriaBuilder(OnmsIpInterface.class); builder.ne("ipAddress", "0.0.0.0"); builder.ne("isManaged", "D"); builder.distinct(); final Criteria criteria = builder.toCriteria(); for (final OnmsIpInterface iface : m_ipInterfaceDao.findMatching(criteria)) { addrs.add(iface.getIpAddress()); } return addrs; } throw new UnsupportedOperationException("Not yet implemented!"); }
@Override public List<InetAddress> getActiveIPAddressList(final String rule) throws FilterParseException { LOG.debug("rule = {}", rule); final List<InetAddress> addrs = new ArrayList<>(); if (rule.equals("IPADDR != '0.0.0.0'")) { Assert.notNull(m_ipInterfaceDao); final CriteriaBuilder builder = new CriteriaBuilder(OnmsIpInterface.class); builder.ne("ipAddress", "0.0.0.0"); builder.ne("isManaged", "D"); builder.distinct(); final Criteria criteria = builder.toCriteria(); for (final OnmsIpInterface iface : m_ipInterfaceDao.findMatching(criteria)) { addrs.add(iface.getIpAddress()); } return addrs; } throw new UnsupportedOperationException("Not yet implemented!"); }
.distinct() .toCriteria(); final List<OnmsNode> nodes = m_nodeDao.findMatching(c);