import java.util.Iterator;\r
import java.util.LinkedList;\r
\r
+import com.itmill.toolkit.data.Validator;\r
+import com.itmill.toolkit.data.util.MethodProperty;\r
import com.itmill.toolkit.ui.AbstractField;\r
import com.itmill.toolkit.ui.Button;\r
import com.itmill.toolkit.ui.Label;\r
s.setNullSelectionAllowed(false);\r
listOfAllFields.add(s);\r
\r
+ s = new Select("Testcase from the ticket #1804");\r
+ s.setWidth(190);\r
+ s.setNullSelectionAllowed(false);\r
+ TestPojo myPojo = new TestPojo();\r
+ s.setPropertyDataSource(new MethodProperty(myPojo, "id"));\r
+ s.addValidator(new EmptyStringValidator(\r
+ "Selection required for test-field"));\r
+ listOfAllFields.add(s);\r
+\r
for (Iterator i = listOfAllFields.iterator(); i.hasNext();) {\r
s = (Select) i.next();\r
main.addComponent(s);\r
});\r
}\r
\r
+ class TestPojo {\r
+ String id = "";\r
+\r
+ public String getId() {\r
+ return id;\r
+ }\r
+\r
+ public void setId(String id) {\r
+ this.id = id;\r
+ }\r
+\r
+ }\r
+\r
+ /** Throws an exception when the string is empty or null. */\r
+ class EmptyStringValidator implements Validator {\r
+\r
+ String msg;\r
+\r
+ EmptyStringValidator(String msg) {\r
+ this.msg = msg;\r
+ }\r
+\r
+ public boolean isValid(Object value) {\r
+ return !(value == null || value.toString().length() == 0);\r
+ }\r
+\r
+ public void validate(Object value) throws InvalidValueException {\r
+ if (!isValid(value)) {\r
+ throw new InvalidValueException(msg);\r
+ }\r
+ }\r
+\r
+ }\r
+\r
}\r