package com.vaadin.tests.components.datefield; import com.vaadin.data.Property; import com.vaadin.server.VaadinRequest; import com.vaadin.shared.ui.datefield.Resolution; import com.vaadin.tests.components.AbstractTestUI; import com.vaadin.ui.DateField; import com.vaadin.ui.Label; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.TimeZone; public class DateFieldDayResolutionOffset extends AbstractTestUI { private final String initialDateString = "09/01/2014 00:00:00"; @Override protected void setup(VaadinRequest request) { final Label dateValue = new Label(initialDateString); dateValue.setId("dateValue"); final TimeZone timezone = TimeZone.getTimeZone("GMT"); final SimpleDateFormat dateformat = getDateFormat(timezone); final DateField dateField = getDateField(timezone, dateformat); addComponent(dateValue); addComponent(dateField); dateField.addValueChangeListener(new Property.ValueChangeListener() { @Override public void valueChange(Property.ValueChangeEvent event) { dateValue.setValue(dateformat.format(dateField.getValue())); } }); } private DateField getDateField(TimeZone timezone, SimpleDateFormat dateformat) { final DateField dateField = new DateField(); try { Date initialDate = dateformat.parse(initialDateString); dateField.setResolution(Resolution.DAY); dateField.setTimeZone(timezone); dateField.setValue(initialDate); } catch (ParseException e) { e.printStackTrace(); } return dateField; } private SimpleDateFormat getDateFormat(TimeZone timezone) { final SimpleDateFormat dateformat = new SimpleDateFormat( "MM/dd/yyyy HH:mm:ss"); dateformat.setTimeZone(timezone); return dateformat; } @Override protected String getTestDescription() { return "The time should stay at 00:00:00 when selecting dates with Resolution.DAY selected."; } @Override protected Integer getTicketNumber() { return 14653; } }