The Test - This is a red bar.... public void testCurrentByRange() { Collection expectedOutages = new JdbcSet(); OnmsOutage expectedCurrent = new OnmsOutage(); expectedCurrent.setId(1); expectedOutages.add(expectedCurrent); expect(outageDao.currentOutages(1, 1, "ifLostService", true)) .andReturn(expectedOutages); replay(outageDao); Set suppressed = (Set) outageService.getCurrentOutagesByRange(1, 1, "ifLostService", "asc"); verify(outageDao); assertTrue("Current Outages", suppressed.equals(expectedOutages)); } The Interface public Collection getCurrentOutagesByRange(Integer offset, Integer limit, String orderProperty, String direction) { throw new UnsupportedOperationException("not implemented since switch to hibernate"); } The Dao ---- Really what I need to understand... I assume along the lines of: public Collection matchingCurrentOutages(ServiceSelector selector) { Filter filter = new Filter(); Set matchingIps = new HashSet(filter.getIPList(selector.getFilterRule())); Set matchingSvcs = new HashSet(selector.getServiceNames()); List matchingOutages = new LinkedList(); Collection outages = currentOutages(); for (OnmsOutage outage : outages) { OnmsMonitoredService svc = outage.getMonitoredService(); if ((matchingSvcs.contains(svc.getServiceName()) || matchingSvcs.isEmpty()) && matchingIps.contains(svc.getIpAddress())) { matchingOutages.add(outage); } } return matchingOutages; } public Collection suppressedOutages() { return find("from OnmsOutage as o where (o.ifRegainedService is null and o.SupressTime > now()"); } public Collection openAndResolvedOutages(Integer Offset, Integer Limit) { // TODO Auto-generated method stub return null; } public Collection currentOutages(Integer offset, Integer limit, String sortOrder, boolean All) { // TODO Auto-generated method stub return null; }