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

Simon Nash updated TUSCANY-2724:
--------------------------------

    Fix Version/s: Java-SDO-Next

> 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
>             Fix For: Java-SDO-Next
>
>
> 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.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to