You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@etch.apache.org by gr...@apache.org on 2010/09/17 15:53:28 UTC

svn commit: r998135 [2/2] - in /incubator/etch/trunk: ./ examples/ examples/helloworld/ examples/helloworld/src/ examples/helloworld/src/main/ examples/helloworld/src/main/c/ examples/helloworld/src/main/csharp/ examples/helloworld/src/main/csharp/Hell...

Added: incubator/etch/trunk/examples/helloworld/src/main/csharp/org.apache.etch.examples.helloworld/ImplHelloWorldClient.cs
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/examples/helloworld/src/main/csharp/org.apache.etch.examples.helloworld/ImplHelloWorldClient.cs?rev=998135&view=auto
==============================================================================
--- incubator/etch/trunk/examples/helloworld/src/main/csharp/org.apache.etch.examples.helloworld/ImplHelloWorldClient.cs (added)
+++ incubator/etch/trunk/examples/helloworld/src/main/csharp/org.apache.etch.examples.helloworld/ImplHelloWorldClient.cs Fri Sep 17 13:53:26 2010
@@ -0,0 +1,46 @@
+// 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.
+// 
+using System;
+
+
+
+using org.apache.etch.examples.helloworld.types.HelloWorld;
+
+///<summary>Your custom implementation of BaseHelloWorldClient. Add methods here to provide
+///implementation of messages from the server. </summary>
+namespace org.apache.etch.examples.helloworld
+{
+	///<summary>Implementation for ImplHelloWorldClient</summary>
+	public class ImplHelloWorldClient : BaseHelloWorldClient
+	{
+		/// <summary>Constructs the ImplHelloWorldClient.</summary>
+ 		/// <param name="server">a connection to the server session. Use this to
+ 		/// send a message to the server.</param>
+		public ImplHelloWorldClient(RemoteHelloWorldServer server)
+		{
+			this.server = server;
+		}
+		
+		/// <summary>A connection to the server session. Use this to
+ 		/// send a message to the server.</summary>
+		private readonly RemoteHelloWorldServer server;
+	
+		// TODO: Implement delegates or provide implementation of HelloWorldClient
+		// messages from the server	
+	}
+}

Added: incubator/etch/trunk/examples/helloworld/src/main/csharp/org.apache.etch.examples.helloworld/ImplHelloWorldServer.cs
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/examples/helloworld/src/main/csharp/org.apache.etch.examples.helloworld/ImplHelloWorldServer.cs?rev=998135&view=auto
==============================================================================
--- incubator/etch/trunk/examples/helloworld/src/main/csharp/org.apache.etch.examples.helloworld/ImplHelloWorldServer.cs (added)
+++ incubator/etch/trunk/examples/helloworld/src/main/csharp/org.apache.etch.examples.helloworld/ImplHelloWorldServer.cs Fri Sep 17 13:53:26 2010
@@ -0,0 +1,51 @@
+// 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.
+// 
+
+using System;
+
+
+
+using org.apache.etch.examples.helloworld.types.HelloWorld;
+
+///<summary>Your custom implementation of BaseHelloWorldServer. Add methods here to provide
+///implementation of messages from the client. </summary>
+namespace org.apache.etch.examples.helloworld
+{
+	///<summary>Implementation for ImplHelloWorldServer</summary>
+	public class ImplHelloWorldServer : BaseHelloWorldServer
+	{
+		/// <summary>Constructs the ImplHelloWorldServer.</summary>
+ 		/// <param name="client">a connection to the client session. Use this to
+ 		/// send a message to the client.</param>
+		public ImplHelloWorldServer(RemoteHelloWorldClient client)
+		{
+			this.client = client;
+		}
+		
+		/// <summary>A connection to the client session. Use this to
+ 		/// send a message to the client.</summary>
+		private readonly RemoteHelloWorldClient client;
+	
+		public override string say_hello (
+				org.apache.etch.examples.helloworld.types.HelloWorld.user to_whom
+		)
+		{
+			return "Hello " + to_whom.name;
+		}
+	}
+}

