\r
package com.itmill.toolkit.demo.reservation;\r
\r
+import java.text.SimpleDateFormat;\r
import java.util.Collection;\r
import java.util.Date;\r
import java.util.Iterator;\r
\r
public void init() {\r
super.setResolution(RESOLUTION_HOUR);\r
-\r
+ \r
}\r
\r
/**\r
final String styleName = (String) p.getValue();\r
target.addAttribute("styleName", styleName);\r
}\r
- target.addAttribute("start", "" + start.getTime());\r
+ SimpleDateFormat sdf = new SimpleDateFormat(\r
+ "d MMM yyyy HH:mm:ss Z");\r
+\r
+ target.addAttribute("Z", start.getTimezoneOffset());\r
+\r
+ target.addAttribute("start", "" + sdf.format(start));\r
+\r
if (end != start) {\r
- target.addAttribute("end", "" + end.getTime());\r
+ target.addAttribute("end", "" + sdf.format(end));\r
}\r
if (itemTitlePropertyId != null) {\r
p = item.getItemProperty(itemTitlePropertyId);\r
final Object val = p.getValue();\r
if (val != null) {\r
target.addAttribute("title", val.toString());\r
+ System.out.println(val);\r
}\r
}\r
if (itemDescriptionPropertyId != null) {\r
import java.util.Iterator;\r
import java.util.List;\r
\r
+import com.google.gwt.i18n.client.DateTimeFormat;\r
import com.google.gwt.user.client.DOM;\r
import com.google.gwt.user.client.Element;\r
import com.google.gwt.user.client.ui.FlexTable;\r
\r
}\r
\r
- private native void setScrollTop(Element el, int scrollTop) /*-{\r
- el.scrollTop = scrollTop;\r
- }-*/;\r
+ private native void setScrollTop(Element el, int scrollTop)\r
+ /*-{\r
+ el.scrollTop = scrollTop;\r
+ }-*/;\r
\r
private class HourTableListener implements TableListener {\r
\r
public void addItem(UIDL item) {\r
final String styleName = item.getStringAttribute("styleName");\r
// final Integer id = new Integer(item.getIntAttribute("id"));\r
- final long start = Long.parseLong(item.getStringAttribute("start"));\r
- final Date startDate = new Date(start);\r
- long end = -1;\r
- try {\r
- end = Long.parseLong(item.getStringAttribute("end"));\r
- } catch (final Exception IGNORED) {\r
- // IGNORED attribute not required\r
+\r
+ DateTimeFormat dtf = DateTimeFormat\r
+ .getFormat("d MMM yyyy HH:mm:ss Z");\r
+\r
+ Date startDate = dtf.parse(item.getStringAttribute("start"));\r
+\r
+ // fix times with server-client difference\r
+ int diff = (startDate.getTimezoneOffset() - item\r
+ .getIntAttribute("Z")) * 60000;\r
+ startDate = new Date(startDate.getTime() + diff);\r
+ Date endDate;\r
+ if (item.hasAttribute("end")) {\r
+ endDate = dtf.parse(item.getStringAttribute("end"));\r
+ endDate = new Date(endDate.getTime() + diff);\r
+ } else {\r
+ endDate = (Date) startDate.clone();\r
}\r
- final Date endDate = (end > 0 && end != start ? new Date(end)\r
- : new Date(start));\r
final String title = item.getStringAttribute("title");\r
final String desc = item.getStringAttribute("description");\r
final boolean notime = item.getBooleanAttribute("notime");\r