[
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]