package gw.lob.hop.schedule uses gw.lob.common.schedule.AbstractScheduleHelper @Export class HOPScheduleHelper extends AbstractScheduleHelper { override function getScheduledItemsForAllCoverables(line: entity.HOPLine): List { // All scheduled items are coverables and implement the ScheduledItem delegate return line.AllCoverables.whereTypeIs(ScheduledItem).toList() } override function getCurrentAndFutureScheduledItemsForPolicyLine(line: entity.HOPLine): List { var allItems = new ArrayList() var editEffectiveDates = line.Branch.AllEffectiveDates.where(\d -> d.afterOrEqual(line.Branch.EditEffectiveDate)).toList() var lineVersionList = line.getVersionsOnDates(editEffectiveDates) for (var lineVersion in lineVersionList) { allItems.addAll(getScheduledItemsForAllCoverables(lineVersion)) } var uniqueItems = new LinkedHashSet(allItems) return uniqueItems.toList() } }