Hi My code is as follows
I have a notes table and i want to update the table every 2 sceonds so that concurrent users can see the added notes for a specific object.
I have refresher which runs and it doesnt seem to be getting the updates. But when the refresh button is clicked I could see the added notes.
When User A adds a note, user A can see the added notes in the table. But User B cannot see, he simply has to click refresh to see the new notes added by A.
the code in the addnotespopover is this.
VaadinSession.getCurrent().lock();
NoteResponse noteResponse = (NoteResponse) response.getData();
Note newNote = (Note) noteResponse.getNote();
mainTable.getContainerDataSource().addItem(newNote);
mainTable.setSortContainerPropertyId(“created”);
mainTable.sort();
mainTable.refreshRowCache();
finally {
VaadinSession.getCurrent().unlock();
}
This is the method for the refresher
if (VaadinSession.getCurrent().getAttribute(FUser.class) != null) {
final Refresher refersher = new Refresher();
refersher.setRefreshInterval(applicationProperties.getNotesRefreshTime());
refersher.addListener(new RefreshListener() {
@Override
public void refresh(Refresher source) {
if (noteTable != null) {
notesTableLayout.removeComponent(notesPanel);
notesTableLayout.removeComponent(addNoteButton);
notesTableLayout.addComponent(buildNotesPanel());
notesTableLayout.addComponent(addNoteButton);
}
}
});
MobileUI.getApp().addExtension(refersher);
Can someone please advise me?