diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rwxr-xr-x | build/ide.xml | 3 | ||||
-rw-r--r-- | client/src/com/vaadin/client/communication/AtmospherePushConnection.java | 9 | ||||
-rw-r--r-- | push/build.xml | 12 | ||||
-rw-r--r-- | server/src/com/vaadin/server/BootstrapHandler.java | 11 | ||||
-rw-r--r-- | shared/src/com/vaadin/shared/ApplicationConstants.java | 8 |
6 files changed, 36 insertions, 8 deletions
diff --git a/.gitignore b/.gitignore index d5899b3d58..30c8597b16 100644 --- a/.gitignore +++ b/.gitignore @@ -45,6 +45,7 @@ /WebContent/VAADIN/gwt-unitCache* WebContent/VAADIN/vaadinPush.js +WebContent/VAADIN/vaadinPush.debug.js # /WebContent/WEB-INF/ /WebContent/WEB-INF/classes diff --git a/build/ide.xml b/build/ide.xml index 1d1049026d..2605bf2cdd 100755 --- a/build/ide.xml +++ b/build/ide.xml @@ -134,6 +134,7 @@ </target> <target name="vaadinPush.js"> <property name="vaadinPush.js.output" location="WebContent/VAADIN/vaadinPush.js" /> + <property name="vaadinPush.debug.js.output" location="WebContent/VAADIN/vaadinPush.debug.js" /> <loadfile srcfile="WebContent/VAADIN/jquery-1.7.2.js" property="jquery.js.contents" /> <loadfile srcfile="WebContent/VAADIN/jquery.atmosphere.js" property="jquery.atmosphere.js.contents" /> @@ -146,5 +147,7 @@ </filterchain> </loadfile> <echo file="${vaadinPush.js.output}">${vaadinPush.js.contents}</echo> + <!-- This vaadinPush.js is not obfuscated so the debug version is the same--> + <copy file="${vaadinPush.js.output}" tofile="${vaadinPush.debug.js.output}"/> </target> </project> diff --git a/client/src/com/vaadin/client/communication/AtmospherePushConnection.java b/client/src/com/vaadin/client/communication/AtmospherePushConnection.java index 20ccd45173..3cecb09dc1 100644 --- a/client/src/com/vaadin/client/communication/AtmospherePushConnection.java +++ b/client/src/com/vaadin/client/communication/AtmospherePushConnection.java @@ -21,6 +21,7 @@ import java.util.ArrayList; import com.google.gwt.core.client.JavaScriptObject; import com.google.gwt.core.client.Scheduler; import com.google.gwt.user.client.Command; +import com.vaadin.client.ApplicationConfiguration; import com.vaadin.client.ApplicationConnection; import com.vaadin.client.ApplicationConnection.CommunicationErrorHandler; import com.vaadin.client.ResourceLoader; @@ -473,7 +474,13 @@ public class AtmospherePushConnection implements PushConnection { if (isAtmosphereLoaded()) { command.execute(); } else { - final String pushJs = ApplicationConstants.VAADIN_PUSH_JS; + final String pushJs; + if (ApplicationConfiguration.isProductionMode()) { + pushJs = ApplicationConstants.VAADIN_PUSH_JS; + } else { + pushJs = ApplicationConstants.VAADIN_PUSH_DEBUG_JS; + } + VConsole.log("Loading " + pushJs); ResourceLoader.get().loadScript( connection.getConfiguration().getVaadinDirUrl() + pushJs, diff --git a/push/build.xml b/push/build.xml index 829411ea12..1cbe23d75b 100644 --- a/push/build.xml +++ b/push/build.xml @@ -11,6 +11,7 @@ <property name="module.symbolic" value="com.vaadin.push" /> <property name="result.dir" location="result" /> <property name="vaadinPush.js" location="${result.dir}/js/VAADIN/vaadinPush.js" /> + <property name="vaadinPush.debug.js" location="${result.dir}/js/VAADIN/vaadinPush.debug.js" /> <!-- Keep the version number in sync with ivy.xml, server/src/com/vaadin/server/Constants.java and jquery.atmosphere.js --> <property name="atmosphere.version" value="1.0.14.vaadin4" /> @@ -21,13 +22,12 @@ <union id="jar.includes"> <fileset dir="${result.dir}/js"> <include name="VAADIN/vaadinPush.js" /> + <include name="VAADIN/vaadinPush.debug.js" /> </fileset> </union> <target name="vaadinPush.js"> <mkdir dir="${result.dir}/js/VAADIN" /> - <property name="vaadinPush.js.output" location="${result.dir}/js/VAADIN/vaadinPush.js" /> - <property name="vaadinPush.js.combined.output" location="${result.dir}/js/VAADIN/push.combined.js" /> <loadfile srcfile="${vaadin.basedir}/WebContent/VAADIN/jquery-${jquery.version}.js" property="jquery.js.contents" /> <loadfile srcfile="${vaadin.basedir}/WebContent/VAADIN/jquery.atmosphere.js" property="jquery.atmosphere.js.contents" /> @@ -39,15 +39,17 @@ </replacetokens> </filterchain> </loadfile> - <echo file="${vaadinPush.js.combined.output}">${vaadinPush.js.contents}</echo> + + <!-- Non-obfuscated version for debugging --> + <echo file="${vaadinPush.debug.js}">${vaadinPush.js.contents}</echo> <!-- Minify --> <ivy:retrieve organisation="com.yahoo.platform.yui" module="yuicompressor" revision="2.4.7" inline="true" type="jar" pattern="${result.dir}/compressor.jar" /> <java jar="${result.dir}/compressor.jar" fork="true"> <arg value="-v" /> <arg value="-o" /> - <arg file="${vaadinPush.js.output}" /> - <arg file="${vaadinPush.js.combined.output}" /> + <arg file="${vaadinPush.js}" /> + <arg file="${vaadinPush.debug.js}" /> </java> </target> diff --git a/server/src/com/vaadin/server/BootstrapHandler.java b/server/src/com/vaadin/server/BootstrapHandler.java index b21fdb0b74..0a4949ffa7 100644 --- a/server/src/com/vaadin/server/BootstrapHandler.java +++ b/server/src/com/vaadin/server/BootstrapHandler.java @@ -388,9 +388,16 @@ public abstract class BootstrapHandler extends SynchronizedRequestHandler { if (context.getPushMode().isEnabled()) { // Load client-side dependencies for push support + String pushJS = vaadinLocation; + if (context.getRequest().getService().getDeploymentConfiguration() + .isProductionMode()) { + pushJS += ApplicationConstants.VAADIN_PUSH_JS; + } else { + pushJS += ApplicationConstants.VAADIN_PUSH_DEBUG_JS; + } + fragmentNodes.add(new Element(Tag.valueOf("script"), "").attr( - "type", "text/javascript").attr("src", - vaadinLocation + ApplicationConstants.VAADIN_PUSH_JS)); + "type", "text/javascript").attr("src", pushJS)); } String bootstrapLocation = vaadinLocation + "vaadinBootstrap.js"; diff --git a/shared/src/com/vaadin/shared/ApplicationConstants.java b/shared/src/com/vaadin/shared/ApplicationConstants.java index d7de435735..104f3047a8 100644 --- a/shared/src/com/vaadin/shared/ApplicationConstants.java +++ b/shared/src/com/vaadin/shared/ApplicationConstants.java @@ -79,6 +79,14 @@ public class ApplicationConstants implements Serializable { public static final String VAADIN_PUSH_JS = "vaadinPush.js"; /** + * The name of the debug version of the javascript containing push support. + * The file is located in the VAADIN directory. + * + * @since 7.1.6 + */ + public static final String VAADIN_PUSH_DEBUG_JS = "vaadinPush.debug.js"; + + /** * Name of the parameter used to transmit the CSRF token. */ public static final String CSRF_TOKEN_PARAMETER = "v-csrfToken"; |