You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by jd...@apache.org on 2011/03/24 20:40:53 UTC
svn commit: r1085095 - in /wicket/trunk/wicket-core/src:
main/java/org/apache/wicket/markup/
main/java/org/apache/wicket/markup/parser/
main/java/org/apache/wicket/markup/parser/filter/
test/java/org/apache/wicket/markup/html/basic/ test/java/org/apach...
Author: jdonnerstag
Date: Thu Mar 24 19:40:52 2011
New Revision: 1085095
URL: http://svn.apache.org/viewvc?rev=1085095&view=rev
Log:
Allow to easily create Markup from String. Changed an example to use Component.getMarkup() to see if it works.
Removed "counter" from AbstractMarkupFilter. It's no longer needed.
Removed:
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/basic/SimplePage_3.html
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/Markup.java
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/AbstractMarkupFilter.java
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketTagIdentifier.java
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/basic/SimplePage_3.java
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/page/SimplePanel.java
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/page/TestHomePage.java
Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/Markup.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/Markup.java?rev=1085095&r1=1085094&r2=1085095&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/Markup.java (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/Markup.java Thu Mar 24 19:40:52 2011
@@ -16,13 +16,14 @@
*/
package org.apache.wicket.markup;
+import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import org.apache.wicket.util.lang.Args;
-import org.apache.wicket.util.resource.StringResourceStream;
+import org.apache.wicket.util.resource.ResourceStreamNotFoundException;
import org.apache.wicket.util.string.AppendingStringBuffer;
import org.apache.wicket.util.string.Strings;
import org.slf4j.Logger;
@@ -53,22 +54,32 @@ public class Markup implements IMarkupFr
private final MarkupResourceStream markupResourceStream;
/**
- * Private Constructor for NO_MARKUP only
+ * Take the markup string, parse it and return the Markup (list of MarkupElements).
+ * @param markup
+ * @return Markup
*/
- private Markup()
+ public static Markup get(final String markup)
{
- markupResourceStream = null;
+ try
+ {
+ return new MarkupParser(markup).parse();
+ }
+ catch (IOException ex)
+ {
+ throw new RuntimeException(ex);
+ }
+ catch (ResourceStreamNotFoundException ex)
+ {
+ throw new RuntimeException(ex);
+ }
}
/**
- * Constructor
- *
- * @param markup
- * The associated Markup
+ * Private Constructor for NO_MARKUP only
*/
- public Markup(final CharSequence markup)
+ private Markup()
{
- this(new MarkupResourceStream(new StringResourceStream(markup)));
+ markupResourceStream = null;
}
/**
Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/AbstractMarkupFilter.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/AbstractMarkupFilter.java?rev=1085095&r1=1085094&r2=1085095&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/AbstractMarkupFilter.java (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/AbstractMarkupFilter.java Thu Mar 24 19:40:52 2011
@@ -40,9 +40,6 @@ public abstract class AbstractMarkupFilt
/** The next MarkupFilter in the chain */
private IMarkupFilter parent;
- /** TODO Not sure this counter is sufficiently safe, since filters are created per markup file. */
- private int count;
-
/**
* Construct.
*/
@@ -128,27 +125,18 @@ public abstract class AbstractMarkupFilt
return tag;
}
- /**
- * Invoked if current element is raw markup
- *
- * @param rawMarkup
- * @return Usually the same as the tag attribute
- */
+// /**
+// * Invoked if current element is raw markup
+// *
+// * @param rawMarkup
+// * @return Usually the same as the tag attribute
+// */
// Not yet used
// protected MarkupElement onRawMarkup(final MarkupElement rawMarkup)
// {
// return rawMarkup;
// }
- /**
- *
- * @return A unique count per instance
- */
- protected int getCount()
- {
- return count++;
- }
-
public void postProcess(final Markup markup)
{
}
Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketTagIdentifier.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketTagIdentifier.java?rev=1085095&r1=1085094&r2=1085095&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketTagIdentifier.java (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketTagIdentifier.java Thu Mar 24 19:40:52 2011
@@ -87,7 +87,7 @@ public final class WicketTagIdentifier e
if (Strings.isEmpty(wicketIdValue))
{
// Make it a Wicket component. Otherwise it would be RawMarkup
- tag.setId("_" + tag.getName() + getCount());
+ tag.setId("_wicket_" + tag.getName());
tag.setAutoComponentTag(true);
tag.setModified(true);
}
Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/basic/SimplePage_3.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/basic/SimplePage_3.java?rev=1085095&r1=1085094&r2=1085095&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/basic/SimplePage_3.java (original)
+++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/basic/SimplePage_3.java Thu Mar 24 19:40:52 2011
@@ -16,6 +16,9 @@
*/
package org.apache.wicket.markup.html.basic;
+import org.apache.wicket.markup.IMarkupFragment;
+import org.apache.wicket.markup.Markup;
+
/**
* Mock page for testing.
@@ -37,4 +40,18 @@ public class SimplePage_3 extends Simple
get("myBorder").setVisible(false);
get("myBorder2").setVisible(false);
}
+
+ /**
+ * @see org.apache.wicket.Page#getMarkup()
+ */
+ @Override
+ public IMarkupFragment getMarkup()
+ {
+ return Markup.get("<html xmlns:wicket><body>" //
+ + "<span wicket:id='myLabel'>mein Label</span>" //
+ + "<span wicket:id='test'>body</span>" //
+ + "<span wicket:id='myPanel'>panel</span>" //
+ + "<span wicket:id='myBorder'>border</span>" //
+ + "</body></html>");
+ }
}
Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/page/SimplePanel.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/page/SimplePanel.java?rev=1085095&r1=1085094&r2=1085095&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/page/SimplePanel.java (original)
+++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/page/SimplePanel.java Thu Mar 24 19:40:52 2011
@@ -16,18 +16,34 @@
*/
package org.apache.wicket.markup.html.page;
+import org.apache.wicket.markup.IMarkupFragment;
+import org.apache.wicket.markup.Markup;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.Model;
+/**
+ *
+ */
public class SimplePanel extends Panel
{
private static final long serialVersionUID = 1L;
+ /**
+ * Construct.
+ *
+ * @param id
+ */
public SimplePanel(String id)
{
super(id);
add(new Label("label", Model.of("Label")));
}
+
+ @Override
+ public IMarkupFragment getMarkup()
+ {
+ return Markup.get("<wicket:panel><span wicket:id='label'></span></wicket:panel>");
+ }
}
Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/page/TestHomePage.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/page/TestHomePage.java?rev=1085095&r1=1085094&r2=1085095&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/page/TestHomePage.java (original)
+++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/page/TestHomePage.java Thu Mar 24 19:40:52 2011
@@ -23,7 +23,9 @@ import org.apache.wicket.WicketTestCase;
*/
public class TestHomePage extends WicketTestCase
{
-
+ /**
+ *
+ */
public void testRenderMyPage()
{
// no exception should occur