Author: hlship
Date: Fri Jul 15 00:12:54 2011
New Revision: 1146928
URL: http://svn.apache.org/viewvc?rev=1146928&view=rev
Log:
TAP5-1366: Refactoring and insert <meta> just before existing <meta>, or at end
of <head>
Modified:
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DocumentLinkerImpl.java
Modified:
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DocumentLinkerImpl.java
URL:
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DocumentLinkerImpl.java?rev=1146928&r1=1146927&r2=1146928&view=diff
==============================================================================
---
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DocumentLinkerImpl.java
(original)
+++
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DocumentLinkerImpl.java
Fri Jul 15 00:12:54 2011
@@ -116,12 +116,27 @@ public class DocumentLinkerImpl implemen
if (!omitGeneratorMetaTag && isHtmlRoot)
{
Element head = findOrCreateElement(root, "head", true);
- head.element("meta", "name", "generator", "content",
tapestryBanner);
+
+ Element existingMeta = head.find("meta");
+
+ addElementBefore(head, existingMeta, "meta", "name", "generator",
"content", tapestryBanner);
}
addScriptElements(root);
}
+ private static void addElementBefore(Element container, Element
insertionPoint, String name, String... namesAndValues)
+ {
+ if (insertionPoint == null)
+ {
+ container.element(name, namesAndValues);
+ return;
+ }
+
+ insertionPoint.elementBefore(name, namesAndValues);
+ }
+
+
private void addScriptElements(Element root)
{
if (scripts.isEmpty() && !hasDynamicScript)
@@ -245,11 +260,7 @@ public class DocumentLinkerImpl implemen
{
public void work(String scriptURL)
{
- Element e =
- insertionPoint == null ? headElement.element("script")
:
- insertionPoint.elementBefore("script");
-
- e.attributes("type", "text/javascript", "src", scriptURL);
+ addElementBefore(headElement, insertionPoint, "script",
"type", "text/javascript", "src", scriptURL);
}
};