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

Reply via email to