[
https://issues.apache.org/jira/browse/WICKET-2030?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Juergen Donnerstag resolved WICKET-2030.
----------------------------------------
Resolution: Fixed
Fix Version/s: 1.4-RC2
Assignee: Juergen Donnerstag
thanks
> BaseWicketTester can't find the pageLink field using reflection when you
> override the PageLink class.
> -----------------------------------------------------------------------------------------------------
>
> Key: WICKET-2030
> URL: https://issues.apache.org/jira/browse/WICKET-2030
> Project: Wicket
> Issue Type: Bug
> Components: wicket
> Affects Versions: 1.4-RC1
> Reporter: Maarten Billemont
> Assignee: Juergen Donnerstag
> Fix For: 1.4-RC2
>
> Attachments: pagelink.patch
>
>
> Currently, BaseWicketTester (line 524) does this:
> public <C extends Page> Result isPageLink(String path, Class<C>
> expectedPageClass)
> {
> PageLink<?> pageLink =
> (PageLink<?>)getComponentFromLastRenderedPage(path);
> try
> {
> Field iPageLinkField =
> pageLink.getClass().getDeclaredField("pageLink");
> iPageLinkField.setAccessible(true);
> IPageLink iPageLink =
> (IPageLink)iPageLinkField.get(pageLink);
> return isEqual(expectedPageClass,
> iPageLink.getPageIdentity());
> }
> The problem manifests when you want to customize a page link's onClick by
> overriding it like this:
> new PageLink<AuthPage>("pageLink", AuthPage.class) {
> private static final long serialVersionUID = 1L;
> @Override
> public void onClick() {
> Foo.bar();
> super.onClick();
> }
> });
> As a result; the BaseWicketTester tries to look for the pageLink field in the
> anonymous class instead of the privately declared pageLink field in the
> PageLink class.
> BaseWicketTester should either go down the tree:
> for(Class type = pageLink.getClass(); type != Object.class; type =
> type.getSuperclass())
> Or a getter should be made for the pageLink field. (This is what Java wants
> you to do).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.