Added: incubator/etch/trunk/examples/helloworld/src/main/csharp/org.apache.etch.examples.helloworld/MainHelloWorldClient.cs
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/examples/helloworld/src/main/csharp/org.apache.etch.examples.helloworld/MainHelloWorldClient.cs?rev=998135&view=auto
==============================================================================
--- incubator/etch/trunk/examples/helloworld/src/main/csharp/org.apache.etch.examples.helloworld/MainHelloWorldClient.cs (added)
+++ incubator/etch/trunk/examples/helloworld/src/main/csharp/org.apache.etch.examples.helloworld/MainHelloWorldClient.cs Fri Sep 17 13:53:26 2010
@@ -0,0 +1,56 @@
+// 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.
+// 
+
+using System;
+
+using org.apache.etch.examples.helloworld.types.HelloWorld;
+
+namespace org.apache.etch.examples.helloworld
+{
+	///<summary>Main implementation for HelloWorldClient.</summary>
+	public class MainHelloWorldClient : HelloWorldHelper.HelloWorldClientFactory
+	{
+		///<summary>Main for HelloWorldClient</summary>
+		///<param name="args">Command Line Arguments</param>
+		public static void Main(String[] args)
+		{
+			// TODO: Change to correct URI
+			string uri = "tcp://127.0.0.1:4001";
+			
+			RemoteHelloWorldServer server = HelloWorldHelper.NewServer( uri, null, new MainHelloWorldClient());
+		
+			// Connect to the service
+			server._StartAndWaitUp( 4000 );
+
+			org.apache.etch.examples.helloworld.types.HelloWorld.user theUser = new user(15,"Test");
+	            	string s = server.say_hello(theUser);
+			Console.Write(s);
+
+			// Disconnect from the service
+			server._StopAndWaitDown( 4000 );			
+		}
+
+		///<summary>Return a new instance of HelloWorldClient.</summary>
+		///<param name="server">Reference to remote service</param>
+		///<returns>Client Implementation</returns>
+		public HelloWorldClient NewHelloWorldClient( RemoteHelloWorldServer server )
+		{
+			return new ImplHelloWorldClient( server );
+		}
+	}
+}

Added: incubator/etch/trunk/examples/helloworld/src/main/csharp/org.apache.etch.examples.helloworld/MainHelloWorldListener.cs
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/examples/helloworld/src/main/csharp/org.apache.etch.examples.helloworld/MainHelloWorldListener.cs?rev=998135&view=auto
==============================================================================
--- incubator/etch/trunk/examples/helloworld/src/main/csharp/org.apache.etch.examples.helloworld/MainHelloWorldListener.cs (added)
+++ incubator/etch/trunk/examples/helloworld/src/main/csharp/org.apache.etch.examples.helloworld/MainHelloWorldListener.cs Fri Sep 17 13:53:26 2010
@@ -0,0 +1,51 @@
+// 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.
+// 
+using System;
+
+using Org.Apache.Etch.Bindings.Csharp.Support;
+using Org.Apache.Etch.Bindings.Csharp.Util;
+
+using org.apache.etch.examples.helloworld.types.HelloWorld;
+
+namespace org.apache.etch.examples.helloworld
+{
+	///<summary>Main implementation for HelloWorldListener.</summary>
+	public class MainHelloWorldListener : HelloWorldHelper.HelloWorldServerFactory
+	{
+ 		///<summary>Main for HelloWorldListener.</summary>
+		///<param name="args">Command Line Arguments</param>
+		public static void Main(String[] args)
+		{
+			// TODO: Change to correct URI
+			string uri = "tcp://127.0.0.1:4001";
+			
+			ServerFactory listener = HelloWorldHelper.NewListener( uri, null, new MainHelloWorldListener());
+			
+			// Start the Listener
+			listener.TransportControl( TransportConsts.START_AND_WAIT_UP, 400000 );
+		}
+
+		///<summary>Return a new instance of HelloWorldServer.</summary>
+		///<param name="client">Reference to remote service</param>
+		///<returns>Server Implementation</returns>
+		public HelloWorldServer NewHelloWorldServer( RemoteHelloWorldClient client )
+		{
+			return new ImplHelloWorldServer( client );
+		}
+	}
+}

Added: incubator/etch/trunk/examples/helloworld/src/main/etch/HelloWorld.etch
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/examples/helloworld/src/main/etch/HelloWorld.etch?rev=998135&view=auto
==============================================================================
--- incubator/etch/trunk/examples/helloworld/src/main/etch/HelloWorld.etch (added)
+++ incubator/etch/trunk/examples/helloworld/src/main/etch/HelloWorld.etch Fri Sep 17 13:53:26 2010
@@ -0,0 +1,34 @@
+// 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.
+// 
+
+module org.apache.etch.examples.helloworld
+
+service HelloWorld {
+	struct user (
+		int id,
+		string name
+	)
+
+	exception UserUnknownException (
+		string mes
+	)
+
+	@Direction(Server)
+	string say_hello(user to_whom) throws UserUnknownException
+
+}

