You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@beehive.apache.org by Carlin Rogers <ca...@gmail.com> on 2006/07/01 00:23:29 UTC

Re: Page flow inheritance - shared flows and controls

Rich,

I've checked in some code for BEEHIVE-1096 that modifies the
FlowControllerGenerator.includeFieldAnnotations() method so that the
annotation processing will include all the declared fields, including the
default (package) access and private inherited fields, for shared flows. I
also made the change to the runtime CachedPageFlowInfo class to go through
the fields of a page flow super class to get the inherited declared fields.

I think we may still have a similar runtime issue for Faces backing bean and
initializing inherited shared flows.

For the Controls, I still need to make sure the ClientInitializer source
gets generated for the inherited field.

If you get a chance to look at this, let me know what you think.

Kind regards,
Carlin

On 6/29/06, Carlin Rogers <ca...@gmail.com> wrote:
>
> Hey Rich,
>
> I'm looking at some page flow inheritance issues wrt fields for shared
> flows (BEEHIVE-1096 <https://issues.apache.org/jira/browse/BEEHIVE-1096>)
> and controls ( BEEHIVE-1060<https://issues.apache.org/jira/browse/BEEHIVE-1060>)
> not being initialized correctly. I have a couple questions for you.
>
> In both bugs, there are scenarios where fields declared in the base class
> and inherited in a derived class are not getting initialized. For the shared
> flow fields, there's a runtime issue as well as an annotation processing
> issue. The generated _pageflow/annotation-*.xml derived class does not
> include the Controller member field for a private member of the base class.
> In addition, the runtime CachedPageFlowInfo class only calls the
> getDeclaredFields() for the current class so the inherited shared flow
> fields will never be included.
>
> I've also noticed that the generated _pageflow/annotation-*.xml derived
> class does not include the Controller member field for a controls either.
> There also seems to be a separate issue with generating the *
> ClientInitializer.java source.
>
> In general, with page flow inheritance, is there any reason we would not
> include inherited private member fields for shared flows and controls from
> the base class in the generated _pageflow/annotation-*.xml of a derived
> class? Anything I'm missing? Otherwise, I'll plan to modify the annotation
> processing to include these cases.
>
> I also have a new method for the runtime CachedPageFlowInfo class to go
> through the fields of a page flow super class to get the inherited declared
> fields.
>
> Sound right? Any additional thoughts on these two bugs?
>
> Thanks,
> Carlin
>

Re: Page flow inheritance - shared flows and controls

Posted by Rich Feit <ri...@gmail.com>.
Hi Carlin,

Sorry for the very late reply on this.  This definitely makes sense to 
me -- the base class methods should still have access to an initialized 
control even if the derived class methods don't.  If you're wondering 
why it was like that in the first place, I'd attribute it to brain 
glitch (thinking about it as access to inherited private fields from a 
derived class).

Rich

Carlin Rogers wrote:
> Rich,
>
> I've checked in some code for BEEHIVE-1096 that modifies the
> FlowControllerGenerator.includeFieldAnnotations() method so that the
> annotation processing will include all the declared fields, including the
> default (package) access and private inherited fields, for shared 
> flows. I
> also made the change to the runtime CachedPageFlowInfo class to go 
> through
> the fields of a page flow super class to get the inherited declared 
> fields.
>
> I think we may still have a similar runtime issue for Faces backing 
> bean and
> initializing inherited shared flows.
>
> For the Controls, I still need to make sure the ClientInitializer source
> gets generated for the inherited field.
>
> If you get a chance to look at this, let me know what you think.
>
> Kind regards,
> Carlin
>
> On 6/29/06, Carlin Rogers <ca...@gmail.com> wrote:
>>
>> Hey Rich,
>>
>> I'm looking at some page flow inheritance issues wrt fields for shared
>> flows (BEEHIVE-1096 
>> <https://issues.apache.org/jira/browse/BEEHIVE-1096>)
>> and controls ( 
>> BEEHIVE-1060<https://issues.apache.org/jira/browse/BEEHIVE-1060>)
>> not being initialized correctly. I have a couple questions for you.
>>
>> In both bugs, there are scenarios where fields declared in the base 
>> class
>> and inherited in a derived class are not getting initialized. For the 
>> shared
>> flow fields, there's a runtime issue as well as an annotation processing
>> issue. The generated _pageflow/annotation-*.xml derived class does not
>> include the Controller member field for a private member of the base 
>> class.
>> In addition, the runtime CachedPageFlowInfo class only calls the
>> getDeclaredFields() for the current class so the inherited shared flow
>> fields will never be included.
>>
>> I've also noticed that the generated _pageflow/annotation-*.xml derived
>> class does not include the Controller member field for a controls 
>> either.
>> There also seems to be a separate issue with generating the *
>> ClientInitializer.java source.
>>
>> In general, with page flow inheritance, is there any reason we would not
>> include inherited private member fields for shared flows and controls 
>> from
>> the base class in the generated _pageflow/annotation-*.xml of a derived
>> class? Anything I'm missing? Otherwise, I'll plan to modify the 
>> annotation
>> processing to include these cases.
>>
>> I also have a new method for the runtime CachedPageFlowInfo class to go
>> through the fields of a page flow super class to get the inherited 
>> declared
>> fields.
>>
>> Sound right? Any additional thoughts on these two bugs?
>>
>> Thanks,
>> Carlin
>>
>