package com.vaadin.tests.components.select; import com.vaadin.tests.components.TestBase; import com.vaadin.ui.Button; import com.vaadin.ui.Button.ClickEvent; import com.vaadin.ui.Button.ClickListener; import com.vaadin.v7.ui.Select; public class NullSelectionItemId extends TestBase implements ClickListener { private static final String NULL_ITEM_ID = "Null item id"; private Select mySelect; @Override protected void setup() { mySelect = new Select("My Select"); // add items mySelect.addItem(NULL_ITEM_ID); mySelect.addItem("Another item"); // allow null and set the null item id mySelect.setNullSelectionAllowed(true); mySelect.setNullSelectionItemId(NULL_ITEM_ID); // select the null item mySelect.select(NULL_ITEM_ID); Button button = new Button("Show selected value", this); addComponent(mySelect); addComponent(button); button = new Button( "Select null with select(NULL_ITEM_ID) (should make value null)", new Button.ClickListener() { @Override public void buttonClick(ClickEvent event) { mySelect.select(NULL_ITEM_ID); } }); addComponent(button); button = new Button( "Select null with setValue(null) (should make value null)", new Button.ClickListener() { @Override public void buttonClick(ClickEvent event) { mySelect.setValue(null); } }); addComponent(button); } @Override public void buttonClick(ClickEvent event) { getMainWindow().showNotification( "mySelect.getValue() returns: " + mySelect.getValue()); } @Override protected String getDescription() { return "Steps to reproduce:<br />" + "<ol><li>Click the button -> value is the item id \"Null item id\" (should be null).</li>" + "<li>Select the \"Another item\".</li>" + "<li>Select back the first item.</li>" + "<li>Click the button -> the value is null (as it should)</li></ol>"; } @Override protected Integer getTicketNumber() { return 3203; } }