• R/O
  • SSH
  • HTTPS

pal: Commit


Commit MetaInfo

Revision1655 (tree)
Zeit2009-01-04 08:08:58
Autorshinsuke

Log Message

set holiday color.

Ändern Zusammenfassung

Diff

--- scheduler/trunk/src/main/java/jp/sf/pal/scheduler/form/ConfigForm.java (revision 1654)
+++ scheduler/trunk/src/main/java/jp/sf/pal/scheduler/form/ConfigForm.java (revision 1655)
@@ -6,12 +6,9 @@
66
77 public class ConfigForm implements Serializable {
88
9- private static final long serialVersionUID = -8652826957783721623L;
9+ private static final long serialVersionUID = 5428451370958739560L;
1010
1111 @Required(target = "update")
12- public String roleAvailable;
12+ public String holidays;
1313
14- @Required(target = "update")
15- public String groupAvailable;
16-
1714 }
--- scheduler/trunk/src/main/java/jp/sf/pal/scheduler/SchedulerConstants.java (revision 1654)
+++ scheduler/trunk/src/main/java/jp/sf/pal/scheduler/SchedulerConstants.java (revision 1655)
@@ -2,10 +2,6 @@
22
33 public class SchedulerConstants {
44
5- public static final String ROLE_AVAILABLE = "features.role";
6-
7- public static final String GROUP_AVAILABLE = "features.group";
8-
95 public static final String ONETIME_SCHEDULE = "ONETIME";
106
117 public static final String ROLE_PREFIX = "role::";
@@ -12,4 +8,13 @@
128
139 public static final String GROUP_PREFIX = "group::";
1410
11+ public static final String SCHEDULER_HOLIDAYS = "scheduler.holidays";
12+
13+ public static final String HOLIDAY_COLOR = "#FFCCCC";
14+
15+ public static final String SUNDAY_COLOR = "#FFCCCC";
16+
17+ public static final String SATURDAY_COLOR = "#CCFFFF";
18+
19+ public static final String TODAY_COLOR = "#CCFFCC";
1520 }
--- scheduler/trunk/src/main/java/jp/sf/pal/scheduler/action/ConfigAction.java (revision 1654)
+++ scheduler/trunk/src/main/java/jp/sf/pal/scheduler/action/ConfigAction.java (revision 1655)
@@ -1,6 +1,8 @@
11 package jp.sf.pal.scheduler.action;
22
33 import java.io.Serializable;
4+import java.util.HashSet;
5+import java.util.Set;
46
57 import javax.servlet.http.HttpServletRequest;
68
@@ -8,8 +10,10 @@
810 import jp.sf.pal.scheduler.common.util.ConfigUtil;
911 import jp.sf.pal.scheduler.common.util.SAStrutsUtil;
1012 import jp.sf.pal.scheduler.form.ConfigForm;
13+import jp.sf.pal.scheduler.util.SchedulerUtil;
1114
1215 import org.apache.commons.configuration.ConfigurationException;
16+import org.apache.commons.lang.StringUtils;
1317 import org.apache.commons.logging.Log;
1418 import org.apache.commons.logging.LogFactory;
1519 import org.seasar.struts.annotation.ActionForm;
@@ -28,10 +32,8 @@
2832 private transient HttpServletRequest request;
2933
3034 protected String displayIndex() {
31- configForm.roleAvailable = ConfigUtil.getString(
32- SchedulerConstants.ROLE_AVAILABLE, "true");
33- configForm.groupAvailable = ConfigUtil.getString(
34- SchedulerConstants.GROUP_AVAILABLE, "true");
35+ configForm.holidays = ConfigUtil.getString(
36+ SchedulerConstants.SCHEDULER_HOLIDAYS, "");
3537 return "index.jsp";
3638 }
3739
@@ -44,10 +46,22 @@
4446 @Execute(validator = false, input = "index.jsp")
4547 public String update() {
4648 ConfigUtil.init(request);
47- ConfigUtil.setProperty(SchedulerConstants.ROLE_AVAILABLE,
48- configForm.roleAvailable);
49- ConfigUtil.setProperty(SchedulerConstants.GROUP_AVAILABLE,
50- configForm.groupAvailable);
49+ ConfigUtil.setProperty(SchedulerConstants.SCHEDULER_HOLIDAYS,
50+ configForm.holidays);
51+
52+ if (configForm.holidays == null) {
53+ configForm.holidays = "";
54+ }
55+
56+ Set<String> holidaySet = new HashSet<String>();
57+ String[] holidays = configForm.holidays.split("\n");
58+ for (int i = 0; i < holidays.length; i++) {
59+ if (!StringUtils.isEmpty(holidays[i])) {
60+ holidaySet.add(holidays[i].trim());
61+ }
62+ }
63+ SchedulerUtil.setHolidaySet(holidaySet);
64+
5165 try {
5266 ConfigUtil.save();
5367 SAStrutsUtil.addMessage(request, "success.update_config");
--- scheduler/trunk/src/main/java/jp/sf/pal/scheduler/action/user/facility/CalendarAction.java (revision 1654)
+++ scheduler/trunk/src/main/java/jp/sf/pal/scheduler/action/user/facility/CalendarAction.java (revision 1655)
@@ -10,6 +10,7 @@
1010
1111 import javax.servlet.http.HttpServletRequest;
1212
13+import jp.sf.pal.scheduler.SchedulerConstants;
1314 import jp.sf.pal.scheduler.common.util.CalendarUtil;
1415 import jp.sf.pal.scheduler.common.util.ConfigUtil;
1516 import jp.sf.pal.scheduler.db.exentity.Facility;
@@ -45,6 +46,8 @@
4546
4647 public int maxCols;
4748
49+ public String dayColor;
50+
4851 public Facility facility;
4952
5053 @ActionForm
@@ -124,6 +127,31 @@
124127 }
125128 }
126129
130+ // day color
131+ StringBuilder sb = new StringBuilder();
132+ sb.append(tYear).append("-");
133+ if (tMonth < 10) {
134+ sb.append("0").append(tMonth);
135+ } else {
136+ sb.append(tMonth);
137+ }
138+ sb.append("-");
139+ if (tDate < 10) {
140+ sb.append("0").append(tDate);
141+ } else {
142+ sb.append(tDate);
143+ }
144+ if (tDay == 1) {
145+ // sunday
146+ dayColor = SchedulerConstants.SUNDAY_COLOR;
147+ } else if (SchedulerUtil.getHolidaySet().contains(sb.toString())) {
148+ // holiday
149+ dayColor = SchedulerConstants.HOLIDAY_COLOR;
150+ } else if (tDay == 7) {
151+ // saturday
152+ dayColor = SchedulerConstants.SATURDAY_COLOR;
153+ }
154+
127155 return "facilityday.jsp";
128156 }
129157
@@ -144,13 +172,38 @@
144172 int year = CalendarUtil.getYear(cal);
145173 int month = CalendarUtil.getMonth(cal) + 1;
146174 int date = CalendarUtil.getDate(cal);
175+ int dayOfWeek = CalendarUtil.getDay(cal);
147176
148- Map<String, Object> map = new HashMap<String, Object>(5);
177+ Map<String, Object> map = new HashMap<String, Object>(6);
149178 map.put("displayedDate", sdf.format(cal.getTime()));
150- map.put("dayOfWeek", String.valueOf(CalendarUtil.getDay(cal)));
179+ map.put("dayOfWeek", String.valueOf(dayOfWeek));
151180 map.put("date", String.valueOf(date));
152181 map.put("month", String.valueOf(month));
153182 map.put("year", String.valueOf(year));
183+ // day color
184+ StringBuilder sb = new StringBuilder();
185+ sb.append(year).append("-");
186+ if (month < 10) {
187+ sb.append("0").append(month);
188+ } else {
189+ sb.append(month);
190+ }
191+ sb.append("-");
192+ if (date < 10) {
193+ sb.append("0").append(date);
194+ } else {
195+ sb.append(date);
196+ }
197+ if (dayOfWeek == 1) {
198+ // sunday
199+ map.put("color", SchedulerConstants.SUNDAY_COLOR);
200+ } else if (SchedulerUtil.getHolidaySet().contains(sb.toString())) {
201+ // holiday
202+ map.put("color", SchedulerConstants.HOLIDAY_COLOR);
203+ } else if (dayOfWeek == 7) {
204+ // saturday
205+ map.put("color", SchedulerConstants.SATURDAY_COLOR);
206+ }
154207 weekDayItems.add(map);
155208 cal = CalendarUtil.getNext(cal);
156209
@@ -246,13 +299,38 @@
246299 int year = CalendarUtil.getYear(cal);
247300 int month = CalendarUtil.getMonth(cal) + 1;
248301 int date = CalendarUtil.getDate(cal);
302+ int dayOfWeek = CalendarUtil.getDay(cal);
249303
250- Map<String, Object> map = new HashMap<String, Object>(5);
304+ Map<String, Object> map = new HashMap<String, Object>(6);
251305 map.put("displayedDate", sdf.format(cal.getTime()));
252- map.put("dayOfWeek", String.valueOf(CalendarUtil.getDay(cal)));
306+ map.put("dayOfWeek", String.valueOf(dayOfWeek));
253307 map.put("date", String.valueOf(date));
254308 map.put("month", String.valueOf(month));
255309 map.put("year", String.valueOf(year));
310+ // day color
311+ StringBuilder sb = new StringBuilder();
312+ sb.append(year).append("-");
313+ if (month < 10) {
314+ sb.append("0").append(month);
315+ } else {
316+ sb.append(month);
317+ }
318+ sb.append("-");
319+ if (date < 10) {
320+ sb.append("0").append(date);
321+ } else {
322+ sb.append(date);
323+ }
324+ if (dayOfWeek == 1) {
325+ // sunday
326+ map.put("color", SchedulerConstants.SUNDAY_COLOR);
327+ } else if (SchedulerUtil.getHolidaySet().contains(sb.toString())) {
328+ // holiday
329+ map.put("color", SchedulerConstants.HOLIDAY_COLOR);
330+ } else if (dayOfWeek == 7) {
331+ // saturday
332+ map.put("color", SchedulerConstants.SATURDAY_COLOR);
333+ }
256334 weekDayItems.add(map);
257335 cal = CalendarUtil.getNext(cal);
258336
--- scheduler/trunk/src/main/java/jp/sf/pal/scheduler/action/user/schedule/CalendarAction.java (revision 1654)
+++ scheduler/trunk/src/main/java/jp/sf/pal/scheduler/action/user/schedule/CalendarAction.java (revision 1655)
@@ -47,6 +47,8 @@
4747
4848 public int maxCols;
4949
50+ public String dayColor;
51+
5052 @ActionForm
5153 private CalendarForm calendarForm;
5254
@@ -121,6 +123,31 @@
121123 }
122124 }
123125
126+ // day color
127+ StringBuilder sb = new StringBuilder();
128+ sb.append(tYear).append("-");
129+ if (tMonth < 10) {
130+ sb.append("0").append(tMonth);
131+ } else {
132+ sb.append(tMonth);
133+ }
134+ sb.append("-");
135+ if (tDate < 10) {
136+ sb.append("0").append(tDate);
137+ } else {
138+ sb.append(tDate);
139+ }
140+ if (tDay == 1) {
141+ // sunday
142+ dayColor = SchedulerConstants.SUNDAY_COLOR;
143+ } else if (SchedulerUtil.getHolidaySet().contains(sb.toString())) {
144+ // holiday
145+ dayColor = SchedulerConstants.HOLIDAY_COLOR;
146+ } else if (tDay == 7) {
147+ // saturday
148+ dayColor = SchedulerConstants.SATURDAY_COLOR;
149+ }
150+
124151 return "personalday.jsp";
125152 }
126153
@@ -142,14 +169,40 @@
142169 int year = CalendarUtil.getYear(cal);
143170 int month = CalendarUtil.getMonth(cal) + 1;
144171 int date = CalendarUtil.getDate(cal);
172+ int dayOfWeek = CalendarUtil.getDay(cal);
145173
146- Map<String, Object> map = new HashMap<String, Object>(5);
174+ Map<String, Object> map = new HashMap<String, Object>(6);
147175 map.put("displayedDate", sdf.format(cal.getTime()));
148- map.put("dayOfWeek", String.valueOf(CalendarUtil.getDay(cal)));
176+ map.put("dayOfWeek", String.valueOf(dayOfWeek));
149177 map.put("date", String.valueOf(date));
150178 map.put("month", String.valueOf(month));
151179 map.put("year", String.valueOf(year));
180+ // day color
181+ StringBuilder sb = new StringBuilder();
182+ sb.append(year).append("-");
183+ if (month < 10) {
184+ sb.append("0").append(month);
185+ } else {
186+ sb.append(month);
187+ }
188+ sb.append("-");
189+ if (date < 10) {
190+ sb.append("0").append(date);
191+ } else {
192+ sb.append(date);
193+ }
194+ if (dayOfWeek == 1) {
195+ // sunday
196+ map.put("color", SchedulerConstants.SUNDAY_COLOR);
197+ } else if (SchedulerUtil.getHolidaySet().contains(sb.toString())) {
198+ // holiday
199+ map.put("color", SchedulerConstants.HOLIDAY_COLOR);
200+ } else if (dayOfWeek == 7) {
201+ // saturday
202+ map.put("color", SchedulerConstants.SATURDAY_COLOR);
203+ }
152204 weekDayItems.add(map);
205+
153206 cal = CalendarUtil.getNext(cal);
154207
155208 indexMap.put(year + "-" + month + "-" + date, i);
@@ -254,13 +307,38 @@
254307 int year = CalendarUtil.getYear(cal);
255308 int month = CalendarUtil.getMonth(cal) + 1;
256309 int date = CalendarUtil.getDate(cal);
310+ int dayOfWeek = CalendarUtil.getDay(cal);
257311
258- Map<String, Object> map = new HashMap<String, Object>(5);
312+ Map<String, Object> map = new HashMap<String, Object>(6);
259313 map.put("displayedDate", sdf.format(cal.getTime()));
260- map.put("dayOfWeek", String.valueOf(CalendarUtil.getDay(cal)));
314+ map.put("dayOfWeek", String.valueOf(dayOfWeek));
261315 map.put("date", String.valueOf(date));
262316 map.put("month", String.valueOf(month));
263317 map.put("year", String.valueOf(year));
318+ // day color
319+ StringBuilder sb = new StringBuilder();
320+ sb.append(year).append("-");
321+ if (month < 10) {
322+ sb.append("0").append(month);
323+ } else {
324+ sb.append(month);
325+ }
326+ sb.append("-");
327+ if (date < 10) {
328+ sb.append("0").append(date);
329+ } else {
330+ sb.append(date);
331+ }
332+ if (dayOfWeek == 1) {
333+ // sunday
334+ map.put("color", SchedulerConstants.SUNDAY_COLOR);
335+ } else if (SchedulerUtil.getHolidaySet().contains(sb.toString())) {
336+ // holiday
337+ map.put("color", SchedulerConstants.HOLIDAY_COLOR);
338+ } else if (dayOfWeek == 7) {
339+ // saturday
340+ map.put("color", SchedulerConstants.SATURDAY_COLOR);
341+ }
264342 weekDayItems.add(map);
265343 cal = CalendarUtil.getNext(cal);
266344
--- scheduler/trunk/src/main/java/jp/sf/pal/scheduler/util/SchedulerUtil.java (revision 1654)
+++ scheduler/trunk/src/main/java/jp/sf/pal/scheduler/util/SchedulerUtil.java (revision 1655)
@@ -5,20 +5,25 @@
55 import java.util.Calendar;
66 import java.util.Date;
77 import java.util.HashMap;
8+import java.util.HashSet;
89 import java.util.LinkedList;
910 import java.util.List;
1011 import java.util.Map;
12+import java.util.Set;
1113
1214 import jp.sf.pal.scheduler.SchedulerConstants;
1315 import jp.sf.pal.scheduler.common.util.CalendarUtil;
16+import jp.sf.pal.scheduler.common.util.ConfigUtil;
1417 import jp.sf.pal.scheduler.common.util.DateUtil;
1518 import jp.sf.pal.scheduler.db.exentity.EventSchedule;
1619 import jp.sf.pal.scheduler.db.exentity.EventScheduleMapping;
1720 import jp.sf.pal.scheduler.db.exentity.FacilityScheduleMapping;
1821
22+import org.apache.commons.lang.StringUtils;
1923 import org.seasar.struts.exception.ActionMessagesException;
2024
2125 public class SchedulerUtil {
26+ private static Set<String> holidaySet;
2227
2328 public static boolean compare(String yyyymmdd1, String HHmm1,
2429 String yyyymmdd2, String HHmm2) {
@@ -116,6 +121,7 @@
116121 calendarDayItems.add(createCalendarDayItem(cal, targetYear,
117122 targetMonth, targetDate, true));
118123 cal = CalendarUtil.getNext(cal);
124+
119125 }
120126
121127 // create a next month
@@ -146,7 +152,7 @@
146152 int month = CalendarUtil.getMonth(cal) + 1;
147153 int dayOfMonth = CalendarUtil.getDate(cal);
148154 int dayOfWeek = CalendarUtil.getDay(cal);
149- Map<String, Object> map = new HashMap<String, Object>(6);
155+ Map<String, Object> map = new HashMap<String, Object>(7);
150156 map.put("year", String.valueOf(year));
151157 map.put("month", String.valueOf(month));
152158 map.put("dayOfMonth", String.valueOf(dayOfMonth));
@@ -157,6 +163,31 @@
157163 } else {
158164 map.put("target", "false");
159165 }
166+ // day color
167+ StringBuilder sb = new StringBuilder();
168+ sb.append(year);
169+ sb.append("-");
170+ if (month < 10) {
171+ sb.append("0").append(month);
172+ } else {
173+ sb.append(month);
174+ }
175+ sb.append("-");
176+ if (dayOfMonth < 10) {
177+ sb.append("0").append(dayOfMonth);
178+ } else {
179+ sb.append(dayOfMonth);
180+ }
181+ if (dayOfWeek == 1) {
182+ // sunday
183+ map.put("color", SchedulerConstants.SUNDAY_COLOR);
184+ } else if (getHolidaySet().contains(sb.toString())) {
185+ // holiday
186+ map.put("color", SchedulerConstants.HOLIDAY_COLOR);
187+ } else if (dayOfWeek == 7) {
188+ // saturday
189+ map.put("color", SchedulerConstants.SATURDAY_COLOR);
190+ }
160191 return map;
161192 }
162193
@@ -971,4 +1002,29 @@
9711002 }
9721003 }
9731004 }
1005+
1006+ public static void setHolidaySet(Set<String> holidaySet) {
1007+ if (SchedulerUtil.holidaySet != null) {
1008+ synchronized (SchedulerUtil.holidaySet) {
1009+ SchedulerUtil.holidaySet = holidaySet;
1010+ }
1011+ } else {
1012+ SchedulerUtil.holidaySet = holidaySet;
1013+ }
1014+ }
1015+
1016+ public static Set<String> getHolidaySet() {
1017+ if (holidaySet == null) {
1018+ Set<String> hSet = new HashSet<String>();
1019+ String[] holidays = ConfigUtil.getString(
1020+ SchedulerConstants.SCHEDULER_HOLIDAYS, "").split("\n");
1021+ for (int i = 0; i < holidays.length; i++) {
1022+ if (!StringUtils.isEmpty(holidays[i])) {
1023+ hSet.add(holidays[i].trim());
1024+ }
1025+ }
1026+ holidaySet = hSet;
1027+ }
1028+ return holidaySet;
1029+ }
9741030 }
--- scheduler/trunk/src/main/webapp/WEB-INF/portlet.xml (revision 1654)
+++ scheduler/trunk/src/main/webapp/WEB-INF/portlet.xml (revision 1655)
@@ -1,10 +1,11 @@
11 <?xml version="1.0" encoding="UTF-8"?>
22 <portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0" xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd">
3-<!--
43 <portlet>
4+ <description>Edit configurations.</description>
5+ <description xml:lang="ja">設定を編集します。</description>
56 <portlet-name>SchedulerConfig</portlet-name>
67 <display-name>Scheduler: Scheduler Configuration</display-name>
7- <description>Edit configurations.</description>
8+ <display-name xml:lang="ja">スケジュール: 設定</display-name>
89 <portlet-class>org.seasar.struts.portlet.SAStrutsPortlet</portlet-class>
910 <init-param>
1011 <name>viewPage</name>
@@ -17,13 +18,13 @@
1718 </supports>
1819 <supported-locale>en</supported-locale>
1920 <supported-locale>ja</supported-locale>
21+ <resource-bundle>jp.sf.pal.scheduler.resources.SchedulerConfig</resource-bundle>
2022 <portlet-info>
21- <title>Scheduler Configuration</title>
23+ <title>Scheduler Config</title>
2224 <short-title>Config</short-title>
23- <keywords>Scheduler,URL</keywords>
25+ <keywords>Scheduler</keywords>
2426 </portlet-info>
2527 </portlet>
26- -->
2728 <portlet>
2829 <description>Manage facilities.</description>
2930 <description xml:lang="ja">施設情報を管理します。</description>
Show on old repository browser