aboutsummaryrefslogtreecommitdiffstats
path: root/client
diff options
context:
space:
mode:
authorFabian Lange <lange.fabian@gmail.com>2014-07-23 22:40:35 +0200
committerVaadin Code Review <review@vaadin.com>2015-01-11 15:09:51 +0000
commit65904ffbdebc861a45c1b504d244d02a12f4561b (patch)
treec7e57a8f80a5506f3256d2bee73d52031e724932 /client
parent0f71cf690dacbaacd42a8fa586dd127b73addca1 (diff)
downloadvaadin-framework-65904ffbdebc861a45c1b504d244d02a12f4561b.tar.gz
vaadin-framework-65904ffbdebc861a45c1b504d244d02a12f4561b.zip
Appending query param with vaadin version to js files (#12210)
while #7868 is supposed to solve the overall issue, this solves a big part of the upgrade + cached files issues quickly. When I use vaadin themes, I have control over how they are included, so I can add a vaadin version number to it. For the default JS I cannot. Change-Id: Ica1cddee417946aa32116eb09882a3dc6c2924a6
Diffstat (limited to 'client')
-rw-r--r--client/src/com/vaadin/client/communication/AtmospherePushConnection.java21
-rw-r--r--client/src/com/vaadin/client/ui/ui/UIConnector.java7
2 files changed, 20 insertions, 8 deletions
diff --git a/client/src/com/vaadin/client/communication/AtmospherePushConnection.java b/client/src/com/vaadin/client/communication/AtmospherePushConnection.java
index a2c4dd8323..d10449ccaa 100644
--- a/client/src/com/vaadin/client/communication/AtmospherePushConnection.java
+++ b/client/src/com/vaadin/client/communication/AtmospherePushConnection.java
@@ -31,6 +31,7 @@ import com.vaadin.client.ResourceLoader.ResourceLoadEvent;
import com.vaadin.client.ResourceLoader.ResourceLoadListener;
import com.vaadin.client.VConsole;
import com.vaadin.shared.ApplicationConstants;
+import com.vaadin.shared.Version;
import com.vaadin.shared.communication.PushConstants;
import com.vaadin.shared.ui.ui.UIConstants;
import com.vaadin.shared.ui.ui.UIState.PushConfigurationState;
@@ -514,16 +515,10 @@ public class AtmospherePushConnection implements PushConnection {
}-*/;
private void runWhenAtmosphereLoaded(final Command command) {
-
if (isAtmosphereLoaded()) {
command.execute();
} else {
- final String pushJs;
- if (ApplicationConfiguration.isProductionMode()) {
- pushJs = ApplicationConstants.VAADIN_PUSH_JS;
- } else {
- pushJs = ApplicationConstants.VAADIN_PUSH_DEBUG_JS;
- }
+ final String pushJs = getVersionedPushJs();
VConsole.log("Loading " + pushJs);
ResourceLoader.get().loadScript(
@@ -553,6 +548,18 @@ public class AtmospherePushConnection implements PushConnection {
}
}
+ private String getVersionedPushJs() {
+ String pushJs;
+ if (ApplicationConfiguration.isProductionMode()) {
+ pushJs = ApplicationConstants.VAADIN_PUSH_JS;
+ } else {
+ pushJs = ApplicationConstants.VAADIN_PUSH_DEBUG_JS;
+ }
+ // Parameter appended to bypass caches after version upgrade.
+ pushJs += "?v=" + Version.getFullVersion();
+ return pushJs;
+ }
+
/*
* (non-Javadoc)
*
diff --git a/client/src/com/vaadin/client/ui/ui/UIConnector.java b/client/src/com/vaadin/client/ui/ui/UIConnector.java
index d6f14bf158..9e1da113bf 100644
--- a/client/src/com/vaadin/client/ui/ui/UIConnector.java
+++ b/client/src/com/vaadin/client/ui/ui/UIConnector.java
@@ -76,6 +76,7 @@ import com.vaadin.client.ui.window.WindowConnector;
import com.vaadin.server.Page.Styles;
import com.vaadin.shared.ApplicationConstants;
import com.vaadin.shared.MouseEventDetails;
+import com.vaadin.shared.Version;
import com.vaadin.shared.communication.MethodInvocation;
import com.vaadin.shared.ui.ComponentStateUtil;
import com.vaadin.shared.ui.Connect;
@@ -1014,9 +1015,13 @@ public class UIConnector extends AbstractSingleComponentContainerConnector
* @return The URL the theme can be loaded from
*/
private String getThemeUrl(String theme) {
- return getConnection().translateVaadinUri(
+ String themeUrl = getConnection().translateVaadinUri(
ApplicationConstants.VAADIN_PROTOCOL_PREFIX + "themes/" + theme
+ "/styles" + ".css");
+ // Parameter appended to bypass caches after version upgrade.
+ themeUrl += "?v=" + Version.getFullVersion();
+ return themeUrl;
+
}
/**