You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by "Fuhwei Lwo (JIRA)" <tu...@ws.apache.org> on 2007/07/19 23:19:06 UTC

[jira] Updated: (TUSCANY-1459) Remove package registry delegation to EPackage.Registry.INSTANCE

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

Fuhwei Lwo updated TUSCANY-1459:
--------------------------------

    Attachment: 1459.patch

Here is the patch to implement the new design. Please review and provide comments. Thanks.

> Remove package registry delegation to EPackage.Registry.INSTANCE
> ----------------------------------------------------------------
>
>                 Key: TUSCANY-1459
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-1459
>             Project: Tuscany
>          Issue Type: Improvement
>          Components: Java SDO Implementation
>    Affects Versions: Java-SDO-1.0
>         Environment: WinXP
>            Reporter: Fuhwei Lwo
>            Priority: Critical
>             Fix For: Java-SDO-1.0
>
>         Attachments: 1459.patch
>
>
> This improvement is to reduce today's 3 tier registry delegation mechanism to 2 tier's so we won't rely on EPackage.Registry.INSTANCE.
> Current design:
> The default HelperContext created by using HelperProvider.getDefaultContext() is using the EPackage.Registry.INSTANCE as its package registry that can be delegated to the TCCL's registry. The local HelperContext created by using api.SDOUtil.createHelperContext() is creating a local package registry that can delegate to the builtInModelRegistry that potentially delegates to the EPackage.Registry.INSTANCE.
> default HelperContext (EPackage.Registry.INSTANCE/TCCL based)
> local HelperContext (local package registry) --delegate--> builtInModelRegistry --delegate--> EPackage.Registry.INSTANCE
> EMF, SDO runtime models, SDO type models are resided in the EPackage.Registry.INSTANCE
> SDO type models (sdoModel.xsd, sdoJava.xsd, sdoXML.xsd, and sdoInternal.xsd) are resided in both builtInModelRegistry and
> EPackage.Registry.INSTANCE (registered in the FactoryBase.java)
> User models will reside either in the EPackage.Registry.INSTANCE or local package registry
> New design:
> The builtInModelRegistry will become the end of registry delegation chain that would contain all required EMF and SDO runtime models and type models. The user models will reside at the local registry created for the helper context. If it's the default helper context, the special registry will be the SDOPackageRegistryDelegator that is similar to EPackage.Registry.INSTANCE$Delegator that would look up TCCL's registry and at the end of chain delegates to the builtInModelRegistry. If it's the local HelperContext, a regular Hashmap registry will be used then delegates to the builtInModelRegistry.
> default HelperContext (SDOPackageRegistryDelegator/TCCL based) --delegate--> builtInModelRegistry
> local HelperContext (local package registry) --delegate--> builtInModelRegistry
> EMF, SDO runtime, and SDO type models all reside in the builtInModelRegistry
> User models will reside either in the SDOPackageRegistryDelegator(TCCL based) or local package registry

-- 
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: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org