You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by sv...@apache.org on 2015/06/27 22:41:12 UTC

[1/2] wicket git commit: WICKET-5929 teset header too

Repository: wicket
Updated Branches:
  refs/heads/master 17ae2091e -> 976f3ba0c


WICKET-5929 teset header too


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/0ae393c7
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/0ae393c7
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/0ae393c7

Branch: refs/heads/master
Commit: 0ae393c7c5cf5d6b1e85ca1593af416f07685aab
Parents: 17ae209
Author: Sven Meier <sv...@apache.org>
Authored: Sat Jun 27 22:39:53 2015 +0200
Committer: Sven Meier <sv...@apache.org>
Committed: Sat Jun 27 22:39:53 2015 +0200

----------------------------------------------------------------------
 .../wicket/page/PageForPartialUpdate.java       | 87 +++++++++++---------
 .../wicket/page/XmlPartialPageUpdateTest.java   |  8 +-
 2 files changed, 54 insertions(+), 41 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/0ae393c7/wicket-core/src/test/java/org/apache/wicket/page/PageForPartialUpdate.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/page/PageForPartialUpdate.java b/wicket-core/src/test/java/org/apache/wicket/page/PageForPartialUpdate.java
index fc97fc4..0686756 100644
--- a/wicket-core/src/test/java/org/apache/wicket/page/PageForPartialUpdate.java
+++ b/wicket-core/src/test/java/org/apache/wicket/page/PageForPartialUpdate.java
@@ -1,40 +1,47 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.wicket.page;
-
-import org.apache.wicket.markup.html.WebMarkupContainer;
-import org.apache.wicket.markup.html.WebPage;
-
-/**
- * 
- */
-public class PageForPartialUpdate extends WebPage
-{
-	private static final long serialVersionUID = 1L;
-	
-	public WebMarkupContainer container;
-
-	/**
-	 * Construct.
-	 */
-	public PageForPartialUpdate()
-	{
-		container = new WebMarkupContainer("container");
-		container.setOutputMarkupId(true);
-		add(container);
-	}
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wicket.page;
+
+import org.apache.wicket.markup.head.IHeaderResponse;
+import org.apache.wicket.markup.head.JavaScriptHeaderItem;
+import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.markup.html.WebPage;
+
+/**
+ *
+ */
+public class PageForPartialUpdate extends WebPage
+{
+	private static final long serialVersionUID = 1L;
+
+	public WebMarkupContainer container;
+
+	/**
+	 * Construct.
+	 */
+	public PageForPartialUpdate()
+	{
+		container = new WebMarkupContainer("container") {
+			@Override
+			public void renderHead(IHeaderResponse response) {
+				response.render(JavaScriptHeaderItem.forScript("// two brackets: ]] greater than: > CDATA end: ]]>", null));
+			}
+		};
+		container.setOutputMarkupId(true);
+		add(container);
+	}
+}

http://git-wip-us.apache.org/repos/asf/wicket/blob/0ae393c7/wicket-core/src/test/java/org/apache/wicket/page/XmlPartialPageUpdateTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/page/XmlPartialPageUpdateTest.java b/wicket-core/src/test/java/org/apache/wicket/page/XmlPartialPageUpdateTest.java
index c3bca90..7725f26 100644
--- a/wicket-core/src/test/java/org/apache/wicket/page/XmlPartialPageUpdateTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/page/XmlPartialPageUpdateTest.java
@@ -40,6 +40,12 @@ public class XmlPartialPageUpdateTest extends WicketTestCase {
 		
 		update.writeTo(response, "UTF-8");
 		
-		assertEquals("<?xml version=\"1.0\" encoding=\"UTF-8\"?><ajax-response><component id=\"container1\" ><![CDATA[<span wicket:id=\"container\" id=\"container1\"> two brackets: ]] greater than: > CDATA end: ]]]]><![CDATA[> </span>]]></component></ajax-response>", response.getTextResponse().toString());
+		String expected = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><ajax-response><component id=\"container1\" ><![CDATA[<span wicket:id=\"container\" id=\"container1\"> two brackets: ]] greater than: > CDATA end: ]]]]><![CDATA[> </span>]]></component><header-contribution><![CDATA[<head xmlns:wicket=\"http://wicket.apache.org\"><script type=\"text/javascript\" >\n" + 
+				"/*<![CDATA[*/\n" + 
+				"// two brackets: ]] greater than: > CDATA end: ]]]]><![CDATA[>\n" + 
+				"/*]]]]><![CDATA[>*/\n" + 
+				"</script>\n" + 
+				"</head>]]></header-contribution></ajax-response>";
+		assertEquals(expected, response.getTextResponse().toString());
 	}
 }


[2/2] wicket git commit: WICKET-5929 create page update if necessary only

Posted by sv...@apache.org.
WICKET-5929 create page update if necessary only


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/976f3ba0
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/976f3ba0
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/976f3ba0

