I think Paul was commenting on an earlier idea that I had about
scrapping #{dialog.data} in favor of a managed bean type solution.  If
I'm reading his message correctly he raises some good points.  I think
we're past that idea now though in favor of keeping #{dialog.data} but
no longer blowing away the context when entering a subdialog.

Sean



On 8/25/06, Paul Spencer <[EMAIL PROTECTED]> wrote:
Rahul,
This was not a "how to do I do this" question.  It was in reference to
the current Dialog Manager design effort.

Paul Spencer


Rahul Akolkar wrote:
> On 8/25/06, Craig McClanahan <[EMAIL PROTECTED]> wrote:
>
>> On 8/25/06, Paul Spencer <[EMAIL PROTECTED]> wrote:
>> >
>> > An advantage with the current dialog.data bean is that it allows a the
>> > use of a common view when the underlying data objects are different.
>> How
>> > would this be done with dialog managed beans?
>> >
>> >
>> > As an example the AbstractPayment class has a CreditCard and a Check
>> > implementation.  Both the "Pay By Check" and "Pay by CreditCard"
>> share a
>> > common view that collects the billing address information. In the
>> > current implementation, that view uses #{dialog.data.billingZipCode} to
>> > pass the billing zip code regardless of the actual class.  With dialog
>> > managed beans their will be a check and creditCard bean so how would
>> the
>> > billing zip code be referenced in the common view?  So unless their
>> is a
>> > way to alias the beans in the dialog configuration, the billing address
>> > view can not be shared.
>>
>>
>> You are limited to a single instance of #{dialog.data}, but that bean
>> itself
>> can have properties that are, in fact , beans ... and you can nest as
>> deeply
>> as you like.  So, your Payment class (the one you use as the data bean
>> for
>> one of the processes could have a property of type AddressBean, and you
>> could therefore have binding expressions like
>> "#{dialog.data.address.zipCode}"
>> to talk to it.  The only collaboration that would be needed here is
>> that all
>> of the 'outer" data beans that used an AddressBean would need to store it
>> under the same property name.  You don't have to worry if the type of the
>> "data" bean is different, because the EL machinery takes care of all
>> of that
>> for you.
>>
> <snip/>
>
> And IIU your class diagram correctly, having the zip in the
> AbstractPayment automatically takes care of this. All you would then
> need to do is populate #{dialog.data} with either the CreditCard or
> the Check bean via the "setup" action state in the corresponding
> dialog.
>
> -Rahul
>
>
>> Paul Spencer
>> >
>>
>>
>>
>> Craig
>>
>>
>
>


Reply via email to