You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by so...@apache.org on 2018/01/13 09:36:57 UTC

wicket git commit: Parsing of wicket-ajax-base-url in WicketTester is improved

Repository: wicket
Updated Branches:
  refs/heads/WICKET-6498_deferred_javascript e5f9c57ee -> ecff3b60c


Parsing of wicket-ajax-base-url in WicketTester is improved


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

Branch: refs/heads/WICKET-6498_deferred_javascript
Commit: ecff3b60c1b9df4a03c4cc6830a91dc2382692a4
Parents: e5f9c57
Author: Maxim Solodovnik <so...@gmail.com>
Authored: Sat Jan 13 16:36:47 2018 +0700
Committer: Maxim Solodovnik <so...@gmail.com>
Committed: Sat Jan 13 16:36:47 2018 +0700

----------------------------------------------------------------------
 .../ajax/AbstractDefaultAjaxBehavior.java       |  2 +-
 .../wicket/markup/head/OnLoadHeaderItem.java    | 44 +-------------------
 .../wicket/markup/head/ResourceAggregator.java  |  8 +---
 .../wicket/util/tester/BaseWicketTester.java    | 10 +++--
 4 files changed, 11 insertions(+), 53 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/ecff3b60/wicket-core/src/main/java/org/apache/wicket/ajax/AbstractDefaultAjaxBehavior.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/ajax/AbstractDefaultAjaxBehavior.java b/wicket-core/src/main/java/org/apache/wicket/ajax/AbstractDefaultAjaxBehavior.java
index 7b48bf9..67c2cc3 100644
--- a/wicket-core/src/main/java/org/apache/wicket/ajax/AbstractDefaultAjaxBehavior.java
+++ b/wicket-core/src/main/java/org/apache/wicket/ajax/AbstractDefaultAjaxBehavior.java
@@ -107,7 +107,7 @@ public abstract class AbstractDefaultAjaxBehavior extends AbstractAjaxBehavior
 		RequestCycle requestCycle = component.getRequestCycle();
 		Url baseUrl = requestCycle.getUrlRenderer().getBaseUrl();
 		CharSequence ajaxBaseUrl = Strings.escapeMarkup(baseUrl.toString());
-		response.render(OnLoadHeaderItem.forScript("Wicket.Ajax.baseUrl=\"" + ajaxBaseUrl + "\";", "wicket-ajax-base-url"));
+		response.render(OnLoadHeaderItem.forScript("Wicket.Ajax.baseUrl=\"" + ajaxBaseUrl + "\";"));
 
 		renderExtraHeaderContributors(component, response);
 	}

http://git-wip-us.apache.org/repos/asf/wicket/blob/ecff3b60/wicket-core/src/main/java/org/apache/wicket/markup/head/OnLoadHeaderItem.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/head/OnLoadHeaderItem.java b/wicket-core/src/main/java/org/apache/wicket/markup/head/OnLoadHeaderItem.java
index 61b04c9..53fad9f 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/head/OnLoadHeaderItem.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/head/OnLoadHeaderItem.java
@@ -49,27 +49,7 @@ public class OnLoadHeaderItem extends HeaderItem
 		return new OnLoadHeaderItem(javaScript);
 	}
 
-	/**
-	 * Creates a {@link OnLoadHeaderItem} for the script.
-	 *
-	 * @param javaScript
-	 *            The script to execute on the load event.
-	 * @param id
-	 *            optional id attribute for the script tag
-	 *
-	 * @return A newly created {@link OnLoadHeaderItem}.
-	 */
-	public static OnLoadHeaderItem forScript(CharSequence javaScript, String id)
-	{
-		return new OnLoadHeaderItem(javaScript, id);
-	}
-
 	private final CharSequence javaScript;