Added: incubator/etch/trunk/examples/helloworld/src/main/java/org/apache/etch/examples/helloworld/ImplHelloWorldClient.java
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/examples/helloworld/src/main/java/org/apache/etch/examples/helloworld/ImplHelloWorldClient.java?rev=998135&view=auto
==============================================================================
--- incubator/etch/trunk/examples/helloworld/src/main/java/org/apache/etch/examples/helloworld/ImplHelloWorldClient.java (added)
+++ incubator/etch/trunk/examples/helloworld/src/main/java/org/apache/etch/examples/helloworld/ImplHelloWorldClient.java Fri Sep 17 13:53:26 2010
@@ -0,0 +1,57 @@
+// This file automatically generated by:
+//   Apache Etch 1.1.0-incubating (LOCAL-0) / java 1.1.0-incubating (LOCAL-0)
+//   Wed Sep 15 17:22:46 CEST 2010
+// This file is automatically created for your convenience and will not be
+// overwritten once it exists! Please edit this file as necessary to implement
+// your service logic.
+
+package org.apache.etch.examples.helloworld;
+/*
+ *
+ * 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.
+ *
+ */
+
+
+/**
+ * Your custom implementation of BaseHelloWorldClient. Add methods here to provide
+ * implementations of messages from the server.
+ */
+public class ImplHelloWorldClient extends BaseHelloWorldClient
+{
+	/**
+	 * Constructs the ImplHelloWorldClient.
+	 *
+	 * @param server a connection to the server session. Use this to send a
+	 * message to the server.
+	 */
+	public ImplHelloWorldClient( RemoteHelloWorldServer server )
+	{
+		this.server = server;
+	}
+	
+	/**
+	 * A connection to the server session. Use this to send a
+	 * message to the server.
+	 */
+	@SuppressWarnings( "unused" )
+	private final RemoteHelloWorldServer server;
+
+	// TODO insert methods here to provide implementations of HelloWorldClient
+	// messages from the server.
+}

Added: incubator/etch/trunk/examples/helloworld/src/main/java/org/apache/etch/examples/helloworld/ImplHelloWorldServer.java
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/examples/helloworld/src/main/java/org/apache/etch/examples/helloworld/ImplHelloWorldServer.java?rev=998135&view=auto
==============================================================================
--- incubator/etch/trunk/examples/helloworld/src/main/java/org/apache/etch/examples/helloworld/ImplHelloWorldServer.java (added)
+++ incubator/etch/trunk/examples/helloworld/src/main/java/org/apache/etch/examples/helloworld/ImplHelloWorldServer.java Fri Sep 17 13:53:26 2010
@@ -0,0 +1,61 @@
+// This file automatically generated by:
+//   Apache Etch 1.1.0-incubating (LOCAL-0) / java 1.1.0-incubating (LOCAL-0)
+//   Wed Sep 15 17:22:46 CEST 2010
+// This file is automatically created for your convenience and will not be
+// overwritten once it exists! Please edit this file as necessary to implement
+// your service logic.
+
+package org.apache.etch.examples.helloworld;
+/*
+ *
+ * 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.
+ *
+ */
+
+
+/**
+ * Your custom implementation of BaseHelloWorldServer. Add methods here to provide
+ * implementations of messages from the client.
+ */
+public class ImplHelloWorldServer extends BaseHelloWorldServer
+{
+	/**
+	 * Constructs the ImplHelloWorldServer.
+	 *
+	 * @param client a connection to the client session. Use this to send a
+	 * message to the client.
+	 */
+	public ImplHelloWorldServer( RemoteHelloWorldClient client )
+	{
+		this.client = client;
+	}
+	
+	/**
+	 * A connection to the client session. Use this to send a
+	 * message to the client.
+	 */
+	@SuppressWarnings( "unused" )
+	private final RemoteHelloWorldClient client;
+	
+	@Override
+	public String say_hello(user u){
+		return "Hello " + u.name;
+	}
+	
+	
+}	

