You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yoko-commits@incubator.apache.org by br...@apache.org on 2006/06/07 18:11:55 UTC

svn commit: r412473 - in /incubator/yoko/trunk/tools/src: main/java/org/apache/yoko/tools/processors/idl/ main/java/org/apache/yoko/tools/processors/wsdl/ test/resources/idl/

Author: bravi
Date: Wed Jun  7 11:11:54 2006
New Revision: 412473

URL: http://svn.apache.org/viewvc?rev=412473&view=rev
Log:
Updating the idltowsdl tool to add the corba binding when generating the wsdl. Jira: http://issues.apache.org/jira/browse/YOKO-52

Modified:
    incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/IDLToWSDLProcessor.java
    incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/MessagePartVisitor.java
    incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/TypesVisitor.java
    incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/WSDLASTVisitor.java
    incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLParameter.java
    incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToCorbaBinding.java
    incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToCorbaProcessor.java
    incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToIDLAction.java
    incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToProcessor.java
    incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToTypeProcessor.java
    incubator/yoko/trunk/tools/src/test/resources/idl/expected_HelloWorld.wsdl

Modified: incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/IDLToWSDLProcessor.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/IDLToWSDLProcessor.java?rev=412473&r1=412472&r2=412473&view=diff
==============================================================================
--- incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/IDLToWSDLProcessor.java (original)
+++ incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/IDLToWSDLProcessor.java Wed Jun  7 11:11:54 2006
@@ -8,9 +8,11 @@
 import java.io.FileInputStream;
 import java.io.InputStream;
 import java.io.OutputStream;
+import java.util.Map;
 import java.util.StringTokenizer;
 
 import javax.wsdl.Definition;
+import javax.xml.namespace.QName;
 
 import org.objectweb.celtix.tools.common.Processor;
 import org.objectweb.celtix.tools.common.ProcessorEnvironment;
@@ -20,6 +22,8 @@
 import org.apache.yoko.tools.common.ToolCorbaConstants;
 import org.apache.yoko.tools.common.W3CConstants;
 
