[ 
https://issues.apache.org/jira/browse/TUSCANY-547?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Geoff Winn resolved TUSCANY-547.
--------------------------------

    Resolution: Fixed

Changes built and tested on XP and Linux

> Discriminated types
> -------------------
>
>                 Key: TUSCANY-547
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-547
>             Project: Tuscany
>          Issue Type: Improvement
>          Components: C++ SDO
>    Affects Versions: Cpp-current
>         Environment: all
>            Reporter: Ed Slattery
>             Fix For: Cpp-M3
>
>         Attachments: TUSCANY-SDOValue.patch
>
>
> There are macros in the SDO code in data object, and lists/sequences to 
> handle the many get/set/add/insert APIS for each type if data object. These 
> are a pain to debug, and the conversion routines in TypeImpl are necessarity 
> duplicased for each type of data object.
> One suggested approach which appeals would be to define a content holder 
> class, which would hold the value of any type of data object. By allowing it 
> to be constructed from any incoming type, we could reduce the get/set methods 
> to  oneline methods which set up this generic blob, flag its original type, 
> and pass it on to a generic setter/getter.
> Similarly the conversion routines could query the current type of the blob, 
> and perform the correct conversion for the blob to the requested type.
> This would reduce the codebase, make it cleaner.
> Also, we dont deal with XSD Unions at present, but having this blob in place, 
> we could extend the flag saying what type it is, to be perhaps a bitmask 
> saying what types if could be, and what type it is currently - this would 
> make unions supportable.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to