The NPE happens with #getAssociatedMarkup() and at this point the
MarkupContainer is a Form
Replacing it with #getMarkup() returned the page's markup, i.e. all html,
and its markupstream had 'null' doctype.

I'll investigate further but you can also take a look at the application. It
is in wicketstuff's SVN repo (link below).

On Wed, Dec 8, 2010 at 5:41 PM, Juergen Donnerstag <
juergen.donners...@gmail.com> wrote:

> Interesting. I thought I had a testcase with exactly that DOCTYPE. In
> any case it returns the DOCTYPE of the page only, irrespective of
> Panel or Border etc.
> getMarkup() returning null means no markup found which would explain
> the NPE as well. You are sure about your source code and markup?
>
> Juergen
>
>
> On Wed, Dec 8, 2010 at 5:27 PM, Martin Grigorov
> <martin.grigo...@gmail.com> wrote:
> > Hi Juergen,
> >
> > I just tried to use MarkupUtil.isMarkupHtml5Compliant() for the new HTML5
> > input types and it failed with:
> >
> > Caused by: java.lang.NullPointerException
> > at
> org.apache.wicket.markup.html.MarkupUtil$1.component(MarkupUtil.java:56)
> > at
> org.apache.wicket.markup.html.MarkupUtil$1.component(MarkupUtil.java:1)
> > at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:142)
> > at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:118)
> > at
> org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:919)
> > at
> >
> org.apache.wicket.markup.html.MarkupUtil.isMarkupHtml5Compliant(MarkupUtil.java:52)
> > at
> >
> org.wicketstuff.html5.markup.html.form.NumberField.onInitialize(NumberField.java:38)
> > at org.apache.wicket.Component.fireInitialize(Component.java:989)
> > at org.apache.wicket.MarkupContainer.initialize(MarkupContainer.java:992)
> > at
> >
> org.apache.wicket.MarkupContainer.addedComponent(MarkupContainer.java:972)
> > at org.apache.wicket.MarkupContainer.add(MarkupContainer.java:162)
> > at
> >
> org.wicketstuff.html5.markup.html.form.NumberFieldDemo.<init>(NumberFieldDemo.java:19)
> >
> >
> > So I changed MarkupUtil line 56:
> > MarkupResourceStream rs =
> > comp.getAssociatedMarkup().getMarkupResourceStream();
> > with
> > MarkupResourceStream rs = comp.getMarkup().getMarkupResourceStream();
> >
> > and now there is no NPE but it returns "null" for doctype.
> >
> > The page HTML looks like:
> >
> > http://pastie.org/1359239
> >
> > The code is at
> >
> https://wicket-stuff.svn.sourceforge.net/svnroot/wicket-stuff/trunk/wicketstuff-core/jdk-1.6-parent/wicket-html5-parent
> > see NumberFieldDemo in examples and NumberField in impl project.
> >
> > martin-g
> >
>

Reply via email to