package com.vaadin.tests.components.datefield; import java.util.Date; import java.util.Locale; import com.vaadin.data.Property.ValueChangeEvent; import com.vaadin.data.Property.ValueChangeListener; import com.vaadin.tests.components.TestBase; import com.vaadin.ui.Button; import com.vaadin.ui.DateField; public class LenientMode extends TestBase implements ValueChangeListener { private static final long serialVersionUID = -9064553409580072387L; @Override protected String getDescription() { return "In lenien mode DateField should accept date input from user like '32/12/09'. In normal mode, an exception should be thrown. "; } @Override protected Integer getTicketNumber() { return 3175; } @Override protected void setup() { @SuppressWarnings("deprecation") Date d = new Date(2009 - 1900, 12 - 1, 31, 23, 59, 59); DateField df = new DateField("Lenient "); df.setLocale(new Locale("fi")); df.setResolution(DateField.RESOLUTION_DAY); df.setLenient(true); df.setImmediate(true); df.setValue(d); DateField df2 = new DateField("Normal "); df2.setLocale(new Locale("fi")); df2.setResolution(DateField.RESOLUTION_DAY); // df2.setLenient(false); df2.setValue(null); df2.setImmediate(true); df2.setValue(d); addComponent(df); addComponent(df2); df.addListener(this); df2.addListener(this); df = new DateField("Lenient with time"); df.setLocale(new Locale("fi")); df.setLenient(true); df.setImmediate(true); df.setValue(d); df2 = new DateField("Normal with time"); df2.setLocale(new Locale("fi")); // df2.setLenient(false); df2.setValue(null); df2.setImmediate(true); df2.setValue(d); addComponent(df); addComponent(df2); df.addListener(this); df2.addListener(this); addComponent(new Button("Visit server")); } @Override public void valueChange(ValueChangeEvent event) { getMainWindow().showNotification( "New value" + event.getProperty().getValue()); } }