You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by "Andrey Utkin (JIRA)" <de...@tuscany.apache.org> on 2008/12/07 13:21:44 UTC

[jira] Updated: (TUSCANY-2724) Allow to define multiple XSD files with same namespace in same XSDHelper.INSTANCE

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

Andrey Utkin updated TUSCANY-2724:
----------------------------------

    Description: 
Currently it is not possible to define multiple XSD files in same namespace in same helper context even if extensible namespaces set to true. The last XSD "overwrites" previous.

Here is patch for /tuscany-sdo-impl/src/main/java/org/apache/tuscany/sdo/helper/XSDHelperImpl.java method define(). 
It use copy of the original "targetNamespaceToEPackageMap" to track newly defined types instead of "touching" ecoreBuilder. 


Index: src/main/java/org/apache/tuscany/sdo/helper/XSDHelperImpl.java
===================================================================
--- src/main/java/org/apache/tuscany/sdo/helper/XSDHelperImpl.java	
+++ src/main/java/org/apache/tuscany/sdo/helper/XSDHelperImpl.java	(working copy)
@@ -239,7 +239,7 @@
                 String targetNamespace = schema.getTargetNamespace();

                 EPackage ePackage = extendedMetaData.getPackage(targetNamespace);

                 if (extensibleNamespaces || ePackage == null || TypeHelperImpl.getBuiltInModels().contains(ePackage)) {

-                    Map targetNamespaceToEPackageMap = ecoreBuilder.getTargetNamespaceToEPackageMap();

+                    Map targetNamespaceToEPackageMap = new HashMap(ecoreBuilder.getTargetNamespaceToEPackageMap());

                     targetNamespaceToEPackageMap.remove(targetNamespace);

 

                     Collection originalEPackages = new HashSet(targetNamespaceToEPackageMap.values());

==========

        Summary: Allow to define multiple XSD files with same namespace in same XSDHelper.INSTANCE  (was: Allow to define multiple XSD files with same namespace in same XSDHelper.INSTANCE-3)

> Allow to define multiple XSD files with same namespace in same XSDHelper.INSTANCE
> ---------------------------------------------------------------------------------
>
>                 Key: TUSCANY-2724
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-2724
>             Project: Tuscany
>          Issue Type: Improvement
>          Components: Java SDO Implementation
>            Reporter: Andrey Utkin
>
> Currently it is not possible to define multiple XSD files in same namespace in same helper context even if extensible namespaces set to true. The last XSD "overwrites" previous.
> Here is patch for /tuscany-sdo-impl/src/main/java/org/apache/tuscany/sdo/helper/XSDHelperImpl.java method define(). 
> It use copy of the original "targetNamespaceToEPackageMap" to track newly defined types instead of "touching" ecoreBuilder. 
> Index: src/main/java/org/apache/tuscany/sdo/helper/XSDHelperImpl.java
> ===================================================================
> --- src/main/java/org/apache/tuscany/sdo/helper/XSDHelperImpl.java	
> +++ src/main/java/org/apache/tuscany/sdo/helper/XSDHelperImpl.java	(working copy)
> @@ -239,7 +239,7 @@
>                  String targetNamespace = schema.getTargetNamespace();
>                  EPackage ePackage = extendedMetaData.getPackage(targetNamespace);
>                  if (extensibleNamespaces || ePackage == null || TypeHelperImpl.getBuiltInModels().contains(ePackage)) {
> -                    Map targetNamespaceToEPackageMap = ecoreBuilder.getTargetNamespaceToEPackageMap();
> +                    Map targetNamespaceToEPackageMap = new HashMap(ecoreBuilder.getTargetNamespaceToEPackageMap());
>                      targetNamespaceToEPackageMap.remove(targetNamespace);
>  
>                      Collection originalEPackages = new HashSet(targetNamespaceToEPackageMap.values());
> ==========

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