summaryrefslogtreecommitdiffstats
path: root/server/src/com/vaadin
diff options
context:
space:
mode:
authorLeif Åstrand <leif@vaadin.com>2012-10-18 12:38:24 +0300
committerLeif Åstrand <leif@vaadin.com>2012-10-18 12:38:24 +0300
commitf32a6384d86cb264f7aa57658072ab82430fc6a4 (patch)
tree6d6f35472e4321f2011d95da7a02c8e2fb5f82d7 /server/src/com/vaadin
parent43c3f454d419c0eb7b0d094c4cf853e3ec3867ae (diff)
downloadvaadin-framework-f32a6384d86cb264f7aa57658072ab82430fc6a4.tar.gz
vaadin-framework-f32a6384d86cb264f7aa57658072ab82430fc6a4.zip
Improve message when session is already set (#9989)
Change-Id: If75868863999f61d014402eb98c74a142dc22c4a
Diffstat (limited to 'server/src/com/vaadin')
-rw-r--r--server/src/com/vaadin/ui/UI.java14
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