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 <ajax-response>
- * 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;
+ }
}
}