diff options
Diffstat (limited to 'server/src')
-rw-r--r-- | server/src/com/vaadin/ui/UI.java | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/server/src/com/vaadin/ui/UI.java b/server/src/com/vaadin/ui/UI.java index 2878d10fa1..d57d38b371 100644 --- a/server/src/com/vaadin/ui/UI.java +++ b/server/src/com/vaadin/ui/UI.java @@ -709,7 +709,10 @@ public abstract class UI extends AbstractComponentContainer implements public void setSession(VaadinServiceSession session) { if ((session == null) == (this.session == null)) { throw new IllegalStateException( - "VaadinSession has already been set"); + "VaadinServiceSession has already been set. Old session: " + + getSessionDetails(this.session) + + ". New session: " + getSessionDetails(session) + + "."); } else { if (session == null) { detach(); @@ -722,6 +725,15 @@ public abstract class UI extends AbstractComponentContainer implements } } + private static String getSessionDetails(VaadinServiceSession session) { + if (session == null) { + return null; + } else { + return session.toString() + " for " + + session.getService().getServiceName(); + } + } + /** * Gets the id of the UI, used to identify this UI within its application * when processing requests. The UI id should be present in every request to |