Author: djencks
Date: Mon Apr  4 23:20:16 2005
New Revision: 160134

URL: http://svn.apache.org/viewcvs?view=rev&rev=160134
Log:
switch to wsdl4j from sourceforge/ibm, and fix some imported schema analysis 
problems

Added:
    
geronimo/trunk/modules/axis-builder/src/java/org/apache/geronimo/axis/builder/SchemaInfoBuilder.java
Modified:
    geronimo/trunk/assemblies/j2ee-server/project.xml
    geronimo/trunk/etc/project.properties
    geronimo/trunk/itests/naming/common/project.xml
    geronimo/trunk/modules/assembly/project.xml
    geronimo/trunk/modules/axis-builder/project.xml
    
geronimo/trunk/modules/axis-builder/src/java/org/apache/geronimo/axis/builder/AxisBuilder.java
    
geronimo/trunk/modules/axis-builder/src/java/org/apache/geronimo/axis/builder/AxisServiceBuilder.java
    
geronimo/trunk/modules/axis-builder/src/java/org/apache/geronimo/axis/builder/WSDescriptorParser.java
    
geronimo/trunk/modules/axis-builder/src/test/org/apache/geronimo/axis/builder/ParsingTest.java
    
geronimo/trunk/modules/axis-builder/src/test/org/apache/geronimo/axis/builder/ServiceReferenceTest.java
    geronimo/trunk/modules/axis/src/etc/META-INF/geronimo-service.xml
    geronimo/trunk/modules/jetty-builder/project.xml

Modified: geronimo/trunk/assemblies/j2ee-server/project.xml
URL: 
http://svn.apache.org/viewcvs/geronimo/trunk/assemblies/j2ee-server/project.xml?view=diff&r1=160133&r2=160134
==============================================================================
--- geronimo/trunk/assemblies/j2ee-server/project.xml (original)
+++ geronimo/trunk/assemblies/j2ee-server/project.xml Mon Apr  4 23:20:16 2005
@@ -507,9 +507,9 @@
         </dependency>
 
         <dependency>
-            <groupId>axis</groupId>
-            <artifactId>axis-wsdl4j</artifactId>
-            <version>${axis_wsdl4j_version}</version>
+            <groupId>wsdl4j</groupId>
+            <artifactId>wsdl4j</artifactId>
+            <version>${wsdl4j_version}</version>
             <properties>
                 <geronimo.assemble>repository</geronimo.assemble>
             </properties>

Modified: geronimo/trunk/etc/project.properties
URL: 
http://svn.apache.org/viewcvs/geronimo/trunk/etc/project.properties?view=diff&r1=160133&r2=160134
==============================================================================
--- geronimo/trunk/etc/project.properties (original)
+++ geronimo/trunk/etc/project.properties Mon Apr  4 23:20:16 2005
@@ -102,7 +102,7 @@
 axis_version=PATCH3
 axis_jaxrpc_version=1.2-RC3
 axis_saaj_version=1.2-RC3
-axis_wsdl4j_version=1.2-RC3
+#axis_wsdl4j_version=1.2-RC3
 axis_commons_discovery_version=SNAPSHOT
 avalon_framework_version=4.1.4
 avalon_logkit_version=1.2.2
@@ -160,6 +160,7 @@
 stax_api_version=1.0
 tomcat_version=5.5.7
 velocity_version=1.4
+wsdl4j_version=1.5
 xerces_version=2.6.2
 xfire_version=20050202
 xml_apis_version=1.0.b2
@@ -167,9 +168,8 @@
 xml_parser_apis_version=2.2.1
 xmlbeans_version=1.0-DEV
 xmlpull_version=1.1.3.4d_b4_min
-xstream_version=1.0.2
 xpp3_version=1.1.3.3
-wsdl4j_version=1.4
+xstream_version=1.0.2
 
 #####################################################
 # Site Colors

