package service; import org.joda.time.DateTime; import org.joda.time.DateTimeZone; public class PoseidonService { private static DateTime now = new DateTime(getTimeZone()); private static boolean timeFrozen = false; private String USER = "ANON"; private static DateTimeZone timeZone = null; public PoseidonService(String USER) { this.USER = USER; } public static DateTimeZone getTimeZone(){ if ( timeZone != null ) return timeZone; String timeZoneID = PoseidonPropertyService.getProperty("timezone.id"); timeZone = DateTimeZone.forID(timeZoneID); return timeZone; } public static DateTime getNow() { if (!timeFrozen) now = new DateTime(getTimeZone()); return now; } public static void setNow(DateTime date){ now = date; timeFrozen = true; } public static DateTime getToday() { return now.withTimeAtStartOfDay(); } public String getUser() { return USER; } }