Branch: refs/heads/master
Commit: 976f3ba0cc2b4a22b71c49b1463254fb8d91f8e7
Parents: 0ae393c
Author: Sven Meier <sv...@apache.org>
Authored: Sat Jun 27 22:40:18 2015 +0200
Committer: Sven Meier <sv...@apache.org>
Committed: Sat Jun 27 22:40:18 2015 +0200

----------------------------------------------------------------------
 .../ws/api/WebSocketRequestHandler.java         | 44 ++++++++++----------
 1 file changed, 23 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/976f3ba0/wicket-native-websocket/wicket-native-websocket-core/src/main/java/org/apache/wicket/protocol/ws/api/WebSocketRequestHandler.java
----------------------------------------------------------------------
diff --git a/wicket-native-websocket/wicket-native-websocket-core/src/main/java/org/apache/wicket/protocol/ws/api/WebSocketRequestHandler.java b/wicket-native-websocket/wicket-native-websocket-core/src/main/java/org/apache/wicket/protocol/ws/api/WebSocketRequestHandler.java
index 949bf98..1b9e7e1 100644
--- a/wicket-native-websocket/wicket-native-websocket-core/src/main/java/org/apache/wicket/protocol/ws/api/WebSocketRequestHandler.java
+++ b/wicket-native-websocket/wicket-native-websocket-core/src/main/java/org/apache/wicket/protocol/ws/api/WebSocketRequestHandler.java
@@ -18,7 +18,7 @@ package org.apache.wicket.protocol.ws.api;
 
 import java.io.IOException;
 import java.util.Collection;
-import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.Collections;
 
 import org.apache.wicket.Component;
 import org.apache.wicket.MarkupContainer;
@@ -50,13 +50,7 @@ public class WebSocketRequestHandler implements IWebSocketRequestHandler
 
 	private final IWebSocketConnection connection;
 
-	private final PartialPageUpdate update;
-
-	/**
-	 * A flag indicating that there is data to be written to construct an &lt;ajax-response&gt;
-	 * There is no need to push empty response if only #push() is used
-	 */
-	private final AtomicBoolean hasData = new AtomicBoolean(false);
+	private PartialPageUpdate update;
 
 	private PageLogData logData;
 
@@ -64,7 +58,6 @@ public class WebSocketRequestHandler implements IWebSocketRequestHandler
 	{
 		this.page = Args.notNull(component, "component").getPage();
 		this.connection = Args.notNull(connection, "connection");
-		this.update = new XmlPartialPageUpdate(page);
 	}
 
 	@Override
@@ -110,8 +103,14 @@ public class WebSocketRequestHandler implements IWebSocketRequestHandler
 	@Override
 	public void add(Component component, String markupId)
 	{
-		hasData.set(true);
-		update.add(component, markupId);
+		getUpdate().add(component, markupId);
+	}
+
+	private PartialPageUpdate getUpdate() {
+		if (update == null) {
+			update = new XmlPartialPageUpdate(page);
+		}
+		return update;
 	}
 
 	@Override
@@ -151,21 +150,23 @@ public class WebSocketRequestHandler implements IWebSocketRequestHandler
 	@Override
 	public void appendJavaScript(CharSequence javascript)
 	{
-		hasData.set(true);
-		update.appendJavaScript(javascript);
+		getUpdate().appendJavaScript(javascript);
 	}
 
 	@Override
 	public void prependJavaScript(CharSequence javascript)
 	{
-		hasData.set(true);
-		update.prependJavaScript(javascript);
+		getUpdate().prependJavaScript(javascript);
 	}
 
 	@Override
 	public Collection<? extends Component> getComponents()
 	{
-		return update.getComponents();
+		if (update == null) {
+			return Collections.emptyList();
+		} else {
+			return update.getComponents();
+		}
 	}
 
 	@Override
@@ -184,8 +185,7 @@ public class WebSocketRequestHandler implements IWebSocketRequestHandler
 	@Override
 	public IHeaderResponse getHeaderResponse()
 	{
-		hasData.set(true);
-		return update.getHeaderResponse();
+		return getUpdate().getHeaderResponse();
 	}
 
 	@Override
@@ -233,7 +233,7 @@ public class WebSocketRequestHandler implements IWebSocketRequestHandler
 	@Override
 	public void respond(IRequestCycle requestCycle)
 	{
-		if (hasData.get())
+		if (update != null)
 		{
 			update.writeTo(requestCycle.getResponse(), "UTF-8");
 		}
@@ -247,7 +247,9 @@ public class WebSocketRequestHandler implements IWebSocketRequestHandler
 			logData = new PageLogData(page);
 		}
 
-		update.detach(requestCycle);
-		hasData.set(false);
+		if (update != null) {
+			update.detach(requestCycle);
+			update = null;
+		}
 	}
 }