+ public static Markup get(final String markup) cool! this makes IMarkupResourceStreamProvider a bit redudant What about renaming the method to .of(String) so it looks like Model.of() ?
On Thu, Mar 24, 2011 at 8:40 PM, <[email protected]> wrote: > 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 > > > -- Martin Grigorov jWeekend Training, Consulting, Development http://jWeekend.com <http://jweekend.com/>
