An issue has been created:
https://issues.apache.org/jira/browse/WICKET-1765
Regards
2008/7/31 Igor Vaynberg <[EMAIL PROTECTED]>
> yeah, we should fix it. please file a jira issue.
>
> -igor
>
> On Thu, Jul 31, 2008 at 4:22 PM, Daniel Freitas
> <[EMAIL PROTECTED]> wrote:
> > I typo got me to a stack overflow. Instead of extending WebPage, I
> extended
> > Page directly and when wicket tried to render the page it threw a
> > StackOverflowError caused by the following code:
> >
> > public class ClockPage extends Page{ //Typo, should be *extends WebPage*
> >
> > }
> >
> > Page extends MarkupContainer
> >
> > public class MarkupContainer ...
> >
> > public String getMarkupType()
> > {
> > return getPage().getMarkupType();
> > }
> > ...
> > }
> >
> > Get page is inherited from Component:
> >
> > public abstract class Component ...
> > ...
> > public final Page getPage()
> > {
> > // Search for nearest Page
> > final Page page = findPage();
> >
> > // If no Page was found
> > if (page == null)
> > {
> > // Give up with a nice exception
> > throw new IllegalStateException("No Page found for component "
> +
> > this);
> > }
> >
> > return page;
> > }
> > ...
> > }
> >
> > The problem is that getPage() returns an instance to ClockPage, which
> then
> > calls getMarkupType() on itself which in turn does a getPage(), returning
> > the ClockPage instance again, and then it calls getMarkupType() which
> > call.......... stack overflow.
> >
> > Is this an unforseen, minor bug? Could it be changed to avoid such a
> > situation and throw a more user friendly exception so we know we
> shouldn't
> > extend Page directly?
> >
> > Just asking out of curiosity.
> >
> > Regards,
> > Daniel Freitas
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>