Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

GitBlitWebSession.java 2.1KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. package com.gitblit.wicket;
  2. import java.text.DateFormat;
  3. import java.text.SimpleDateFormat;
  4. import java.util.Date;
  5. import java.util.TimeZone;
  6. import org.apache.wicket.Request;
  7. import org.apache.wicket.Session;
  8. import org.apache.wicket.protocol.http.WebSession;
  9. import org.apache.wicket.protocol.http.request.WebClientInfo;
  10. import com.gitblit.StoredSettings;
  11. public final class GitBlitWebSession extends WebSession {
  12. private static final long serialVersionUID = 1L;
  13. protected TimeZone timezone = null;
  14. public GitBlitWebSession(Request request) {
  15. super(request);
  16. }
  17. public void invalidate() {
  18. super.invalidate();
  19. }
  20. public TimeZone getTimezone() {
  21. if (timezone == null) {
  22. timezone = ((WebClientInfo) getClientInfo()).getProperties().getTimeZone();
  23. }
  24. // use server timezone if we can't determine the client timezone
  25. if (timezone == null) {
  26. timezone = TimeZone.getDefault();
  27. }
  28. return timezone;
  29. }
  30. public String formatTime(Date date) {
  31. DateFormat df = new SimpleDateFormat(StoredSettings.getString("timestampFormat", "h:mm a"));
  32. df.setTimeZone(getTimezone());
  33. return df.format(date);
  34. }
  35. public String formatDate(Date date) {
  36. DateFormat df = new SimpleDateFormat(StoredSettings.getString("datestampShortFormat", "MM/dd/yy"));
  37. df.setTimeZone(getTimezone());
  38. return df.format(date);
  39. }
  40. public String formatDateLong(Date date) {
  41. DateFormat df = new SimpleDateFormat(StoredSettings.getString("datestampLongFormat", "EEEE, MMMM d, yyyy"));
  42. df.setTimeZone(getTimezone());
  43. return df.format(date);
  44. }
  45. public String formatDateTime(Date date) {
  46. DateFormat df = new SimpleDateFormat(StoredSettings.getString("datetimestampShortFormat", "MM/dd/yy h:mm a"));
  47. df.setTimeZone(getTimezone());
  48. return df.format(date);
  49. }
  50. public String formatDateTimeLong(Date date) {
  51. DateFormat df = new SimpleDateFormat(StoredSettings.getString("datetimestampLongFormat", "EEEE, MMMM d, yyyy h:mm a"));
  52. df.setTimeZone(getTimezone());
  53. return df.format(date);
  54. }
  55. public static GitBlitWebSession get() {
  56. return (GitBlitWebSession) Session.get();
  57. }
  58. }