Added: incubator/etch/trunk/examples/helloworld/src/main/java/org/apache/etch/examples/helloworld/MainHelloWorldClient.java
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/examples/helloworld/src/main/java/org/apache/etch/examples/helloworld/MainHelloWorldClient.java?rev=998135&view=auto
==============================================================================
--- incubator/etch/trunk/examples/helloworld/src/main/java/org/apache/etch/examples/helloworld/MainHelloWorldClient.java (added)
+++ incubator/etch/trunk/examples/helloworld/src/main/java/org/apache/etch/examples/helloworld/MainHelloWorldClient.java Fri Sep 17 13:53:26 2010
@@ -0,0 +1,68 @@
+// This file automatically generated by:
+//   Apache Etch 1.1.0-incubating (LOCAL-0) / java 1.1.0-incubating (LOCAL-0)
+//   Wed Sep 15 17:22:46 CEST 2010
+// This file is automatically created for your convenience and will not be
+// overwritten once it exists! Please edit this file as necessary to implement
+// your service logic.
+
+package org.apache.etch.examples.helloworld;
+/*
+ *
+ * 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.
+ *
+ */
+
+
+import org.apache.etch.examples.helloworld.HelloWorld.user;
+
+/**
+ * Main program for HelloWorldClient. This program makes a connection to the
+ * listener created by MainHelloWorldListener.
+ */
+public class MainHelloWorldClient implements HelloWorldHelper.HelloWorldClientFactory
+{
+	/**
+	 * Main program for HelloWorldClient.
+	 * 
+	 * @param args command line arguments.
+	 * @throws Exception
+	 */
+	public static void main( String[] args ) throws Exception
+	{
+		// TODO Change to correct URI
+		String uri = "tcp://127.0.0.1:4001";
+		
+		RemoteHelloWorldServer server = HelloWorldHelper.newServer( uri, null,
+			new MainHelloWorldClient() );
+
+		// Connect to the service
+		server._startAndWaitUp( 4000 );
+
+		user u = new user(5, "Testuser");
+		System.out.println(server.say_hello(u));
+
+		// Disconnect from the service
+		server._stopAndWaitDown( 4000 );
+	}
+
+	public HelloWorldClient newHelloWorldClient( RemoteHelloWorldServer server )
+		throws Exception
+	{
+		return new ImplHelloWorldClient( server );
+	}
+}

Added: incubator/etch/trunk/examples/helloworld/src/main/java/org/apache/etch/examples/helloworld/MainHelloWorldListener.java
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/examples/helloworld/src/main/java/org/apache/etch/examples/helloworld/MainHelloWorldListener.java?rev=998135&view=auto
==============================================================================
--- incubator/etch/trunk/examples/helloworld/src/main/java/org/apache/etch/examples/helloworld/MainHelloWorldListener.java (added)
+++ incubator/etch/trunk/examples/helloworld/src/main/java/org/apache/etch/examples/helloworld/MainHelloWorldListener.java Fri Sep 17 13:53:26 2010
@@ -0,0 +1,62 @@
+// This file automatically generated by:
+//   Apache Etch 1.1.0-incubating (LOCAL-0) / java 1.1.0-incubating (LOCAL-0)
+//   Wed Sep 15 17:22:46 CEST 2010
+// This file is automatically created for your convenience and will not be
+// overwritten once it exists! Please edit this file as necessary to implement
+// your service logic.
+
+package org.apache.etch.examples.helloworld;
+/*
+ *
+ * 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.
+ *
+ */
+
+
+import org.apache.etch.bindings.java.support.ServerFactory;
+import org.apache.etch.util.core.io.Transport;
+
+/**
+ * Main program for HelloWorldServer. This program makes a listener to accept
+ * connections from MainHelloWorldClient.
+ */
+public class MainHelloWorldListener implements HelloWorldHelper.HelloWorldServerFactory
+{
+	/**
+	 * Main program for HelloWorldServer.
+	 * 
+	 * @param args command line arguments.
+	 * @throws Exception
+	 */
+	public static void main( String[] args ) throws Exception
+	{
+		// TODO Change to correct URI
+		String uri = "tcp://127.0.0.1:4001";
+		
+		ServerFactory listener = HelloWorldHelper.newListener( uri, null,
+			new MainHelloWorldListener() );
+
+		// Start the Listener
+		listener.transportControl( Transport.START_AND_WAIT_UP, 4000 );
+	}
+
+	public HelloWorldServer newHelloWorldServer( RemoteHelloWorldClient client )
+	{
+		return new ImplHelloWorldServer( client );
+	}
+}

