Hi,
I implemented getWindow to handle parameters given to my application. So far it seems to work. The only problem is the following case:
- start server
- load page http://localhost:8080/ui/VAADIN/t23442?sessId=1238888
- stop server
- refresh page => window-name is 1 instead of t23442
- Clear browser cache
- refresh → everything is working as expected
How can I handle a server restart without forcing the user to clean the browser cache ?
Regards
Roger
@Override
public TouchKitWindow getWindow(final String name) {
if (super.getWindow(name) == null) {
final TouchKitWindow mainWindow = new TouchKitWindow();
mainWindow.setCaption(getCaption() + "/" + name);
mainWindow.setName(name);
mainWindow.setWebAppCapable(true);
mainWindow.setPersistentSessionCookie(true);
setMainWindow(mainWindow);
mainWindow.addParameterHandler(new ParameterHandler() {
@Override
public void handleParameters(Map<String, String[]> parameters) {
// @formatter:off
mainWindow.setContent(createMainComponent(
new WindowName(name),
new ParameterMap(parameters)));
// @formatter:on
}
});
}
TouchKitWindow mainWindow = super.getWindow(name);
if (mainWindow.getContent() instanceof UINavigationManager) {
if (!mainWindow.getName().equals(previousName)) {
UINavigationManager uiNavigationManager = (UINavigationManager) mainWindow.getContent();
uiNavigationManager.refreshData(new WindowName(name));
}
}
previousName = name;
return mainWindow;
}