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/15 17:59:55 UTC

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

Author: bravi
Date: Thu Jun 15 10:59:54 2006
New Revision: 414644

URL: http://svn.apache.org/viewvc?rev=414644&view=rev
Log:
Applying matteo's patch for supporting primitive types in the idltowsdl tool. Jira:http://issues.apache.org/jira/browse/YOKO-52
Also, changed the name of the abstract classes in the core module from Abstract*Test to Abstract*TestBase so that they don't get run by maven. Jira:http://issues.apache.org/jira/browse/YOKO-63

Added:
    incubator/yoko/trunk/core/src/test/java/org/apache/yoko/AbstractCollocTestBase.java   (with props)
    incubator/yoko/trunk/core/src/test/java/org/apache/yoko/AbstractMatrixOrbTestBase.java   (with props)
    incubator/yoko/trunk/core/src/test/java/org/apache/yoko/AbstractOrbTestBase.java   (with props)
    incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/ReturnParameterVisitor.java   (with props)
    incubator/yoko/trunk/tools/src/test/resources/idl/expected_Primitives.wsdl   (with props)
    incubator/yoko/trunk/tools/src/test/resources/idl/primitives.idl
Removed:
    incubator/yoko/trunk/core/src/test/java/org/apache/yoko/AbstractCollocTest.java
    incubator/yoko/trunk/core/src/test/java/org/apache/yoko/AbstractMatrixOrbTest.java
    incubator/yoko/trunk/core/src/test/java/org/apache/yoko/AbstractOrbTest.java
Modified:
    incubator/yoko/trunk/core/pom.xml
    incubator/yoko/trunk/core/src/test/java/org/apache/yoko/CodeSetTest.java
    incubator/yoko/trunk/core/src/test/java/org/apache/yoko/InsTest.java
    incubator/yoko/trunk/core/src/test/java/org/apache/yoko/LocalTest.java
    incubator/yoko/trunk/core/src/test/java/org/apache/yoko/ObvTest.java
    incubator/yoko/trunk/core/src/test/java/org/apache/yoko/PiTest.java
    incubator/yoko/trunk/core/src/test/java/org/apache/yoko/PoaTest.java
    incubator/yoko/trunk/core/src/test/java/org/apache/yoko/RMITest.java
    incubator/yoko/trunk/core/src/test/java/org/apache/yoko/RetryTest.java
    incubator/yoko/trunk/core/src/test/java/org/apache/yoko/TypesTest.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/MessageVisitor.java
    incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/PortTypeVisitor.java
    incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/PrimitiveTypesVisitor.java
    incubator/yoko/trunk/tools/src/test/java/org/apache/yoko/tools/processors/IDLToWSDLGenerationTest.java

Modified: incubator/yoko/trunk/core/pom.xml
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/core/pom.xml?rev=414644&r1=414643&r2=414644&view=diff
==============================================================================
--- incubator/yoko/trunk/core/pom.xml (original)
+++ incubator/yoko/trunk/core/pom.xml Thu Jun 15 10:59:54 2006
@@ -66,9 +66,6 @@
           <includes>
             <include implementation="java.lang.String">**/org/apache/yoko/*Test.java</include>
           </includes>
-          <excludes>
-            <exclude implementation="java.lang.String">**/org/apache/yoko/Abstract*Test.java</exclude>
-          </excludes>
           <systemProperties>
             <property>
               <name>java.endorsed.dirs</name>

Added: incubator/yoko/trunk/core/src/test/java/org/apache/yoko/AbstractCollocTestBase.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/core/src/test/java/org/apache/yoko/AbstractCollocTestBase.java?rev=414644&view=auto
==============================================================================
--- incubator/yoko/trunk/core/src/test/java/org/apache/yoko/AbstractCollocTestBase.java (added)
+++ incubator/yoko/trunk/core/src/test/java/org/apache/yoko/AbstractCollocTestBase.java Thu Jun 15 10:59:54 2006
@@ -0,0 +1,25 @@
+package org.apache.yoko;
+
+import junit.framework.TestSuite;
+
+public class AbstractCollocTestBase extends AbstractOrbTestBase {
+    protected String mainClass;
+    protected String[] args;
+    public AbstractCollocTestBase(String testName) {
+        super(testName);
+    }
+    public void testColloc() throws Exception {
+        client.invokeMain(mainClass, args);
+    }
+        
+    public static TestSuite generateTestSuite(String mainClass, String[][] args) {
+        TestSuite suite = new TestSuite();
+        for(int i = 0; i < args.length; i++) {
+            AbstractCollocTestBase test = new AbstractCollocTestBase("testColloc");
+            test.mainClass = mainClass;
+            test.args = args[i];
+            suite.addTest(test);
+        }
+        return suite;
+    }
+}

Propchange: incubator/yoko/trunk/core/src/test/java/org/apache/yoko/AbstractCollocTestBase.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/yoko/trunk/core/src/test/java/org/apache/yoko/AbstractCollocTestBase.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/yoko/trunk/core/src/test/java/org/apache/yoko/AbstractMatrixOrbTestBase.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/core/src/test/java/org/apache/yoko/AbstractMatrixOrbTestBase.java?rev=414644&view=auto
==============================================================================
--- incubator/yoko/trunk/core/src/test/java/org/apache/yoko/AbstractMatrixOrbTestBase.java (added)
+++ incubator/yoko/trunk/core/src/test/java/org/apache/yoko/AbstractMatrixOrbTestBase.java Thu Jun 15 10:59:54 2006
@@ -0,0 +1,57 @@
+package org.apache.yoko;
+
+import java.io.File;
+
+import junit.framework.TestSuite;
+/**
+ * 
+ * Generates a test matrix of server- and client configurations. A default 
+ * matrix is provided.
+ */
+public class AbstractMatrixOrbTestBase extends AbstractOrbTestBase {
+    protected static String[][] defaultServers = new String[][] { 
+        new String[] { "-OAthreaded" },
+        new String[] { "-OAthread_per_client" },
+        new String[] { "-OAthread_per_request" },
+        new String[] { "-OAthread_pool" , "10" } };
+        
+    private static String[][] defaultClients = new String[][] {
+        new String[] { "-ORBthreaded" }};
+        
+    private String serverClass, clientClass;
+    private String[] serverArgs, clientArgs;
+
+    public AbstractMatrixOrbTestBase(String name) {
+        super(name);
+    }
+    public void init(String serverClass, String[] serverArgs, String clientClass, String[] clientArgs, File waitForFile) {
+        this.serverClass = serverClass;
+        this.clientClass = clientClass;
+        this.serverArgs = serverArgs;
+        this.clientArgs = clientArgs;
+        this.waitForFile = waitForFile;
+    }
+        
+    public void test() throws Exception {
+        runServerClientTest(serverClass, serverArgs, clientClass, clientArgs);
+    }
+                
+    public static TestSuite generateTestSuite(String serverClass, String clientClass, 
+                                              File waitForFile) {
+        return generateTestSuite(serverClass, defaultServers, clientClass, defaultClients, waitForFile);
+    }
+        
+    public static TestSuite generateTestSuite(String serverClass, String[][] servers,
+                                              String clientClass, String[][] clients, File waitForFile) {
+        TestSuite suite = new TestSuite();
+        for(int serverNo = 0; serverNo < servers.length; serverNo++) {
+            for(int clientNo = 0; clientNo < clients.length; clientNo++) {
+                AbstractMatrixOrbTestBase test = new AbstractMatrixOrbTestBase("test"); 
+                test.init(serverClass, servers[serverNo], clientClass, clients[clientNo], waitForFile);
+                suite.addTest(test);
+            }
+        }
+        return suite;
+                
+    }
+}

Propchange: incubator/yoko/trunk/core/src/test/java/org/apache/yoko/AbstractMatrixOrbTestBase.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/yoko/trunk/core/src/test/java/org/apache/yoko/AbstractMatrixOrbTestBase.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/yoko/trunk/core/src/test/java/org/apache/yoko/AbstractOrbTestBase.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/core/src/test/java/org/apache/yoko/AbstractOrbTestBase.java?rev=414644&view=auto
==============================================================================
--- incubator/yoko/trunk/core/src/test/java/org/apache/yoko/AbstractOrbTestBase.java (added)
+++ incubator/yoko/trunk/core/src/test/java/org/apache/yoko/AbstractOrbTestBase.java Thu Jun 15 10:59:54 2006
@@ -0,0 +1,131 @@
+/**
+ *
+ * Copyright 2006 The Apache Software Foundation or its licensors, as applicable.
+ *
+ *  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.yoko;
+
+import java.io.File;
+import java.rmi.registry.Registry;
+import java.util.Iterator;
+import java.util.Map.Entry;
+
+import org.apache.yoko.processmanager.JavaProcess;
+import org.apache.yoko.processmanager.ProcessManager;
+
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+/**
+ * Superclass for ORB tests. Takes care of setting up a a server process and a client process.
+ * It also sets the java.endorsed.dirs property and launches the client process.
+ *
+ * Currently, the client waits for the server to create a file containing an IOR. This
+ * is used to delay the client until the server has started. the setWaitFile(File) method 
+ * can be used to set the name of this file, which varies in the ORB tests.
+ */
+public class AbstractOrbTestBase extends TestCase {
+    protected static final File TEST_REF_FILE = new File("Test.ref");
+    protected ProcessManager processManager;
+    protected JavaProcess server, client;
+    protected File waitForFile;
+    int waitForFileTimeout = 10000;
+        
+    public AbstractOrbTestBase() {
+        super();
+    }
+        
+    public AbstractOrbTestBase(String name) {
+        super(name);
+    }
+        
+    protected void setUp() throws Exception {
+        super.setUp();
+        processManager = new ProcessManager(Registry.REGISTRY_PORT);
+        client = new JavaProcess("client", processManager);
+        client.addSystemProperty("java.endorsed.dirs");
+        server = new JavaProcess("server", processManager);
+        server.addSystemProperty("java.endorsed.dirs");
+        JavaProcess[] processes = new JavaProcess[] {server, client};
+        for(int i = 0; i < processes.length; i++) {
+            JavaProcess process = processes[i];
+            for(Iterator it = System.getProperties().entrySet().iterator(); it.hasNext();) {
+                Entry entry = (Entry) it.next();
+                String key = entry.getKey().toString();
+                if(key.startsWith(process.getName() + ":")){
+                    int pos = key.indexOf(':') + 1;
+                    String property = key.substring(pos);
+                    String value = entry.getValue().toString();
+                    System.out.println("Adding (" + property + ", " + value + ")");
+                    process.addSystemProperty(property, value);
+                }
+            }
+        }
+        client.launch();
+    }
+
+    public void tearDown() throws Exception {
+        client.exit(0);
+        if(getWaitForFile() != null && getWaitForFile().exists()) {
+            getWaitForFile().delete();
+        }
+    }
+    protected void runServerClientTest(String serverClass, String clientClass) throws Exception {
+        runServerClientTest(serverClass, new String[0], clientClass, new String[0]);
+    }
+    protected void runServerClientTest(String serverClass, String[] serverArgs, 
+                                       String clientClass, String[] clientArgs) throws Exception {
+        server.launch();
+        Thread serverThread = server.invokeMainAsync(serverClass, serverArgs);
+        waitForFile();
+        // TODO: Need to find a better way, this slows down testing unneccesarily,
+        // and is somewhat non-robust.
+        Thread.sleep(1000);
+        client.invokeMain(clientClass, clientArgs);
+        serverThread.join();
+        server.exit(0);
+                
+    }
+        
+    public void setWaitForFile(File file) {
+        this.waitForFile = file;
+    }
+        
+    public File getWaitForFile() {
+        return waitForFile;
+    }
+        
+    protected void waitForFile() {
+        long timeBefore = System.currentTimeMillis();
+        if(getWaitForFile() != null) {
+            while(true) {
+                try {
+                    if(getWaitForFile().exists()) {
+                        break;
+                    }
+                    Thread.sleep(50);
+                    if(System.currentTimeMillis() > timeBefore + waitForFileTimeout) {
+                        fail("The file " + getWaitForFile() + 
+                             "was not created within " + waitForFileTimeout + "ms");
+                    }
+                }
+                catch(InterruptedException e) {
+                    throw new Error(e);
+                }
+                getWaitForFile().deleteOnExit();
+            }
+        }
+    }           
+}