Added: incubator/etch/trunk/examples/helloworld/src/test/csharp/HelloWorldTestProj/HelloWorldTestProj.csproj
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/examples/helloworld/src/test/csharp/HelloWorldTestProj/HelloWorldTestProj.csproj?rev=998135&view=auto
==============================================================================
--- incubator/etch/trunk/examples/helloworld/src/test/csharp/HelloWorldTestProj/HelloWorldTestProj.csproj (added)
+++ incubator/etch/trunk/examples/helloworld/src/test/csharp/HelloWorldTestProj/HelloWorldTestProj.csproj Fri Sep 17 13:53:26 2010
@@ -0,0 +1,129 @@
+<?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.                                           *
+ -->
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>8.0.50727</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{E3676B8F-6BBB-4A7E-A48F-74BBB694F6B2}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>HelloWorldTestProj</RootNamespace>
+    <AssemblyName>HelloWorldTestProj</AssemblyName>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="nunit.framework, Version=2.4.7.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
+      <HintPath>$(NUNIT_HOME)\bin\nunit.framework.dll</HintPath>
+      <SpecificVersion>False</SpecificVersion>
+    </Reference>
+    <Reference Include="System" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="..\..\..\..\target\generated-sources\main\etch\csharp\org.apache.etch.examples.helloworld\BaseHelloWorldClient.cs">
+      <Link>BaseHelloWorldClient.cs</Link>
+    </Compile>
+    <Compile Include="..\..\..\..\target\generated-sources\main\etch\csharp\org.apache.etch.examples.helloworld\BaseHelloWorldServer.cs">
+      <Link>BaseHelloWorldServer.cs</Link>
+    </Compile>
+    <Compile Include="..\..\..\..\target\generated-sources\main\etch\csharp\org.apache.etch.examples.helloworld\HelloWorld.cs">
+      <Link>HelloWorld.cs</Link>
+    </Compile>
+    <Compile Include="..\..\..\..\target\generated-sources\main\etch\csharp\org.apache.etch.examples.helloworld\HelloWorldClient.cs">
+      <Link>HelloWorldClient.cs</Link>
+    </Compile>
+    <Compile Include="..\..\..\..\target\generated-sources\main\etch\csharp\org.apache.etch.examples.helloworld\HelloWorldHelper.cs">
+      <Link>HelloWorldHelper.cs</Link>
+    </Compile>
+    <Compile Include="..\..\..\..\target\generated-sources\main\etch\csharp\org.apache.etch.examples.helloworld\HelloWorldServer.cs">
+      <Link>HelloWorldServer.cs</Link>
+    </Compile>
+    <Compile Include="..\..\..\..\target\generated-sources\main\etch\csharp\org.apache.etch.examples.helloworld\RemoteHelloWorld.cs">
+      <Link>RemoteHelloWorld.cs</Link>
+    </Compile>
+    <Compile Include="..\..\..\..\target\generated-sources\main\etch\csharp\org.apache.etch.examples.helloworld\RemoteHelloWorldClient.cs">
+      <Link>RemoteHelloWorldClient.cs</Link>
+    </Compile>
+    <Compile Include="..\..\..\..\target\generated-sources\main\etch\csharp\org.apache.etch.examples.helloworld\RemoteHelloWorldServer.cs">
+      <Link>RemoteHelloWorldServer.cs</Link>
+    </Compile>
+    <Compile Include="..\..\..\..\target\generated-sources\main\etch\csharp\org.apache.etch.examples.helloworld\StubHelloWorld.cs">
+      <Link>StubHelloWorld.cs</Link>
+    </Compile>
+    <Compile Include="..\..\..\..\target\generated-sources\main\etch\csharp\org.apache.etch.examples.helloworld\StubHelloWorldClient.cs">
+      <Link>StubHelloWorldClient.cs</Link>
+    </Compile>
+    <Compile Include="..\..\..\..\target\generated-sources\main\etch\csharp\org.apache.etch.examples.helloworld\StubHelloWorldServer.cs">
+      <Link>StubHelloWorldServer.cs</Link>
+    </Compile>
+    <Compile Include="..\..\..\..\target\generated-sources\main\etch\csharp\org.apache.etch.examples.helloworld\ValueFactoryHelloWorld.cs">
+      <Link>ValueFactoryHelloWorld.cs</Link>
+    </Compile>
+    <Compile Include="..\..\..\main\csharp\org.apache.etch.examples.helloworld\ImplHelloWorldClient.cs">
+      <Link>ImplHelloWorldClient.cs</Link>
+    </Compile>
+    <Compile Include="..\..\..\main\csharp\org.apache.etch.examples.helloworld\ImplHelloWorldServer.cs">
+      <Link>ImplHelloWorldServer.cs</Link>
+    </Compile>
+    <Compile Include="..\..\..\main\csharp\org.apache.etch.examples.helloworld\MainHelloWorldClient.cs">
+      <Link>MainHelloWorldClient.cs</Link>
+    </Compile>
+    <Compile Include="..\..\..\main\csharp\org.apache.etch.examples.helloworld\MainHelloWorldListener.cs">
+      <Link>MainHelloWorldListener.cs</Link>
+    </Compile>
+    <Compile Include="..\org.apache.etch.examples.helloworld\TestHelloWorldServer.cs">
+      <Link>TestHelloWorldServer.cs</Link>
+    </Compile>
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\..\..\..\..\..\binding-csharp\runtime\src\main\csharp\EtchProj.csproj">
+      <Project>{0E518F2A-3016-4C2F-A21B-9BD52B2DC846}</Project>
+      <Name>EtchProj</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>

