Flexible Type System
--------------------

         Key: TUSCANY-546
         URL: http://issues.apache.org/jira/browse/TUSCANY-546
     Project: Tuscany
        Type: Improvement

  Components: C++ SDO  
 Environment: all
    Reporter: Ed Slattery


The SDO type system may be added to by loading a schema, or by using the data 
factory addType/addPropertyToType apis. When  the first data object is created, 
the type system is frozen and the properties of parent types are transferred to 
child types - the system is 'resolved'.
There is a requirement being proposed that we should be able to unfreeze the 
system, and add new types after the first data object creation, as long as the 
new ones dont cause the old model to be modified. 
This has substantial knock on effects, and would need to be designed carefully.
Ths issues to consider:
1) A type is loaded which is already in the system - throw, or warn, or 
silently ignore?
2) Attempt to add a property to an existing type - throw or ignore?
3) When  moving data objects from one factory to another - the compatibility of 
type systems is tested - would need to narrow this to validation only of the 
types actually being copied at the time.

The suggestion is that the sensible place to add this is in AddType, which 
could, after resolve, simply still work, but add types not to the type system, 
but to a resolver cache. At any object instantiation, if the resolver cache is 
not empty, then a new resolve of only the new types is performed. Duplicate 
types are silently ignored.


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


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

Reply via email to