/** * <p>Constructor for OwnedInterval.</p> * * @param owned a {@link org.opennms.core.utils.OwnedInterval} object. */ public OwnedInterval(OwnedInterval owned) { this(owned.getOwners(), owned.getStart(), owned.getEnd()); }
/** * <p>getEntries</p> * * @return an array of {@link org.opennms.web.admin.roles.CalendarEntry} objects. */ public CalendarEntry[] getEntries() { try { List<CalendarEntry> entries = new ArrayList<>(); OwnedIntervalSequence schedEntries = m_groupManager.getRoleScheduleEntries(m_role.getName(), getTime(0,0), getTime(24,0)); for (Iterator<OwnedInterval> it = schedEntries.iterator(); it.hasNext();) { OwnedInterval schedEntry = it.next(); CalendarEntry entry = new CalendarEntry(schedEntry.getStart(), schedEntry.getEnd(), ownerString(schedEntry.getOwners()), schedEntry.getOwners()); entries.add(entry); } return entries.toArray(new CalendarEntry[entries.size()]); } catch (Throwable e) { throw new WebRolesException("Unable to get schedule entries: " + e.getMessage(), e); } }
protected Collection<OwnedInterval> separateIntervals(OwnedInterval origInterval, OwnedInterval removedInterval) { List<Owner> reducedOwners = new ArrayList<Owner>(origInterval.getOwners()); reducedOwners.removeAll(removedInterval.getOwners()); if (origInterval.isOwned() && removedInterval.isOwned() && reducedOwners.equals(origInterval.getOwners())) { firstSeg = new OwnedInterval(origInterval.getOwners(), origInterval.getStart(), midSegStart); } else { lastSeg = new OwnedInterval(origInterval.getOwners(), midSegEnd, origInterval.getEnd()); } else { midSegEnd = origInterval.getEnd();
firstSeg = new OwnedInterval(currInterval.getOwners(), currInterval.getStart(), newInterval.getStart()); midSegStart = newInterval.getStart(); } else { firstSeg = new OwnedInterval(newInterval.getOwners(), newInterval.getStart(), currInterval.getStart()); midSegStart = currInterval.getStart(); thirdSeg = new OwnedInterval(currInterval.getOwners(), newInterval.getEnd(), currInterval.getEnd()); midSegEnd = newInterval.getEnd(); } else { thirdSeg = new OwnedInterval(newInterval.getOwners(), currInterval.getEnd(), newInterval.getEnd()); midSegEnd = currInterval.getEnd(); midSeg = new OwnedInterval(currInterval.getOwners(), midSegStart, midSegEnd); midSeg.addOwners(newInterval.getOwners());