You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@roller.apache.org by ko...@apache.org on 2015/05/20 13:06:27 UTC
svn commit: r1680521 - in /roller/trunk/app/src/main/java/org/apache/roller:
util/ weblogger/business/jpa/ weblogger/ui/core/tags/calendar/
weblogger/ui/rendering/pagers/
Author: kohei
Date: Wed May 20 11:06:26 2015
New Revision: 1680521
URL: http://svn.apache.org/r1680521
Log:
ROL-2076 Links based on date wrongly produced on multi-timezone environment
Modified:
roller/trunk/app/src/main/java/org/apache/roller/util/DateUtil.java
roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAWeblogEntryManagerImpl.java
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/core/tags/calendar/BigWeblogCalendarModel.java
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/core/tags/calendar/CalendarTag.java
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesDayPager.java
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesMonthPager.java
Modified: roller/trunk/app/src/main/java/org/apache/roller/util/DateUtil.java
URL: http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/util/DateUtil.java?rev=1680521&r1=1680520&r2=1680521&view=diff
==============================================================================
--- roller/trunk/app/src/main/java/org/apache/roller/util/DateUtil.java (original)
+++ roller/trunk/app/src/main/java/org/apache/roller/util/DateUtil.java Wed May 20 11:06:26 2015
@@ -469,14 +469,26 @@ public abstract class DateUtil {
public static String format8chars(Date date) {
return format(date, get8charDateFormat());
}
-
-
+
+ // convenience method returns 8 char day stamp YYYYMMDD using time zone
+ public static String format8chars(Date date, TimeZone tz) {
+ SimpleDateFormat formatter = get8charDateFormat();
+ formatter.setTimeZone(tz);
+ return format(date, formatter);
+ }
+
// convenience method returns 6 char month stamp YYYYMM
public static String format6chars(Date date) {
return format(date, get6charDateFormat());
}
-
-
+
+ // convenience method returns 6 char month stamp YYYYMM using time zone
+ public static String format6chars(Date date, TimeZone tz) {
+ SimpleDateFormat formatter = get6charDateFormat();
+ formatter.setTimeZone(tz);
+ return format(date, formatter);
+ }
+
// convenience method returns long friendly formatted timestamp
public static String formatIso8601Day(Date date) {
return format(date, getIso8601DayDateFormat());
Modified: roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAWeblogEntryManagerImpl.java
URL: http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAWeblogEntryManagerImpl.java?rev=1680521&r1=1680520&r2=1680521&view=diff
==============================================================================
--- roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAWeblogEntryManagerImpl.java (original)
+++ roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAWeblogEntryManagerImpl.java Wed May 20 11:06:26 2015
@@ -788,11 +788,13 @@ public class JPAWeblogEntryManagerImpl i
List<WeblogEntry> entries = getWeblogEntries(wesc);
Calendar cal = Calendar.getInstance();
+ SimpleDateFormat formatter = DateUtil.get8charDateFormat();
if (wesc.getWeblog() != null) {
- cal.setTimeZone(wesc.getWeblog().getTimeZoneInstance());
+ TimeZone tz = wesc.getWeblog().getTimeZoneInstance();
+ cal.setTimeZone(tz);
+ formatter.setTimeZone(tz);
}
- SimpleDateFormat formatter = DateUtil.get8charDateFormat();
for (WeblogEntry entry : entries) {
Date sDate = DateUtil.getNoonOfDay(entry.getPubTime(), cal);
if (map.get(sDate) == null) {
Modified: roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/core/tags/calendar/BigWeblogCalendarModel.java
URL: http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/core/tags/calendar/BigWeblogCalendarModel.java?rev=1680521&r1=1680520&r2=1680521&view=diff
==============================================================================
--- roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/core/tags/calendar/BigWeblogCalendarModel.java (original)
+++ roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/core/tags/calendar/BigWeblogCalendarModel.java Wed May 20 11:06:26 2015
@@ -22,6 +22,8 @@ import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
+import java.util.TimeZone;
+
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.roller.weblogger.WebloggerException;
@@ -39,16 +41,19 @@ import org.apache.roller.util.DateUtil;
public class BigWeblogCalendarModel extends WeblogCalendarModel {
private static Log mLogger = LogFactory.getLog(BigWeblogCalendarModel.class);
-
+
protected final SimpleDateFormat starDateFormat =
DateUtil.get8charDateFormat();
-
+
protected final SimpleDateFormat singleDayFormat =
new SimpleDateFormat("dd");
-
-
+
+
public BigWeblogCalendarModel(WeblogPageRequest pRequest, String cat) {
super(pRequest, cat);
+ TimeZone tz = weblog.getTimeZoneInstance();
+ starDateFormat.setTimeZone(tz);
+ singleDayFormat.setTimeZone(tz);
}
Modified: roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/core/tags/calendar/CalendarTag.java
URL: http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/core/tags/calendar/CalendarTag.java?rev=1680521&r1=1680520&r2=1680521&view=diff
==============================================================================
--- roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/core/tags/calendar/CalendarTag.java (original)
+++ roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/core/tags/calendar/CalendarTag.java Wed May 20 11:06:26 2015
@@ -156,6 +156,7 @@ public class CalendarTag extends TagSupp
// formatter Month-Year title of calendar
SimpleDateFormat formatTitle = new SimpleDateFormat(bundle.getString("calendar.dateFormat"), mLocale);
+ formatTitle.setTimeZone(todayCal.getTimeZone());
// go back to first day in month
cal = model.getCalendar();
Modified: roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesDayPager.java
URL: http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesDayPager.java?rev=1680521&r1=1680520&r2=1680521&view=diff
==============================================================================
--- roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesDayPager.java (original)
+++ roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesDayPager.java Wed May 20 11:06:26 2015
@@ -26,6 +26,7 @@ import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
+import java.util.TimeZone;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.roller.weblogger.business.WebloggerFactory;
@@ -69,15 +70,18 @@ public class WeblogEntriesDayPager exten
int page) {
super(strat, weblog, locale, pageLink, entryAnchor, dateString, catName, tags, page);
-
+
+ TimeZone tz = weblog.getTimeZoneInstance();
+
dayFormat = new SimpleDateFormat(
messageUtils.getString("weblogEntriesPager.day.dateFormat"));
+ dayFormat.setTimeZone(tz);
getEntries();
day = parseDate(dateString);
-
- Calendar cal = Calendar.getInstance();
+
+ Calendar cal = Calendar.getInstance(tz);
cal.setTime(day);
cal.add(Calendar.DAY_OF_MONTH, 1);
@@ -199,7 +203,7 @@ public class WeblogEntriesDayPager exten
public String getNextCollectionLink() {
if (nextDay != null) {
- String next = DateUtil.format8chars(nextDay);
+ String next = DateUtil.format8chars(nextDay, weblog.getTimeZoneInstance());
return createURL(0, 0, weblog, locale, pageLink, null, next, catName, tags);
}
return null;
@@ -216,7 +220,7 @@ public class WeblogEntriesDayPager exten
public String getPrevCollectionLink() {
if (prevDay != null) {
- String prev = DateUtil.format8chars(prevDay);
+ String prev = DateUtil.format8chars(prevDay, weblog.getTimeZoneInstance());
return createURL(0, 0, weblog, locale, pageLink, null, prev, catName, tags);
}
return null;
Modified: roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesMonthPager.java
URL: http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesMonthPager.java?rev=1680521&r1=1680520&r2=1680521&view=diff
==============================================================================
--- roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesMonthPager.java (original)
+++ roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesMonthPager.java Wed May 20 11:06:26 2015
@@ -19,13 +19,8 @@
package org.apache.roller.weblogger.ui.rendering.pagers;
import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Collections;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-import java.util.TreeMap;
+import java.util.*;
+
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.roller.weblogger.business.WebloggerFactory;
@@ -69,15 +64,18 @@ public class WeblogEntriesMonthPager ext
int page) {
super(strat, weblog, locale, pageLink, entryAnchor, dateString, catName, tags, page);
-
+
+ TimeZone tz = weblog.getTimeZoneInstance();
+
monthFormat = new SimpleDateFormat(
messageUtils.getString("weblogEntriesPager.month.dateFormat"));
+ monthFormat.setTimeZone(tz);
getEntries();
month = parseDate(dateString);
- Calendar cal = Calendar.getInstance();
+ Calendar cal = Calendar.getInstance(tz);
cal.setTime(month);
cal.add(Calendar.MONTH, 1);
@@ -193,7 +191,7 @@ public class WeblogEntriesMonthPager ext
public String getNextCollectionLink() {
if (nextMonth != null) {
- String next = DateUtil.format6chars(nextMonth);
+ String next = DateUtil.format6chars(nextMonth, weblog.getTimeZoneInstance());
return createURL(0, 0, weblog, locale, pageLink, null, next, catName, tags);
}
return null;
@@ -210,7 +208,7 @@ public class WeblogEntriesMonthPager ext
public String getPrevCollectionLink() {
if (prevMonth != null) {
- String prev = DateUtil.format6chars(prevMonth);
+ String prev = DateUtil.format6chars(prevMonth, weblog.getTimeZoneInstance());
return createURL(0, 0, weblog, locale, pageLink, null, prev, catName, tags);
}
return null;