I’m trying to update a table based on updates on the model happening at the server. In my UI class I have to following method
public void statusChanged() {
LOG.severe("Status changed");
access(new Runnable() {
@Override
public void run() {
if (currentView instanceof ApplicationController) {
((ApplicationController) currentView).updateStatus();
}
}
});
}
which will eventually call a method in my Container:
public void modelChanged() {
LOG.severe("Model updating...");
fireItemSetChange();
}
I do see both messages occuring in my logs just fine, but on the client side, the Table is not updated, until I manually trigger an update, by for example collapsing/expanding a node in my TreeTable.
My container extends AbstractContainer and implements Container.Hierarchical methods. ItemIDs are fetched directly from an underlaying shared model and are not cached in the container at all.
I’m using vaadin 7.1 with the PUSH functionality enabled. I know push in general works, because with other things (small containers, where I use the default IndexedContainer and remove/readd all elements on updates) it works without problems!
What am I missing?
Thanks for your help!!