Propchange: incubator/yoko/trunk/core/src/test/java/org/apache/yoko/AbstractOrbTestBase.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/yoko/trunk/core/src/test/java/org/apache/yoko/AbstractOrbTestBase.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: incubator/yoko/trunk/core/src/test/java/org/apache/yoko/CodeSetTest.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/core/src/test/java/org/apache/yoko/CodeSetTest.java?rev=414644&r1=414643&r2=414644&view=diff
==============================================================================
--- incubator/yoko/trunk/core/src/test/java/org/apache/yoko/CodeSetTest.java (original)
+++ incubator/yoko/trunk/core/src/test/java/org/apache/yoko/CodeSetTest.java Thu Jun 15 10:59:54 2006
@@ -1,34 +1,34 @@
 package org.apache.yoko;
 
-public class CodeSetTest extends AbstractOrbTest {
-	private static final String SERVER_CLASS = "test.codesets.Server";
-	private static final String CLIENT_CLASS = "test.codesets.Client";
-	
-	public void testStandardCodeSet() throws Exception {
-		runServerClientTest(SERVER_CLASS, CLIENT_CLASS);
-	}
-	
-	public void testStandardCodeSet_11() throws Exception {
-		runServerClientTest(SERVER_CLASS, new String[] {"-OAversion", "1.1"}, CLIENT_CLASS, new String[0]);
-	}
-	
-	public void testCodeSet8859_5() throws Exception {
-		String[] args = {"-ORBnative_cs", "ISO/IEC",  "8859-5" };
-		runServerClientTest(SERVER_CLASS, args, CLIENT_CLASS, args);
-	}
-	
-	public void testCodeSet8859_5_11() throws Exception {
-		runServerClientTest(SERVER_CLASS, new String[] {"-ORBnative_cs", "ISO/IEC", "8859-5"}, 
-				CLIENT_CLASS, new String[] {"-ORBnative_cs", "ISO/IEC", "8859-5", "-OAversion", "1.1" });
-	}
-	
-	public void testCodeSet8859_1_vs_8859_4() throws Exception {
-		runServerClientTest(SERVER_CLASS, new String[] {"-ORBnative_cs", "ISO/IEC", "8859-4"},
-				CLIENT_CLASS, new String[] {"-ORBnative_cs", "ISO/IEC", "8859-1" });
-	}
-	
-	public void testCodeSet8859_1_vs_8859_4_11() throws Exception {
-		runServerClientTest(SERVER_CLASS, new String[] {"-ORBnative_cs", "ISO/IEC", "8859-4", "-OAversion", "1.1"},
-				CLIENT_CLASS, new String[] {"-ORBnative_cs", "ISO/IEC", "8859-1"});
-	}
+public class CodeSetTest extends AbstractOrbTestBase {
+    private static final String SERVER_CLASS = "test.codesets.Server";
+    private static final String CLIENT_CLASS = "test.codesets.Client";
+        
+    public void testStandardCodeSet() throws Exception {
+        runServerClientTest(SERVER_CLASS, CLIENT_CLASS);
+    }
+        
+    public void testStandardCodeSet_11() throws Exception {
+        runServerClientTest(SERVER_CLASS, new String[] {"-OAversion", "1.1"}, CLIENT_CLASS, new String[0]);
+    }
+        
+    public void testCodeSet8859_5() throws Exception {
+        String[] args = {"-ORBnative_cs", "ISO/IEC",  "8859-5" };
+        runServerClientTest(SERVER_CLASS, args, CLIENT_CLASS, args);
+    }
+        
+    public void testCodeSet8859_5_11() throws Exception {
+        runServerClientTest(SERVER_CLASS, new String[] {"-ORBnative_cs", "ISO/IEC", "8859-5"}, 
+                            CLIENT_CLASS, new String[] {"-ORBnative_cs", "ISO/IEC", "8859-5", "-OAversion", "1.1" });
+    }
+        
+    public void testCodeSet8859_1_vs_8859_4() throws Exception {
+        runServerClientTest(SERVER_CLASS, new String[] {"-ORBnative_cs", "ISO/IEC", "8859-4"},
+                            CLIENT_CLASS, new String[] {"-ORBnative_cs", "ISO/IEC", "8859-1" });
+    }
+        
+    public void testCodeSet8859_1_vs_8859_4_11() throws Exception {
+        runServerClientTest(SERVER_CLASS, new String[] {"-ORBnative_cs", "ISO/IEC", "8859-4", "-OAversion", "1.1"},
+                            CLIENT_CLASS, new String[] {"-ORBnative_cs", "ISO/IEC", "8859-1"});
+    }
 }

Modified: incubator/yoko/trunk/core/src/test/java/org/apache/yoko/InsTest.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/core/src/test/java/org/apache/yoko/InsTest.java?rev=414644&r1=414643&r2=414644&view=diff
==============================================================================
--- incubator/yoko/trunk/core/src/test/java/org/apache/yoko/InsTest.java (original)
+++ incubator/yoko/trunk/core/src/test/java/org/apache/yoko/InsTest.java Thu Jun 15 10:59:54 2006
@@ -1,10 +1,10 @@
 package org.apache.yoko;
 
-public class InsTest extends AbstractOrbTest {
-	private static final String SERVER_CLASS = "test.ins.Server";
-	private static final String CLIENT_CLASS = "test.ins.Client";
-	public void testUrl() throws Exception {
-		runServerClientTest(SERVER_CLASS, new String[] { "TestINS", "TestINS.ref" },
-				CLIENT_CLASS, new String[] { "1", "relfile:TestINS.ref"	});
-	}
+public class InsTest extends AbstractOrbTestBase {
+    private static final String SERVER_CLASS = "test.ins.Server";
+    private static final String CLIENT_CLASS = "test.ins.Client";
+    public void testUrl() throws Exception {
+        runServerClientTest(SERVER_CLASS, new String[] { "TestINS", "TestINS.ref" },
+                            CLIENT_CLASS, new String[] { "1", "relfile:TestINS.ref"     });
+    }
 }

Modified: incubator/yoko/trunk/core/src/test/java/org/apache/yoko/LocalTest.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/core/src/test/java/org/apache/yoko/LocalTest.java?rev=414644&r1=414643&r2=414644&view=diff
==============================================================================
--- incubator/yoko/trunk/core/src/test/java/org/apache/yoko/LocalTest.java (original)
+++ incubator/yoko/trunk/core/src/test/java/org/apache/yoko/LocalTest.java Thu Jun 15 10:59:54 2006
@@ -1,9 +1,9 @@
 package org.apache.yoko;
 
-public class LocalTest extends AbstractOrbTest {
-	private static final String SERVER_CLASS = "test.local.Server";
-	private static final String CLIENT_CLASS = "test.local.Client";
-	public void testLocal() throws Exception {
-		runServerClientTest(SERVER_CLASS, CLIENT_CLASS);
-	}
+public class LocalTest extends AbstractOrbTestBase {
+    private static final String SERVER_CLASS = "test.local.Server";
+    private static final String CLIENT_CLASS = "test.local.Client";
+    public void testLocal() throws Exception {
+        runServerClientTest(SERVER_CLASS, CLIENT_CLASS);
+    }
 }

Modified: incubator/yoko/trunk/core/src/test/java/org/apache/yoko/ObvTest.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/core/src/test/java/org/apache/yoko/ObvTest.java?rev=414644&r1=414643&r2=414644&view=diff
==============================================================================
--- incubator/yoko/trunk/core/src/test/java/org/apache/yoko/ObvTest.java (original)
+++ incubator/yoko/trunk/core/src/test/java/org/apache/yoko/ObvTest.java Thu Jun 15 10:59:54 2006
@@ -6,14 +6,14 @@
 import junit.framework.TestSuite;
 
 public class ObvTest extends TestCase {
-	private static String SERVER_CLASS = "test.obv.Server";
-	private static String CLIENT_CLASS = "test.obv.Client";
-	private static File waitForFile = new File("TestOBV.ref");
-	
-	String[] serverArgs, clientArgs;
-	
+    private static String SERVER_CLASS = "test.obv.Server";
+    private static String CLIENT_CLASS = "test.obv.Client";
+    private static File waitForFile = new File("TestOBV.ref");
+        
+    String[] serverArgs, clientArgs;
+        
 
-	public static TestSuite suite() {
-		return AbstractMatrixOrbTest.generateTestSuite(SERVER_CLASS, CLIENT_CLASS, waitForFile);
-	}
+    public static TestSuite suite() {
+        return AbstractMatrixOrbTestBase.generateTestSuite(SERVER_CLASS, CLIENT_CLASS, waitForFile);
+    }
 }

Modified: incubator/yoko/trunk/core/src/test/java/org/apache/yoko/PiTest.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/core/src/test/java/org/apache/yoko/PiTest.java?rev=414644&r1=414643&r2=414644&view=diff
==============================================================================
--- incubator/yoko/trunk/core/src/test/java/org/apache/yoko/PiTest.java (original)
+++ incubator/yoko/trunk/core/src/test/java/org/apache/yoko/PiTest.java Thu Jun 15 10:59:54 2006
@@ -4,15 +4,15 @@
 
 import junit.framework.TestSuite;
 
-public class PiTest extends AbstractOrbTest {
-	private static final String SERVER_CLASS = "test.pi.Server";
-	private static final String CLIENT_CLASS = "test.pi.Client";
-	private static final String COLLOC_MAIN_CLASS = "test.pi.Collocated";
-	private static final File waitForFile = new File("TestInterface.ref");
-	
-	public static TestSuite suite() {
-		TestSuite suite = AbstractMatrixOrbTest.generateTestSuite(SERVER_CLASS, CLIENT_CLASS, waitForFile);
-		suite.addTest(AbstractCollocTest.generateTestSuite(COLLOC_MAIN_CLASS, AbstractMatrixOrbTest.defaultServers));
-		return suite;
-	}
+public class PiTest extends AbstractOrbTestBase {
+    private static final String SERVER_CLASS = "test.pi.Server";
+    private static final String CLIENT_CLASS = "test.pi.Client";
+    private static final String COLLOC_MAIN_CLASS = "test.pi.Collocated";
+    private static final File waitForFile = new File("TestInterface.ref");
+        
+    public static TestSuite suite() {
+        TestSuite suite = AbstractMatrixOrbTestBase.generateTestSuite(SERVER_CLASS, CLIENT_CLASS, waitForFile);
+        suite.addTest(AbstractCollocTestBase.generateTestSuite(COLLOC_MAIN_CLASS, AbstractMatrixOrbTestBase.defaultServers));
+        return suite;
+    }
 }

Modified: incubator/yoko/trunk/core/src/test/java/org/apache/yoko/PoaTest.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/core/src/test/java/org/apache/yoko/PoaTest.java?rev=414644&r1=414643&r2=414644&view=diff
==============================================================================
--- incubator/yoko/trunk/core/src/test/java/org/apache/yoko/PoaTest.java (original)
+++ incubator/yoko/trunk/core/src/test/java/org/apache/yoko/PoaTest.java Thu Jun 15 10:59:54 2006
@@ -14,77 +14,77 @@
 
 import junit.framework.TestCase;
 
-public class PoaTest extends AbstractOrbTest {
+public class PoaTest extends AbstractOrbTestBase {
 
-	public void setUp() throws Exception {
-		super.setUp();
-		setWaitForFile(new File("Test.ref"));
-	}
-	public void testActivate() throws Exception {
-		client.invokeMain("test.poa.TestActivate");
-	}
-	
-	public void testDeactivate() throws Exception {
-		client.invokeMain("test.poa.TestDeactivate");
-	}
-	
-	public void testCollocated() throws Exception {
-		client.invokeMain("test.poa.TestCollocated");
-	}
-	
-	public void testCreate() throws Exception {
-		client.invokeMain("test.poa.TestCreate");
-	}
-	
-	public void testDestroy() throws Exception {
-		client.invokeMain("test.poa.TestDestroy");
-	}
-	
-	public void testFind() throws Exception {
-		client.invokeMain("test.poa.TestFind");
-	}
-	
-	public void testMisc() throws Exception {
-		client.invokeMain("test.poa.TestMisc");
-	}
-	
-	public void testDefaultServant() throws Exception {
-		runServerClientTest("test.poa.TestDefaultServantServer");
-	}
-	
-	public void testServantActivatorServer() throws Exception {
-		runServerClientTest("test.poa.TestServantActivatorServer");
-	}
-	
-	public void testServantLocatorServer() throws Exception {
-		runServerClientTest("test.poa.TestServantLocatorServer");
-	}
-	
-	public void testLocationForwardServer() throws Exception {
-		runServerClientTest("test.poa.TestLocationForwardServerMain", "test.poa.TestLocationForwardClient");
-	}
-	
-	public void testAdapterActivatorServer() throws Exception {
-		runServerClientTest("test.poa.TestAdapterActivatorServer");
-	}
-	
-	public void testPoaManagerServer() throws Exception {
-		runServerClientTest("test.poa.TestPOAManagerServer", "test.poa.TestPOAManagerClient");
-	}
-	
-	public void testDispatchStrategyServer() throws Exception {
-		runServerClientTest("test.poa.TestDispatchStrategyServer", "test.poa.TestDispatchStrategyClient");
-	}
-	
-	public void testMultipleOrbsServer() throws Exception {
-		runServerClientTest("test.poa.TestMultipleOrbsServer", "test.poa.TestMultipleOrbsClient");
-	}
-	
-	public void testMultipleOrbsThreadedServer() throws Exception {
-		runServerClientTest("test.poa.TestMultipleOrbsThreadedServer", "test.poa.TestMultipleOrbsThreadedClient");
-	}
-	
-	private void runServerClientTest(String serverClass) throws Exception {
-		runServerClientTest(serverClass, "test.poa.TestClient");
-	}	
+    public void setUp() throws Exception {
+        super.setUp();
+        setWaitForFile(new File("Test.ref"));
+    }
+    public void testActivate() throws Exception {
+        client.invokeMain("test.poa.TestActivate");
+    }
+        
+    public void testDeactivate() throws Exception {
+        client.invokeMain("test.poa.TestDeactivate");
+    }
+        
+    public void testCollocated() throws Exception {
+        client.invokeMain("test.poa.TestCollocated");
+    }
+        
+    public void testCreate() throws Exception {
+        client.invokeMain("test.poa.TestCreate");
+    }
+        
+    public void testDestroy() throws Exception {
+        client.invokeMain("test.poa.TestDestroy");
+    }
+        
+    public void testFind() throws Exception {
+        client.invokeMain("test.poa.TestFind");
+    }
+        
+    public void testMisc() throws Exception {
+        client.invokeMain("test.poa.TestMisc");
+    }
+        
+    public void testDefaultServant() throws Exception {
+        runServerClientTest("test.poa.TestDefaultServantServer");
+    }
+        
+    public void testServantActivatorServer() throws Exception {
+        runServerClientTest("test.poa.TestServantActivatorServer");
+    }
+        
+    public void testServantLocatorServer() throws Exception {
+        runServerClientTest("test.poa.TestServantLocatorServer");
+    }
+        
+    public void testLocationForwardServer() throws Exception {
+        runServerClientTest("test.poa.TestLocationForwardServerMain", "test.poa.TestLocationForwardClient");
+    }
+        
+    public void testAdapterActivatorServer() throws Exception {
+        runServerClientTest("test.poa.TestAdapterActivatorServer");
+    }
+        
+    public void testPoaManagerServer() throws Exception {
+        runServerClientTest("test.poa.TestPOAManagerServer", "test.poa.TestPOAManagerClient");
+    }
+        
+    public void testDispatchStrategyServer() throws Exception {
+        runServerClientTest("test.poa.TestDispatchStrategyServer", "test.poa.TestDispatchStrategyClient");
+    }
+        
+    public void testMultipleOrbsServer() throws Exception {
+        runServerClientTest("test.poa.TestMultipleOrbsServer", "test.poa.TestMultipleOrbsClient");
+    }
+        
+    public void testMultipleOrbsThreadedServer() throws Exception {
+        runServerClientTest("test.poa.TestMultipleOrbsThreadedServer", "test.poa.TestMultipleOrbsThreadedClient");
+    }
+        
+    private void runServerClientTest(String serverClass) throws Exception {
+        runServerClientTest(serverClass, "test.poa.TestClient");
+    }   
 }

Modified: incubator/yoko/trunk/core/src/test/java/org/apache/yoko/RMITest.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/core/src/test/java/org/apache/yoko/RMITest.java?rev=414644&r1=414643&r2=414644&view=diff
==============================================================================
--- incubator/yoko/trunk/core/src/test/java/org/apache/yoko/RMITest.java (original)
+++ incubator/yoko/trunk/core/src/test/java/org/apache/yoko/RMITest.java Thu Jun 15 10:59:54 2006
@@ -19,17 +19,17 @@
 import java.io.File;
 
 
-public class RMITest extends AbstractOrbTest {
-	public void testRMI() throws Exception {
-		server.launch();
-		File file = new File("Sample.ref");
-		if(file.exists()) {
-			file.delete();
-		}
-		server.invokeMainAsync("test.rmi.ServerMain");
-		setWaitForFile(file);
-		waitForFile();
-		client.invokeMain("test.rmi.ClientMain");
-		server.exit(0);
+public class RMITest extends AbstractOrbTestBase {
+    public void testRMI() throws Exception {
+	server.launch();
+	File file = new File("Sample.ref");
+	if(file.exists()) {
+	    file.delete();
 	}
+	server.invokeMainAsync("test.rmi.ServerMain");
+	setWaitForFile(file);
+	waitForFile();
+	client.invokeMain("test.rmi.ClientMain");
+	server.exit(0);
+    }
 }

Modified: incubator/yoko/trunk/core/src/test/java/org/apache/yoko/RetryTest.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/core/src/test/java/org/apache/yoko/RetryTest.java?rev=414644&r1=414643&r2=414644&view=diff
==============================================================================
--- incubator/yoko/trunk/core/src/test/java/org/apache/yoko/RetryTest.java (original)
+++ incubator/yoko/trunk/core/src/test/java/org/apache/yoko/RetryTest.java Thu Jun 15 10:59:54 2006
@@ -2,12 +2,12 @@
 
 import java.io.File;
 
-public class RetryTest extends AbstractOrbTest {
-	public static final String SERVER_CLASS = "test.retry.Server";
-	public static final String CLIENT_CLASS = "test.retry.Client";
-	public static File waitForFile = new File("Test.ref");
-	public void testRetry() throws Exception {
-		setWaitForFile(waitForFile);
-		runServerClientTest(SERVER_CLASS, CLIENT_CLASS);
-	}
+public class RetryTest extends AbstractOrbTestBase {
+    public static final String SERVER_CLASS = "test.retry.Server";
+    public static final String CLIENT_CLASS = "test.retry.Client";
+    public static File waitForFile = new File("Test.ref");
+    public void testRetry() throws Exception {
+        setWaitForFile(waitForFile);
+        runServerClientTest(SERVER_CLASS, CLIENT_CLASS);
+    }
 }

Modified: incubator/yoko/trunk/core/src/test/java/org/apache/yoko/TypesTest.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/core/src/test/java/org/apache/yoko/TypesTest.java?rev=414644&r1=414643&r2=414644&view=diff
==============================================================================
--- incubator/yoko/trunk/core/src/test/java/org/apache/yoko/TypesTest.java (original)
+++ incubator/yoko/trunk/core/src/test/java/org/apache/yoko/TypesTest.java Thu Jun 15 10:59:54 2006
@@ -1,22 +1,22 @@
 package org.apache.yoko;
 
-public class TypesTest extends AbstractOrbTest {
-	public void testConst() throws Exception {
-		client.invokeMain("test.types.TestConst");
-	}
-	public void testTypeCode() throws Exception {
-		client.invokeMain("test.types.TestTypeCode");
-	}
-	public void testAny() throws Exception {
-		client.invokeMain("test.types.TestAny");
-	}
-	public void testDynAny() throws Exception {
-		client.invokeMain("test.types.TestDynAny");
-	}
-	public void testPortableTypes() throws Exception {
-		client.invokeMain("test.types.TestPortableTypes");
-	}
-	public void testUnion() throws Exception {
-		client.invokeMain("test.types.TestUnion");
-	}
+public class TypesTest extends AbstractOrbTestBase {
+    public void testConst() throws Exception {
+	client.invokeMain("test.types.TestConst");
+    }
+    public void testTypeCode() throws Exception {
+	client.invokeMain("test.types.TestTypeCode");
+    }
+    public void testAny() throws Exception {
+	client.invokeMain("test.types.TestAny");
+    }
+    public void testDynAny() throws Exception {
+	client.invokeMain("test.types.TestDynAny");
+    }
+    public void testPortableTypes() throws Exception {
+	client.invokeMain("test.types.TestPortableTypes");
+    }
+    public void testUnion() throws Exception {
+	client.invokeMain("test.types.TestUnion");
+    }
 }

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=414644&r1=414643&r2=414644&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 Thu Jun 15 10:59:54 2006
@@ -57,27 +57,49 @@
         return outputMsg;
     }
 
+    /**
+     * Returns the name of the CORBA parameter (helper function)
+     * 
+     * @param node
+     * @return
+     */
+    private AST getPartNameNode(AST node) {
+        AST currentNode = node;
+        if (currentNode.getType() == IDLTokenTypes.LITERAL_unsigned) {
+            currentNode = currentNode.getNextSibling();
+        }
+        if (currentNode.getType() == IDLTokenTypes.LITERAL_long 
+            && currentNode.getNextSibling().getType() == IDLTokenTypes.LITERAL_long) {
+            currentNode = currentNode.getNextSibling();
+        }
+        return currentNode.getNextSibling();
+    }
+    
     //Assumption for now is to generate wrapped doc-literal wsdl.
 
     public void visit(AST node) {
         switch (node.getType()) {
         case IDLTokenTypes.LITERAL_in: {
             AST typeNode = node.getFirstChild();
-            AST partName = typeNode.getNextSibling();
+            AST partName = getPartNameNode(typeNode);
             createInputPart(partName.toString(), typeNode);
             break;
         }
         case IDLTokenTypes.LITERAL_inout: {
             AST typeNode = node.getFirstChild();
-            AST partName = typeNode.getNextSibling();
+            AST partName = getPartNameNode(typeNode);
             createInputPart(partName.toString(), typeNode);
             createOutputPart(partName.toString(), typeNode);
             break;
         }
         case IDLTokenTypes.LITERAL_out: {
             AST typeNode = node.getFirstChild();
-            AST partName = typeNode.getNextSibling();
+            AST partName = getPartNameNode(typeNode);
             createOutputPart(partName.toString(), typeNode);
+            break;
+        }
+        case IDLTokenTypes.LITERAL_void: {
+            // nothing to do here
             break;
         }
         default: {

Modified: incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/MessageVisitor.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/MessageVisitor.java?rev=414644&r1=414643&r2=414644&view=diff
==============================================================================
--- incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/MessageVisitor.java (original)
+++ incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/MessageVisitor.java Thu Jun 15 10:59:54 2006
@@ -36,16 +36,30 @@
 
     Operation operation;
     MessagePartVisitor partVisitor;
-
+    ReturnParameterVisitor returnParameterVisitor;
+    
     public MessageVisitor(WSDLASTVisitor visitor) {
         definition = visitor.getDefinition();
         partVisitor = new MessagePartVisitor(visitor);
+        returnParameterVisitor = new ReturnParameterVisitor(visitor);
     }
 
     public void setOperation(Operation op) {
         operation = op;
     }
 
+    private AST getNextMessagePartNode(AST node) {
+        AST currentNode = node;
+        if (currentNode.getType() == IDLTokenTypes.LITERAL_unsigned) {
+            currentNode = currentNode.getNextSibling();
+        }
+        if (currentNode.getType() == IDLTokenTypes.LITERAL_long
+            && currentNode.getNextSibling().getType() == IDLTokenTypes.LITERAL_long) {
+            currentNode = currentNode.getNextSibling();
+        }
+        return currentNode.getNextSibling();
+    }
+    
     public void visit(AST node) {
         AST node2 = node.getFirstChild();
         while (node2 != null) {
@@ -54,6 +68,7 @@
                 if (partVisitor.getInputMessage() == null) {                
                     partVisitor.setInputMessage(createInputMessage());
                 }
+                partVisitor.visit(node2);
                 break;
             }
             case IDLTokenTypes.LITERAL_inout: {
@@ -63,22 +78,28 @@
                 if (partVisitor.getOutputMessage() == null) {               
                     partVisitor.setOutputMessage(createOutputMessage());
                 }
+                partVisitor.visit(node2);
                 break;
             }
             case IDLTokenTypes.LITERAL_out: {
                 if (partVisitor.getOutputMessage() == null) {               
                     partVisitor.setOutputMessage(createOutputMessage());
                 }
+                partVisitor.visit(node2);
+                break;
+            }
+            case IDLTokenTypes.LITERAL_void: {
+                // nothing to do here
                 break;
             }
             default: {
-                if (partVisitor.getOutputMessage() == null) {               
-                    partVisitor.setOutputMessage(createOutputMessage());
+                if (returnParameterVisitor.getOutputMessage() == null) {               
+                    returnParameterVisitor.setOutputMessage(createOutputMessage());
                 }
+                returnParameterVisitor.visit(node2);
             }
             }
-            partVisitor.visit(node2);           
-            node2 = node2.getNextSibling();
+            node2 = getNextMessagePartNode(node2);
         }
     }
 

Modified: incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/PortTypeVisitor.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/PortTypeVisitor.java?rev=414644&r1=414643&r2=414644&view=diff
==============================================================================
--- incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/PortTypeVisitor.java (original)
+++ incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/PortTypeVisitor.java Thu Jun 15 10:59:54 2006
@@ -32,12 +32,11 @@
     
     Definition definition;
     PortType portType;
-
-    MessageVisitor msgVisitor;
+    WSDLASTVisitor wsdlASTVisitor;
 
     public PortTypeVisitor(WSDLASTVisitor visitor) {
         definition = visitor.getDefinition();
-        msgVisitor = new MessageVisitor(visitor);
+        wsdlASTVisitor = visitor;
     }
 
     public void visit(AST node) {
@@ -51,11 +50,15 @@
     }
 
     public void visitOperation(AST node) {
-        Operation op = definition.createOperation();
-        op.setName(node.toString());
-        msgVisitor.setOperation(op);
-        msgVisitor.visit(node);
-        op.setUndefined(false);
-        portType.addOperation(op);
+        while (node != null) {
+            MessageVisitor msgVisitor = new MessageVisitor(wsdlASTVisitor);
+            Operation op = definition.createOperation();
+            op.setName(node.toString());
+            msgVisitor.setOperation(op);
+            msgVisitor.visit(node);
+            op.setUndefined(false);
+            portType.addOperation(op);
+            node = node.getNextSibling();
+        }
     }
 }

Modified: incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/PrimitiveTypesVisitor.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/PrimitiveTypesVisitor.java?rev=414644&r1=414643&r2=414644&view=diff
==============================================================================
--- incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/PrimitiveTypesVisitor.java (original)
+++ incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/PrimitiveTypesVisitor.java Thu Jun 15 10:59:54 2006
@@ -45,14 +45,62 @@
 
     public void visit(AST node) {
         switch (node.getType()) {
-        case IDLTokenTypes.LITERAL_string: {
+        case IDLTokenTypes.LITERAL_long:
+            if (node.getNextSibling().getType() == IDLTokenTypes.LITERAL_long) {
+                // long long
+                schemaType = schemas.getTypeByQName(Constants.XSD_LONG);
+            } else {
+                // long
+                schemaType = schemas.getTypeByQName(Constants.XSD_INT);
+            }
+            break;
+        case IDLTokenTypes.LITERAL_unsigned:
+            AST node2 = node.getNextSibling();
+            if (node2.getType() == IDLTokenTypes.LITERAL_short) {
+                // unsigned short
+                schemaType = schemas.getTypeByQName(Constants.XSD_UNSIGNEDSHORT);
+            } else if (node2.getType() == IDLTokenTypes.LITERAL_long) {
+                AST node3 = node2.getNextSibling();
+                if (node3.getType() == IDLTokenTypes.LITERAL_long) {
+                    // unsigned long long
+                    schemaType = schemas.getTypeByQName(Constants.XSD_UNSIGNEDLONG);
+                } else {
+                    // unsigned long
+                    schemaType = schemas.getTypeByQName(Constants.XSD_UNSIGNEDINT);
+                }
+            } else {
+                // TBD: we should never get here
+            }
+            break;
+        case IDLTokenTypes.LITERAL_short:
+            schemaType = schemas.getTypeByQName(Constants.XSD_SHORT);
+            break;
+        case IDLTokenTypes.LITERAL_float:
+            schemaType = schemas.getTypeByQName(Constants.XSD_FLOAT);
+            break;            
+        case IDLTokenTypes.LITERAL_double:
+            schemaType = schemas.getTypeByQName(Constants.XSD_DOUBLE);
+            break;            
+        case IDLTokenTypes.LITERAL_char:
+            schemaType = schemas.getTypeByQName(Constants.XSD_BYTE);
+            break;
+        case IDLTokenTypes.LITERAL_wchar:
+        case IDLTokenTypes.LITERAL_string:
+        case IDLTokenTypes.LITERAL_wstring:
             schemaType = schemas.getTypeByQName(Constants.XSD_STRING);
             break;
-        }
-        default: {
-            System.out.println("Visit for a type: " + node);
-        }
+        case IDLTokenTypes.LITERAL_boolean:
+            schemaType = schemas.getTypeByQName(Constants.XSD_BOOLEAN);
+            break;            
+        case IDLTokenTypes.LITERAL_octet:
+            schemaType = schemas.getTypeByQName(Constants.XSD_UNSIGNEDBYTE);
+            break;            
+        case IDLTokenTypes.LITERAL_any:
+            schemaType = schemas.getTypeByQName(Constants.XSD_ANYTYPE);
+            break;            
+        default:
+            // TBD 
+            break;
         }
     }
-
 }

Added: incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/ReturnParameterVisitor.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/ReturnParameterVisitor.java?rev=414644&view=auto
==============================================================================
--- incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/ReturnParameterVisitor.java (added)
+++ incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/ReturnParameterVisitor.java Thu Jun 15 10:59:54 2006
@@ -0,0 +1,70 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.yoko.tools.processors.idl;
+
+import javax.wsdl.Definition;
+import javax.wsdl.Message;
+import javax.wsdl.Part;
+
+import javax.xml.namespace.QName;
+
+import antlr.ASTVisitor;
+import antlr.collections.AST;
+
+public class ReturnParameterVisitor implements ASTVisitor {
+
+    Definition definition;
+    Message outputMsg;
+
+    TypesVisitor typesVisitor;
+
+    public ReturnParameterVisitor(WSDLASTVisitor visitor) {
+        definition = visitor.getDefinition();   
+        typesVisitor = visitor.getTypesVisitor();
+    }
+
+    public void setOutputMessage(Message msg) {
+        outputMsg = msg;
+    }
+
+    public Message getOutputMessage() {
+        return outputMsg;
+    }
+
+    private void createOutputPart(String partName, AST typeNode) {
+        Part part;
+        QName element = outputMsg.getQName();
+        if (outputMsg.getParts().size() == 0) {
+            part = definition.createPart();
+            part.setName("outparameter");
+            part.setElementName(element);
+            typesVisitor.addElement(element);
+            outputMsg.addPart(part);
+        } else {
+            part = (Part) outputMsg.getParts().get(0);
+        }
+        typesVisitor.setCurrentPart(element, partName);
+        typesVisitor.visit(typeNode);
+    }
+    
+    public void visit(AST node) {
+        createOutputPart("return", node);
+    }
+}

Propchange: incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/ReturnParameterVisitor.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/ReturnParameterVisitor.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: incubator/yoko/trunk/tools/src/test/java/org/apache/yoko/tools/processors/IDLToWSDLGenerationTest.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/test/java/org/apache/yoko/tools/processors/IDLToWSDLGenerationTest.java?rev=414644&r1=414643&r2=414644&view=diff
==============================================================================
--- incubator/yoko/trunk/tools/src/test/java/org/apache/yoko/tools/processors/IDLToWSDLGenerationTest.java (original)
+++ incubator/yoko/trunk/tools/src/test/java/org/apache/yoko/tools/processors/IDLToWSDLGenerationTest.java Thu Jun 15 10:59:54 2006
@@ -53,8 +53,8 @@
         junit.textui.TestRunner.run(IDLToWSDLGenerationTest.class);
     }
     
-    public void testHelloWorldWSDLGeneration() throws Exception {      
-        URL idl = getClass().getResource("/idl/HelloWorld.idl");
+    public void testWSDLGeneration(String source_idl_filename, String expected_wsdl_filename) throws Exception {      
+        URL idl = getClass().getResource(source_idl_filename);
         ProcessorEnvironment env = new ProcessorEnvironment();
         Map<String,Object> cfg = new HashMap<String,Object>();
         cfg.put(ToolCorbaConstants.CFG_IDLFILE, idl.getFile());
@@ -65,7 +65,7 @@
         processor.setOutputStream(out);
         processor.process();
 
-        InputStream origstream = getClass().getResourceAsStream("/idl/expected_HelloWorld.wsdl");
+        InputStream origstream = getClass().getResourceAsStream(expected_wsdl_filename);
         byte orig[] = inputStreamToBytes(origstream);
         checkWSDLStrings(orig, out.toByteArray());
     }
@@ -124,4 +124,13 @@
         out.close();
         return out.toByteArray();
     } 
+
+    public void testHelloWorldWSDLGeneration() throws Exception {
+        testWSDLGeneration("/idl/HelloWorld.idl", "/idl/expected_HelloWorld.wsdl");
+    }
+    
+    public void testPrimitivesGeneration() throws Exception {
+        testWSDLGeneration("/idl/primitives.idl", "/idl/expected_Primitives.wsdl");
+    }
+    
 }

Added: incubator/yoko/trunk/tools/src/test/resources/idl/expected_Primitives.wsdl
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/test/resources/idl/expected_Primitives.wsdl?rev=414644&view=auto
==============================================================================
--- incubator/yoko/trunk/tools/src/test/resources/idl/expected_Primitives.wsdl (added)
+++ incubator/yoko/trunk/tools/src/test/resources/idl/expected_Primitives.wsdl Thu Jun 15 10:59:54 2006
@@ -0,0 +1,536 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+-->
+<wsdl:definitions targetNamespace="http://schemas.apache.org/yoko/idl/primitives" xmlns:tns="http://schemas.apache.org/yoko/idl/primitives" xmlns:corba="http://schemas.apache.org/yoko/bindings/corba" xmlns:ns1="http://schemas.apache.org/yoko/idl/primitives/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/primitives" xmlns="http://schemas.apache.org/yoko/idl/primitives" xmlns:xs="http://www.w3.org/2001/XMLSchema"><xs:element name="getShortResponse" type="xs:short"/><xs:element name="setShort" type="xs:short"/><xs:element name="getSetShort" type="xs:short"/><xs:element name="getSetShortResponse" type="xs:short"/><xs:element name="getUnsignedShortResponse" type="xs:unsignedShort"/><xs:element name="setUnsignedShort" type="xs:unsignedShort"/><xs:element name="getSetUnsignedShort" type="xs:unsignedShort"/><xs:element name="getSetUnsignedShortResponse" type="xs:unsignedShort"/><xs:element name="getLongResponse" type="xs:int"/><xs:element name="setLong" type="xs:int"/><xs:element name="getSetLong" type="xs:int"/><xs:element name="getSetLongResponse" type="xs:int"/><xs:element name="getUnsignedLongResponse" type="xs:unsignedInt"/><xs:element name="se
 tUnsignedLong" type="xs:unsignedInt"/><xs:element name="getSetUnsignedLong" type="xs:unsignedInt"/><xs:element name="getSetUnsignedLongResponse" type="xs:unsignedInt"/><xs:element name="getLongLongResponse" type="xs:long"/><xs:element name="setLongLong" type="xs:long"/><xs:element name="getSetLongLong" type="xs:long"/><xs:element name="getSetLongLongResponse" type="xs:long"/><xs:element name="getUnsignedLongLongResponse" type="xs:unsignedLong"/><xs:element name="setUnsignedLongLong" type="xs:unsignedLong"/><xs:element name="getSetUnsignedLongLong" type="xs:unsignedLong"/><xs:element name="getSetUnsignedLongLongResponse" type="xs:unsignedLong"/><xs:element name="getFloatResponse" type="xs:float"/><xs:element name="setFloat" type="xs:float"/><xs:element name="getSetFloat" type="xs:float"/><xs:element name="getSetFloatResponse" type="xs:float"/><xs:element name="getDoubleResponse" type="xs:double"/><xs:element name="setDouble" type="xs:double"/><xs:element name="getSetDouble" t
 ype="xs:double"/><xs:element name="getSetDoubleResponse" type="xs:double"/><xs:element name="getCharResponse" type="xs:byte"/><xs:element name="setChar" type="xs:byte"/><xs:element name="getSetChar" type="xs:byte"/><xs:element name="getSetCharResponse" type="xs:byte"/><xs:element name="getWCharResponse" type="xs:string"/><xs:element name="setWChar" type="xs:string"/><xs:element name="getSetWChar" type="xs:string"/><xs:element name="getSetWCharResponse" type="xs:string"/><xs:element name="getStringResponse" type="xs:string"/><xs:element name="setString" type="xs:string"/><xs:element name="getSetString" type="xs:string"/><xs:element name="getSetStringResponse" type="xs:string"/><xs:element name="getWstringResponse" type="xs:string"/><xs:element name="setWstring" type="xs:string"/><xs:element name="getSetWstring" type="xs:string"/><xs:element name="getSetWstringResponse" type="xs:string"/><xs:element name="getBooleanResponse" type="xs:boolean"/><xs:element name="setBoolean" typ
 e="xs:boolean"/><xs:element name="getSetBoolean" type="xs:boolean"/><xs:element name="getSetBooleanResponse" type="xs:boolean"/><xs:element name="getOctetResponse" type="xs:unsignedByte"/><xs:element name="setOctet" type="xs:unsignedByte"/><xs:element name="getSetOctet" type="xs:unsignedByte"/><xs:element name="getSetOctetResponse" type="xs:unsignedByte"/></xs:schema>
+  </wsdl:types>
+  <wsdl:message name="getSetWChar">
+    <wsdl:part name="inparameter" element="tns:getSetWChar"/>
+  </wsdl:message>
+  <wsdl:message name="getSetUnsignedLong">
+    <wsdl:part name="inparameter" element="tns:getSetUnsignedLong"/>
+  </wsdl:message>
+  <wsdl:message name="getWCharResponse">
+    <wsdl:part name="outparameter" element="tns:getWCharResponse"/>
+  </wsdl:message>
+  <wsdl:message name="getLongLongResponse">
+    <wsdl:part name="outparameter" element="tns:getLongLongResponse"/>
+  </wsdl:message>
+  <wsdl:message name="getSetStringResponse">
+    <wsdl:part name="outparameter" element="tns:getSetStringResponse"/>
+  </wsdl:message>
+  <wsdl:message name="getSetCharResponse">
+    <wsdl:part name="outparameter" element="tns:getSetCharResponse"/>
+  </wsdl:message>
+  <wsdl:message name="getSetBooleanResponse">
+    <wsdl:part name="outparameter" element="tns:getSetBooleanResponse"/>
+  </wsdl:message>
+  <wsdl:message name="getSetShort">
+    <wsdl:part name="inparameter" element="tns:getSetShort"/>
+  </wsdl:message>
+  <wsdl:message name="getSetBoolean">
+    <wsdl:part name="inparameter" element="tns:getSetBoolean"/>
+  </wsdl:message>
+  <wsdl:message name="getSetLongResponse">
+    <wsdl:part name="outparameter" element="tns:getSetLongResponse"/>
+  </wsdl:message>
+  <wsdl:message name="getBooleanResponse">
+    <wsdl:part name="outparameter" element="tns:getBooleanResponse"/>
+  </wsdl:message>
+  <wsdl:message name="setShort">
+    <wsdl:part name="inparameter" element="tns:setShort"/>
+  </wsdl:message>
+  <wsdl:message name="getWstringResponse">
+    <wsdl:part name="outparameter" element="tns:getWstringResponse"/>
+  </wsdl:message>
+  <wsdl:message name="getSetWstringResponse">
+    <wsdl:part name="outparameter" element="tns:getSetWstringResponse"/>
+  </wsdl:message>
+  <wsdl:message name="getCharResponse">
+    <wsdl:part name="outparameter" element="tns:getCharResponse"/>
+  </wsdl:message>
+  <wsdl:message name="setUnsignedLongLong">
+    <wsdl:part name="inparameter" element="tns:setUnsignedLongLong"/>
+  </wsdl:message>
+  <wsdl:message name="getSetWCharResponse">
+    <wsdl:part name="outparameter" element="tns:getSetWCharResponse"/>
+  </wsdl:message>
+  <wsdl:message name="getSetLongLong">
+    <wsdl:part name="inparameter" element="tns:getSetLongLong"/>
+  </wsdl:message>
+  <wsdl:message name="getSetFloat">
+    <wsdl:part name="inparameter" element="tns:getSetFloat"/>
+  </wsdl:message>
+  <wsdl:message name="getFloatResponse">
+    <wsdl:part name="outparameter" element="tns:getFloatResponse"/>
+  </wsdl:message>
+  <wsdl:message name="getUnsignedLongLongResponse">
+    <wsdl:part name="outparameter" element="tns:getUnsignedLongLongResponse"/>
+  </wsdl:message>
+  <wsdl:message name="getSetOctet">
+    <wsdl:part name="inparameter" element="tns:getSetOctet"/>
+  </wsdl:message>
+  <wsdl:message name="getSetLongLongResponse">
+    <wsdl:part name="outparameter" element="tns:getSetLongLongResponse"/>
+  </wsdl:message>
+  <wsdl:message name="getSetUnsignedShort">
+    <wsdl:part name="inparameter" element="tns:getSetUnsignedShort"/>
+  </wsdl:message>
+  <wsdl:message name="setWChar">
+    <wsdl:part name="inparameter" element="tns:setWChar"/>
+  </wsdl:message>
+  <wsdl:message name="setUnsignedLong">
+    <wsdl:part name="inparameter" element="tns:setUnsignedLong"/>
+  </wsdl:message>
+  <wsdl:message name="getUnsignedLongResponse">
+    <wsdl:part name="outparameter" element="tns:getUnsignedLongResponse"/>
+  </wsdl:message>
+  <wsdl:message name="setUnsignedShort">
+    <wsdl:part name="inparameter" element="tns:setUnsignedShort"/>
+  </wsdl:message>
+  <wsdl:message name="setWstring">
+    <wsdl:part name="inparameter" element="tns:setWstring"/>
+  </wsdl:message>
+  <wsdl:message name="setChar">
+    <wsdl:part name="inparameter" element="tns:setChar"/>
+  </wsdl:message>
+  <wsdl:message name="getSetUnsignedLongLongResponse">
+    <wsdl:part name="outparameter" element="tns:getSetUnsignedLongLongResponse"/>
+  </wsdl:message>
+  <wsdl:message name="getShortResponse">
+    <wsdl:part name="outparameter" element="tns:getShortResponse"/>
+  </wsdl:message>
+  <wsdl:message name="getSetShortResponse">
+    <wsdl:part name="outparameter" element="tns:getSetShortResponse"/>
+  </wsdl:message>
+  <wsdl:message name="setLong">
+    <wsdl:part name="inparameter" element="tns:setLong"/>
+  </wsdl:message>
+  <wsdl:message name="getDoubleResponse">
+    <wsdl:part name="outparameter" element="tns:getDoubleResponse"/>
+  </wsdl:message>
+  <wsdl:message name="getSetChar">
+    <wsdl:part name="inparameter" element="tns:getSetChar"/>
+  </wsdl:message>
+  <wsdl:message name="getUnsignedShortResponse">
+    <wsdl:part name="outparameter" element="tns:getUnsignedShortResponse"/>
+  </wsdl:message>
+  <wsdl:message name="setBoolean">
+    <wsdl:part name="inparameter" element="tns:setBoolean"/>
+  </wsdl:message>
+  <wsdl:message name="getSetLong">
+    <wsdl:part name="inparameter" element="tns:getSetLong"/>
+  </wsdl:message>
+  <wsdl:message name="setOctet">
+    <wsdl:part name="inparameter" element="tns:setOctet"/>
+  </wsdl:message>
+  <wsdl:message name="getSetDouble">
+    <wsdl:part name="inparameter" element="tns:getSetDouble"/>
+  </wsdl:message>
+  <wsdl:message name="getSetOctetResponse">
+    <wsdl:part name="outparameter" element="tns:getSetOctetResponse"/>
+  </wsdl:message>
+  <wsdl:message name="getLongResponse">
+    <wsdl:part name="outparameter" element="tns:getLongResponse"/>
+  </wsdl:message>
+  <wsdl:message name="getSetUnsignedShortResponse">
+    <wsdl:part name="outparameter" element="tns:getSetUnsignedShortResponse"/>
+  </wsdl:message>
+  <wsdl:message name="getOctetResponse">
+    <wsdl:part name="outparameter" element="tns:getOctetResponse"/>
+  </wsdl:message>
+  <wsdl:message name="getSetDoubleResponse">
+    <wsdl:part name="outparameter" element="tns:getSetDoubleResponse"/>
+  </wsdl:message>
+  <wsdl:message name="getSetUnsignedLongLong">
+    <wsdl:part name="inparameter" element="tns:getSetUnsignedLongLong"/>
+  </wsdl:message>
+  <wsdl:message name="getStringResponse">
+    <wsdl:part name="outparameter" element="tns:getStringResponse"/>
+  </wsdl:message>
+  <wsdl:message name="getSetString">
+    <wsdl:part name="inparameter" element="tns:getSetString"/>
+  </wsdl:message>
+  <wsdl:message name="setFloat">
+    <wsdl:part name="inparameter" element="tns:setFloat"/>
+  </wsdl:message>
+  <wsdl:message name="getSetFloatResponse">
+    <wsdl:part name="outparameter" element="tns:getSetFloatResponse"/>
+  </wsdl:message>
+  <wsdl:message name="getSetUnsignedLongResponse">
+    <wsdl:part name="outparameter" element="tns:getSetUnsignedLongResponse"/>
+  </wsdl:message>
+  <wsdl:message name="setString">
+    <wsdl:part name="inparameter" element="tns:setString"/>
+  </wsdl:message>
+  <wsdl:message name="getSetWstring">
+    <wsdl:part name="inparameter" element="tns:getSetWstring"/>
+  </wsdl:message>
+  <wsdl:message name="setDouble">
+    <wsdl:part name="inparameter" element="tns:setDouble"/>
+  </wsdl:message>
+  <wsdl:message name="setLongLong">
+    <wsdl:part name="inparameter" element="tns:setLongLong"/>
+  </wsdl:message>
+  <wsdl:portType name="Primitives">
+    <wsdl:operation name="getShort">
+      <wsdl:output name="getShortResponse" message="tns:getShortResponse"/>
+    </wsdl:operation>
+    <wsdl:operation name="setShort">
+      <wsdl:input name="setShortRequest" message="tns:setShort"/>
+    </wsdl:operation>
+    <wsdl:operation name="getSetShort">
+      <wsdl:input name="getSetShortRequest" message="tns:getSetShort"/>
+      <wsdl:output name="getSetShortResponse" message="tns:getSetShortResponse"/>
+    </wsdl:operation>
+    <wsdl:operation name="getUnsignedShort">
+      <wsdl:output name="getUnsignedShortResponse" message="tns:getUnsignedShortResponse"/>
+    </wsdl:operation>
+    <wsdl:operation name="setUnsignedShort">
+      <wsdl:input name="setUnsignedShortRequest" message="tns:setUnsignedShort"/>
+    </wsdl:operation>
+    <wsdl:operation name="getSetUnsignedShort">
+      <wsdl:input name="getSetUnsignedShortRequest" message="tns:getSetUnsignedShort"/>
+      <wsdl:output name="getSetUnsignedShortResponse" message="tns:getSetUnsignedShortResponse"/>
+    </wsdl:operation>
+    <wsdl:operation name="getLong">
+      <wsdl:output name="getLongResponse" message="tns:getLongResponse"/>
+    </wsdl:operation>
+    <wsdl:operation name="setLong">
+      <wsdl:input name="setLongRequest" message="tns:setLong"/>
+    </wsdl:operation>
+    <wsdl:operation name="getSetLong">
+      <wsdl:input name="getSetLongRequest" message="tns:getSetLong"/>
+      <wsdl:output name="getSetLongResponse" message="tns:getSetLongResponse"/>
+    </wsdl:operation>
+    <wsdl:operation name="getUnsignedLong">
+      <wsdl:output name="getUnsignedLongResponse" message="tns:getUnsignedLongResponse"/>
+    </wsdl:operation>
+    <wsdl:operation name="setUnsignedLong">
+      <wsdl:input name="setUnsignedLongRequest" message="tns:setUnsignedLong"/>
+    </wsdl:operation>
+    <wsdl:operation name="getSetUnsignedLong">
+      <wsdl:input name="getSetUnsignedLongRequest" message="tns:getSetUnsignedLong"/>
+      <wsdl:output name="getSetUnsignedLongResponse" message="tns:getSetUnsignedLongResponse"/>
+    </wsdl:operation>
+    <wsdl:operation name="getLongLong">
+      <wsdl:output name="getLongLongResponse" message="tns:getLongLongResponse"/>
+    </wsdl:operation>
+    <wsdl:operation name="setLongLong">
+      <wsdl:input name="setLongLongRequest" message="tns:setLongLong"/>
+    </wsdl:operation>
+    <wsdl:operation name="getSetLongLong">
+      <wsdl:input name="getSetLongLongRequest" message="tns:getSetLongLong"/>
+      <wsdl:output name="getSetLongLongResponse" message="tns:getSetLongLongResponse"/>
+    </wsdl:operation>
+    <wsdl:operation name="getUnsignedLongLong">
+      <wsdl:output name="getUnsignedLongLongResponse" message="tns:getUnsignedLongLongResponse"/>
+    </wsdl:operation>
+    <wsdl:operation name="setUnsignedLongLong">
+      <wsdl:input name="setUnsignedLongLongRequest" message="tns:setUnsignedLongLong"/>
+    </wsdl:operation>
+    <wsdl:operation name="getSetUnsignedLongLong">
+      <wsdl:input name="getSetUnsignedLongLongRequest" message="tns:getSetUnsignedLongLong"/>
+      <wsdl:output name="getSetUnsignedLongLongResponse" message="tns:getSetUnsignedLongLongResponse"/>
+    </wsdl:operation>
+    <wsdl:operation name="getFloat">
+      <wsdl:output name="getFloatResponse" message="tns:getFloatResponse"/>
+    </wsdl:operation>
+    <wsdl:operation name="setFloat">
+      <wsdl:input name="setFloatRequest" message="tns:setFloat"/>
+    </wsdl:operation>
+    <wsdl:operation name="getSetFloat">
+      <wsdl:input name="getSetFloatRequest" message="tns:getSetFloat"/>
+      <wsdl:output name="getSetFloatResponse" message="tns:getSetFloatResponse"/>
+    </wsdl:operation>
+    <wsdl:operation name="getDouble">
+      <wsdl:output name="getDoubleResponse" message="tns:getDoubleResponse"/>
+    </wsdl:operation>
+    <wsdl:operation name="setDouble">
+      <wsdl:input name="setDoubleRequest" message="tns:setDouble"/>
+    </wsdl:operation>
+    <wsdl:operation name="getSetDouble">
+      <wsdl:input name="getSetDoubleRequest" message="tns:getSetDouble"/>
+      <wsdl:output name="getSetDoubleResponse" message="tns:getSetDoubleResponse"/>
+    </wsdl:operation>
+    <wsdl:operation name="getChar">
+      <wsdl:output name="getCharResponse" message="tns:getCharResponse"/>
+    </wsdl:operation>
+    <wsdl:operation name="setChar">
+      <wsdl:input name="setCharRequest" message="tns:setChar"/>
+    </wsdl:operation>
+    <wsdl:operation name="getSetChar">
+      <wsdl:input name="getSetCharRequest" message="tns:getSetChar"/>
+      <wsdl:output name="getSetCharResponse" message="tns:getSetCharResponse"/>
+    </wsdl:operation>
+    <wsdl:operation name="getWChar">
+      <wsdl:output name="getWCharResponse" message="tns:getWCharResponse"/>
+    </wsdl:operation>
+    <wsdl:operation name="setWChar">
+      <wsdl:input name="setWCharRequest" message="tns:setWChar"/>
+    </wsdl:operation>
+    <wsdl:operation name="getSetWChar">
+      <wsdl:input name="getSetWCharRequest" message="tns:getSetWChar"/>
+      <wsdl:output name="getSetWCharResponse" message="tns:getSetWCharResponse"/>
+    </wsdl:operation>
+    <wsdl:operation name="getString">
+      <wsdl:output name="getStringResponse" message="tns:getStringResponse"/>
+    </wsdl:operation>
+    <wsdl:operation name="setString">
+      <wsdl:input name="setStringRequest" message="tns:setString"/>
+    </wsdl:operation>
+    <wsdl:operation name="getSetString">
+      <wsdl:input name="getSetStringRequest" message="tns:getSetString"/>
+      <wsdl:output name="getSetStringResponse" message="tns:getSetStringResponse"/>
+    </wsdl:operation>
+    <wsdl:operation name="getWstring">
+      <wsdl:output name="getWstringResponse" message="tns:getWstringResponse"/>
+    </wsdl:operation>
+    <wsdl:operation name="setWstring">
+      <wsdl:input name="setWstringRequest" message="tns:setWstring"/>
+    </wsdl:operation>
+    <wsdl:operation name="getSetWstring">
+      <wsdl:input name="getSetWstringRequest" message="tns:getSetWstring"/>
+      <wsdl:output name="getSetWstringResponse" message="tns:getSetWstringResponse"/>
+    </wsdl:operation>
+    <wsdl:operation name="getBoolean">
+      <wsdl:output name="getBooleanResponse" message="tns:getBooleanResponse"/>
+    </wsdl:operation>
+    <wsdl:operation name="setBoolean">
+      <wsdl:input name="setBooleanRequest" message="tns:setBoolean"/>
+    </wsdl:operation>
+    <wsdl:operation name="getSetBoolean">
+      <wsdl:input name="getSetBooleanRequest" message="tns:getSetBoolean"/>
+      <wsdl:output name="getSetBooleanResponse" message="tns:getSetBooleanResponse"/>
+    </wsdl:operation>
+    <wsdl:operation name="getOctet">
+      <wsdl:output name="getOctetResponse" message="tns:getOctetResponse"/>
+    </wsdl:operation>
+    <wsdl:operation name="setOctet">
+      <wsdl:input name="setOctetRequest" message="tns:setOctet"/>
+    </wsdl:operation>
+    <wsdl:operation name="getSetOctet">
+      <wsdl:input name="getSetOctetRequest" message="tns:getSetOctet"/>
+      <wsdl:output name="getSetOctetResponse" message="tns:getSetOctetResponse"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="PrimitivesCORBABinding" type="tns:Primitives">
+<corba:binding repositoryID="IDL:Primitives:1.0" />    <wsdl:operation name="getShort">
+<corba:operation name="getShort"><corba:return name="outparameter" idltype="corba:short" /></corba:operation>      <wsdl:output name="getShortResponse">
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="setShort">
+<corba:operation name="setShort"><corba:param mode="in" name="inparameter" idltype="corba:short" /></corba:operation>      <wsdl:input name="setShortRequest">
+      </wsdl:input>
+    </wsdl:operation>
+    <wsdl:operation name="getSetShort">
+<corba:operation name="getSetShort"><corba:param mode="in" name="inparameter" idltype="corba:short" /><corba:return name="outparameter" idltype="corba:short" /></corba:operation>      <wsdl:input name="getSetShortRequest">
+      </wsdl:input>
+      <wsdl:output name="getSetShortResponse">
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="getUnsignedShort">
+<corba:operation name="getUnsignedShort"><corba:return name="outparameter" idltype="corba:ushort" /></corba:operation>      <wsdl:output name="getUnsignedShortResponse">
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="setUnsignedShort">
+<corba:operation name="setUnsignedShort"><corba:param mode="in" name="inparameter" idltype="corba:ushort" /></corba:operation>      <wsdl:input name="setUnsignedShortRequest">
+      </wsdl:input>
+    </wsdl:operation>
+    <wsdl:operation name="getSetUnsignedShort">
+<corba:operation name="getSetUnsignedShort"><corba:param mode="in" name="inparameter" idltype="corba:ushort" /><corba:return name="outparameter" idltype="corba:ushort" /></corba:operation>      <wsdl:input name="getSetUnsignedShortRequest">
+      </wsdl:input>
+      <wsdl:output name="getSetUnsignedShortResponse">
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="getLong">
+<corba:operation name="getLong"><corba:return name="outparameter" idltype="corba:long" /></corba:operation>      <wsdl:output name="getLongResponse">
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="setLong">
+<corba:operation name="setLong"><corba:param mode="in" name="inparameter" idltype="corba:long" /></corba:operation>      <wsdl:input name="setLongRequest">
+      </wsdl:input>
+    </wsdl:operation>
+    <wsdl:operation name="getSetLong">
+<corba:operation name="getSetLong"><corba:param mode="in" name="inparameter" idltype="corba:long" /><corba:return name="outparameter" idltype="corba:long" /></corba:operation>      <wsdl:input name="getSetLongRequest">
+      </wsdl:input>
+      <wsdl:output name="getSetLongResponse">
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="getUnsignedLong">
+<corba:operation name="getUnsignedLong"><corba:return name="outparameter" idltype="corba:ulong" /></corba:operation>      <wsdl:output name="getUnsignedLongResponse">
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="setUnsignedLong">
+<corba:operation name="setUnsignedLong"><corba:param mode="in" name="inparameter" idltype="corba:ulong" /></corba:operation>      <wsdl:input name="setUnsignedLongRequest">
+      </wsdl:input>
+    </wsdl:operation>
+    <wsdl:operation name="getSetUnsignedLong">
+<corba:operation name="getSetUnsignedLong"><corba:param mode="in" name="inparameter" idltype="corba:ulong" /><corba:return name="outparameter" idltype="corba:ulong" /></corba:operation>      <wsdl:input name="getSetUnsignedLongRequest">
+      </wsdl:input>
+      <wsdl:output name="getSetUnsignedLongResponse">
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="getLongLong">
+<corba:operation name="getLongLong"><corba:return name="outparameter" idltype="corba:longlong" /></corba:operation>      <wsdl:output name="getLongLongResponse">
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="setLongLong">
+<corba:operation name="setLongLong"><corba:param mode="in" name="inparameter" idltype="corba:longlong" /></corba:operation>      <wsdl:input name="setLongLongRequest">
+      </wsdl:input>
+    </wsdl:operation>
+    <wsdl:operation name="getSetLongLong">
+<corba:operation name="getSetLongLong"><corba:param mode="in" name="inparameter" idltype="corba:longlong" /><corba:return name="outparameter" idltype="corba:longlong" /></corba:operation>      <wsdl:input name="getSetLongLongRequest">
+      </wsdl:input>
+      <wsdl:output name="getSetLongLongResponse">
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="getUnsignedLongLong">
+<corba:operation name="getUnsignedLongLong"><corba:return name="outparameter" idltype="corba:ulonglong" /></corba:operation>      <wsdl:output name="getUnsignedLongLongResponse">
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="setUnsignedLongLong">
+<corba:operation name="setUnsignedLongLong"><corba:param mode="in" name="inparameter" idltype="corba:ulonglong" /></corba:operation>      <wsdl:input name="setUnsignedLongLongRequest">
+      </wsdl:input>
+    </wsdl:operation>
+    <wsdl:operation name="getSetUnsignedLongLong">
+<corba:operation name="getSetUnsignedLongLong"><corba:param mode="in" name="inparameter" idltype="corba:ulonglong" /><corba:return name="outparameter" idltype="corba:ulonglong" /></corba:operation>      <wsdl:input name="getSetUnsignedLongLongRequest">
+      </wsdl:input>
+      <wsdl:output name="getSetUnsignedLongLongResponse">
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="getFloat">
+<corba:operation name="getFloat"><corba:return name="outparameter" idltype="corba:float" /></corba:operation>      <wsdl:output name="getFloatResponse">
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="setFloat">
+<corba:operation name="setFloat"><corba:param mode="in" name="inparameter" idltype="corba:float" /></corba:operation>      <wsdl:input name="setFloatRequest">
+      </wsdl:input>
+    </wsdl:operation>
+    <wsdl:operation name="getSetFloat">
+<corba:operation name="getSetFloat"><corba:param mode="in" name="inparameter" idltype="corba:float" /><corba:return name="outparameter" idltype="corba:float" /></corba:operation>      <wsdl:input name="getSetFloatRequest">
+      </wsdl:input>
+      <wsdl:output name="getSetFloatResponse">
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="getDouble">
+<corba:operation name="getDouble"><corba:return name="outparameter" idltype="corba:double" /></corba:operation>      <wsdl:output name="getDoubleResponse">
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="setDouble">
+<corba:operation name="setDouble"><corba:param mode="in" name="inparameter" idltype="corba:double" /></corba:operation>      <wsdl:input name="setDoubleRequest">
+      </wsdl:input>
+    </wsdl:operation>
+    <wsdl:operation name="getSetDouble">
+<corba:operation name="getSetDouble"><corba:param mode="in" name="inparameter" idltype="corba:double" /><corba:return name="outparameter" idltype="corba:double" /></corba:operation>      <wsdl:input name="getSetDoubleRequest">
+      </wsdl:input>
+      <wsdl:output name="getSetDoubleResponse">
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="getChar">
+<corba:operation name="getChar"><corba:return name="outparameter" idltype="corba:char" /></corba:operation>      <wsdl:output name="getCharResponse">
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="setChar">
+<corba:operation name="setChar"><corba:param mode="in" name="inparameter" idltype="corba:char" /></corba:operation>      <wsdl:input name="setCharRequest">
+      </wsdl:input>
+    </wsdl:operation>
+    <wsdl:operation name="getSetChar">
+<corba:operation name="getSetChar"><corba:param mode="in" name="inparameter" idltype="corba:char" /><corba:return name="outparameter" idltype="corba:char" /></corba:operation>      <wsdl:input name="getSetCharRequest">
+      </wsdl:input>
+      <wsdl:output name="getSetCharResponse">
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="getWChar">
+<corba:operation name="getWChar"><corba:return name="outparameter" idltype="corba:string" /></corba:operation>      <wsdl:output name="getWCharResponse">
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="setWChar">
+<corba:operation name="setWChar"><corba:param mode="in" name="inparameter" idltype="corba:string" /></corba:operation>      <wsdl:input name="setWCharRequest">
+      </wsdl:input>
+    </wsdl:operation>
+    <wsdl:operation name="getSetWChar">
+<corba:operation name="getSetWChar"><corba:param mode="in" name="inparameter" idltype="corba:string" /><corba:return name="outparameter" idltype="corba:string" /></corba:operation>      <wsdl:input name="getSetWCharRequest">
+      </wsdl:input>
+      <wsdl:output name="getSetWCharResponse">
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="getString">
+<corba:operation name="getString"><corba:return name="outparameter" idltype="corba:string" /></corba:operation>      <wsdl:output name="getStringResponse">
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="setString">
+<corba:operation name="setString"><corba:param mode="in" name="inparameter" idltype="corba:string" /></corba:operation>      <wsdl:input name="setStringRequest">
+      </wsdl:input>
+    </wsdl:operation>
+    <wsdl:operation name="getSetString">
+<corba:operation name="getSetString"><corba:param mode="in" name="inparameter" idltype="corba:string" /><corba:return name="outparameter" idltype="corba:string" /></corba:operation>      <wsdl:input name="getSetStringRequest">
+      </wsdl:input>
+      <wsdl:output name="getSetStringResponse">
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="getWstring">
+<corba:operation name="getWstring"><corba:return name="outparameter" idltype="corba:string" /></corba:operation>      <wsdl:output name="getWstringResponse">
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="setWstring">
+<corba:operation name="setWstring"><corba:param mode="in" name="inparameter" idltype="corba:string" /></corba:operation>      <wsdl:input name="setWstringRequest">
+      </wsdl:input>
+    </wsdl:operation>
+    <wsdl:operation name="getSetWstring">
+<corba:operation name="getSetWstring"><corba:param mode="in" name="inparameter" idltype="corba:string" /><corba:return name="outparameter" idltype="corba:string" /></corba:operation>      <wsdl:input name="getSetWstringRequest">
+      </wsdl:input>
+      <wsdl:output name="getSetWstringResponse">
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="getBoolean">
+<corba:operation name="getBoolean"><corba:return name="outparameter" idltype="corba:boolean" /></corba:operation>      <wsdl:output name="getBooleanResponse">
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="setBoolean">
+<corba:operation name="setBoolean"><corba:param mode="in" name="inparameter" idltype="corba:boolean" /></corba:operation>      <wsdl:input name="setBooleanRequest">
+      </wsdl:input>
+    </wsdl:operation>
+    <wsdl:operation name="getSetBoolean">
+<corba:operation name="getSetBoolean"><corba:param mode="in" name="inparameter" idltype="corba:boolean" /><corba:return name="outparameter" idltype="corba:boolean" /></corba:operation>      <wsdl:input name="getSetBooleanRequest">
+      </wsdl:input>
+      <wsdl:output name="getSetBooleanResponse">
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="getOctet">
+<corba:operation name="getOctet"><corba:return name="outparameter" idltype="corba:octet" /></corba:operation>      <wsdl:output name="getOctetResponse">
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="setOctet">
+<corba:operation name="setOctet"><corba:param mode="in" name="inparameter" idltype="corba:octet" /></corba:operation>      <wsdl:input name="setOctetRequest">
+      </wsdl:input>
+    </wsdl:operation>
+    <wsdl:operation name="getSetOctet">
+<corba:operation name="getSetOctet"><corba:param mode="in" name="inparameter" idltype="corba:octet" /><corba:return name="outparameter" idltype="corba:octet" /></corba:operation>      <wsdl:input name="getSetOctetRequest">
+      </wsdl:input>
+      <wsdl:output name="getSetOctetResponse">
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="PrimitivesCORBAService">
+    <wsdl:port name="PrimitivesCORBAPort" binding="tns:PrimitivesCORBABinding">
+<corba:address location="IOR:" />    </wsdl:port>
+  </wsdl:service>
+<corba:typeMapping targetNamespace="http://schemas.apache.org/yoko/idl/primitives/corba/typemap/" /></wsdl:definitions>

Propchange: incubator/yoko/trunk/tools/src/test/resources/idl/expected_Primitives.wsdl
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/yoko/trunk/tools/src/test/resources/idl/expected_Primitives.wsdl
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/yoko/trunk/tools/src/test/resources/idl/expected_Primitives.wsdl
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/yoko/trunk/tools/src/test/resources/idl/primitives.idl
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/test/resources/idl/primitives.idl?rev=414644&view=auto
==============================================================================
--- incubator/yoko/trunk/tools/src/test/resources/idl/primitives.idl (added)
+++ incubator/yoko/trunk/tools/src/test/resources/idl/primitives.idl Thu Jun 15 10:59:54 2006
@@ -0,0 +1,82 @@
+/* 
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+*/ 
+
+interface Primitives {
+
+	void getShort   (out   short outShort);
+	void setShort   (in    short inShort);
+	void getSetShort(inout short inOutShort);
+
+	void getUnsignedShort   (out   unsigned short outUnsignedShort);
+	void setUnsignedShort   (in    unsigned short inUnsignedShort);
+	void getSetUnsignedShort(inout unsigned short inOutUnsignedShort);
+
+	void getLong   (out   long outLong);
+	void setLong   (in    long inLong);
+	void getSetLong(inout long inOutLong);
+
+	void getUnsignedLong   (out   unsigned long outUnsignedLong);
+	void setUnsignedLong   (in    unsigned long inUnsignedLong);
+	void getSetUnsignedLong(inout unsigned long inOutUnsignedLong);
+
+	void getLongLong   (out   long long outUnsignedLong);
+	void setLongLong   (in    long long inUnsignedLong);
+	void getSetLongLong(inout long long inOuUnsignedLong);
+
+	void getUnsignedLongLong   (out   unsigned long long outUnsignedLongLong);
+	void setUnsignedLongLong   (in    unsigned long long inUnsignedLongLong);
+	void getSetUnsignedLongLong(inout unsigned long long inOutUnsignedLongLong);
+
+	void getFloat   (out   float outFloat);
+	void setFloat   (in    float inFloat);
+	void getSetFloat(inout float inOutFloat);
+	
+	void getDouble   (out   double outDouble);
+	void setDouble   (in    double inDouble);
+	void getSetDouble(inout double inOutDouble);
+	
+	void getChar   (out   char outChar);
+	void setChar   (in    char inChar);
+	void getSetChar(inout char inOutChar);
+	
+	void getWChar   (out   wchar outWChar);
+	void setWChar   (in    wchar inWChar);
+	void getSetWChar(inout wchar inOutWChar);
+
+	void getString   (out   string outString);
+	void setString   (in    string inString);
+	void getSetString(inout string inOutString);
+
+	void getWstring   (out   wstring outWstring);
+	void setWstring   (in    wstring inWstring);
+	void getSetWstring(inout wstring inOutWstring);
+
+	void getBoolean   (out   boolean outBoolean);
+	void setBoolean   (in    boolean inBoolean);
+	void getSetBoolean(inout boolean inOutBoolean);
+	
+	void getOctet   (out   octet outOctet);
+	void setOctet   (in    octet inOctet);
+	void getSetOctet(inout octet inOutOctet);
+	
+//	void getAny   (out   any outAny);
+//	void setAny   (in    any inAny);
+//	void getSetAny(inout any inOutAny);
+
+};