[arquillian-issues] [JBoss JIRA] (ARQGRA-326) Support for full initialization of outer class instance of a page fragment declared as inner class

Lukáš Fryč (JIRA) issues at jboss.org
Tue Jan 19 04:10:04 EST 2016


     [ https://issues.jboss.org/browse/ARQGRA-326?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Lukáš Fryč updated ARQGRA-326:
------------------------------
    Fix Version/s: 2.2-Tracking
                       (was: 2.1-Tracking)


> Support for full initialization of outer class instance of a page fragment declared as inner class
> --------------------------------------------------------------------------------------------------
>
>                 Key: ARQGRA-326
>                 URL: https://issues.jboss.org/browse/ARQGRA-326
>             Project: Arquillian Graphene
>          Issue Type: Feature Request
>          Components: core
>    Affects Versions: 2.0.0.Alpha4
>            Reporter: Juraj Húska
>            Priority: Minor
>             Fix For: 2.2-Tracking
>
>
> If a Page Fragment is declared as inner class, then it can not access the fields of its outer class, as their are not inicialized by Graphene Enrichers, thus are {{null}}.
> The possible ugly workaround for such initialization can be:
> {code}
> if (pageFragment.getClass().getEnclosingClass() != null) { 
>            Field field = pageFragment.getClass().getDeclaredField("this$0");
>            field.setAccessible(true);
>            Object outer = field.get(pageFragment);
>            enrichRecursively(root, outer);
> }
> {code}
> It should be placed in some utility class, so it can be easily unit tested.
> There is one drawback of this method and that is, the outer class can not contain injection point for the inner class, otherwise it will cycle. The inner class can be obtained only dynamically via {{Graphene.createPageFragment}}.



--
This message was sent by Atlassian JIRA
(v6.4.11#64026)



More information about the arquillian-issues mailing list