Hi,
I am getting Invocation of method valueChange in VersionSelectorViewImpl$1 failed Caused by: java.lang.NullPointerException.
I traced the execution and the value I am passing for version in versionSelector.setValue(version) is a legitimate value (string).
This is how I create the component:
public class VersionSelectorViewImpl implements VersionSelectorView{
// Create a selection component;
private ComboBox versionSelector = new ComboBox();
private Listener listener;
public VersionSelectorViewImpl(){
construct();
}
private void construct() {
versionSelector.setVisible(false);
versionSelector.setSizeUndefined();
versionSelector.setImmediate(true);
versionSelector.setNullSelectionAllowed(false);
versionSelector.setTextInputAllowed(false);
versionSelector.addStyleName("version-selector");
//setup listener for the selected item
versionSelector.addValueChangeListener(new Property.ValueChangeListener() {
@Override
public void valueChange(Property.ValueChangeEvent event) {
if (listener != null) {
listener.versionSelected((String) event.getProperty().getValue());
}
}
});
}
@Override
public Component asVaadinComponent() {
return versionSelector;
}
@Override
public void setListener(Listener listener) {
this.listener = listener;
}
@Override
public void setCurrentVersion(String version) {
if (versionSelector != null) {
//select an item with the corresponding setValue() method
versionSelector.setValue(version);
}
}
@Override
public void setVisible(boolean visible) {
versionSelector.setVisible(visible);
}
@Override
public boolean isVisible() {
return versionSelector.isVisible();
}
@Override
/**
* Adds items in the ComboBox for the selected page
*/
public void setAvailableVersions(List<GitVersionInfo> versions) {
if (versions != null && !versions.isEmpty()) {
versionSelector.removeAllItems();
for (GitVersionInfo version : versions) {
//set caption mode for the combobox items
//versionSelector.setItemCaptionMode(ItemCaptionMode.EXPLICIT_DEFAULTS_ID);
//Add an item with a generated ID
versionSelector.addItem(version.getVersionID());
// Set item caption for this item explicitly
String timeDifference = calculateTimeDiff(version.getVersionDate());
versionSelector.setItemCaption(version.getVersionID(), version.getVersionName()+ "/ " + timeDifference
+ " By " + version.getVersionUser() + "/" + version.getVersionComment());
}
versionSelector.setVisible(true);
} else {
versionSelector.setVisible(false);
}
}
``
Thanks in advance,
Ana