Added: incubator/etch/trunk/examples/helloworld/src/test/csharp/HelloWorldTestProj/Properties/AssemblyInfo.cs
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/examples/helloworld/src/test/csharp/HelloWorldTestProj/Properties/AssemblyInfo.cs?rev=998135&view=auto
==============================================================================
--- incubator/etch/trunk/examples/helloworld/src/test/csharp/HelloWorldTestProj/Properties/AssemblyInfo.cs (added)
+++ incubator/etch/trunk/examples/helloworld/src/test/csharp/HelloWorldTestProj/Properties/AssemblyInfo.cs Fri Sep 17 13:53:26 2010
@@ -0,0 +1,50 @@
+// 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.                                           *
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("HelloWorldTestProj")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Apache Software Foundation")]
+[assembly: AssemblyProduct("Apache Etch (incubating)")]
+[assembly: AssemblyCopyright("Copyright ? Apache Software Foundation 2009")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("281472ff-b634-4e2a-93dd-9591e7b875f6")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Revision and Build Numbers 
+// by using the '*' as shown below:
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]

Added: incubator/etch/trunk/examples/helloworld/src/test/csharp/org.apache.etch.examples.helloworld/TestHelloWorldServer.cs
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/examples/helloworld/src/test/csharp/org.apache.etch.examples.helloworld/TestHelloWorldServer.cs?rev=998135&view=auto
==============================================================================
--- incubator/etch/trunk/examples/helloworld/src/test/csharp/org.apache.etch.examples.helloworld/TestHelloWorldServer.cs (added)
+++ incubator/etch/trunk/examples/helloworld/src/test/csharp/org.apache.etch.examples.helloworld/TestHelloWorldServer.cs Fri Sep 17 13:53:26 2010
@@ -0,0 +1,99 @@
+// $Id: TestHelloWorldServer.cs 743358 2009-02-11 15:18:15Z sccomer $
+// 
+// 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.
+// 
+using System;
+using Org.Apache.Etch.Bindings.Csharp.Support;
+using Org.Apache.Etch.Bindings.Csharp.Util;
+using NUnit.Framework;
+using org.apache.etch.examples.helloworld.types.HelloWorld;
+
+namespace org.apache.etch.examples.helloworld
+{
+
+    /// <summary>
+    /// Unit Tests to test HelloWorld
+    /// </summary>
+    /// 
+    [TestFixture]
+    public class TestHelloWorldServer
+    {
+        private static RemoteHelloWorldServer server;
+
+        private static ServerFactory listener;
+
+        [TestFixtureSetUp]
+        public void StartListener()
+        {
+            String uri = "tcp://localhost:4010";
+
+            MainHelloWorldListener implFactory = new MainHelloWorldListener();
+            listener = HelloWorldHelper.NewListener(uri, null, implFactory);
+
+            listener.TransportControl(TransportConsts.START_AND_WAIT_UP, 4000);
+
+            Console.WriteLine("Listener Started");
+
+        }
+
+        [SetUp]
+        public void MakeConnection()
+        {
+            String uri = "tcp://localhost:4010";
+
+            MainHelloWorldClient client = new MainHelloWorldClient();
+            server = HelloWorldHelper.NewServer(uri, null, client);
+
+            server._StartAndWaitUp(4000);
+        }
+
+        [Test]
+        public void CheckConnection()
+        {
+            Assert.IsNotNull(server);
+        }
+
+        [Test]
+        public void TestSayHallo()
+        {
+	    org.apache.etch.examples.helloworld.types.HelloWorld.user theUser = new user(15,"Test");
+            string s = server.say_hello(theUser);
+            Assert.AreEqual(s, "Hello Test");
+        }
+
+        [TearDown]
+        public void CloseConnection()
+        {
+            if (server != null)
+            {
+                server._Stop();
+            }
+        }
+
+        [TestFixtureTearDown]
+        public void StopListener()
+        {
+            if (listener != null)
+            {
+                listener.TransportControl(TransportConsts.STOP_AND_WAIT_DOWN, 4000);
+                listener = null;
+            }
+        }
+
+    }
+}

