[
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