-	/**
-	 * An optional markup id to set on the rendered &lt;script&gt; HTML element for
-	 * this header item
-	 */
-	private String markupId;
 
 	/**
 	 * Constructor.
@@ -89,21 +69,7 @@ public class OnLoadHeaderItem extends HeaderItem
 	 */
 	public OnLoadHeaderItem(CharSequence javaScript)
 	{
-		this(javaScript, null);
-	}
-
-	/**
-	 * Construct.
-	 *
-	 * @param javaScript
-	 *            The script to execute on the load event
-	 * @param id
-	 *            optional id attribute for the script tag
-	 */
-	public OnLoadHeaderItem(CharSequence javaScript, String id)
-	{
 		this.javaScript = javaScript;
-		this.markupId = id;
 	}
 
 	/**
@@ -122,16 +88,10 @@ public class OnLoadHeaderItem extends HeaderItem
 		if (Strings.isEmpty(js) == false)
 		{
 			JavaScriptUtils.writeJavaScript(response,
-				"(function() {var f = function() {" + js + ";};\nif ('complete' === document.readyState) f(); else window.addEventListener('load', f);})();",
-				markupId);
+				"(function() {var f = function() {" + js + ";};\nif ('complete' === document.readyState) f(); else window.addEventListener('load', f);})();");
 		}
 	}
 
-	public String getId()
-	{
-		return markupId;
-	}
-
 	@Override
 	public Iterable<?> getRenderTokens()
 	{
@@ -141,7 +101,7 @@ public class OnLoadHeaderItem extends HeaderItem
 	@Override
 	public String toString()
 	{
-		return String.format("OnLoadHeaderItem('%s'%s)", getJavaScript(), markupId == null ? "" : String.format(", '%s'", markupId));
+		return String.format("OnLoadHeaderItem('%s')", getJavaScript());
 	}
 
 	@Override

http://git-wip-us.apache.org/repos/asf/wicket/blob/ecff3b60/wicket-core/src/main/java/org/apache/wicket/markup/head/ResourceAggregator.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/head/ResourceAggregator.java b/wicket-core/src/main/java/org/apache/wicket/markup/head/ResourceAggregator.java
index db59204..a296ce5 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/head/ResourceAggregator.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/head/ResourceAggregator.java
@@ -35,7 +35,6 @@ import org.apache.wicket.request.resource.ResourceReference;
 import org.apache.wicket.resource.CircularDependencyException;
 import org.apache.wicket.resource.bundles.ReplacementResourceBundleReference;
 import org.apache.wicket.util.lang.Classes;
-import org.apache.wicket.util.string.Strings;
 
 /**
  * {@code ResourceAggregator} implements resource dependencies, resource bundles and sorting of
@@ -342,15 +341,10 @@ public class ResourceAggregator extends DecoratingHeaderResponse
 		}
 
 		combinedScript.setLength(0);
-		String lastId = null;
 		for (OnLoadHeaderItem curItem : loadItemsToBeRendered)
 		{
 			if (markItemRendered(curItem))
 			{
-				if (!Strings.isEmpty(curItem.getId()))
-				{
-					lastId = curItem.getId();
-				}
 				combinedScript.append('\n');
 				combinedScript.append(curItem.getJavaScript());
 				combinedScript.append(';');
@@ -358,7 +352,7 @@ public class ResourceAggregator extends DecoratingHeaderResponse
 		}
 		if (combinedScript.length() > 0)
 		{
-			getRealResponse().render(OnLoadHeaderItem.forScript(combinedScript.append('\n'), lastId));
+			getRealResponse().render(OnLoadHeaderItem.forScript(combinedScript.append('\n')));
 		}
 	}
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/ecff3b60/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java b/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
index 7655c25..8762ae6 100644
--- a/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
+++ b/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
@@ -33,6 +33,7 @@ import java.util.Locale;
 import java.util.Map;
 import java.util.Set;
 import java.util.UUID;
+import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
 import javax.servlet.FilterConfig;
@@ -159,6 +160,7 @@ public class BaseWicketTester
 {
 	/** log. */
 	private static final Logger log = LoggerFactory.getLogger(BaseWicketTester.class);
+	private final static Pattern AJAX_BASEURL_PATTERN = Pattern.compile(".*Wicket\\.Ajax\\.baseUrl=\"(.*)\";.*");
 
 	private final ServletContext servletContext;
 	private MockHttpSession httpSession;
@@ -1008,11 +1010,13 @@ public class BaseWicketTester
 		XmlTag tag;
 		while ((tag = parser.nextTag()) != null)
 		{
-			if (tag.isOpen() && "script".equals(tag.getName()) &&
-				"wicket-ajax-base-url".equals(tag.getAttribute("id")))
+			if (tag.isOpen() && "script".equals(tag.getName()))
 			{
 				parser.next();
-				return parser.getString().toString().split("\\\"")[1];
+				Matcher match = AJAX_BASEURL_PATTERN.matcher(parser.getString());
+				if (match.find()) {
+					return match.group(1);
+				}
 			}
 		}