Change-Id: I8e0baec2391b140e6a72eedf6606fd2792c735bctags/7.1.7
@@ -45,6 +45,7 @@ | |||
/WebContent/VAADIN/gwt-unitCache* | |||
WebContent/VAADIN/vaadinPush.js | |||
WebContent/VAADIN/vaadinPush.debug.js | |||
# /WebContent/WEB-INF/ | |||
/WebContent/WEB-INF/classes |
@@ -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> |
@@ -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, |
@@ -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> | |||
@@ -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"; |
@@ -78,6 +78,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. | |||
*/ |