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 <script> 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);
+ }
}
}