Modified: geronimo/trunk/itests/naming/common/project.xml
URL: 
http://svn.apache.org/viewcvs/geronimo/trunk/itests/naming/common/project.xml?view=diff&r1=160133&r2=160134
==============================================================================
--- geronimo/trunk/itests/naming/common/project.xml (original)
+++ geronimo/trunk/itests/naming/common/project.xml Mon Apr  4 23:20:16 2005
@@ -1,14 +1,14 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- 
+<!--
 /*
  * Copyright 2001-2005 The Apache Software Foundation.
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -97,9 +97,9 @@
             <version>${axis_saaj_version}</version>
         </dependency>
         <dependency>
-            <groupId>axis</groupId>
-            <artifactId>axis-wsdl4j</artifactId>
-            <version>${axis_wsdl4j_version}</version>
+            <groupId>wsdl4j</groupId>
+            <artifactId>wsdl4j</artifactId>
+            <version>${wsdl4j_version}</version>
         </dependency>
 
         <dependency>

Modified: geronimo/trunk/modules/assembly/project.xml
URL: 
http://svn.apache.org/viewcvs/geronimo/trunk/modules/assembly/project.xml?view=diff&r1=160133&r2=160134
==============================================================================
--- geronimo/trunk/modules/assembly/project.xml (original)
+++ geronimo/trunk/modules/assembly/project.xml Mon Apr  4 23:20:16 2005
@@ -52,7 +52,7 @@
                 <repository>true</repository>
             </properties>
         </dependency>
-        
+
         <dependency>
             <groupId>geronimo-spec</groupId>
             <artifactId>geronimo-spec-corba</artifactId>
@@ -63,7 +63,7 @@
                 <repository>true</repository>
             </properties>
         </dependency>
-        
+
         <dependency>
             <groupId>geronimo</groupId>
             <artifactId>geronimo-deployment-plugin</artifactId>
@@ -71,7 +71,7 @@
             <type>plugin</type>
         </dependency>
 
-        
+
         <!-- Used for preprocessing our plans -->
         <dependency>
             <groupId>commons-jelly</groupId>
@@ -950,7 +950,7 @@
             <version>${pom.currentVersion}</version>
             <type>war</type>
         </dependency>
-        
+
         <!-- JavaMail -->
         <dependency>
             <groupId>geronimo</groupId>
@@ -1020,15 +1020,6 @@
             <groupId>axis</groupId>
             <artifactId>axis-saaj</artifactId>
             <version>${axis_saaj_version}</version>
-            <properties>
-                <repository>true</repository>
-            </properties>
-        </dependency>
-
-        <dependency>
-            <groupId>axis</groupId>
-            <artifactId>axis-wsdl4j</artifactId>
-            <version>${axis_wsdl4j_version}</version>
             <properties>
                 <repository>true</repository>
             </properties>

Modified: geronimo/trunk/modules/axis-builder/project.xml
URL: 
http://svn.apache.org/viewcvs/geronimo/trunk/modules/axis-builder/project.xml?view=diff&r1=160133&r2=160134
==============================================================================
--- geronimo/trunk/modules/axis-builder/project.xml (original)
+++ geronimo/trunk/modules/axis-builder/project.xml Mon Apr  4 23:20:16 2005
@@ -6,16 +6,16 @@
     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at
-  
+
        http://www.apache.org/licenses/LICENSE-2.0
-  
+
     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
 -->
-  
+
 <!-- $Rev: 46019 $ $Date: 2004-09-14 02:56:06 -0700 (Tue, 14 Sep 2004) $ -->
 
 <project>
@@ -231,9 +231,9 @@
         </dependency>
 
         <dependency>
-            <groupId>axis</groupId>
-            <artifactId>axis-wsdl4j</artifactId>
-            <version>${axis_wsdl4j_version}</version>
+            <groupId>wsdl4j</groupId>
+            <artifactId>wsdl4j</artifactId>
+            <version>${wsdl4j_version}</version>
         </dependency>
 
     </dependencies>

Modified: 
geronimo/trunk/modules/axis-builder/src/java/org/apache/geronimo/axis/builder/AxisBuilder.java
URL: 
http://svn.apache.org/viewcvs/geronimo/trunk/modules/axis-builder/src/java/org/apache/geronimo/axis/builder/AxisBuilder.java?view=diff&r1=160133&r2=160134
==============================================================================
--- 
geronimo/trunk/modules/axis-builder/src/java/org/apache/geronimo/axis/builder/AxisBuilder.java
 (original)
+++ 
geronimo/trunk/modules/axis-builder/src/java/org/apache/geronimo/axis/builder/AxisBuilder.java
 Mon Apr  4 23:20:16 2005
@@ -233,9 +233,11 @@
         }
 
         Map exceptionMap = WSDescriptorParser.getExceptionMap(mapping);
-        Map schemaTypeKeyToSchemaTypeMap = 
WSDescriptorParser.buildSchemaTypeKeyToSchemaTypeMap(definition);
-        Map complexTypeMap = 
WSDescriptorParser.getComplexTypesInWsdl(schemaTypeKeyToSchemaTypeMap);
-        Map elementMap = 
WSDescriptorParser.getElementToTypeMap(schemaTypeKeyToSchemaTypeMap);
+        JarFile moduleFile = module.getModuleFile();
+        SchemaInfoBuilder schemaInfoBuilder = new 
SchemaInfoBuilder(moduleFile, definition);
+        Map schemaTypeKeyToSchemaTypeMap = 
schemaInfoBuilder.getSchemaTypeKeyToSchemaTypeMap();
+        Map complexTypeMap = schemaInfoBuilder.getComplexTypesInWsdl();
+        Map elementMap = schemaInfoBuilder.getElementToTypeMap();
 
         Map wsdlPortMap = service.getPorts();
         for (Iterator iterator = wsdlPortMap.entrySet().iterator(); 
iterator.hasNext();) {

Modified: 
geronimo/trunk/modules/axis-builder/src/java/org/apache/geronimo/axis/builder/AxisServiceBuilder.java
URL: 
http://svn.apache.org/viewcvs/geronimo/trunk/modules/axis-builder/src/java/org/apache/geronimo/axis/builder/AxisServiceBuilder.java?view=diff&r1=160133&r2=160134
==============================================================================
--- 
geronimo/trunk/modules/axis-builder/src/java/org/apache/geronimo/axis/builder/AxisServiceBuilder.java
 (original)
+++ 
geronimo/trunk/modules/axis-builder/src/java/org/apache/geronimo/axis/builder/AxisServiceBuilder.java
 Mon Apr  4 23:20:16 2005
@@ -148,9 +148,10 @@
         }
 
         Map exceptionMap = 
WSDescriptorParser.getExceptionMap(portInfo.getJavaWsdlMapping());
-        Map schemaTypeKeyToSchemaTypeMap = 
WSDescriptorParser.buildSchemaTypeKeyToSchemaTypeMap(portInfo.getDefinition());
-        Map complexTypeMap = 
WSDescriptorParser.getComplexTypesInWsdl(schemaTypeKeyToSchemaTypeMap);
-        Map elementMap = 
WSDescriptorParser.getElementToTypeMap(schemaTypeKeyToSchemaTypeMap);
+        SchemaInfoBuilder schemaInfoBuilder = new SchemaInfoBuilder(null, 
portInfo.getDefinition());
+        Map schemaTypeKeyToSchemaTypeMap = 
schemaInfoBuilder.getSchemaTypeKeyToSchemaTypeMap();
+        Map complexTypeMap = schemaInfoBuilder.getComplexTypesInWsdl();
+        Map elementMap = schemaInfoBuilder.getElementToTypeMap();
 
         JavaServiceDesc serviceDesc = new JavaServiceDesc();
 

Added: 
geronimo/trunk/modules/axis-builder/src/java/org/apache/geronimo/axis/builder/SchemaInfoBuilder.java
URL: 
http://svn.apache.org/viewcvs/geronimo/trunk/modules/axis-builder/src/java/org/apache/geronimo/axis/builder/SchemaInfoBuilder.java?view=auto&rev=160134
==============================================================================
--- 
geronimo/trunk/modules/axis-builder/src/java/org/apache/geronimo/axis/builder/SchemaInfoBuilder.java
 (added)
+++ 
geronimo/trunk/modules/axis-builder/src/java/org/apache/geronimo/axis/builder/SchemaInfoBuilder.java
 Mon Apr  4 23:20:16 2005
@@ -0,0 +1,415 @@
+/**
+ *
+ * Copyright 2003-2004 The Apache Software Foundation
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.geronimo.axis.builder;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URL;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Stack;
+import java.util.zip.ZipEntry;
+import java.util.jar.JarFile;
+import javax.wsdl.Definition;
+import javax.wsdl.Import;
+import javax.wsdl.Types;
+import javax.wsdl.extensions.UnknownExtensibilityElement;
+import javax.wsdl.extensions.schema.Schema;
+import javax.xml.namespace.QName;
+
+import org.apache.geronimo.common.DeploymentException;
+import org.apache.geronimo.schema.SchemaConversionUtils;
+import org.apache.xmlbeans.SchemaField;
+import org.apache.xmlbeans.SchemaGlobalElement;
+import org.apache.xmlbeans.SchemaParticle;
+import org.apache.xmlbeans.SchemaType;
+import org.apache.xmlbeans.SchemaTypeSystem;
+import org.apache.xmlbeans.XmlBeans;
+import org.apache.xmlbeans.XmlCursor;
+import org.apache.xmlbeans.XmlException;
+import org.apache.xmlbeans.XmlObject;
+import org.apache.xmlbeans.XmlOptions;
+import org.apache.xmlbeans.XmlError;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.w3c.dom.Element;
+import org.xml.sax.EntityResolver;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+
+/**
+ * @version $Rev:  $ $Date:  $
+ */
+public class SchemaInfoBuilder {
+    private static final Log log = LogFactory.getLog(SchemaInfoBuilder.class);
+    private static final SchemaTypeSystem basicTypeSystem;
+
+    static {
+        URL url = 
WSDescriptorParser.class.getClassLoader().getResource("soap_encoding_1_1.xsd");
+        if (url == null) {
+            throw new RuntimeException("Could not locate soap encoding 
schema");
+        }
+        Collection errors = new ArrayList();
+        XmlOptions xmlOptions = new XmlOptions();
+        xmlOptions.setErrorListener(errors);
+        try {
+            XmlObject xmlObject = SchemaConversionUtils.parse(url);
+            basicTypeSystem = XmlBeans.compileXsd(new XmlObject[]{xmlObject}, 
XmlBeans.getBuiltinTypeSystem(), xmlOptions);
+            if (errors.size() > 0) {
+                throw new RuntimeException("Could not compile schema type 
system: errors: " + errors);
+            }
+        } catch (XmlException e) {
+            throw new RuntimeException("Could not compile schema type system", 
e);
+        } catch (IOException e) {
+            throw new RuntimeException("Could not compile schema type system", 
e);
+        }
+    }
+
+    private final JarFile moduleFile;
+    private final Stack uris = new Stack();
+    private final Map schemaTypeKeyToSchemaTypeMap;
+
+    public SchemaInfoBuilder(JarFile moduleFile, Definition definition) throws 
DeploymentException {
+        this.moduleFile = moduleFile;
+        try {
+            URI uri = new URI(definition.getDocumentBaseURI());
+            uris.push(uri);
+        } catch (URISyntaxException e) {
+            throw new DeploymentException("Could not locate definition", e);
+        }
+        SchemaTypeSystem schemaTypeSystem = 
compileSchemaTypeSystem(definition);
+        schemaTypeKeyToSchemaTypeMap = 
buildSchemaTypeKeyToSchemaTypeMap(schemaTypeSystem);
+    }
+
+    SchemaInfoBuilder(JarFile moduleFile, URI uri, SchemaTypeSystem 
schemaTypeSystem) {
+        this.moduleFile = moduleFile;
+        uris.push(uri);
+        schemaTypeKeyToSchemaTypeMap = 
buildSchemaTypeKeyToSchemaTypeMap(schemaTypeSystem);
+    }
+
+    public Map getSchemaTypeKeyToSchemaTypeMap() {
+        return schemaTypeKeyToSchemaTypeMap;
+    }
+
+    private static final String[] errorNames = {
+        "Error", "Warning", "Info"
+    };
+
+    public SchemaTypeSystem compileSchemaTypeSystem(Definition definition) 
throws DeploymentException {
+        List schemaList = new ArrayList();
+        addImportsFromDefinition(definition, schemaList);
+//        System.out.println("Schemas: " + schemaList);
+        Collection errors = new ArrayList();
+        XmlOptions xmlOptions = new XmlOptions();
+        xmlOptions.setErrorListener(errors);
+        xmlOptions.setEntityResolver(new JarEntityResolver());
+        XmlObject[] schemas = (XmlObject[]) schemaList.toArray(new 
XmlObject[schemaList.size()]);
+        try {
+            SchemaTypeSystem schemaTypeSystem = XmlBeans.compileXsd(schemas, 
basicTypeSystem, xmlOptions);
+            if (errors.size() > 0) {
+                boolean wasError = false;
+                for (Iterator iterator = errors.iterator(); 
iterator.hasNext();) {
+                    XmlError xmlError = (XmlError) iterator.next();
+                    log.info("Severity: " + errorNames[xmlError.getSeverity()] 
+ ", message: " + xmlError);
+                    if (xmlError.getSeverity() == XmlError.SEVERITY_ERROR) {
+                        wasError = true;
+                    }
+                }
+                if (wasError) {
+                    throw new DeploymentException("Could not compile schema 
type system, see log for errors");
+                }
+            }
+            return schemaTypeSystem;
+        } catch (XmlException e) {
+            throw new DeploymentException("Could not compile schema type 
system", e);
+        }
+    }
+
+    private void addImportsFromDefinition(Definition definition, List 
schemaList) throws DeploymentException {
+        Map namespaceMap = definition.getNamespaces();
+        Types types = definition.getTypes();
+        if (types != null) {
+            List schemas = types.getExtensibilityElements();
+            for (Iterator iterator = schemas.iterator(); iterator.hasNext();) {
+                Object o = iterator.next();
+                if (o instanceof Schema) {
+                    Schema unknownExtensibilityElement = (Schema) o;
+                    QName elementType = 
unknownExtensibilityElement.getElementType();
+                    if (new QName("http://www.w3.org/2001/XMLSchema";, 
"schema").equals(elementType)) {
+                        Element element = 
unknownExtensibilityElement.getElement();
+                        addSchemaElement(element, namespaceMap, schemaList);
+                    }
+                } else if (o instanceof UnknownExtensibilityElement) {
+                    //This is allegedly obsolete as of axis-wsdl4j-1.2-RC3.jar 
which includes the Schema extension above.
+                    //The change notes imply that imported schemas should end 
up in Schema elements.  They don't, so this is still needed.
+                    UnknownExtensibilityElement unknownExtensibilityElement = 
(UnknownExtensibilityElement) o;
+                    Element element = unknownExtensibilityElement.getElement();
+                    String elementNamespace = element.getNamespaceURI();
+                    String elementLocalName = element.getNodeName();
+                    if 
("http://www.w3.org/2001/XMLSchema".equals(elementNamespace) && 
"schema".equals(elementLocalName)) {
+                        addSchemaElement(element, namespaceMap, schemaList);
+                    }
+                }
+            }
+        }
+        Map imports = definition.getImports();
+        if (imports != null) {
+            for (Iterator iterator = imports.entrySet().iterator(); 
iterator.hasNext();) {
+                Map.Entry entry = (Map.Entry) iterator.next();
+                String namespaceURI = (String) entry.getKey();
+                List importList = (List) entry.getValue();
+                for (Iterator iterator1 = importList.iterator(); 
iterator1.hasNext();) {
+                    Import anImport = (Import) iterator1.next();
+                    //according to the 1.1 jwsdl mr shcema imports are 
supposed to show up here,
+                    //but according to the 1.0 spec there is supposed to be no 
Definition.
+                    Definition definition1 = anImport.getDefinition();
+                    if (definition1 != null) {
+                        try {
+                            URI uri = new 
URI(definition1.getDocumentBaseURI());
+                            uris.push(uri);
+                        } catch (URISyntaxException e) {
+                            throw new DeploymentException("Could not locate 
definition", e);
+                        }
+                        try {
+                            addImportsFromDefinition(definition1, schemaList);
+                        } finally {
+                            uris.pop();
+                        }
+                    } else {
+                        log.warn("Missing definition in import for namespace " 
+ namespaceURI);
+                    }
+                }
+            }
+        }
+    }
+
+    private void addSchemaElement(Element element, Map namespaceMap, List 
schemaList) throws DeploymentException {
+        try {
+            XmlObject xmlObject = SchemaConversionUtils.parse(element);
+            XmlCursor cursor = xmlObject.newCursor();
+            try {
+                cursor.toFirstContentToken();
+                for (Iterator namespaces = namespaceMap.entrySet().iterator(); 
namespaces.hasNext();) {
+                    Map.Entry entry = (Map.Entry) namespaces.next();
+                    cursor.insertNamespace((String) entry.getKey(), (String) 
entry.getValue());
+                }
+            } finally {
+                cursor.dispose();
+            }
+            schemaList.add(xmlObject);
+        } catch (XmlException e) {
+            throw new DeploymentException("Could not parse schema element", e);
+        }
+    }
+
+    /**
+     * builds a map of SchemaTypeKey containing jaxrpc-style fake QName and 
context info to xmlbeans SchemaType object.
+     *
+     * @param schemaTypeSystem
+     * @return
+     */
+    public Map buildSchemaTypeKeyToSchemaTypeMap(SchemaTypeSystem 
schemaTypeSystem) {
+        Map qnameMap = new HashMap();
+        SchemaType[] globalTypes = schemaTypeSystem.globalTypes();
+        for (int i = 0; i < globalTypes.length; i++) {
+            SchemaType globalType = globalTypes[i];
+            QName typeQName = globalType.getName();
+            addSchemaType(typeQName, globalType, false, qnameMap);
+        }
+        SchemaGlobalElement[] globalElements = 
schemaTypeSystem.globalElements();
+        for (int i = 0; i < globalElements.length; i++) {
+            SchemaGlobalElement globalElement = globalElements[i];
+            addElement(globalElement, null, qnameMap);
+        }
+        return qnameMap;
+    }
+
+    private void addElement(SchemaField element, SchemaTypeKey key, Map 
qnameMap) {
+        //TODO is this null if element is a ref?
+        QName elementName = element.getName();
+        String elementNamespace = elementName.getNamespaceURI();
+        if (elementNamespace == null || elementNamespace.equals("")) {
+            elementNamespace = key.getqName().getNamespaceURI();
+        }
+        String elementQNameLocalName;
+        SchemaTypeKey elementKey = null;
+        if (key == null) {
+            //top level. rule 2.a,
+            elementQNameLocalName = elementName.getLocalPart();
+            elementKey = new SchemaTypeKey(elementName, true, false, false);
+        } else {
+            //not top level. rule 2.b, key will be for enclosing Type.
+            QName enclosingTypeQName = key.getqName();
+            String enclosingTypeLocalName = enclosingTypeQName.getLocalPart();
+            elementQNameLocalName = enclosingTypeLocalName + ">" + 
elementName.getLocalPart();
+            QName subElementName = new QName(elementNamespace, 
elementQNameLocalName);
+            elementKey = new SchemaTypeKey(subElementName, true, false, true);
+        }
+        SchemaType schemaType = element.getType();
+        qnameMap.put(elementKey, schemaType);
+//        new Exception("Adding: " + 
elementKey.getqName().getLocalPart()).printStackTrace();
+        //check if it's an array. maxOccurs is null if unbounded
+        //element should always be a SchemaParticle... this is a workaround 
for XMLBEANS-137
+        if (element instanceof SchemaParticle) {
+            addArrayForms((SchemaParticle) element, elementKey.getqName(), 
qnameMap, schemaType);
+        } else {
+            log.warn("element is not a schemaParticle! " + element);
+        }
+        //now, name for type.  Rule 1.b, type inside an element
+        String typeQNameLocalPart = ">" + elementQNameLocalName;
+        QName typeQName = new QName(elementNamespace, typeQNameLocalPart);
+        boolean isAnonymous = true;
+        addSchemaType(typeQName, schemaType, isAnonymous, qnameMap);
+    }
+
+    private void addSchemaType(QName typeQName, SchemaType schemaType, boolean 
anonymous, Map qnameMap) {
+        SchemaTypeKey typeKey = new SchemaTypeKey(typeQName, false, 
schemaType.isSimpleType(), anonymous);
+        qnameMap.put(typeKey, schemaType);
+//        new Exception("Adding: " + 
typeKey.getqName().getLocalPart()).printStackTrace();
+        //TODO xmlbeans recommends using summary info from 
getElementProperties and getAttributeProperties instead of traversing the 
content model by hand.
+        SchemaParticle schemaParticle = schemaType.getContentModel();
+        if (schemaParticle != null) {
+            addSchemaParticle(schemaParticle, typeKey, qnameMap);
+        }
+    }
+
+
+    private void addSchemaParticle(SchemaParticle schemaParticle, 
SchemaTypeKey key, Map qnameMap) {
+        if (schemaParticle.getParticleType() == SchemaParticle.ELEMENT) {
+            SchemaType elementType = schemaParticle.getType();
+            SchemaField element = elementType.getContainerField();
+            //element will be null if the type is defined elsewhere, such as a 
built in type.
+            if (element != null) {
+                addElement(element, key, qnameMap);
+            } else {
+                QName keyQName = key.getqName();
+                //TODO I can't distinguish between 3.a and 3.b, so generate 
names both ways.
+                //3.b
+                String localPart = schemaParticle.getName().getLocalPart();
+                QName elementName = new QName(keyQName.getNamespaceURI(), 
localPart);
+                addArrayForms(schemaParticle, elementName, qnameMap, 
elementType);
+                //3.a
+                localPart = keyQName.getLocalPart() + ">" + 
schemaParticle.getName().getLocalPart();
+                elementName = new QName(keyQName.getNamespaceURI(), localPart);
+                addArrayForms(schemaParticle, elementName, qnameMap, 
elementType);
+            }
+        } else {
+            SchemaParticle[] children = schemaParticle.getParticleChildren();
+            for (int i = 0; i < children.length; i++) {
+                SchemaParticle child = children[i];
+                addSchemaParticle(child, key, qnameMap);
+            }
+        }
+    }
+
+    private void addArrayForms(SchemaParticle schemaParticle, QName keyName, 
Map qnameMap, SchemaType elementType) {
+        //it may be a ref or a built in type.  If it's an array (maxOccurs >1) 
form a type for it.
+        if (schemaParticle.getIntMaxOccurs() > 1) {
+            String maxOccurs = schemaParticle.getMaxOccurs() == null ? 
"unbounded" : "" + schemaParticle.getIntMaxOccurs();
+            int minOccurs = schemaParticle.getIntMinOccurs();
+            QName elementName = schemaParticle.getName();
+            String arrayQNameLocalName = keyName.getLocalPart() + "[" + 
minOccurs + "," + maxOccurs + "]";
+            String elementNamespace = elementName.getNamespaceURI();
+            if (elementNamespace == null || elementNamespace.equals("")) {
+                elementNamespace = keyName.getNamespaceURI();
+            }
+            QName arrayName = new QName(elementNamespace, arrayQNameLocalName);
+            SchemaTypeKey arrayKey = new SchemaTypeKey(arrayName, false, 
false, true);
+            //TODO not clear we want the schemaType as the value
+            qnameMap.put(arrayKey, elementType);
+//            new Exception("Adding: " + 
arrayKey.getqName().getLocalPart()).printStackTrace();
+            if (minOccurs == 1) {
+                arrayQNameLocalName = keyName.getLocalPart() + "[," + 
maxOccurs + "]";
+                arrayName = new QName(elementNamespace, arrayQNameLocalName);
+                arrayKey = new SchemaTypeKey(arrayName, false, false, true);
+                //TODO not clear we want the schemaType as the value
+                qnameMap.put(arrayKey, elementType);
+            }
+        }
+    }
+
+    /**
+     * Find all the complex types in the previously constructed schema 
analysis.
+     * Put them in a map from complex type QName to schema fragment.
+     *
+     * @return
+     */
+    public Map getComplexTypesInWsdl() {
+        Map complexTypeMap = new HashMap();
+        for (Iterator iterator = 
schemaTypeKeyToSchemaTypeMap.entrySet().iterator(); iterator.hasNext();) {
+            Map.Entry entry = (Map.Entry) iterator.next();
+            SchemaTypeKey key = (SchemaTypeKey) entry.getKey();
+            if (!key.isSimpleType() && !key.isAnonymous()) {
+                QName qName = key.getqName();
+                SchemaType schemaType = (SchemaType) entry.getValue();
+                complexTypeMap.put(qName, schemaType);
+            }
+        }
+        return complexTypeMap;
+    }
+
+    public Map getElementToTypeMap() {
+        Map elementToTypeMap = new HashMap();
+        for (Iterator iterator = 
schemaTypeKeyToSchemaTypeMap.entrySet().iterator(); iterator.hasNext();) {
+            Map.Entry entry = (Map.Entry) iterator.next();
+            SchemaTypeKey key = (SchemaTypeKey) entry.getKey();
+            if (key.isElement()) {
+                QName elementQName = key.getqName();
+                SchemaType schemaType = (SchemaType) entry.getValue();
+                QName typeQName = schemaType.getName();
+                elementToTypeMap.put(elementQName, typeQName);
+            }
+        }
+        return elementToTypeMap;
+    }
+
+    private class JarEntityResolver implements EntityResolver {
+
+        private final static String PROJECT_URL_PREFIX = "project://local/";
+        public InputSource resolveEntity(String publicId, String systemId) 
throws SAXException, IOException {
+            //seems like this must be a bug in xmlbeans...
+            if (systemId.indexOf(PROJECT_URL_PREFIX) > -1) {
+                systemId = systemId.substring(PROJECT_URL_PREFIX.length());
+            }
+            URI location = ((URI) uris.peek()).resolve(systemId);
+//            System.out.println("SystemId: " + systemId + ", location: " + 
location);
+            InputStream wsdlInputStream = null;
+            try {
+                ZipEntry entry = moduleFile.getEntry(location.toString());
+                System.out.println("entry: " + entry.getName());
+                wsdlInputStream = moduleFile.getInputStream(entry);
+//                byte[] buf = new byte[1024];
+//                int i;
+//                while ((i = wsdlInputStream.read(buf)) > 0 ) {
+//                    System.out.write(buf, 0, i);
+//                }
+//                wsdlInputStream.close();
+//                wsdlInputStream = moduleFile.getInputStream(entry);
+            } catch (IOException e) {
+                throw new RuntimeException("Could not open stream to wsdl 
file", e);
+            }
+            return new InputSource(wsdlInputStream);
+        }
+    }
+
+}

Modified: 
geronimo/trunk/modules/axis-builder/src/java/org/apache/geronimo/axis/builder/WSDescriptorParser.java
URL: 
http://svn.apache.org/viewcvs/geronimo/trunk/modules/axis-builder/src/java/org/apache/geronimo/axis/builder/WSDescriptorParser.java?view=diff&r1=160133&r2=160134
==============================================================================
--- 
geronimo/trunk/modules/axis-builder/src/java/org/apache/geronimo/axis/builder/WSDescriptorParser.java
 (original)
+++ 
geronimo/trunk/modules/axis-builder/src/java/org/apache/geronimo/axis/builder/WSDescriptorParser.java
 Mon Apr  4 23:20:16 2005
@@ -25,7 +25,6 @@
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.net.URL;
-import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.Collection;
 import java.util.HashMap;
@@ -34,15 +33,11 @@
 import java.util.Map;
 import java.util.jar.JarFile;
 import javax.wsdl.Definition;
-import javax.wsdl.Import;
 import javax.wsdl.Operation;
 import javax.wsdl.Port;
 import javax.wsdl.Service;
-import javax.wsdl.Types;
 import javax.wsdl.WSDLException;
 import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.UnknownExtensibilityElement;
-import javax.wsdl.extensions.schema.Schema;
 import javax.wsdl.extensions.soap.SOAPAddress;
 import javax.wsdl.factory.WSDLFactory;
 import javax.wsdl.xml.WSDLLocator;
@@ -86,17 +81,7 @@
 import org.apache.geronimo.xbeans.j2ee.WebserviceDescriptionType;
 import org.apache.geronimo.xbeans.j2ee.WebservicesDocument;
 import org.apache.geronimo.xbeans.j2ee.WebservicesType;
-import org.apache.xmlbeans.SchemaField;
-import org.apache.xmlbeans.SchemaGlobalElement;
-import org.apache.xmlbeans.SchemaParticle;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.SchemaTypeSystem;
-import org.apache.xmlbeans.XmlBeans;
-import org.apache.xmlbeans.XmlCursor;
 import org.apache.xmlbeans.XmlException;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.XmlOptions;
-import org.w3c.dom.Element;
 import org.xml.sax.InputSource;
 
 /**
@@ -104,28 +89,6 @@
  */
 public class WSDescriptorParser {
 
-    private static SchemaTypeSystem basicTypeSystem;
-
-    static {
-        URL url = 
WSDescriptorParser.class.getClassLoader().getResource("soap_encoding_1_1.xsd");
-        if (url == null) {
-            throw new RuntimeException("Could not locate soap encoding 
schema");
-        }
-        Collection errors = new ArrayList();
-        XmlOptions xmlOptions = new XmlOptions();
-        xmlOptions.setErrorListener(errors);
-        try {
-            XmlObject xmlObject = SchemaConversionUtils.parse(url);
-            basicTypeSystem = XmlBeans.compileXsd(new XmlObject[]{xmlObject}, 
XmlBeans.getBuiltinTypeSystem(), xmlOptions);
-            if (errors.size() > 0) {
-                throw new RuntimeException("Could not compile schema type 
system: errors: " + errors);
-            }
-        } catch (XmlException e) {
-            throw new RuntimeException("Could not compile schema type system", 
e);
-        } catch (IOException e) {
-            throw new RuntimeException("Could not compile schema type system", 
e);
-        }
-    }
 
     public static Map parseWebServiceDescriptor(URL wsDDUrl, JarFile 
moduleFile, boolean isEJB) throws DeploymentException {
         try {
@@ -284,257 +247,6 @@
         return definition;
     }
 
-    public static Map buildSchemaTypeKeyToSchemaTypeMap(Definition definition) 
throws DeploymentException {
-        SchemaTypeSystem schemaTypeSystem = 
compileSchemaTypeSystem(definition);
-        return buildSchemaTypeKeyToSchemaTypeMap(schemaTypeSystem);
-    }
-
-    public static SchemaTypeSystem compileSchemaTypeSystem(Definition 
definition) throws DeploymentException {
-        List schemaList = new ArrayList();
-        Map namespaceMap = definition.getNamespaces();
-        addImportsFromDefinition(definition, namespaceMap, schemaList);
-        Collection errors = new ArrayList();
-        XmlOptions xmlOptions = new XmlOptions();
-        xmlOptions.setErrorListener(errors);
-        XmlObject[] schemas = (XmlObject[]) schemaList.toArray(new 
XmlObject[schemaList.size()]);
-        try {
-            SchemaTypeSystem schemaTypeSystem = XmlBeans.compileXsd(schemas, 
basicTypeSystem, xmlOptions);
-            if (errors.size() > 0) {
-                throw new DeploymentException("Could not compile schema type 
system: errors: " + errors);
-            }
-            return schemaTypeSystem;
-        } catch (XmlException e) {
-            throw new DeploymentException("Could not compile schema type 
system", e);
-        }
-    }
-
-    private static void addImportsFromDefinition(Definition definition, Map 
namespaceMap, List schemaList) throws DeploymentException {
-        Types types = definition.getTypes();
-        if (types != null) {
-            List schemas = types.getExtensibilityElements();
-            for (Iterator iterator = schemas.iterator(); iterator.hasNext();) {
-                Object o = iterator.next();
-                if (o instanceof Schema) {
-                    Schema unknownExtensibilityElement = (Schema) o;
-                    QName elementType = 
unknownExtensibilityElement.getElementType();
-                    if (new QName("http://www.w3.org/2001/XMLSchema";, 
"schema").equals(elementType)) {
-                        Element element = 
unknownExtensibilityElement.getElement();
-                        addSchemaElement(element, namespaceMap, schemaList);
-                    }
-                } else if (o instanceof UnknownExtensibilityElement) {
-                    //This is allegedly obsolete as of axis-wsdl4j-1.2-RC3.jar 
which includes the Schema extension above.
-                    //The change notes imply that imported schemas should end 
up in Schema elements.  They don't, so this is still needed.
-                    UnknownExtensibilityElement unknownExtensibilityElement = 
(UnknownExtensibilityElement) o;
-                    Element element = unknownExtensibilityElement.getElement();
-                    String elementNamespace = element.getNamespaceURI();
-                    String elementLocalName = element.getNodeName();
-                    if 
("http://www.w3.org/2001/XMLSchema".equals(elementNamespace) && 
"schema".equals(elementLocalName)) {
-                        addSchemaElement(element, namespaceMap, schemaList);
-                    }
-                }
-            }
-        }
-        Map imports = definition.getImports();
-        if (imports != null) {
-            for (Iterator iterator = imports.entrySet().iterator(); 
iterator.hasNext();) {
-                Map.Entry entry = (Map.Entry) iterator.next();
-                String namespaceURI = (String) entry.getKey();
-                List importList = (List) entry.getValue();
-                for (Iterator iterator1 = importList.iterator(); 
iterator1.hasNext();) {
-                    Import anImport = (Import) iterator1.next();
-                    //according to the 1.1 jwsdl mr shcema imports are 
supposed to show up here,
-                    //but according to the 1.0 spec there is supposed to be no 
Definition.
-                    Definition definition1 = anImport.getDefinition();
-                    if (definition1 != null) {
-                        addImportsFromDefinition(definition1, namespaceMap, 
schemaList);
-                    } else {
-                        System.out.println("Missing definition in import for 
namespace " + namespaceURI);
-                    }
-                }
-            }
-        }
-    }
-
-    private static void addSchemaElement(Element element, Map namespaceMap, 
List schemaList) throws DeploymentException {
-        try {
-            XmlObject xmlObject = SchemaConversionUtils.parse(element);
-            XmlCursor cursor = xmlObject.newCursor();
-            try {
-                cursor.toFirstContentToken();
-                for (Iterator namespaces = namespaceMap.entrySet().iterator(); 
namespaces.hasNext();) {
-                    Map.Entry entry = (Map.Entry) namespaces.next();
-                    cursor.insertNamespace((String) entry.getKey(), (String) 
entry.getValue());
-                }
-            } finally {
-                cursor.dispose();
-            }
-            schemaList.add(xmlObject);
-        } catch (XmlException e) {
-            throw new DeploymentException("Could not parse schema element", e);
-        }
-    }
-
-    /**
-     * builds a map of SchemaTypeKey containing jaxrpc-style fake QName and 
context info to xmlbeans SchemaType object.
-     *
-     * @param schemaTypeSystem
-     * @return
-     */
-    public static Map buildSchemaTypeKeyToSchemaTypeMap(SchemaTypeSystem 
schemaTypeSystem) {
-        Map qnameMap = new HashMap();
-        SchemaType[] globalTypes = schemaTypeSystem.globalTypes();
-        for (int i = 0; i < globalTypes.length; i++) {
-            SchemaType globalType = globalTypes[i];
-            QName typeQName = globalType.getName();
-            addSchemaType(typeQName, globalType, false, qnameMap);
-        }
-        SchemaGlobalElement[] globalElements = 
schemaTypeSystem.globalElements();
-        for (int i = 0; i < globalElements.length; i++) {
-            SchemaGlobalElement globalElement = globalElements[i];
-            addElement(globalElement, null, qnameMap);
-        }
-        return qnameMap;
-    }
-
-    private static void addElement(SchemaField element, SchemaTypeKey key, Map 
qnameMap) {
-        //TODO is this null if element is a ref?
-        QName elementName = element.getName();
-        String elementNamespace = elementName.getNamespaceURI();
-        if (elementNamespace == null || elementNamespace.equals("")) {
-            elementNamespace = key.getqName().getNamespaceURI();
-        }
-        String elementQNameLocalName;
-        SchemaTypeKey elementKey = null;
-        if (key == null) {
-            //top level. rule 2.a,
-            elementQNameLocalName = elementName.getLocalPart();
-            elementKey = new SchemaTypeKey(elementName, true, false, false);
-        } else {
-            //not top level. rule 2.b, key will be for enclosing Type.
-            QName enclosingTypeQName = key.getqName();
-            String enclosingTypeLocalName = enclosingTypeQName.getLocalPart();
-            elementQNameLocalName = enclosingTypeLocalName + ">" + 
elementName.getLocalPart();
-            QName subElementName = new QName(elementNamespace, 
elementQNameLocalName);
-            elementKey = new SchemaTypeKey(subElementName, true, false, true);
-        }
-        SchemaType schemaType = element.getType();
-        qnameMap.put(elementKey, schemaType);
-//        new Exception("Adding: " + 
elementKey.getqName().getLocalPart()).printStackTrace();
-        //check if it's an array. maxOccurs is null if unbounded
-        //element should always be a SchemaParticle... this is a workaround 
for XMLBEANS-137
-        if (element instanceof SchemaParticle) {
-            addArrayForms((SchemaParticle) element, elementKey.getqName(), 
qnameMap, schemaType);
-        } else {
-            System.out.println("element is not a schemaParticle! " + element);
-        }
-        //now, name for type.  Rule 1.b, type inside an element
-        String typeQNameLocalPart = ">" + elementQNameLocalName;
-        QName typeQName = new QName(elementNamespace, typeQNameLocalPart);
-        boolean isAnonymous = true;
-        addSchemaType(typeQName, schemaType, isAnonymous, qnameMap);
-    }
-
-    private static void addSchemaType(QName typeQName, SchemaType schemaType, 
boolean anonymous, Map qnameMap) {
-        SchemaTypeKey typeKey = new SchemaTypeKey(typeQName, false, 
schemaType.isSimpleType(), anonymous);
-        qnameMap.put(typeKey, schemaType);
-//        new Exception("Adding: " + 
typeKey.getqName().getLocalPart()).printStackTrace();
-        //TODO xmlbeans recommends using summary info from 
getElementProperties and getAttributeProperties instead of traversing the 
content model by hand.
-        SchemaParticle schemaParticle = schemaType.getContentModel();
-        if (schemaParticle != null) {
-            addSchemaParticle(schemaParticle, typeKey, qnameMap);
-        }
-    }
-
-
-    private static void addSchemaParticle(SchemaParticle schemaParticle, 
SchemaTypeKey key, Map qnameMap) {
-        if (schemaParticle.getParticleType() == SchemaParticle.ELEMENT) {
-            SchemaType elementType = schemaParticle.getType();
-            SchemaField element = elementType.getContainerField();
-            //element will be null if the type is defined elsewhere, such as a 
built in type.
-            if (element != null) {
-                addElement(element, key, qnameMap);
-            } else {
-                QName keyQName = key.getqName();
-                //TODO I can't distinguish between 3.a and 3.b, so generate 
names both ways.
-                //3.b
-                String localPart = schemaParticle.getName().getLocalPart();
-                QName elementName = new QName(keyQName.getNamespaceURI(), 
localPart);
-                addArrayForms(schemaParticle, elementName, qnameMap, 
elementType);
-                //3.a
-                localPart = keyQName.getLocalPart() + ">" + 
schemaParticle.getName().getLocalPart();
-                elementName = new QName(keyQName.getNamespaceURI(), localPart);
-                addArrayForms(schemaParticle, elementName, qnameMap, 
elementType);
-            }
-        } else {
-            SchemaParticle[] children = schemaParticle.getParticleChildren();
-            for (int i = 0; i < children.length; i++) {
-                SchemaParticle child = children[i];
-                addSchemaParticle(child, key, qnameMap);
-            }
-        }
-    }
-
-    private static void addArrayForms(SchemaParticle schemaParticle, QName 
keyName, Map qnameMap, SchemaType elementType) {
-        //it may be a ref or a built in type.  If it's an array (maxOccurs >1) 
form a type for it.
-        if (schemaParticle.getIntMaxOccurs() > 1) {
-            String maxOccurs = schemaParticle.getMaxOccurs() == null ? 
"unbounded" : "" + schemaParticle.getIntMaxOccurs();
-            int minOccurs = schemaParticle.getIntMinOccurs();
-            QName elementName = schemaParticle.getName();
-            String arrayQNameLocalName = keyName.getLocalPart() + "[" + 
minOccurs + "," + maxOccurs + "]";
-            String elementNamespace = elementName.getNamespaceURI();
-            if (elementNamespace == null || elementNamespace.equals("")) {
-                elementNamespace = keyName.getNamespaceURI();
-            }
-            QName arrayName = new QName(elementNamespace, arrayQNameLocalName);
-            SchemaTypeKey arrayKey = new SchemaTypeKey(arrayName, false, 
false, true);
-            //TODO not clear we want the schemaType as the value
-            qnameMap.put(arrayKey, elementType);
-//            new Exception("Adding: " + 
arrayKey.getqName().getLocalPart()).printStackTrace();
-            if (minOccurs == 1) {
-                arrayQNameLocalName = keyName.getLocalPart() + "[," + 
maxOccurs + "]";
-                arrayName = new QName(elementNamespace, arrayQNameLocalName);
-                arrayKey = new SchemaTypeKey(arrayName, false, false, true);
-                //TODO not clear we want the schemaType as the value
-                qnameMap.put(arrayKey, elementType);
-            }
-        }
-    }
-
-    /**
-     * Find all the complex types in the previously constructed schema 
analysis.
-     * Put them in a map from complex type QName to schema fragment.
-     *
-     * @param schemaTypeKeyToSchemaTypeMap
-     * @return
-     */
-    public static Map getComplexTypesInWsdl(Map schemaTypeKeyToSchemaTypeMap) {
-        Map complexTypeMap = new HashMap();
-        for (Iterator iterator = 
schemaTypeKeyToSchemaTypeMap.entrySet().iterator(); iterator.hasNext();) {
-            Map.Entry entry = (Map.Entry) iterator.next();
-            SchemaTypeKey key = (SchemaTypeKey) entry.getKey();
-            if (!key.isSimpleType() && !key.isAnonymous()) {
-                QName qName = key.getqName();
-                SchemaType schemaType = (SchemaType) entry.getValue();
-                complexTypeMap.put(qName, schemaType);
-            }
-        }
-        return complexTypeMap;
-    }
-
-    public static Map getElementToTypeMap(Map schemaTypeKeyToSchemaTypeMap) {
-        Map elementToTypeMap = new HashMap();
-        for (Iterator iterator = 
schemaTypeKeyToSchemaTypeMap.entrySet().iterator(); iterator.hasNext();) {
-            Map.Entry entry = (Map.Entry) iterator.next();
-            SchemaTypeKey key = (SchemaTypeKey) entry.getKey();
-            if (key.isElement()) {
-                QName elementQName = key.getqName();
-                SchemaType schemaType = (SchemaType) entry.getValue();
-                QName typeQName = schemaType.getName();
-                elementToTypeMap.put(elementQName, typeQName);
-            }
-        }
-        return elementToTypeMap;
-    }
 
     public static Map getExceptionMap(JavaWsdlMappingType mapping) {
         Map exceptionMap = new HashMap();
@@ -760,7 +472,9 @@
             } catch (IOException e) {
                 throw new RuntimeException("Could not open stream to import 
file", e);
             }
-            return new InputSource(importInputStream);
+            InputSource inputSource = new InputSource(importInputStream);
+            inputSource.setSystemId(getLatestImportURI());
+            return inputSource;
         }
 
         public String getLatestImportURI() {

Modified: 
geronimo/trunk/modules/axis-builder/src/test/org/apache/geronimo/axis/builder/ParsingTest.java
URL: 
http://svn.apache.org/viewcvs/geronimo/trunk/modules/axis-builder/src/test/org/apache/geronimo/axis/builder/ParsingTest.java?view=diff&r1=160133&r2=160134
==============================================================================
--- 
geronimo/trunk/modules/axis-builder/src/test/org/apache/geronimo/axis/builder/ParsingTest.java
 (original)
+++ 
geronimo/trunk/modules/axis-builder/src/test/org/apache/geronimo/axis/builder/ParsingTest.java
 Mon Apr  4 23:20:16 2005
@@ -38,6 +38,7 @@
  */
 public class ParsingTest extends TestCase {
     private static final File basedir = new File(System.getProperty("basedir", 
System.getProperty("user.dir")));
+    private SchemaInfoBuilder schemaInfoBuilder;
 
     public void testSchema1() throws Exception {
         File schema1 = new File(basedir, 
"src/test-resources/schema/schema1.xsd");
@@ -76,7 +77,8 @@
         } catch (XmlException e) {
             throw new DeploymentException("Could not compile schema type 
system", e);
         }
-        Map map = 
WSDescriptorParser.buildSchemaTypeKeyToSchemaTypeMap(schemaTypeSystem);
+        schemaInfoBuilder = new SchemaInfoBuilder(null, null, 
schemaTypeSystem);
+        Map map = schemaInfoBuilder.getSchemaTypeKeyToSchemaTypeMap();
         for (Iterator iterator = map.entrySet().iterator(); 
iterator.hasNext();) {
             Map.Entry entry = (Map.Entry) iterator.next();
             System.out.println(entry.getKey() + " --> " + entry.getValue());
@@ -89,7 +91,7 @@
         System.out.println("SCHEMA 4");
         Map map = parse(schema1);
         assertEquals(3, map.size());
-        Map elements = WSDescriptorParser.getElementToTypeMap(map);
+        Map elements = schemaInfoBuilder.getElementToTypeMap();
         System.out.println("ELEMENT MAP");
         System.out.println(elements);
         assertEquals(1, elements.size());

Modified: 
geronimo/trunk/modules/axis-builder/src/test/org/apache/geronimo/axis/builder/ServiceReferenceTest.java
URL: 
http://svn.apache.org/viewcvs/geronimo/trunk/modules/axis-builder/src/test/org/apache/geronimo/axis/builder/ServiceReferenceTest.java?view=diff&r1=160133&r2=160134
==============================================================================
--- 
geronimo/trunk/modules/axis-builder/src/test/org/apache/geronimo/axis/builder/ServiceReferenceTest.java
 (original)
+++ 
geronimo/trunk/modules/axis-builder/src/test/org/apache/geronimo/axis/builder/ServiceReferenceTest.java
 Mon Apr  4 23:20:16 2005
@@ -251,8 +251,8 @@
         WSDLFactory factory = WSDLFactory.newInstance();
         WSDLReader reader = factory.newWSDLReader();
         Definition definition = reader.readWSDL(wsdlFile.toURI().toString());
-        Map schemaTypeKeyToSchemaTypeMap = 
WSDescriptorParser.buildSchemaTypeKeyToSchemaTypeMap(definition);
-        Map complexTypeMap = 
WSDescriptorParser.getComplexTypesInWsdl(schemaTypeKeyToSchemaTypeMap);
+        SchemaInfoBuilder schemaInfoBuilder = new SchemaInfoBuilder(null, 
definition);
+        Map complexTypeMap = schemaInfoBuilder.getComplexTypesInWsdl();
         assertEquals(7, complexTypeMap.size());
     }
 
@@ -274,6 +274,7 @@
     private Definition buildDefinition() throws WSDLException {
         WSDLFactory factory = WSDLFactory.newInstance();
         Definition definition = factory.newDefinition();
+        definition.setDocumentBaseURI("META-INF/wsdl/fake.wsdl");
         ExtensionRegistry extensionRegistry = 
factory.newPopulatedExtensionRegistry();
         BindingOperation bindingOperation = buildBindingOperation(definition, 
extensionRegistry);
         Binding binding = definition.createBinding();

Modified: geronimo/trunk/modules/axis/src/etc/META-INF/geronimo-service.xml
URL: 
http://svn.apache.org/viewcvs/geronimo/trunk/modules/axis/src/etc/META-INF/geronimo-service.xml?view=diff&r1=160133&r2=160134
==============================================================================
--- geronimo/trunk/modules/axis/src/etc/META-INF/geronimo-service.xml (original)
+++ geronimo/trunk/modules/axis/src/etc/META-INF/geronimo-service.xml Mon Apr  
4 23:20:16 2005
@@ -31,13 +31,13 @@
         <uri>axis/jars/axis-saaj-${axis_saaj_version}.jar</uri>
     </dependency-->
     <dependency>
-        <uri>axis/jars/axis-wsdl4j-${axis_wsdl4j_version}.jar</uri>
+        <uri>wsdl4j/jars/wsdl4j-${wsdl4j_version}.jar</uri>
     </dependency>
     <dependency>
         
<uri>axis/jars/commons-discovery-${axis_commons_discovery_version}.jar</uri>
     </dependency>
-    <dependency>
-        <uri>ews/jars/ews-${ews_version}.jar</uri>
-    </dependency>
+<!--    <dependency>-->
+<!--        <uri>ews/jars/ews-${ews_version}.jar</uri>-->
+<!--    </dependency>-->
 
 </service>

Modified: geronimo/trunk/modules/jetty-builder/project.xml
URL: 
http://svn.apache.org/viewcvs/geronimo/trunk/modules/jetty-builder/project.xml?view=diff&r1=160133&r2=160134
==============================================================================
--- geronimo/trunk/modules/jetty-builder/project.xml (original)
+++ geronimo/trunk/modules/jetty-builder/project.xml Mon Apr  4 23:20:16 2005
@@ -6,16 +6,16 @@
     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at
-  
+
        http://www.apache.org/licenses/LICENSE-2.0
-  
+
     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
 -->
-  
+
 <!-- $Rev$ $Date$ -->
 
 <project>
@@ -93,19 +93,19 @@
                 <xmlbeans>true</xmlbeans>
             </properties>
         </dependency>
-        
+
        <dependency>
             <groupId>geronimo</groupId>
             <artifactId>geronimo-jetty</artifactId>
-            <version>${pom.currentVersion}</version>           
+            <version>${pom.currentVersion}</version>
         </dependency>
-        
+
        <dependency>
             <groupId>geronimo</groupId>
             <artifactId>geronimo-j2ee</artifactId>
-            <version>${pom.currentVersion}</version>           
+            <version>${pom.currentVersion}</version>
         </dependency>
-        
+
         <dependency>
             <groupId>geronimo</groupId>
             <artifactId>geronimo-j2ee-builder</artifactId>
@@ -315,9 +315,9 @@
         </dependency>
 
         <dependency>
-            <groupId>axis</groupId>
-            <artifactId>axis-wsdl4j</artifactId>
-            <version>${axis_wsdl4j_version}</version>
+            <groupId>wsdl4j</groupId>
+            <artifactId>wsdl4j</artifactId>
+            <version>${wsdl4j_version}</version>
         </dependency>
 
     </dependencies>


Reply via email to