--- /dev/null
+package com.vaadin.tests.components.abstractfield;\r
+\r
+import com.vaadin.data.Property.ValueChangeEvent;\r
+import com.vaadin.data.Property.ValueChangeListener;\r
+import com.vaadin.data.util.ObjectProperty;\r
+import com.vaadin.data.validator.DoubleValidator;\r
+import com.vaadin.data.validator.IntegerValidator;\r
+import com.vaadin.tests.components.TestBase;\r
+import com.vaadin.tests.util.Log;\r
+import com.vaadin.ui.TextField;\r
+\r
+public class IntegerDoubleFieldsWithDataSource extends TestBase {\r
+\r
+ private Log log = new Log(5);\r
+\r
+ @Override\r
+ protected void setup() {\r
+ addComponent(log);\r
+\r
+ TextField tf = createIntegerTextField();\r
+ tf.addValidator(new IntegerValidator("Must be an Integer"));\r
+ addComponent(tf);\r
+\r
+ tf = createIntegerTextField();\r
+ tf.setCaption("Enter a double");\r
+ tf.setPropertyDataSource(new ObjectProperty<Double>(2.1));\r
+ tf.addValidator(new DoubleValidator("Must be a Double"));\r
+ addComponent(tf);\r
+ }\r
+\r
+ private TextField createIntegerTextField() {\r
+ final TextField tf = new TextField("Enter an integer");\r
+ tf.setPropertyDataSource(new ObjectProperty<Integer>(new Integer(2)));\r
+ tf.setImmediate(true);\r
+ tf.addListener(new ValueChangeListener() {\r
+\r
+ public void valueChange(ValueChangeEvent event) {\r
+ try {\r
+ log.log("Value for " + tf.getCaption() + " changed to "\r
+ + tf.getValue());\r
+ log.log("Converted value is " + tf.getConvertedFieldValue());\r
+ } catch (Exception e) {\r
+ // TODO: handle exception\r
+ e.printStackTrace();\r
+ }\r
+ }\r
+ });\r
+\r
+ return tf;\r
+ }\r
+\r
+ @Override\r
+ protected String getDescription() {\r
+ // TODO Auto-generated method stub\r
+ return null;\r
+ }\r
+\r
+ @Override\r
+ protected Integer getTicketNumber() {\r
+ // TODO Auto-generated method stub\r
+ return null;\r
+ }\r
+\r
+}\r