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]