]
Juraj Húska commented on ARQGRA-326:
------------------------------------
It can be easily workarounded: do not use inner class as page fragments.
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
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 is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: