package helpers; import java.text.SimpleDateFormat; import java.util.Locale; import java.util.TimeZone; import play.libs.Json; import play.mvc.Http.Request; import com.fasterxml.jackson.databind.node.ObjectNode; import com.typesafe.config.ConfigFactory; import models.openfire.LogEntry; import models.openfire.Room; import models.openfire.User; public class EntryHelper { private final static SimpleDateFormat TIME_FORMAT = new SimpleDateFormat("HH:mm:ss"); private final static TimeZone TIMEZONE = TimeZone.getTimeZone("UTC"); private final static SimpleDateFormat DATE_TIME_FORMAT = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.GERMAN); private final static SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("dd.MM.yyyy", Locale.GERMAN); static { DATE_TIME_FORMAT.setTimeZone(TIMEZONE); DATE_FORMAT.setTimeZone(TIMEZONE); } private final static String USER_AVATAR_URL_TEMPLATE = ConfigFactory.load().getString("user.avatar.url.template"); private final static String USER_URL_TEMPLATE = ConfigFactory.load().getString("user.url.template"); private String lastDay = ""; private String lastRoom = ""; public static ObjectNode getJson(Room room, LogEntry entry, Request request){ ObjectNode entryJson = Json.newObject(); entryJson.put("id", entry.getEntryId()); entryJson.put("sender", entry.getSenderName()); entryJson.put("subject", entry.subject); entryJson.put("content", entry.body); entryJson.put("date", DATE_TIME_FORMAT.format(entry.getDate())); entryJson.put("link", controllers.routes.Application.show(entry.getEntryId()).absoluteURL(request, controllers.Application.REQUEST_SECURE)); return entryJson; } public String checkDayChange(LogEntry entry, int columns){ if(lastDay.isEmpty() || !lastDay.equals(DATE_FORMAT.format(entry.getDate()))) { lastDay = DATE_FORMAT.format(entry.getDate()); lastRoom = ""; return "