Control not being initialized when Inheriting from a parent page flow with a
package protected control
------------------------------------------------------------------------------------------------------
Key: BEEHIVE-1060
URL: http://issues.apache.org/jira/browse/BEEHIVE-1060
Project: Beehive
Type: Bug
Components: NetUI
Versions: 1.0.1
Reporter: Carlin Rogers
Fix For: v.next
When a page flow in another package inherits from a parent page flow that
contains a package protected @Control member variable, the control is not
initialized correctly. When the page flow call a method inherited from the
parent and the method uses the package protected control, an NPE will be thrown
as the control will not be initialized.
The work around is to make the control field protected rather than package
protected.
To reproduce create a page flow with a package protected control. Include a
method in the parent page flow that uses the control. Then, create a second
page flow controller class in another package that extends the parent and calls
the inherited method that hits the control. I will attach a zip file that will
contain page flows to repro this issue. It can also be used to test the fix.
The problem seems to occur when JavaControlUtils.initJavaControls() is called
and checks for the set of annotated control fields for the inherited page flow
controller class. The routine,
JavaControlUtils.getAccessibleControlFieldAnnotations() checks the fields of
the page flow controller and its ancestors to see if they match any of the
fields found in our generated annotation XML file. However, there will not be
an <annotated-element> in the processed annotations file of the derived page
flow for the package protected control in the parent page flow.
I'm not sure yet whether the NetUI annotation processor should generate this
<annotated-element> or if the getAccessibleControlFieldAnnotations() method
should be looking at the annotated fields of parent classes. We can look at
this for v.next.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira