Author: jboynes
Date: Mon Apr 17 14:00:55 2006
New Revision: 394775

URL: http://svn.apache.org/viewcvs?rev=394775&view=rev
Log:
applied patch from Dan Kulp for TUSCANY-201

Modified:
    
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/WSDLDefinitionRegistry.java
    
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/impl/WSDLDefinitionRegistryImpl.java

Modified: 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/WSDLDefinitionRegistry.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/WSDLDefinitionRegistry.java?rev=394775&r1=394774&r2=394775&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/WSDLDefinitionRegistry.java
 (original)
+++ 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/WSDLDefinitionRegistry.java
 Mon Apr 17 14:00:55 2006
@@ -22,6 +22,7 @@
 import javax.wsdl.PortType;
 import javax.wsdl.Service;
 import javax.wsdl.WSDLException;
+import javax.wsdl.extensions.ExtensionRegistry;
 import javax.xml.namespace.QName;
 
 /**
@@ -54,4 +55,13 @@
      * @return the Service for the supplied name, or null if none has been 
defined
      */
     Service getService(QName name);
+
+    
+    /**
+     * Returns the ExtensionRegistry that is used when parsing WSDL documents 
during the
+     * loadDefinition call.
+     * 
+     * @return the ExtensionRegistry that is used when parsing WSDL documents. 
      
+     */
+    ExtensionRegistry getExtensionRegistry();
 }

Modified: 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/impl/WSDLDefinitionRegistryImpl.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/impl/WSDLDefinitionRegistryImpl.java?rev=394775&r1=394774&r2=394775&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/impl/WSDLDefinitionRegistryImpl.java
 (original)
+++ 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/impl/WSDLDefinitionRegistryImpl.java
 Mon Apr 17 14:00:55 2006
@@ -26,6 +26,7 @@
 import javax.wsdl.PortType;
 import javax.wsdl.Service;
 import javax.wsdl.WSDLException;
+import javax.wsdl.extensions.ExtensionRegistry;
 import javax.wsdl.factory.WSDLFactory;
 import javax.wsdl.xml.WSDLReader;
 import javax.xml.namespace.QName;
@@ -38,6 +39,7 @@
 @org.osoa.sca.annotations.Service(interfaces = {WSDLDefinitionRegistry.class})
 public class WSDLDefinitionRegistryImpl implements WSDLDefinitionRegistry {
     private final WSDLFactory wsdlFactory;
+    private final ExtensionRegistry registry;
 
     private final Map<URL, Definition> definitionsByLocation = new 
HashMap<URL, Definition>();
     private final Map<String, List<Definition>> definitionsByNamespace = new 
HashMap<String, List<Definition>>();
@@ -46,6 +48,7 @@
 
     public WSDLDefinitionRegistryImpl() throws WSDLException {
         wsdlFactory = WSDLFactory.newInstance();
+        registry = wsdlFactory.newPopulatedExtensionRegistry();
     }
 
     @org.apache.tuscany.core.system.annotation.Monitor
@@ -53,6 +56,10 @@
         this.monitor = monitor;
     }
 
+    public ExtensionRegistry getExtensionRegistry() {
+        return registry;
+    }
+    
     public Definition loadDefinition(String namespace, URL location) throws 
IOException, WSDLException {
         Definition definition = definitionsByLocation.get(location);
         if (definition != null) {
@@ -63,6 +70,7 @@
         monitor.readingWSDL(namespace, location);
         WSDLReader reader = wsdlFactory.newWSDLReader();
         reader.setFeature("javax.wsdl.verbose", false);
+        reader.setExtensionRegistry(registry);
 
         definition = reader.readWSDL(location.toString());
         String definitionNamespace = definition.getTargetNamespace();
@@ -131,4 +139,5 @@
          */
         void cachingDefinition(String namespace, URL location);
     }
+
 }


Reply via email to