+import org.apache.yoko.tools.processors.wsdl.WSDLToCorbaBinding;
+
 public class IDLToWSDLProcessor implements Processor {
 
     private String idl;
@@ -27,7 +31,6 @@
     private OutputStream outStream;
     
     public void process() throws ToolException {
-        Definition def = null;
         idl = getBaseFilename(env.get(ToolCorbaConstants.CFG_IDLFILE).toString());
         try {
             parseIDL();
@@ -37,7 +40,7 @@
     }
 
     public void setOutputStream(OutputStream out) {
-	outStream = out;
+        outStream = out;
     }
 
     public void parseIDL() throws Exception {
@@ -46,23 +49,33 @@
         parser.specification();
         AST idlTree = parser.getAST();
 
-	String tns = (String) env.get(ToolCorbaConstants.CFG_TNS);
-	if (tns == null) {
-	    tns = CORBAConstants.WSDL_NS_URI + idl;
-	}
-
-	try {
-	    WSDLASTVisitor visitor = new WSDLASTVisitor(tns);
-	    visitor.visit(idlTree);
-	    if (outStream == null) {
-		java.io.File file = new java.io.File(idl + ".wsdl");
-		outStream = new java.io.FileOutputStream(file);
-	    }
-	    visitor.writeDefinition(outStream);
-	} catch (Exception ex) {
-	    ex.printStackTrace();
+        String tns = (String) env.get(ToolCorbaConstants.CFG_TNS);
+        if (tns == null) {
+            tns = CORBAConstants.WSDL_NS_URI + idl;
+        }
+
+        try {
+            WSDLASTVisitor visitor = new WSDLASTVisitor(tns);
+            visitor.visit(idlTree);
+            if (outStream == null) {
+                //Use the specified file name from the environment(if provided)
+                java.io.File file = new java.io.File(idl + ".wsdl");
+                outStream = new java.io.FileOutputStream(file);
+            }
+            Definition def = visitor.getDefinition();
+            WSDLToCorbaBinding corbaBinding = new WSDLToCorbaBinding();
+            Map portTypes = def.getPortTypes();
+            java.util.Iterator it = portTypes.keySet().iterator();
+            while (it.hasNext()) {
+                QName portType = (QName) it.next();
+                corbaBinding.addInterfaceName(portType.getLocalPart());
+            }
+            corbaBinding.generateCORBABinding(def);
+            visitor.writeDefinition(outStream);
+        } catch (Exception ex) {
+            ex.printStackTrace();
             throw new ToolException(ex.getMessage(), ex);
-	}
+        }
     }
 
     public void setEnvironment(ProcessorEnvironment penv) {

Modified: incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/MessagePartVisitor.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/MessagePartVisitor.java?rev=412473&r1=412472&r2=412473&view=diff
==============================================================================
--- incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/MessagePartVisitor.java (original)
+++ incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/MessagePartVisitor.java Wed Jun  7 11:11:54 2006
@@ -75,7 +75,7 @@
         QName element = inputMsg.getQName();
         if (inputMsg.getParts().size() == 0) {
             part = definition.createPart();
-            part.setName("parameters");
+            part.setName("inparameter");
             part.setElementName(element);
             typesVisitor.addElement(element);
             inputMsg.addPart(part);
@@ -91,7 +91,7 @@
         QName element = outputMsg.getQName();
         if (outputMsg.getParts().size() == 0) {
             part = definition.createPart();
-            part.setName("parameters");
+            part.setName("outparameter");
             part.setElementName(element);
             typesVisitor.addElement(element);
             outputMsg.addPart(part);

Modified: incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/TypesVisitor.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/TypesVisitor.java?rev=412473&r1=412472&r2=412473&view=diff
==============================================================================
--- incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/TypesVisitor.java (original)
+++ incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/TypesVisitor.java Wed Jun  7 11:11:54 2006
@@ -47,9 +47,7 @@
         Schema wsdlSchema = (Schema) definition.getExtensionRegistry().createExtension(Types.class,
                                                                                        new QName("http://www.w3.org/2001/XMLSchema",
                                                                                                  "schema"));
-        XmlSchemaObjectTable table = schema.getElements();
         org.w3c.dom.Element el = XmlSchemaSerializer.serializeSchema(schema, true)[0].getDocumentElement();
-        org.w3c.dom.NodeList list = el.getChildNodes();
         wsdlSchema.setElement(el);
         types.addExtensibilityElement(wsdlSchema);
         definition.setTypes(types);

Modified: incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/WSDLASTVisitor.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/WSDLASTVisitor.java?rev=412473&r1=412472&r2=412473&view=diff
==============================================================================
--- incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/WSDLASTVisitor.java (original)
+++ incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/WSDLASTVisitor.java Wed Jun  7 11:11:54 2006
@@ -38,6 +38,11 @@
             break;
         default: System.out.println("Visit for node: " + node.getType() + ":" + node);
         }
+        try {
+            typesVisitor.attachSchema();
+        } catch (Exception ex) {
+            throw new RuntimeException(ex);
+        }
     }
 
     public Definition getDefinition() {
@@ -58,7 +63,6 @@
     }
 
     public boolean writeDefinition(OutputStream outstream) throws Exception {
-        typesVisitor.attachSchema();
         WSDLWriter writer = wsdlFactory.newWSDLWriter();
         writer.writeWSDL(definition, outstream);
         return true;

Modified: incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLParameter.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLParameter.java?rev=412473&r1=412472&r2=412473&view=diff
==============================================================================
--- incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLParameter.java (original)
+++ incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLParameter.java Wed Jun  7 11:11:54 2006
@@ -55,7 +55,6 @@
                 Part part = (Part)i.next();
                 XmlSchemaType schemaType = null;
                 schemaType = lookUpType(part, xmlSchemaList);
-                schemaType = lookUpType(part, xmlSchemaList);
                 if ((part.getTypeName() != null) || (part.getElementName() != null)) {
                     ParamType paramtype = createParamType(wsdlToCorbaBinding, part, "in", schemaType);
                     inputs.add(paramtype);
@@ -156,7 +155,7 @@
         Iterator i = xmlSchemaList.iterator();
         while (i.hasNext()) {
             XmlSchema xmlSchemaType = (XmlSchema)i.next();
-        
+            
             if (part.getElementName() != null) {
                 XmlSchemaElement schemaElement = xmlSchemaType.getElementByName(part.getElementName());
                 if (schemaElement != null) {

Modified: incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToCorbaBinding.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToCorbaBinding.java?rev=412473&r1=412472&r2=412473&view=diff
==============================================================================
--- incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToCorbaBinding.java (original)
+++ incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToCorbaBinding.java Wed Jun  7 11:11:54 2006
@@ -69,24 +69,27 @@
     WSDLParameter wsdlParameter;
     List<Object> bindingNames;
     List<XmlSchema> xmlSchemaList; 
+
+    WSDLToTypeProcessor typeProcessor = new WSDLToTypeProcessor();
     
     public WSDLToCorbaBinding() {            
     }
 
+    public void setXMLSchemaList(List<XmlSchema> list) {
+        xmlSchemaList = list;
+    }
+
+    public void setXMLSchema(XmlSchema schema) {
+        xmlSchemaType = schema;
+    }
+
     public Definition generateCORBABinding() throws Exception {
-        try { 
+        try {
             extReg = new ExtensionRegistry(); 
             addExtensions(extReg);
-            wsdlParameter = new WSDLParameter();
-            WSDLToTypeProcessor typeProcessor = new WSDLToTypeProcessor();
             typeProcessor.setExtensionRegistry(extReg);            
-            typeProcessor.process(getWsdlFileName());
+            typeProcessor.parseWSDL(getWsdlFileName());
             def = typeProcessor.getWSDLDefinition();
-            setIdlNamespace(def);
-            generateNSPrefix(def, getIdlNamespace(), "ns");
-            corbaPrimitiveMap = new CorbaPrimitiveMap();
-            xmlSchemaType = typeProcessor.getXmlSchemaType();
-            xmlSchemaList = typeProcessor.getXmlSchemaTypes();
             generateCORBABinding(def);
         } catch (Exception ex) {
             throw ex;
@@ -94,9 +97,24 @@
         return def;
     }
 
-    public void generateCORBABinding(Definition definition) throws Exception {
-    
+    public void generateCORBABinding(Definition definition) throws Exception {    
         def = definition;
+
+        if (extReg == null) {
+            extReg = def.getExtensionRegistry();
+            addExtensions(extReg);
+            typeProcessor.setExtensionRegistry(extReg);
+        }
+        typeProcessor.setWSDLDefinition(def);
+        wsdlParameter = new WSDLParameter();
+        setIdlNamespace(def);
+        generateNSPrefix(def, getIdlNamespace(), "ns");
+        corbaPrimitiveMap = new CorbaPrimitiveMap();
+
+        typeProcessor.process();
+
+        xmlSchemaType = typeProcessor.getXmlSchemaType();
+        xmlSchemaList = typeProcessor.getXmlSchemaTypes();
         List<PortType> intfs = null;
 
         if (interfaceNames.size() > 0) {
@@ -171,6 +189,12 @@
 
     private void generateCORBABinding(Definition definition, PortType portType) throws Exception {
         QName bqname = null;
+
+        if (extReg == null) {
+            extReg = def.getExtensionRegistry();
+            addExtensions(extReg);
+        }
+
         bindingNames = new ArrayList<Object>();
         String interfaceName = portType.getQName().getLocalPart();
         String bname = getMappedBindingName(interfaceName);
@@ -186,17 +210,21 @@
             bname = mangleInterfaceName(interfaceName) + "CORBABinding";
             setBindingName(bname);
             bqname = new QName(definition.getTargetNamespace(), bname, prefix);
+            int count = 0;
+            while (queryBinding(definition, bqname)) {
+                bname = bname + count;
+                bqname = new QName(definition.getTargetNamespace(), bname, prefix);
+            }
         } else {
             bqname = new QName(definition.getTargetNamespace(), bname, prefix);
-        }
-
-        // Check if the Binding with name already exists
-        if (queryBinding(definition, bqname)) {
-            String msgStr = "Binding " + bqname.getLocalPart() 
-                + " already exists in WSDL.";
-            org.objectweb.celtix.common.i18n.Message msg = 
-                new org.objectweb.celtix.common.i18n.Message(msgStr, LOG);
-            throw new Exception(msg.toString());                    
+            // Check if the Binding with name already exists
+            if (queryBinding(definition, bqname)) {
+                String msgStr = "Binding " + bqname.getLocalPart() 
+                    + " already exists in WSDL.";
+                org.objectweb.celtix.common.i18n.Message msg = 
+                    new org.objectweb.celtix.common.i18n.Message(msgStr, LOG);
+                throw new Exception(msg.toString());                    
+            }
         }
 
         // jwsdl model should have all other bindings in it.
@@ -227,7 +255,6 @@
             binding.addExtensibilityElement(bindingType);
         } catch (WSDLException ex) {
             ex.printStackTrace();
-            System.out.println("adding the ext element ot binding.");
         }
 
         try {
@@ -235,7 +262,6 @@
             binding.setUndefined(false);
             definition.addBinding(binding);            
         } catch (Exception ex) {
-            System.out.println("error adding binding");
             ex.printStackTrace();
         }
     }
@@ -275,7 +301,6 @@
     }
 
     public void addExtensions(ExtensionRegistry extRegistry) throws JAXBException {
-        extReg = extRegistry;
         try {
                       
             JAXBExtensionHelper.addExtensions(extReg, Binding.class, BindingType.class);

Modified: incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToCorbaProcessor.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToCorbaProcessor.java?rev=412473&r1=412472&r2=412473&view=diff
==============================================================================
--- incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToCorbaProcessor.java (original)
+++ incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToCorbaProcessor.java Wed Jun  7 11:11:54 2006
@@ -75,10 +75,9 @@
         } catch (ToolException ex) {
             throw ex;      
         } catch (JAXBException ex) {
-            System.out.println("exception occured");
             throw new ToolException(ex);            
         } catch (Exception ex) {
-            throw new ToolException(ex.getMessage());
+            throw new ToolException(ex);
         }                
     }
 
@@ -86,10 +85,6 @@
 
         Writer outputWriter = null;        
         try {
-            /*OutputStreamFactory factory = new FileOutputStreamFactory();
-            OutputStream out = factory.createOutputStream(wsdlOutput);
-            PrintWriter pw = new PrintWriter(out);*/
-
             WSDLCorbaFactory wsdlfactory = WSDLCorbaFactory
                 .newInstance("org.apache.yoko.tools.processors.wsdl.WSDLCorbaFactoryImpl");
             WSDLWriter writer = wsdlfactory.newWSDLWriter();            

Modified: incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToIDLAction.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToIDLAction.java?rev=412473&r1=412472&r2=412473&view=diff
==============================================================================
--- incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToIDLAction.java (original)
+++ incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToIDLAction.java Wed Jun  7 11:11:54 2006
@@ -60,42 +60,33 @@
     private IdlInterface intf;
     ExtensionRegistry extReg;
 
+    WSDLToTypeProcessor typeProcessor = new WSDLToTypeProcessor();
+
     public WSDLToIDLAction() {
     }
     
     public void generateIDL(Definition definition) throws Exception {
-
-        if (definition == null) {            
-            try {
-                extReg = new ExtensionRegistry(); 
-                addExtensions(extReg);                
-                WSDLToTypeProcessor typeProcessor = new WSDLToTypeProcessor();                
-                typeProcessor.setExtensionRegistry(extReg);  
-                typeProcessor.process(wsdlFileName);
-                def = typeProcessor.getWSDLDefinition();
-                Binding binding = findBinding(def);
-                if (binding != null) {
-                    generateIDL(def, binding);
-                } else {
-                    String msgStr = "Binding " + bindingName + " doesn't exists in WSDL.";
-                    org.objectweb.celtix.common.i18n.Message msg = 
-                        new org.objectweb.celtix.common.i18n.Message(msgStr, LOG);
-                    throw new Exception(msg.toString());
-                }
-            } catch (Exception ex) {
-                throw ex;
-            }
+        if (definition == null) {
+            extReg = new ExtensionRegistry(); 
+            addExtensions(extReg);
+            typeProcessor.setExtensionRegistry(extReg); 
+            typeProcessor.parseWSDL(wsdlFileName);
+            def = typeProcessor.getWSDLDefinition();
         } else {
             def = definition;
-            Binding binding = findBinding(definition);
-            if (binding == null) {
-                String msgStr = "Binding " + bindingName + " doesn't exists in WSDL.";
-                org.objectweb.celtix.common.i18n.Message msg = 
-                    new org.objectweb.celtix.common.i18n.Message(msgStr, LOG);
-                throw new Exception(msg.toString());
-            }
-            generateIDL(definition, binding);
+            extReg = def.getExtensionRegistry();
+            addExtensions(extReg);
+            typeProcessor.setExtensionRegistry(extReg);
+        }
+
+        Binding binding = findBinding(def);
+        if (binding == null) {
+            String msgStr = "Binding " + bindingName + " doesn't exists in WSDL.";
+            org.objectweb.celtix.common.i18n.Message msg = 
+                new org.objectweb.celtix.common.i18n.Message(msgStr, LOG);
+            throw new Exception(msg.toString());
         }
+        generateIDL(def, binding);
     }
 
     
@@ -531,4 +522,4 @@
         return namespace;
     }
 
-}
\ No newline at end of file
+}

Modified: incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToProcessor.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToProcessor.java?rev=412473&r1=412472&r2=412473&view=diff
==============================================================================
--- incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToProcessor.java (original)
+++ incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToProcessor.java Wed Jun  7 11:11:54 2006
@@ -19,6 +19,7 @@
 import javax.wsdl.Types;
 import javax.wsdl.WSDLException;
 import javax.wsdl.extensions.ExtensionRegistry;
+import javax.wsdl.extensions.UnknownExtensibilityElement;
 import javax.wsdl.extensions.schema.Schema;
 import javax.wsdl.extensions.schema.SchemaImport;
 import javax.wsdl.factory.WSDLFactory;
@@ -65,9 +66,6 @@
         schemaList = new ArrayList<Schema>();
     }
 
-    public void process() throws ToolException {
-    }
-
     public void parseWSDL(String wsdlUrl) {
         try {           
             WSDLFactory factory = WSDLFactory.newInstance();
@@ -78,6 +76,8 @@
                 reader.setExtensionRegistry(extReg);
             }
             wsdlDefinition = reader.readWSDL(wsdlUrl);
+
+            //bravi, Why are we doing this?
             parseImports(wsdlDefinition);
             buildWSDLDefinition();
         } catch (WSDLException we) {
@@ -87,27 +87,6 @@
             throw new ToolException(msg, we);
         } 
     }
-
-    public void addExtensions(ExtensionRegistry extRegistry) throws JAXBException {
-        extReg = extRegistry;
-        try {
-                      
-            JAXBExtensionHelper.addExtensions(extReg, Binding.class, BindingType.class);
-            JAXBExtensionHelper.addExtensions(extReg, BindingOperation.class,
-                                              org.apache.schemas.yoko.bindings.corba.OperationType.class);
-            JAXBExtensionHelper.addExtensions(extReg, Definition.class, TypeMappingType.class);
-
-            extReg.mapExtensionTypes(Binding.class, CORBAConstants.NE_CORBA_BINDING, BindingType.class);
-            extReg.mapExtensionTypes(BindingOperation.class, CORBAConstants.NE_CORBA_OPERATION,
-                                     org.apache.schemas.yoko.bindings.corba.OperationType.class);
-            extReg.mapExtensionTypes(Definition.class, CORBAConstants.NE_CORBA_TYPEMAPPING,
-                                     TypeMappingType.class);
-
-        } catch (javax.xml.bind.JAXBException ex) {
-            LOG.log(Level.SEVERE, "Failing to serialize/deserialize extensions", ex);
-            throw new JAXBException(ex.getMessage());
-        }
-    }    
     
     private void buildWSDLDefinition() {
         for (Definition def : importedDefinitions) {
@@ -149,68 +128,49 @@
         }
     }
 
-    protected void parseWSDLFileType(String wsdlFileName) throws ParserConfigurationException, SAXException,
-        IOException {
-
-        try {
-            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-            factory.setNamespaceAware(true);
-            DocumentBuilder parser = factory.newDocumentBuilder();
-            Document document = parser.parse(wsdlFileName);            
-            Element root = document.getDocumentElement();
-            for (Node nd = root.getFirstChild(); nd != null; nd = nd.getNextSibling()) {
-                if (Node.ELEMENT_NODE == nd.getNodeType() && ("types".equals(nd.getLocalName()))) {
-
-                    for (Node nd1 = nd.getFirstChild(); nd1 != null; nd1 = nd1.getNextSibling()) {
-                        if (Node.ELEMENT_NODE == nd1.getNodeType()) {
-                            Element el2 = (Element)nd1;
-                            schematype = schemaCol.read(el2, "http://www.w3.org/2001/XMLSchema");
-                            schematypeList.add(schematype);
-                        }
-                    }
-                }
-
-            }
-        } catch (ParserConfigurationException ex) {
-            LOG.log(Level.SEVERE, "Failing to get document builder", ex);
-            throw new ParserConfigurationException(ex.toString());
-        } catch (SAXException ex) {
-            LOG.log(Level.SEVERE, "Failing to parse file", ex);
-            throw new SAXException(ex.toString());
-        } catch (IOException ex) {
-            LOG.log(Level.SEVERE, "Failing to get file", ex);
-            throw new SAXException(ex.toString());
-        }
-    }
-
     private void extractSchema(Definition def) {
         Types typesElement = def.getTypes();
         if (typesElement != null) {
             Iterator ite = typesElement.getExtensibilityElements().iterator();
             while (ite.hasNext()) {
                 Object obj = ite.next();
+                org.w3c.dom.Element schemaElem = null;
                 if (obj instanceof Schema) {
-                    Schema schema = (Schema)obj;
+                    Schema schema = (Schema) obj;
                     addSchema(schema);
+                    schemaElem = schema.getElement();
+                } else if (obj instanceof UnknownExtensibilityElement) {
+                    org.w3c.dom.Element elem = ((UnknownExtensibilityElement) obj).getElement();
+                    if (elem.getTagName().equals("schema")) {
+                        schemaElem = elem;
+                    }
+                }
+                if (schemaElem != null) {
+                    schematype = schemaCol.read(schemaElem);
+                    schematypeList.add(schematype);
                 }
             }
         }
     }
 
-    private void initModel() {
+    public void process() throws ToolException {
+        if (env == null) {
+            env = new ProcessorEnvironment();
+            env.put("wsdlurl", wsdlDefinition.getDocumentBaseURI());
+        }
+
         schemaTargetNamespaces.clear();
         extractSchema(wsdlDefinition);
         for (Definition def : importedDefinitions) {
             extractSchema(def);
         }
-
         if (schemaList.size() == 0) {
             if (env.isVerbose()) {
                 System.err.println("No schema provided in the wsdl file");
             }
             return;
-        }     
-        schemaTargetNamespaces.clear();
+        }
+        schemaTargetNamespaces.clear();     
     }
     
     private boolean isSchemaImported(Schema schema) {
@@ -246,23 +206,16 @@
         if (!isSchemaImported(schema)) {
             schemaList.add(schema);
         }
-    }    
-    
-    protected void init(String wsdlFilename) throws Exception {
-        parseWSDLFileType(wsdlFilename);
-        parseWSDL(wsdlFilename);
-        if (env == null) {
-            env = new ProcessorEnvironment();
-            env.put("wsdlurl", wsdlDefinition.getDocumentBaseURI());
-        }
-
-        initModel();
     }
 
     public Definition getWSDLDefinition() {
         return this.wsdlDefinition;
     }
 
+    public void setWSDLDefinition(Definition definition) {
+        wsdlDefinition = definition;
+    }
+
     public XmlSchema getXmlSchemaType() {
         return this.schematype;
     }
@@ -285,18 +238,5 @@
     
     public ExtensionRegistry getExtensionRegistry() {
         return extReg;
-    }
-    
-    /*public void setExtensionRegistry() {
-        try {
-            extReg = new ExtensionRegistry(); 
-            addExtensions(extReg);
-        } catch (Exception ex) {
-            org.objectweb.celtix.common.i18n.Message msg = 
-                new org.objectweb.celtix.common.i18n.Message(
-                    "FAIL_TO_CREATE_WSDL_DEFINITION", LOG);
-            throw new ToolException(msg, ex);
-        }
-    }*/
-
+    }   
 }

Modified: incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToTypeProcessor.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToTypeProcessor.java?rev=412473&r1=412472&r2=412473&view=diff
==============================================================================
--- incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToTypeProcessor.java (original)
+++ incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToTypeProcessor.java Wed Jun  7 11:11:54 2006
@@ -1,9 +1,6 @@
 package org.apache.yoko.tools.processors.wsdl;
 
-public class WSDLToTypeProcessor extends WSDLToProcessor {
-    
-    public void process(String wsdlFilename) throws Exception {
-        init(wsdlFilename);
-    }
+import javax.wsdl.Definition;
 
+public class WSDLToTypeProcessor extends WSDLToProcessor {    
 }

Modified: incubator/yoko/trunk/tools/src/test/resources/idl/expected_HelloWorld.wsdl
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/test/resources/idl/expected_HelloWorld.wsdl?rev=412473&r1=412472&r2=412473&view=diff
==============================================================================
--- incubator/yoko/trunk/tools/src/test/resources/idl/expected_HelloWorld.wsdl (original)
+++ incubator/yoko/trunk/tools/src/test/resources/idl/expected_HelloWorld.wsdl Wed Jun  7 11:11:54 2006
@@ -1,13 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<wsdl:definitions targetNamespace="http://schemas.apache.org/yoko/idl/HelloWorld" xmlns:tns="http://schemas.apache.org/yoko/idl/HelloWorld" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+<wsdl:definitions targetNamespace="http://schemas.apache.org/yoko/idl/HelloWorld" xmlns:tns="http://schemas.apache.org/yoko/idl/HelloWorld" xmlns:corba="http://schemas.apache.org/yoko/bindings/corba" xmlns:ns1="http://schemas.apache.org/yoko/idl/HelloWorld/corba/typemap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
   <wsdl:types>
     <xs:schema attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://schemas.apache.org/yoko/idl/HelloWorld" xmlns="http://schemas.apache.org/yoko/idl/HelloWorld" xmlns:xs="http://www.w3.org/2001/XMLSchema"><xs:element name="greetMeResponse" type="xs:string"/><xs:element name="greetMe" type="xs:string"/></xs:schema>
   </wsdl:types>
   <wsdl:message name="greetMeResponse">
-    <wsdl:part name="parameters" element="tns:greetMeResponse"/>
+    <wsdl:part name="outparameter" element="tns:greetMeResponse"/>
   </wsdl:message>
   <wsdl:message name="greetMe">
-    <wsdl:part name="parameters" element="tns:greetMe"/>
+    <wsdl:part name="inparameter" element="tns:greetMe"/>
   </wsdl:message>
   <wsdl:portType name="HelloWorld">
     <wsdl:operation name="greetMe">
@@ -15,4 +15,13 @@
       <wsdl:output name="greetMeResponse" message="tns:greetMeResponse"/>
     </wsdl:operation>
   </wsdl:portType>
-</wsdl:definitions>
+  <wsdl:binding name="HelloWorldCORBABinding" type="tns:HelloWorld">
+<corba:binding repositoryID="IDL:HelloWorld:1.0" />    <wsdl:operation name="greetMe">
+<corba:operation name="greetMe"><corba:param mode="in" name="inparameter" idltype="corba:string" /><corba:return name="outparameter" idltype="corba:string" /></corba:operation>      <wsdl:input name="greetMeRequest">
+      </wsdl:input>
+      <wsdl:output name="greetMeResponse">
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+<corba:typeMapping targetNamespace="http://schemas.apache.org/yoko/idl/HelloWorld/corba/typemap/" /></wsdl:definitions>
+