package com.constellio.app.ui.util;
import java.io.Serializable;
import java.util.Collection;
import java.util.List;
import com.vaadin.data.Property.ValueChangeListener;
import com.vaadin.ui.AbstractSelect;
import com.vaadin.ui.Field.ValueChangeEvent;
public class EventUtils implements Serializable {
public static void setOptionsWithoutNotifyingListeners(AbstractSelect field, List<?> options) {
Object value = field.getValue();
Collection<?> listeners = field.getListeners(ValueChangeEvent.class);
for (Object listener : listeners) {
field.removeValueChangeListener((ValueChangeListener) listener);
}
if (field.size() > 0) {
field.removeAllItems();
}
field.addItems(options);
field.setValue(value);
for (Object listener : listeners) {
field.addValueChangeListener((ValueChangeListener) listener);
}
}
}