From f32a6384d86cb264f7aa57658072ab82430fc6a4 Mon Sep 17 00:00:00 2001 From: Leif Åstrand Date: Thu, 18 Oct 2012 12:38:24 +0300 Subject: Improve message when session is already set (#9989) Change-Id: If75868863999f61d014402eb98c74a142dc22c4a --- server/src/com/vaadin/ui/UI.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'server/src/com/vaadin') 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 -- cgit v1.2.3