package pt.utl.ist.scripts.runOnce; import net.sourceforge.fenixedu.domain.OccupationPeriod; import org.joda.time.DateTime; import org.joda.time.Interval; import pt.ist.bennu.core.domain.Bennu; import pt.utl.ist.scripts.commons.AtomicScript; public class FixOccupationPeriodDates extends AtomicScript { @Override protected void run() throws Exception { for (OccupationPeriod period : Bennu.getInstance().getOccupationPeriodsSet()) { Interval interval = period.getPeriodInterval(); DateTime end = interval.getEnd(); if (end.getHourOfDay() == 0 && end.getMinuteOfHour() == 0 && end.getSecondOfMinute() == 0) { period.setPeriodInterval(fixInterval(interval)); } } } private Interval fixInterval(Interval interval) { DateTime start = interval.getStart(); DateTime end = interval.getEnd().withTime(23, 59, 59, 999); return new Interval(start, end); } public static void main(String[] args) { processWriteTransaction(new FixOccupationPeriodDates()); } }