From ccad5b2ed8053199c6d4fe938480c4ad5436ace8 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Petter=20Holmstr=C3=B6m?= Date: Fri, 30 Oct 2009 12:57:25 +0000 Subject: [PATCH] Some early modifications to the client side to allow for Portlet URLs. Don't know if they work yet. svn changeset:9509/svn branch:portlet_2.0 --- .../gwt/client/ApplicationConfiguration.java | 17 ++++++++++++++++- .../gwt/client/ApplicationConnection.java | 16 +++++++++++++--- 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/src/com/vaadin/terminal/gwt/client/ApplicationConfiguration.java b/src/com/vaadin/terminal/gwt/client/ApplicationConfiguration.java index 1674196e90..b4ea4cafff 100644 --- a/src/com/vaadin/terminal/gwt/client/ApplicationConfiguration.java +++ b/src/com/vaadin/terminal/gwt/client/ApplicationConfiguration.java @@ -24,12 +24,22 @@ public class ApplicationConfiguration { private String communicationErrorMessage; private String communicationErrorUrl; private boolean useDebugIdInDom = true; + private boolean usePortletURLs = false; + private String portletActionURLBase; private Class[] classes = new Class[1024]; private static ArrayList unstartedApplications = new ArrayList(); private static ArrayList runningApplications = new ArrayList(); + public boolean usePortletURLs() { + return usePortletURLs; + } + + public String getPortletActionURLBase() { + return portletActionURLBase; + } + public String getRootPanelId() { return id; } @@ -101,7 +111,12 @@ public class ApplicationConfiguration { this.@com.vaadin.terminal.gwt.client.ApplicationConfiguration::communicationErrorMessage = jsobj.comErrMsg.message; this.@com.vaadin.terminal.gwt.client.ApplicationConfiguration::communicationErrorUrl = jsobj.comErrMsg.url; } - + if (jsobj.usePortletURLs) { + this.@com.vaadin.terminal.gwt.client.ApplicationConfiguration::usePortletURLs = jsobj.usePortletURLs; + } + if (jsobj.portletActionURLBase) { + this.@com.vaadin.terminal.gwt.client.ApplicationConfiguration::portletActionURLBase = jsobj.portletActionURLBase; + } } else { $wnd.alert("Vaadin app failed to initialize: " + this.id); } diff --git a/src/com/vaadin/terminal/gwt/client/ApplicationConnection.java b/src/com/vaadin/terminal/gwt/client/ApplicationConnection.java index e9f2fba3d1..1b1a3ee9e9 100755 --- a/src/com/vaadin/terminal/gwt/client/ApplicationConnection.java +++ b/src/com/vaadin/terminal/gwt/client/ApplicationConnection.java @@ -305,7 +305,12 @@ public class ApplicationConnection { final String rd = uidl_security_key + VAR_BURST_SEPARATOR + requestData; console.log("Making UIDL Request with params: " + rd); - String uri = getAppUri() + "UIDL" + configuration.getPathInfo(); + String uri; + if (configuration.usePortletURLs()) { + uri = configuration.getPortletActionURLBase() + "&UIDL=true"; + } else { + uri = getAppUri() + "UIDL" + configuration.getPathInfo(); + } if (repaintAll) { // collect some client side data that will be sent to server on // initial uidl request @@ -323,7 +328,12 @@ public class ApplicationConnection { // TODO figure out how client and view size could be used better on // server. screen size can be accessed via Browser object, but other // values currently only via transaction listener. - uri += "?repaintAll=1&" + "sh=" + screenHeight + "&sw=" + if (configuration.usePortletURLs()) { + uri += "&"; + } else { + uri += "?"; + } + uri += "repaintAll=1&" + "sh=" + screenHeight + "&sw=" + screenWidth + "&cw=" + clientWidth + "&ch=" + clientHeight + "&vw=" + offsetWidth + "&vh=" + offsetHeight + "&fr=" + token; @@ -332,7 +342,7 @@ public class ApplicationConnection { } } if (windowName != null && windowName.length() > 0) { - uri += (repaintAll ? "&" : "?") + "windowName=" + windowName; + uri += (repaintAll || configuration.usePortletURLs() ? "&" : "?") + "windowName=" + windowName; } if (!forceSync) { -- 2.39.5