Push & fireItemSetChange

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() {
            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...");

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!!

Hey Simon,

I use Treetable + Hierarchical container + ICEPush in my project. it just works fine for me. It updates the treetable perfectly.

Yeah, It happened to me in the past with my code. It seems to be some problem with the PUSH events. If you can show some more code of your PUSH event. Maybe I can help you.

And, I hope you are using
add-on for PUSH events; right.

Good day…


no I’m not using ICEPush but the new push functionality from Vaadin 7.1, and until know it has proven very helpful.

Actually this is about everything in terms of code, that has something to do with the push functionality. I do enable Push with the correct annotation and as I’ve already said, it works in parts of my application. Is there anything else, that I would have to do apart from calling fireItemSetChanged() in order for updates on the client to take place?