You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2013/02/06 09:52:00 UTC

[23/38] git commit: WICKET-5020 InlineEnclosureHandler always uses "wicket" namespace

WICKET-5020 InlineEnclosureHandler always uses "wicket" namespace


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

Branch: refs/heads/reference-guide
Commit: 63adba3f02a487c720b13212afed8fcc31327918
Parents: 2e06821
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Thu Jan 31 15:25:19 2013 +0100
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Thu Jan 31 15:25:19 2013 +0100

----------------------------------------------------------------------
 .../parser/filter/InlineEnclosureHandler.java      |   35 +++++++++++----
 .../markup/html/internal/AjaxEnclosureTest.java    |   18 +++++++-
 .../markup/html/internal/TogglePageTest.java       |   16 +++++++
 3 files changed, 59 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/63adba3f/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/InlineEnclosureHandler.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/InlineEnclosureHandler.java b/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/InlineEnclosureHandler.java
index 76767b8..7e9ea8e 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/InlineEnclosureHandler.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/InlineEnclosureHandler.java
@@ -59,7 +59,7 @@ public final class InlineEnclosureHandler extends AbstractMarkupFilter
 	public final static String INLINE_ENCLOSURE_ID_PREFIX = "InlineEnclosure-";
 
 	/** Attribute to identify inline enclosures */
-	public final static String INLINE_ENCLOSURE_ATTRIBUTE_NAME = "wicket:enclosure";
+	public final static String INLINE_ENCLOSURE_ATTRIBUTE_NAME = "enclosure";
 
 	/** enclosures inside enclosures */
 	private Stack<ComponentTag> enclosures;
@@ -87,7 +87,7 @@ public final class InlineEnclosureHandler extends AbstractMarkupFilter
 		}
 
 		// Has wicket:enclosure attribute?
-		String enclosureAttr = getInlineEnclosureAttribute(tag);
+		String enclosureAttr = getAttribute(tag, null);
 		if (enclosureAttr != null)
 		{
 			if (tag.isOpen())
@@ -144,10 +144,10 @@ public final class InlineEnclosureHandler extends AbstractMarkupFilter
 				for (int i = enclosures.size() - 1; i >= 0; i--)
 				{
 					ComponentTag lastEnclosure = enclosures.get(i);
-					String attr = getInlineEnclosureAttribute(lastEnclosure);
+					String attr = getAttribute(lastEnclosure, null);
 					if (Strings.isEmpty(attr) == true)
 					{
-						lastEnclosure.getAttributes().put(INLINE_ENCLOSURE_ATTRIBUTE_NAME,
+						lastEnclosure.getAttributes().put(getInlineEnclosureAttributeName(null),
 							tag.getId());
 						lastEnclosure.setModified(true);
 					}
@@ -156,7 +156,7 @@ public final class InlineEnclosureHandler extends AbstractMarkupFilter
 			else if (tag.isClose() && tag.closes(enclosures.peek()))
 			{
 				ComponentTag lastEnclosure = enclosures.pop();
-				String attr = getInlineEnclosureAttribute(lastEnclosure);
+				String attr = getAttribute(lastEnclosure, null);
 				if (Strings.isEmpty(attr) == true)
 				{
 					throw new ParseException("Did not find any child for InlineEnclosure. Tag:" +
@@ -170,18 +170,31 @@ public final class InlineEnclosureHandler extends AbstractMarkupFilter
 
 	/**
 	 * @param tag
-	 * @return The wicket:enclosure attribute or null if not found
+	 *      The ComponentTag of the markup element with wicket:enclosure attribute
+	 * @return The value of wicket:enclosure attribute or null if not found
+	 * @deprecated This method always uses 'wicket:' as a namespace. It will be removed in Wicket 7
 	 */
-	public final static String getInlineEnclosureAttribute(final ComponentTag tag)
+	@Deprecated
+	public static final String getInlineEnclosureAttribute(final ComponentTag tag)
 	{
-		return tag.getAttributes().getString(INLINE_ENCLOSURE_ATTRIBUTE_NAME);
+		return tag.getAttributes().getString("wicket:" + INLINE_ENCLOSURE_ATTRIBUTE_NAME);
+	}
+
+	/**
+	 * @param tag
+	 *      The ComponentTag of the markup element with wicket:enclosure attribute
+	 * @return The value of wicket:enclosure attribute or null if not found
+	 */
+	private String getAttribute(final ComponentTag tag, MarkupStream markupStream)
+	{
+		return tag.getAttributes().getString(getInlineEnclosureAttributeName(markupStream));
 	}
 
 	@Override
 	public Component resolve(final MarkupContainer container, final MarkupStream markupStream,
 		final ComponentTag tag)
 	{
-		String inlineEnclosureChildId = getInlineEnclosureAttribute(tag);
+		String inlineEnclosureChildId = getAttribute(tag, markupStream);
 		if (Strings.isEmpty(inlineEnclosureChildId) == false)
 		{
 			String id = tag.getId();
@@ -196,4 +209,8 @@ public final class InlineEnclosureHandler extends AbstractMarkupFilter
 		// We were not able to handle the tag
 		return null;
 	}
+
+	private String getInlineEnclosureAttributeName(MarkupStream markupStream) {
+		return getWicketNamespace(markupStream) + ':' + INLINE_ENCLOSURE_ATTRIBUTE_NAME;
+	}
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/63adba3f/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/AjaxEnclosureTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/AjaxEnclosureTest.java b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/AjaxEnclosureTest.java
index 4ed0914..9955eae 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/AjaxEnclosureTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/AjaxEnclosureTest.java
@@ -22,6 +22,8 @@ import org.apache.wicket.Component;
 import org.apache.wicket.Page;
 import org.apache.wicket.WicketTestCase;
 import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.mock.MockApplication;
+import org.apache.wicket.protocol.http.WebApplication;
 import org.junit.Test;
 
 
@@ -38,7 +40,21 @@ public class AjaxEnclosureTest extends WicketTestCase
 	private final String inlineEnclosureVisiblePattern = "<div id=\"" + inlineEnclosureIdPrefix +
 		"1\">";
 
-
+	@Override
+	protected WebApplication newApplication()
+	{
+		WebApplication webApplication = new MockApplication()
+		{
+			@Override
+			protected void init()
+			{
+				super.init();
+				getMarkupSettings().setStripWicketTags(true);
+			}
+		};
+		return webApplication;
+	}
+	
 	/**
 	 * Test toggling the controlling child inside the inline enclosure
 	 */

http://git-wip-us.apache.org/repos/asf/wicket/blob/63adba3f/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/TogglePageTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/TogglePageTest.java b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/TogglePageTest.java
index 90c0705..0380f8d 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/TogglePageTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/TogglePageTest.java
@@ -21,6 +21,8 @@ import java.util.regex.Pattern;
 import org.apache.wicket.Component;
 import org.apache.wicket.WicketTestCase;
 import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.mock.MockApplication;
+import org.apache.wicket.protocol.http.WebApplication;
 
 
 /**
@@ -29,6 +31,20 @@ import org.apache.wicket.markup.html.basic.Label;
 public class TogglePageTest extends WicketTestCase
 {
 
+	@Override
+	protected WebApplication newApplication()
+	{
+		WebApplication webApplication = new MockApplication()
+		{
+			@Override
+			protected void init()
+			{
+				super.init();
+				getMarkupSettings().setStripWicketTags(true);
+			}
+		};
+		return webApplication;
+	}
 
 	/**
 	 *