rendered paste body
public Collection<OnmsOutage> getCurrentOutagesByRange(Integer offset,
Integer limit, String orderProperty, String direction) {
OnmsCriteria criteria = new OnmsCriteria(OnmsOutage.class);
criteria.setFirstResult(offset);
criteria.setMaxResults(limit);
criteria.createAlias("monitoredService", "monitoredService");
criteria.setFetchMode("monitoredService", FetchMode.JOIN);
criteria.createAlias("monitoredService.ipInterface", "ipInterface");
criteria.setFetchMode("ipInterface", FetchMode.JOIN);
criteria.createAlias("monitoredService.serviceType", "serviceType");
criteria.setFetchMode("serviceType", FetchMode.JOIN);
criteria.createAlias("ipInterface.node", "node");
criteria.setFetchMode("node", FetchMode.JOIN);
criteria.add(Restrictions.isNull("ifRegainedService"));
criteria.addOrder(Order.asc("node.label"));
criteria.addOrder(Order.asc("ipInterface.ipAddress"));
criteria.addOrder(Order.asc("serviceType.name"));
return m_dao.findMatching(criteria);
}