Added: incubator/etch/trunk/examples/helloworld/src/test/java/org/apache/etch/examples/helloworld/TestHelloWorldServer.java
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/examples/helloworld/src/test/java/org/apache/etch/examples/helloworld/TestHelloWorldServer.java?rev=998135&view=auto
==============================================================================
--- incubator/etch/trunk/examples/helloworld/src/test/java/org/apache/etch/examples/helloworld/TestHelloWorldServer.java (added)
+++ incubator/etch/trunk/examples/helloworld/src/test/java/org/apache/etch/examples/helloworld/TestHelloWorldServer.java Fri Sep 17 13:53:26 2010
@@ -0,0 +1,131 @@
+/* $Id: TestHelloWorldServer.java 743147 2009-02-10 22:53:01Z sccomer $
+ *
+ * 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.etch.examples.helloworld;
+
+import java.util.Date;
+
+import junit.framework.Assert;
+
+import org.apache.etch.bindings.java.support.ServerFactory;
+import org.apache.etch.examples.helloworld.HelloWorld.user;
+import org.apache.etch.util.Log;
+import org.apache.etch.util.core.io.Transport;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+
+/** */
+public class TestHelloWorldServer
+{
+
+	/** transport */
+	public static ServerFactory listener;
+	
+	RemoteHelloWorldServer server;
+
+	/**
+	 * @throws Exception
+	 */
+	@BeforeClass
+	public static void startListener() throws Exception
+	{
+		Log.addSink(null);
+		Log.report("StartExampleListener");
+			
+		String uri = "tcp://localhost:4009";
+		MainHelloWorldListener implFactory = new MainHelloWorldListener();
+		listener = HelloWorldHelper.newListener( uri, null, implFactory );
+
+		listener.transportControl( Transport.START_AND_WAIT_UP, 4000 );
+	
+		Log.report( "StartExampleListener",
+				"status", "up",
+				"listener", listener );
+	}
+
+	/**
+	 * @throws Exception
+	 */
+	@AfterClass
+	public static void stopListener() throws Exception
+	{
+		if (listener != null)
+		{
+			listener.transportControl( Transport.STOP_AND_WAIT_DOWN, 4000 );
+			listener = null;
+		}
+	}
+	
+	/**
+	 * Connect client to serve
+	 * @throws Exception
+	 */
+	@Before
+	public void makeConnection()
+		throws Exception
+	{
+		String uri = "tcp://localhost:4009";
+
+		server = HelloWorldHelper.newServer( uri, null, new MainHelloWorldClient() );
+
+		server._startAndWaitUp( 4000 );
+	}
+
+	/**
+	 * Shutdown connection to server
+	 * @throws Exception
+	 */
+	@After
+	public void shutConnection()
+		throws Exception
+	{
+		if (server != null)
+		{
+			server._stop();
+		}
+	}
+	
+	/**
+	 * @throws Exception
+	 */
+	@Test
+	public void checkConnection() throws Exception
+	{
+		Assert.assertNotNull(server);
+	}
+	
+	/**
+	 * @throws Exception
+	 */
+	@Test
+	public void testSayHello() throws Exception
+	{
+		user u = new user(5, "Test");
+		String result = server.say_hello(u);
+		Assert.assertTrue(result.equals("Hello Test"));
+	}
+	
+
+
+}