You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by ad...@apache.org on 2014/06/25 12:28:49 UTC

[2/2] git commit: WICKET-5629 Add an HeaderItem for meta data tags such as or canonical

WICKET-5629 Add an HeaderItem for meta data tags such as <meta> or canonical <link>

Add checks for the passed arguments.
Escape the name and the value before rendering.
Remove unused constant - CANONICAL_LINK


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

Branch: refs/heads/wicket-6.x
Commit: 4bfa81eb72a36ad8b177a6edce5432ed59b1797f
Parents: 87654b2
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Wed Jun 25 10:03:45 2014 +0300
Committer: Andrea Del Bene <an...@gmail.com>
Committed: Wed Jun 25 12:08:20 2014 +0200

----------------------------------------------------------------------
 .../wicket/markup/head/MetaDataHeaderItem.java  | 30 +++++++++++---------
 1 file changed, 16 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/4bfa81eb/wicket-core/src/main/java/org/apache/wicket/markup/head/MetaDataHeaderItem.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/head/MetaDataHeaderItem.java b/wicket-core/src/main/java/org/apache/wicket/markup/head/MetaDataHeaderItem.java
index ea55abe..dee9e9d 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/head/MetaDataHeaderItem.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/head/MetaDataHeaderItem.java
@@ -22,6 +22,8 @@ import java.util.Map;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
 import org.apache.wicket.request.Response;
+import org.apache.wicket.util.lang.Args;
+import org.apache.wicket.util.string.Strings;
 import org.apache.wicket.util.value.ValueMap;
 
 /**
@@ -29,17 +31,15 @@ import org.apache.wicket.util.value.ValueMap;
  * canonical &lt;link&gt;
  * 
  * @author andrea del bene
- *
+ * @since 6.17.0
  */
 public class MetaDataHeaderItem extends HeaderItem
 {
-
-	private final Map<String, Object> tagAttributes = new ValueMap();
-	private final String tagName;
-
 	public static final String META_TAG = "meta";
 	public static final String LINK_TAG = "link";
-	public static final String CANONICAL_LINK = "canonical";
+
+	private final Map<String, Object> tagAttributes;
+	private final String tagName;
 
 	/**
 	 * Build a new {@link MetaDataHeaderItem} having {@code tagName} as tag.
@@ -49,7 +49,8 @@ public class MetaDataHeaderItem extends HeaderItem
 	 */
 	public MetaDataHeaderItem(String tagName)
 	{
-		this.tagName = tagName;
+		this.tagName = Args.notEmpty(tagName, "tagName");
+		this.tagAttributes = new ValueMap();
 	}
 
 	/**
@@ -65,6 +66,9 @@ public class MetaDataHeaderItem extends HeaderItem
 	 */
 	public MetaDataHeaderItem addTagAttribute(String attributeName, Object attributeValue)
 	{
+		Args.notEmpty(attributeName, "attributeName");
+		Args.notNull(attributeValue, "attributeValue");
+
 		tagAttributes.put(attributeName, attributeValue);
 		return this;
 	}
@@ -93,10 +97,10 @@ public class MetaDataHeaderItem extends HeaderItem
 			if (value != null)
 			{
 				buffer.append(' ')
-					.append(entry.getKey())
+					.append(Strings.escapeMarkup(entry.getKey()))
 					.append('=')
 					.append('"')
-					.append(value)
+					.append(Strings.escapeMarkup(value.toString()))
 					.append('"');
 			}
 		}
@@ -130,7 +134,7 @@ public class MetaDataHeaderItem extends HeaderItem
 	 */
 	public static MetaDataHeaderItem forMetaTag(String name, String content)
 	{
-		return forMetaTag(Model.<String> of(name), Model.<String> of(content));
+		return forMetaTag(Model.of(name), Model.of(content));
 	}
 
 	/**
@@ -165,7 +169,7 @@ public class MetaDataHeaderItem extends HeaderItem
 	 */
 	public static MetaDataHeaderItem forLinkTag(String rel, String href)
 	{
-		return forLinkTag(Model.<String> of(rel), Model.<String> of(href));
+		return forLinkTag(Model.of(rel), Model.of(href));
 	}
 	
 	/**
@@ -191,8 +195,6 @@ public class MetaDataHeaderItem extends HeaderItem
 	@Override
 	public boolean equals(Object obj)
 	{
-		if (obj instanceof MetaDataHeaderItem)
-			return ((MetaDataHeaderItem)obj).generateString().equals(generateString());
-		return false;
+		return obj instanceof MetaDataHeaderItem && ((MetaDataHeaderItem) obj).generateString().equals(generateString());
 	}
 }