I'll check it over the weekend

Juergen

On Thu, Dec 9, 2010 at 12:22 PM, Martin Grigorov <[email protected]> wrote:
> It appeared that this helper doesn't work correctly for page inheritance.
> The base page has <!DOCTYPE html> but the child page has just
> "<wicket:extend> ... </wicket:extend>".
> See 
> org.apache.wicket.markup.WicketNamespaceTest.XXtestDoctype_InheritedPage().
>
> On Wed, Dec 8, 2010 at 5:53 PM, Martin Grigorov <[email protected]>wrote:
>
>> Correction, my bad.
>>
>> The Form's getMarkup() returns just :
>> <form wicket:id="form">
>> <input wicket:id="number" type="number" min="3.0" max="10.0"
>> onchange="console.log(this.value)"/><br/>
>>  <input type="submit" value="Submit"/>
>> </form>
>>
>> so there is no doctype.
>>
>> On Wed, Dec 8, 2010 at 5:48 PM, Martin Grigorov <[email protected]>wrote:
>>
>>> 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 <
>>> [email protected]> 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
>>>> <[email protected]> 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