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/11/29 15:29:24 UTC

svn commit: r1040122 [4/4] - in /incubator/etch/trunk: ./ binding-go/ binding-go/compiler/ binding-go/compiler/src/ binding-go/compiler/src/main/ binding-go/compiler/src/main/java/ binding-go/compiler/src/main/java/org/ binding-go/compiler/src/main/jav...

Added: incubator/etch/trunk/binding-go/runtime/src/test/go/example/generated/ImplHelloWorldServer.go
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/binding-go/runtime/src/test/go/example/generated/ImplHelloWorldServer.go?rev=1040122&view=auto
==============================================================================
--- incubator/etch/trunk/binding-go/runtime/src/test/go/example/generated/ImplHelloWorldServer.go (added)
+++ incubator/etch/trunk/binding-go/runtime/src/test/go/example/generated/ImplHelloWorldServer.go Mon Nov 29 14:29:21 2010
@@ -0,0 +1,65 @@
+/* 
+  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.
+*/ 
+// This file automatically generated by:
+//   Apache Etch 1.1.0-incubating (LOCAL-0) / go 1.1.0-incubating (LOCAL-0)
+//   Wed Nov 17 11:24:26 CET 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
+
+import "fmt"
+
+type ImplHelloWorldServer struct {
+     HelloWorldServer_base
+}
+
+
+//ADD YOUR IMPLEMENTATIONS FOR SERVER/CLIENT SIDE METHODS HERE AS
+//    func (f *ImplHelloWorldServer) your_method(p param1, ...) {
+//    	   //your code goes here
+//    }
+//default implementation for methods can be found in HelloWorldServer_base.go
+
+func (base *ImplHelloWorldServer) say_hello (to_whom *User) string {
+	fmt.Printf("HELLO " + fmt.Sprint(to_whom) + "\n")
+	val := base.TheClient.F(to_whom.Id)
+	fmt.Printf("F on client callback done...\n")
+	return "Hello World to " + fmt.Sprint(to_whom.Name) + ", your answer was " + fmt.Sprint(val)
+}
+
+
+func (base *ImplHelloWorldServer)  oneway ( )  {
+	//nothing to do
+}
+
+func (base *ImplHelloWorldServer)  twoway ( )  {
+	//nothing to do
+}
+
+func (base *ImplHelloWorldServer) simpleArrayTest (ints []int32)  {
+	fmt.Printf("simpleArrayTest: got " + fmt.Sprint(ints) + "\n")
+}
+
+func (base *ImplHelloWorldServer) structArrayTest (users []*User)  {
+	for _, u := range users {
+		fmt.Printf("structArrayTest got: " + fmt.Sprint(u) + "\n")
+	}
+}

Added: incubator/etch/trunk/binding-go/runtime/src/test/go/example/generated/MainHelloWorldClient.go
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/binding-go/runtime/src/test/go/example/generated/MainHelloWorldClient.go?rev=1040122&view=auto
==============================================================================
--- incubator/etch/trunk/binding-go/runtime/src/test/go/example/generated/MainHelloWorldClient.go (added)
+++ incubator/etch/trunk/binding-go/runtime/src/test/go/example/generated/MainHelloWorldClient.go Mon Nov 29 14:29:21 2010
@@ -0,0 +1,71 @@
+/* 
+  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.
+*/ 
+// This file automatically generated by:
+//   Apache Etch 1.1.0-incubating (LOCAL-0) / go 1.1.0-incubating (LOCAL-0)
+//   Wed Nov 17 10:15:00 CET 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 main
+
+
+import "etch"
+import "org_apache_etch_examples_helloworld"
+import "fmt"
+import "bufio"
+import "os"
+import "time"
+
+func main() {
+	remote := org_apache_etch_examples_helloworld.NewRemoteServer("127.0.0.1:4001")
+	remote.TransportControl(etch.START_AND_WAIT_UP, 4000)
+
+	//add your calls to the server here
+
+	returnString := remote.Say_hello(&org_apache_etch_examples_helloworld.User{38,"Testuser"})
+	fmt.Printf("Server said: " + returnString + "\n")
+
+	remote.SimpleArrayTest([]int32{1,2,3})
+
+	users := make([]*org_apache_etch_examples_helloworld.User, 2)
+	users[0] = &org_apache_etch_examples_helloworld.User{1,"Test1"}
+	users[1] = &org_apache_etch_examples_helloworld.User{2,"Test2"}
+	remote.StructArrayTest(users)
+
+
+	start := time.Nanoseconds()
+	for i := 0; i < 1000; i++{
+		remote.Twoway()
+	}
+	end := time.Nanoseconds()
+	fmt.Printf("1000 twoway calls took " + fmt.Sprint((end-start)/1e6) + " ms\n")
+
+	start = time.Nanoseconds()
+	for i := 0; i < 1000; i++{
+		remote.Oneway()
+	}
+	end = time.Nanoseconds()
+	fmt.Printf("1000 oneway calls took " + fmt.Sprint((end-start)/1e6) + " ms\n")
+
+
+	fmt.Printf("Press Enter to exit\n")
+	reader := bufio.NewReader(os.Stdin)
+        reader.ReadBytes('\n');
+	remote.TransportControl(etch.STOP_AND_WAIT_DOWN, 4000)
+}

Added: incubator/etch/trunk/binding-go/runtime/src/test/go/example/generated/MainHelloWorldListener.go
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/binding-go/runtime/src/test/go/example/generated/MainHelloWorldListener.go?rev=1040122&view=auto
==============================================================================
--- incubator/etch/trunk/binding-go/runtime/src/test/go/example/generated/MainHelloWorldListener.go (added)
+++ incubator/etch/trunk/binding-go/runtime/src/test/go/example/generated/MainHelloWorldListener.go Mon Nov 29 14:29:21 2010
@@ -0,0 +1,41 @@
+/* 
+  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.
+*/ 
+// This file automatically generated by:
+//   Apache Etch 1.1.0-incubating (LOCAL-0) / go 1.1.0-incubating (LOCAL-0)
+//   Wed Nov 17 10:15:00 CET 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 main
+
+
+import "etch"
+import "org_apache_etch_examples_helloworld"
+import "fmt"
+import "bufio"
+import "os"
+
+func main() {
+	listener := org_apache_etch_examples_helloworld.NewListener("127.0.0.1:4001")
+	listener.TransportControl(etch.START_AND_WAIT_UP, 4000)
+	fmt.Printf("Press a key to exit\n")
+	reader := bufio.NewReader(os.Stdin)
+        reader.ReadBytes('\n');
+	listener.TransportControl(etch.STOP_AND_WAIT_DOWN, 4000)
+}

Added: incubator/etch/trunk/binding-go/runtime/src/test/go/example/generated/Makefile
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/binding-go/runtime/src/test/go/example/generated/Makefile?rev=1040122&view=auto
==============================================================================
--- incubator/etch/trunk/binding-go/runtime/src/test/go/example/generated/Makefile (added)
+++ incubator/etch/trunk/binding-go/runtime/src/test/go/example/generated/Makefile Mon Nov 29 14:29:21 2010
@@ -0,0 +1,29 @@
+FILES= \
+	BaseHelloWorldClient.go\
+	BaseHelloWorldServer.go\
+	HelloWorldClient.go\
+	HelloWorld.go\
+	HelloWorldHelper.go\
+	HelloWorldServer.go\
+	ImplHelloWorldClient.go\
+	ImplHelloWorldServer.go\
+	RemoteHelloWorldClient.go\
+	RemoteHelloWorld.go\
+	RemoteHelloWorldServer.go\
+	StubHelloWorldClient.go\
+	StubHelloWorld.go\
+	StubHelloWorldServer.go\
+	ValueFactoryHelloWorld.go\
+
+all: server
+	8g -o HelloWorldclient.8 -I ${ETCHLIBPATH} -I . MainHelloWorldClient.go
+	8l -L ${ETCHLIBPATH} -L . -o HelloWorldClient HelloWorldclient.8
+
+server: 
+ifndef ETCHLIBPATH
+	@echo Please call \"make ETCHLIBPATH=/some/path\",where /some/path contains etch.8
+	false
+endif
+	8g -o org_apache_etch_examples_helloworld.8 -I ${ETCHLIBPATH} -I . ${FILES}
+	8g -o HelloWorldserver.8 -I ${ETCHLIBPATH} -I . MainHelloWorldListener.go
+	8l -L ${ETCHLIBPATH} -L . -o HelloWorldServer HelloWorldserver.8

Added: incubator/etch/trunk/binding-go/runtime/src/test/go/example/generated/RemoteHelloWorld.go
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/binding-go/runtime/src/test/go/example/generated/RemoteHelloWorld.go?rev=1040122&view=auto
==============================================================================
--- incubator/etch/trunk/binding-go/runtime/src/test/go/example/generated/RemoteHelloWorld.go (added)
+++ incubator/etch/trunk/binding-go/runtime/src/test/go/example/generated/RemoteHelloWorld.go Mon Nov 29 14:29:21 2010
@@ -0,0 +1,40 @@
+/* 
+  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.
+*/ 
+// This file automatically generated by:
+//   Apache Etch 1.1.0-incubating (LOCAL-0) / go 1.1.0-incubating (LOCAL-0)
+//   Thu Nov 18 15:39:28 CET 2010
+// This file is automatically created and should not be edited!
+
+package org_apache_etch_examples_helloworld
+
+import "etch"
+
+type RemoteHelloWorld struct {
+     vf   etch.ValueFactory
+     Dsvc etch.DeliveryService
+}
+
+
+func (remote *RemoteHelloWorld) TransportControl(ctrl interface{}, value interface{}) {
+     remote.Dsvc.TransportControl(ctrl, value)
+}
+
+
+
+

Added: incubator/etch/trunk/binding-go/runtime/src/test/go/example/generated/RemoteHelloWorldClient.go
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/binding-go/runtime/src/test/go/example/generated/RemoteHelloWorldClient.go?rev=1040122&view=auto
==============================================================================
--- incubator/etch/trunk/binding-go/runtime/src/test/go/example/generated/RemoteHelloWorldClient.go (added)
+++ incubator/etch/trunk/binding-go/runtime/src/test/go/example/generated/RemoteHelloWorldClient.go Mon Nov 29 14:29:21 2010
@@ -0,0 +1,55 @@
+/* 
+  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.
+*/ 
+// This file automatically generated by:
+//   Apache Etch 1.1.0-incubating (LOCAL-0) / go 1.1.0-incubating (LOCAL-0)
+//   Thu Nov 18 15:39:28 CET 2010
+// This file is automatically created and should not be edited!
+
+package org_apache_etch_examples_helloworld
+
+import "etch"
+
+type RemoteHelloWorldClient struct {
+     RemoteHelloWorld
+     
+     vf   etch.ValueFactory
+     Dsvc etch.DeliveryService
+}
+
+func NewRemoteHelloWorldClient(dsvc etch.DeliveryService, vf etch.ValueFactory ) *RemoteHelloWorldClient {
+     ret := &RemoteHelloWorldClient{}
+     ret.Dsvc = dsvc
+     ret.vf = vf
+     return ret
+}
+
+func (remote *RemoteHelloWorldClient) TransportControl(ctrl interface{}, value interface{}) {
+     remote.Dsvc.TransportControl(ctrl, value)
+}
+
+
+func (r *RemoteHelloWorldClient) F ( x int32) int32 {
+	msg := etch.NewMessage(r.vf.GetTypeByName("org.apache.etch.examples.helloworld.HelloWorld.f"), r.vf, 1)
+		msg.Put(r.vf.(*ValueFactoryHelloWorld)._mf_x, x)
+
+	retVal := r.Dsvc.EndCall(r.Dsvc.BeginCall(msg), r.vf.GetTypeByName("org.apache.etch.examples.helloworld.HelloWorld._result_f"))
+	return etch.Toint32(retVal)
+}
+
+

Added: incubator/etch/trunk/binding-go/runtime/src/test/go/example/generated/RemoteHelloWorldServer.go
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/binding-go/runtime/src/test/go/example/generated/RemoteHelloWorldServer.go?rev=1040122&view=auto
==============================================================================
--- incubator/etch/trunk/binding-go/runtime/src/test/go/example/generated/RemoteHelloWorldServer.go (added)
+++ incubator/etch/trunk/binding-go/runtime/src/test/go/example/generated/RemoteHelloWorldServer.go Mon Nov 29 14:29:21 2010
@@ -0,0 +1,78 @@
+/* 
+  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.
+*/ 
+// This file automatically generated by:
+//   Apache Etch 1.1.0-incubating (LOCAL-0) / go 1.1.0-incubating (LOCAL-0)
+//   Thu Nov 18 15:39:28 CET 2010
+// This file is automatically created and should not be edited!
+
+package org_apache_etch_examples_helloworld
+
+import "etch"
+
+type RemoteHelloWorldServer struct {
+     RemoteHelloWorld
+     
+     vf   etch.ValueFactory
+     Dsvc etch.DeliveryService
+}
+
+func NewRemoteHelloWorldServer(dsvc etch.DeliveryService, vf etch.ValueFactory ) *RemoteHelloWorldServer {
+     ret := &RemoteHelloWorldServer{}
+     ret.Dsvc = dsvc
+     ret.vf = vf
+     return ret
+}
+
+func (remote *RemoteHelloWorldServer) TransportControl(ctrl interface{}, value interface{}) {
+     remote.Dsvc.TransportControl(ctrl, value)
+}
+
+
+func (r *RemoteHelloWorldServer) Say_hello ( to_whom *User) string {
+	msg := etch.NewMessage(r.vf.GetTypeByName("org.apache.etch.examples.helloworld.HelloWorld.say_hello"), r.vf, 1)
+	if to_whom != nil {
+		msg.Put(r.vf.(*ValueFactoryHelloWorld)._mf_to_whom, to_whom)
+    	}
+
+	retVal := r.Dsvc.EndCall(r.Dsvc.BeginCall(msg), r.vf.GetTypeByName("org.apache.etch.examples.helloworld.HelloWorld._result_say_hello"))
+	return retVal.(string)
+}
+func (r *RemoteHelloWorldServer) Oneway ()  {
+	msg := etch.NewMessage(r.vf.GetTypeByName("org.apache.etch.examples.helloworld.HelloWorld.oneway"), r.vf, 1)
+	r.Dsvc.TransportMessage(nil, msg)
+}
+func (r *RemoteHelloWorldServer) Twoway ()  {
+	msg := etch.NewMessage(r.vf.GetTypeByName("org.apache.etch.examples.helloworld.HelloWorld.twoway"), r.vf, 1)
+
+	r.Dsvc.EndCall(r.Dsvc.BeginCall(msg), r.vf.GetTypeByName("org.apache.etch.examples.helloworld.HelloWorld._result_twoway"))
+}
+func (r *RemoteHelloWorldServer) SimpleArrayTest ( ints []int32)  {
+	msg := etch.NewMessage(r.vf.GetTypeByName("org.apache.etch.examples.helloworld.HelloWorld.simpleArrayTest"), r.vf, 1)
+		msg.Put(r.vf.(*ValueFactoryHelloWorld)._mf_ints, ints)
+
+	r.Dsvc.EndCall(r.Dsvc.BeginCall(msg), r.vf.GetTypeByName("org.apache.etch.examples.helloworld.HelloWorld._result_simpleArrayTest"))
+}
+func (r *RemoteHelloWorldServer) StructArrayTest ( users []*User)  {
+	msg := etch.NewMessage(r.vf.GetTypeByName("org.apache.etch.examples.helloworld.HelloWorld.structArrayTest"), r.vf, 1)
+		msg.Put(r.vf.(*ValueFactoryHelloWorld)._mf_users, users)
+
+	r.Dsvc.EndCall(r.Dsvc.BeginCall(msg), r.vf.GetTypeByName("org.apache.etch.examples.helloworld.HelloWorld._result_structArrayTest"))
+}
+
+

Added: incubator/etch/trunk/binding-go/runtime/src/test/go/example/generated/StubHelloWorld.go
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/binding-go/runtime/src/test/go/example/generated/StubHelloWorld.go?rev=1040122&view=auto
==============================================================================
--- incubator/etch/trunk/binding-go/runtime/src/test/go/example/generated/StubHelloWorld.go (added)
+++ incubator/etch/trunk/binding-go/runtime/src/test/go/example/generated/StubHelloWorld.go Mon Nov 29 14:29:21 2010
@@ -0,0 +1,31 @@
+/* 
+  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.
+*/ 
+// This file automatically generated by:
+//   Apache Etch 1.1.0-incubating (LOCAL-0) / go 1.1.0-incubating (LOCAL-0)
+//   Thu Nov 18 15:39:28 CET 2010
+// This file is automatically created and should not be edited!
+
+
+package org_apache_etch_examples_helloworld
+
+
+
+func SetStubHelpers_StubHelloWorld () {
+}	
+

Added: incubator/etch/trunk/binding-go/runtime/src/test/go/example/generated/StubHelloWorldClient.go
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/binding-go/runtime/src/test/go/example/generated/StubHelloWorldClient.go?rev=1040122&view=auto
==============================================================================
--- incubator/etch/trunk/binding-go/runtime/src/test/go/example/generated/StubHelloWorldClient.go (added)
+++ incubator/etch/trunk/binding-go/runtime/src/test/go/example/generated/StubHelloWorldClient.go Mon Nov 29 14:29:21 2010
@@ -0,0 +1,52 @@
+/* 
+  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.
+*/ 
+// This file automatically generated by:
+//   Apache Etch 1.1.0-incubating (LOCAL-0) / go 1.1.0-incubating (LOCAL-0)
+//   Thu Nov 18 15:39:28 CET 2010
+// This file is automatically created and should not be edited!
+
+
+package org_apache_etch_examples_helloworld
+
+
+import "etch"
+
+func SetStubHelpers_StubHelloWorldClient (dvf etch.ValueFactory) {
+     SetStubHelpers_StubHelloWorld()
+    if dvf.GetTypeByName("org.apache.etch.examples.helloworld.HelloWorld.f").StubHelper == nil {
+	dvf.GetTypeByName("org.apache.etch.examples.helloworld.HelloWorld.f").StubHelper = new(_mt_org_apache_etch_examples_helloworld_HelloWorld_fHelper)
+    }
+}	
+
+
+type _mt_org_apache_etch_examples_helloworld_HelloWorld_fHelper struct{}
+
+func (dh *_mt_org_apache_etch_examples_helloworld_HelloWorld_fHelper) run(svc etch.DeliveryService, impl interface{}, sender interface{}, msg *etch.Message) {
+    rmsg := msg.Reply()
+    di := impl.(*ImplHelloWorldClient)
+    x := msg.Vf.(*ValueFactoryHelloWorld)._mf_x ;
+
+    val_x := msg.Fields[x]
+    var x_param int32 = etch.Toint32(val_x)
+
+    ret := di.f(x_param)
+    rmsg.Put(msg.Vf.GetDefaultResponseField(), ret)
+    svc.TransportMessage(sender, rmsg)
+}
+

Added: incubator/etch/trunk/binding-go/runtime/src/test/go/example/generated/StubHelloWorldServer.go
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/binding-go/runtime/src/test/go/example/generated/StubHelloWorldServer.go?rev=1040122&view=auto
==============================================================================
--- incubator/etch/trunk/binding-go/runtime/src/test/go/example/generated/StubHelloWorldServer.go (added)
+++ incubator/etch/trunk/binding-go/runtime/src/test/go/example/generated/StubHelloWorldServer.go Mon Nov 29 14:29:21 2010
@@ -0,0 +1,119 @@
+/* 
+  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.
+*/ 
+// This file automatically generated by:
+//   Apache Etch 1.1.0-incubating (LOCAL-0) / go 1.1.0-incubating (LOCAL-0)
+//   Thu Nov 18 15:39:28 CET 2010
+// This file is automatically created and should not be edited!
+
+
+package org_apache_etch_examples_helloworld
+
+
+import "etch"
+
+func SetStubHelpers_StubHelloWorldServer (dvf etch.ValueFactory) {
+     SetStubHelpers_StubHelloWorld()
+    if dvf.GetTypeByName("org.apache.etch.examples.helloworld.HelloWorld.say_hello").StubHelper == nil {
+	dvf.GetTypeByName("org.apache.etch.examples.helloworld.HelloWorld.say_hello").StubHelper = new(_mt_org_apache_etch_examples_helloworld_HelloWorld_say_helloHelper)
+    }
+    if dvf.GetTypeByName("org.apache.etch.examples.helloworld.HelloWorld.oneway").StubHelper == nil {
+	dvf.GetTypeByName("org.apache.etch.examples.helloworld.HelloWorld.oneway").StubHelper = new(_mt_org_apache_etch_examples_helloworld_HelloWorld_onewayHelper)
+    }
+    if dvf.GetTypeByName("org.apache.etch.examples.helloworld.HelloWorld.twoway").StubHelper == nil {
+	dvf.GetTypeByName("org.apache.etch.examples.helloworld.HelloWorld.twoway").StubHelper = new(_mt_org_apache_etch_examples_helloworld_HelloWorld_twowayHelper)
+    }
+    if dvf.GetTypeByName("org.apache.etch.examples.helloworld.HelloWorld.simpleArrayTest").StubHelper == nil {
+	dvf.GetTypeByName("org.apache.etch.examples.helloworld.HelloWorld.simpleArrayTest").StubHelper = new(_mt_org_apache_etch_examples_helloworld_HelloWorld_simpleArrayTestHelper)
+    }
+    if dvf.GetTypeByName("org.apache.etch.examples.helloworld.HelloWorld.structArrayTest").StubHelper == nil {
+	dvf.GetTypeByName("org.apache.etch.examples.helloworld.HelloWorld.structArrayTest").StubHelper = new(_mt_org_apache_etch_examples_helloworld_HelloWorld_structArrayTestHelper)
+    }
+}	
+
+
+type _mt_org_apache_etch_examples_helloworld_HelloWorld_say_helloHelper struct{}
+
+func (dh *_mt_org_apache_etch_examples_helloworld_HelloWorld_say_helloHelper) run(svc etch.DeliveryService, impl interface{}, sender interface{}, msg *etch.Message) {
+    rmsg := msg.Reply()
+    di := impl.(*ImplHelloWorldServer)
+    to_whom := msg.Vf.(*ValueFactoryHelloWorld)._mf_to_whom ;
+
+    val_to_whom := msg.Fields[to_whom]
+    var to_whom_param *User = nil
+    if val_to_whom != nil  {
+       to_whom_param = val_to_whom.(*User)
+    }
+
+    ret := di.say_hello(to_whom_param)
+    rmsg.Put(msg.Vf.GetDefaultResponseField(), ret)
+    svc.TransportMessage(sender, rmsg)
+}
+
+
+type _mt_org_apache_etch_examples_helloworld_HelloWorld_onewayHelper struct{}
+
+func (dh *_mt_org_apache_etch_examples_helloworld_HelloWorld_onewayHelper) run(svc etch.DeliveryService, impl interface{}, sender interface{}, msg *etch.Message) {
+    di := impl.(*ImplHelloWorldServer)
+
+
+     di.oneway()
+}
+
+
+type _mt_org_apache_etch_examples_helloworld_HelloWorld_twowayHelper struct{}
+
+func (dh *_mt_org_apache_etch_examples_helloworld_HelloWorld_twowayHelper) run(svc etch.DeliveryService, impl interface{}, sender interface{}, msg *etch.Message) {
+    rmsg := msg.Reply()
+    di := impl.(*ImplHelloWorldServer)
+
+
+     di.twoway()
+    svc.TransportMessage(sender, rmsg)
+}
+
+
+type _mt_org_apache_etch_examples_helloworld_HelloWorld_simpleArrayTestHelper struct{}
+
+func (dh *_mt_org_apache_etch_examples_helloworld_HelloWorld_simpleArrayTestHelper) run(svc etch.DeliveryService, impl interface{}, sender interface{}, msg *etch.Message) {
+    rmsg := msg.Reply()
+    di := impl.(*ImplHelloWorldServer)
+    ints := msg.Vf.(*ValueFactoryHelloWorld)._mf_ints ;
+
+    val_ints := msg.Fields[ints]
+    var ints_param []int32 = val_ints.([]int32)
+
+     di.simpleArrayTest(ints_param)
+    svc.TransportMessage(sender, rmsg)
+}
+
+
+type _mt_org_apache_etch_examples_helloworld_HelloWorld_structArrayTestHelper struct{}
+
+func (dh *_mt_org_apache_etch_examples_helloworld_HelloWorld_structArrayTestHelper) run(svc etch.DeliveryService, impl interface{}, sender interface{}, msg *etch.Message) {
+    rmsg := msg.Reply()
+    di := impl.(*ImplHelloWorldServer)
+    users := msg.Vf.(*ValueFactoryHelloWorld)._mf_users ;
+
+    val_users := msg.Fields[users]
+    var users_param []*User = val_users.([]*User)
+
+     di.structArrayTest(users_param)
+    svc.TransportMessage(sender, rmsg)
+}
+

Added: incubator/etch/trunk/binding-go/runtime/src/test/go/example/generated/ValueFactoryHelloWorld.go
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/binding-go/runtime/src/test/go/example/generated/ValueFactoryHelloWorld.go?rev=1040122&view=auto
==============================================================================
--- incubator/etch/trunk/binding-go/runtime/src/test/go/example/generated/ValueFactoryHelloWorld.go (added)
+++ incubator/etch/trunk/binding-go/runtime/src/test/go/example/generated/ValueFactoryHelloWorld.go Mon Nov 29 14:29:21 2010
@@ -0,0 +1,214 @@
+/* 
+  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.
+*/ 
+// This file automatically generated by:
+//   Apache Etch 1.1.0-incubating (LOCAL-0) / go 1.1.0-incubating (LOCAL-0)
+//   Thu Nov 18 15:39:28 CET 2010
+// This file is automatically created and should not be edited!
+
+package org_apache_etch_examples_helloworld
+
+import "etch"
+import "reflect"
+
+type ValueFactoryHelloWorld struct 
+{
+	etch.ValueFactory
+
+	_mf_id *etch.Field
+	_mf_name *etch.Field
+	_mf_mes *etch.Field
+	_mf_to_whom *etch.Field
+	_mf_x *etch.Field
+	_mf_ints *etch.Field
+	_mf_users *etch.Field
+}
+
+
+type dummyVal struct{}
+
+func (dv *dummyVal) Validate(value interface{}) bool {
+	return true
+}
+func (dv *dummyVal) ValidateValue(value interface{}) interface{} {
+	return value
+}
+
+func NewArray_mt_org_apache_etch_examples_helloworld_HelloWorld_user (length int32) interface{} {
+	return make([]*User, length)
+}
+func NewArray_mt_org_apache_etch_examples_helloworld_HelloWorld_UserUnknownException (length int32) interface{} {
+	return make([]*UserUnknownException, length)
+}
+
+func NewValueFactoryHelloWorld() *ValueFactoryHelloWorld {
+
+
+	ret := &ValueFactoryHelloWorld{etch.NewDefaultValueFactory(),   nil,nil,nil,nil,nil,nil,nil}
+	_mt_org_apache_etch_examples_helloworld_HelloWorld_user  := etch.NewTypeByName("org.apache.etch.examples.helloworld.HelloWorld.user")
+	ret.AddType(_mt_org_apache_etch_examples_helloworld_HelloWorld_user)
+	_mt_org_apache_etch_examples_helloworld_HelloWorld_UserUnknownException  := etch.NewTypeByName("org.apache.etch.examples.helloworld.HelloWorld.UserUnknownException")
+	ret.AddType(_mt_org_apache_etch_examples_helloworld_HelloWorld_UserUnknownException)
+	_mt_org_apache_etch_examples_helloworld_HelloWorld_say_hello  := etch.NewTypeByName("org.apache.etch.examples.helloworld.HelloWorld.say_hello")
+	ret.AddType(_mt_org_apache_etch_examples_helloworld_HelloWorld_say_hello)
+	_mt_org_apache_etch_examples_helloworld_HelloWorld__result_say_hello  := etch.NewTypeByName("org.apache.etch.examples.helloworld.HelloWorld._result_say_hello")
+	ret.AddType(_mt_org_apache_etch_examples_helloworld_HelloWorld__result_say_hello)
+	_mt_org_apache_etch_examples_helloworld_HelloWorld_f  := etch.NewTypeByName("org.apache.etch.examples.helloworld.HelloWorld.f")
+	ret.AddType(_mt_org_apache_etch_examples_helloworld_HelloWorld_f)
+	_mt_org_apache_etch_examples_helloworld_HelloWorld__result_f  := etch.NewTypeByName("org.apache.etch.examples.helloworld.HelloWorld._result_f")
+	ret.AddType(_mt_org_apache_etch_examples_helloworld_HelloWorld__result_f)
+	_mt_org_apache_etch_examples_helloworld_HelloWorld_oneway  := etch.NewTypeByName("org.apache.etch.examples.helloworld.HelloWorld.oneway")
+	ret.AddType(_mt_org_apache_etch_examples_helloworld_HelloWorld_oneway)
+	_mt_org_apache_etch_examples_helloworld_HelloWorld_twoway  := etch.NewTypeByName("org.apache.etch.examples.helloworld.HelloWorld.twoway")
+	ret.AddType(_mt_org_apache_etch_examples_helloworld_HelloWorld_twoway)
+	_mt_org_apache_etch_examples_helloworld_HelloWorld__result_twoway  := etch.NewTypeByName("org.apache.etch.examples.helloworld.HelloWorld._result_twoway")
+	ret.AddType(_mt_org_apache_etch_examples_helloworld_HelloWorld__result_twoway)
+	_mt_org_apache_etch_examples_helloworld_HelloWorld_simpleArrayTest  := etch.NewTypeByName("org.apache.etch.examples.helloworld.HelloWorld.simpleArrayTest")
+	ret.AddType(_mt_org_apache_etch_examples_helloworld_HelloWorld_simpleArrayTest)
+	_mt_org_apache_etch_examples_helloworld_HelloWorld__result_simpleArrayTest  := etch.NewTypeByName("org.apache.etch.examples.helloworld.HelloWorld._result_simpleArrayTest")
+	ret.AddType(_mt_org_apache_etch_examples_helloworld_HelloWorld__result_simpleArrayTest)
+	_mt_org_apache_etch_examples_helloworld_HelloWorld_structArrayTest  := etch.NewTypeByName("org.apache.etch.examples.helloworld.HelloWorld.structArrayTest")
+	ret.AddType(_mt_org_apache_etch_examples_helloworld_HelloWorld_structArrayTest)
+	_mt_org_apache_etch_examples_helloworld_HelloWorld__result_structArrayTest  := etch.NewTypeByName("org.apache.etch.examples.helloworld.HelloWorld._result_structArrayTest")
+	ret.AddType(_mt_org_apache_etch_examples_helloworld_HelloWorld__result_structArrayTest)
+
+	_mt_org_apache_etch_examples_helloworld_HelloWorld_user.NewArray = NewArray_mt_org_apache_etch_examples_helloworld_HelloWorld_user
+	_mt_org_apache_etch_examples_helloworld_HelloWorld_UserUnknownException.NewArray = NewArray_mt_org_apache_etch_examples_helloworld_HelloWorld_UserUnknownException
+
+	ret._mf_id = etch.NewField("id")
+	ret.AddField(ret._mf_id)
+	ret._mf_name = etch.NewField("name")
+	ret.AddField(ret._mf_name)
+	ret._mf_mes = etch.NewField("mes")
+	ret.AddField(ret._mf_mes)
+	ret._mf_to_whom = etch.NewField("to_whom")
+	ret.AddField(ret._mf_to_whom)
+	ret._mf_x = etch.NewField("x")
+	ret.AddField(ret._mf_x)
+	ret._mf_ints = etch.NewField("ints")
+	ret.AddField(ret._mf_ints)
+	ret._mf_users = etch.NewField("users")
+	ret.AddField(ret._mf_users)
+
+		_mt_org_apache_etch_examples_helloworld_HelloWorld_say_hello.AsyncMode = etch.QUEUED;
+		_mt_org_apache_etch_examples_helloworld_HelloWorld_f.AsyncMode = etch.MODE_NONE ;
+		_mt_org_apache_etch_examples_helloworld_HelloWorld_oneway.AsyncMode = etch.MODE_NONE ;
+		_mt_org_apache_etch_examples_helloworld_HelloWorld_twoway.AsyncMode = etch.MODE_NONE ;
+		_mt_org_apache_etch_examples_helloworld_HelloWorld_simpleArrayTest.AsyncMode = etch.MODE_NONE ;
+		_mt_org_apache_etch_examples_helloworld_HelloWorld_structArrayTest.AsyncMode = etch.MODE_NONE ;
+
+
+	// params for List
+	// params for Map
+	// params for Set
+	// params for Datetime
+	// params for user
+  	_mt_org_apache_etch_examples_helloworld_HelloWorld_user.PutValidator(ret._mf_id, new(dummyVal))
+  	_mt_org_apache_etch_examples_helloworld_HelloWorld_user.PutValidator(ret._mf_name, new(dummyVal))
+	// params for UserUnknownException
+  	_mt_org_apache_etch_examples_helloworld_HelloWorld_UserUnknownException.PutValidator(ret._mf_mes, new(dummyVal))
+	_mt_org_apache_etch_examples_helloworld_HelloWorld__result_say_hello.ResponseField = ret.GetDefaultResponseField() ;
+        _mt_org_apache_etch_examples_helloworld_HelloWorld_say_hello.RType = _mt_org_apache_etch_examples_helloworld_HelloWorld__result_say_hello
+	// params for say_hello
+  	_mt_org_apache_etch_examples_helloworld_HelloWorld_say_hello.PutValidator(ret._mf_to_whom, new(dummyVal))
+	_mt_org_apache_etch_examples_helloworld_HelloWorld_say_hello.PutValidator(ret.GetDefaultMessageIdField(), new(dummyVal))
+	// params for _result_say_hello
+	_mt_org_apache_etch_examples_helloworld_HelloWorld__result_say_hello.PutValidator(ret.GetDefaultMessageIdField(), new(dummyVal))
+	_mt_org_apache_etch_examples_helloworld_HelloWorld__result_say_hello.PutValidator(ret.GetDefaultInReplyToField(), new(dummyVal))
+	_mt_org_apache_etch_examples_helloworld_HelloWorld__result_say_hello.PutValidator(ret.GetDefaultResponseField(), new(dummyVal))
+	_mt_org_apache_etch_examples_helloworld_HelloWorld__result_f.ResponseField = ret.GetDefaultResponseField() ;
+        _mt_org_apache_etch_examples_helloworld_HelloWorld_f.RType = _mt_org_apache_etch_examples_helloworld_HelloWorld__result_f
+	// params for f
+  	_mt_org_apache_etch_examples_helloworld_HelloWorld_f.PutValidator(ret._mf_x, new(dummyVal))
+	_mt_org_apache_etch_examples_helloworld_HelloWorld_f.PutValidator(ret.GetDefaultMessageIdField(), new(dummyVal))
+	// params for _result_f
+	_mt_org_apache_etch_examples_helloworld_HelloWorld__result_f.PutValidator(ret.GetDefaultMessageIdField(), new(dummyVal))
+	_mt_org_apache_etch_examples_helloworld_HelloWorld__result_f.PutValidator(ret.GetDefaultInReplyToField(), new(dummyVal))
+	_mt_org_apache_etch_examples_helloworld_HelloWorld__result_f.PutValidator(ret.GetDefaultResponseField(), new(dummyVal))
+	// params for oneway
+	_mt_org_apache_etch_examples_helloworld_HelloWorld_oneway.PutValidator(ret.GetDefaultMessageIdField(), new(dummyVal))
+	_mt_org_apache_etch_examples_helloworld_HelloWorld__result_twoway.ResponseField = ret.GetDefaultResponseField() ;
+        _mt_org_apache_etch_examples_helloworld_HelloWorld_twoway.RType = _mt_org_apache_etch_examples_helloworld_HelloWorld__result_twoway
+	// params for twoway
+	_mt_org_apache_etch_examples_helloworld_HelloWorld_twoway.PutValidator(ret.GetDefaultMessageIdField(), new(dummyVal))
+	// params for _result_twoway
+	_mt_org_apache_etch_examples_helloworld_HelloWorld__result_twoway.PutValidator(ret.GetDefaultMessageIdField(), new(dummyVal))
+	_mt_org_apache_etch_examples_helloworld_HelloWorld__result_twoway.PutValidator(ret.GetDefaultInReplyToField(), new(dummyVal))
+	_mt_org_apache_etch_examples_helloworld_HelloWorld__result_twoway.PutValidator(ret.GetDefaultResponseField(), new(dummyVal))
+	_mt_org_apache_etch_examples_helloworld_HelloWorld__result_simpleArrayTest.ResponseField = ret.GetDefaultResponseField() ;
+        _mt_org_apache_etch_examples_helloworld_HelloWorld_simpleArrayTest.RType = _mt_org_apache_etch_examples_helloworld_HelloWorld__result_simpleArrayTest
+	// params for simpleArrayTest
+  	_mt_org_apache_etch_examples_helloworld_HelloWorld_simpleArrayTest.PutValidator(ret._mf_ints, new(dummyVal))
+	_mt_org_apache_etch_examples_helloworld_HelloWorld_simpleArrayTest.PutValidator(ret.GetDefaultMessageIdField(), new(dummyVal))
+	// params for _result_simpleArrayTest
+	_mt_org_apache_etch_examples_helloworld_HelloWorld__result_simpleArrayTest.PutValidator(ret.GetDefaultMessageIdField(), new(dummyVal))
+	_mt_org_apache_etch_examples_helloworld_HelloWorld__result_simpleArrayTest.PutValidator(ret.GetDefaultInReplyToField(), new(dummyVal))
+	_mt_org_apache_etch_examples_helloworld_HelloWorld__result_simpleArrayTest.PutValidator(ret.GetDefaultResponseField(), new(dummyVal))
+	_mt_org_apache_etch_examples_helloworld_HelloWorld__result_structArrayTest.ResponseField = ret.GetDefaultResponseField() ;
+        _mt_org_apache_etch_examples_helloworld_HelloWorld_structArrayTest.RType = _mt_org_apache_etch_examples_helloworld_HelloWorld__result_structArrayTest
+	// params for structArrayTest
+  	_mt_org_apache_etch_examples_helloworld_HelloWorld_structArrayTest.PutValidator(ret._mf_users, new(dummyVal))
+	_mt_org_apache_etch_examples_helloworld_HelloWorld_structArrayTest.PutValidator(ret.GetDefaultMessageIdField(), new(dummyVal))
+	// params for _result_structArrayTest
+	_mt_org_apache_etch_examples_helloworld_HelloWorld__result_structArrayTest.PutValidator(ret.GetDefaultMessageIdField(), new(dummyVal))
+	_mt_org_apache_etch_examples_helloworld_HelloWorld__result_structArrayTest.PutValidator(ret.GetDefaultInReplyToField(), new(dummyVal))
+	_mt_org_apache_etch_examples_helloworld_HelloWorld__result_structArrayTest.PutValidator(ret.GetDefaultResponseField(), new(dummyVal))
+
+      	(*ret.GetClass2type())[reflect.Typeof(new(User))] = _mt_org_apache_etch_examples_helloworld_HelloWorld_user
+	_mt_org_apache_etch_examples_helloworld_HelloWorld_user.Helper = new(_mt_org_apache_etch_examples_helloworld_HelloWorld_userImportExportHelper)
+      	(*ret.GetClass2type())[reflect.Typeof(new(UserUnknownException))] = _mt_org_apache_etch_examples_helloworld_HelloWorld_UserUnknownException
+	_mt_org_apache_etch_examples_helloworld_HelloWorld_UserUnknownException.Helper = new(_mt_org_apache_etch_examples_helloworld_HelloWorld_UserUnknownExceptionImportExportHelper)
+
+	return ret
+}
+
+
+type _mt_org_apache_etch_examples_helloworld_HelloWorld_userImportExportHelper struct {
+}
+
+func (h *_mt_org_apache_etch_examples_helloworld_HelloWorld_userImportExportHelper) ExportValue(ty *etch.Type, vf etch.ValueFactory, value interface{}) *etch.StructValue {
+     sv := etch.NewStructValue( vf.GetTypeByName("org.apache.etch.examples.helloworld.HelloWorld.user"), vf, 0 )
+     v := value.(*User)
+     sv.Put( vf.GetFieldByName("id"), v.Id )
+     sv.Put( vf.GetFieldByName("name"), v.Name )
+     return sv;
+}
+
+func (h *_mt_org_apache_etch_examples_helloworld_HelloWorld_userImportExportHelper) ImportValue(str *etch.StructValue) interface{} {
+     v := new(User)
+     v.Id = etch.Toint32(str.Fields[str.Vf.GetFieldByName("id")])
+     v.Name = str.Fields[str.Vf.GetFieldByName("name")].(string)
+     return v
+}
+
+type _mt_org_apache_etch_examples_helloworld_HelloWorld_UserUnknownExceptionImportExportHelper struct {
+}
+
+func (h *_mt_org_apache_etch_examples_helloworld_HelloWorld_UserUnknownExceptionImportExportHelper) ExportValue(ty *etch.Type, vf etch.ValueFactory, value interface{}) *etch.StructValue {
+     sv := etch.NewStructValue( vf.GetTypeByName("org.apache.etch.examples.helloworld.HelloWorld.UserUnknownException"), vf, 0 )
+     v := value.(*UserUnknownException)
+     sv.Put( vf.GetFieldByName("mes"), v.Mes )
+     return sv;
+}
+
+func (h *_mt_org_apache_etch_examples_helloworld_HelloWorld_UserUnknownExceptionImportExportHelper) ImportValue(str *etch.StructValue) interface{} {
+     v := new(UserUnknownException)
+     v.Mes = str.Fields[str.Vf.GetFieldByName("mes")].(string)
+     return v
+}
+

Added: incubator/etch/trunk/binding-go/runtime/src/test/go/example/generated/helloworld_wireshark.ewh
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/binding-go/runtime/src/test/go/example/generated/helloworld_wireshark.ewh?rev=1040122&view=auto
==============================================================================
--- incubator/etch/trunk/binding-go/runtime/src/test/go/example/generated/helloworld_wireshark.ewh (added)
+++ incubator/etch/trunk/binding-go/runtime/src/test/go/example/generated/helloworld_wireshark.ewh Mon Nov 29 14:29:21 2010
@@ -0,0 +1,36 @@
+
+0x6489fae2,org.apache.etch.examples.helloworld.HelloWorld.say_hello
+0x1287c45f,org.apache.etch.examples.helloworld.HelloWorld._result_say_hello
+0x4632e4ea,org.apache.etch.examples.helloworld.HelloWorld.f
+0x7764e867,org.apache.etch.examples.helloworld.HelloWorld._result_f
+0x90c5e5e5,org.apache.etch.examples.helloworld.HelloWorld.oneway
+0x34374a9f,org.apache.etch.examples.helloworld.HelloWorld.twoway
+0x9a548362,org.apache.etch.examples.helloworld.HelloWorld._result_twoway
+0x543ebffd,org.apache.etch.examples.helloworld.HelloWorld.simpleArrayTest
+0x7ef57dfa,org.apache.etch.examples.helloworld.HelloWorld._result_simpleArrayTest
+0x48a8da9a,org.apache.etch.examples.helloworld.HelloWorld.structArrayTest
+0x735f9897,org.apache.etch.examples.helloworld.HelloWorld._result_structArrayTest
+0x8b5f3607,org.apache.etch.examples.helloworld.HelloWorld.user
+0xb03220cc,org.apache.etch.examples.helloworld.HelloWorld.UserUnknownException
+0x5a24fcc0,id
+0xe5879d30,name
+0x2dd371f6,mes
+0x54a712ce,to_whom
+0x150a2cb3,x
+0x035354c9,ints
+0x369d7ce3,users
+0xef092188,_Etch_RuntimeException
+0x97e30f76,_Etch_AuthException
+0xa53d2e35,_exception
+0x3084deef,_Etch_List
+0x7feae04b,_Etch_Map
+0x82e33e51,_Etch_Set
+0x2b396bcc,_Etch_Datetime
+0x2de1755c,msg
+0x6306b468,_messageId
+0xeda8c9a6,_inReplyTo
+0x8104fdc2,result
+0x5bf76bf9,keys
+0x844e4fc7,values
+0x66001a40,dateTime
+0xee9ff760,keysAndValues

Added: incubator/etch/trunk/binding-go/runtime/src/test/go/testmain.go
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/binding-go/runtime/src/test/go/testmain.go?rev=1040122&view=auto
==============================================================================
--- incubator/etch/trunk/binding-go/runtime/src/test/go/testmain.go (added)
+++ incubator/etch/trunk/binding-go/runtime/src/test/go/testmain.go Mon Nov 29 14:29:21 2010
@@ -0,0 +1,48 @@
+/*
+ * 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 main
+
+import "goetchtest"
+import . "etch"
+import "fmt"
+
+func main() {
+	goetchtest.TestArrayValue()
+	goetchtest.TestDefaultValueFactory()
+	goetchtest.TestType()
+	goetchtest.TestPlainMailBox()
+	goetchtest.TestStructValue()
+	goetchtest.TestFlexBuffer()
+	goetchtest.TestBinaryTaggedDataOutput()
+	goetchtest.TestBinaryTaggedDataInput()
+	goetchtest.TestPacketizer()
+	goetchtest.TestEtchStub()
+	goetchtest.TestPlainMailBoxManager()
+	goetchtest.TestDefaultDeliveryService()
+	goetchtest.TestIntegration()
+
+	if HasError {
+		Log("*****************************************************\n")
+		fmt.Printf("Tests FAILED\n")
+	} else {
+		Log("*****************************************************\n")
+		fmt.Printf("Tests SUCCESSFUL\n")
+	}
+
+}

Modified: incubator/etch/trunk/build-support/etch.common.xml
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/build-support/etch.common.xml?rev=1040122&r1=1040121&r2=1040122&view=diff
==============================================================================
--- incubator/etch/trunk/build-support/etch.common.xml (original)
+++ incubator/etch/trunk/build-support/etch.common.xml Mon Nov 29 14:29:21 2010
@@ -121,6 +121,8 @@
     <property name="etch-java-compiler-src.zip"   value="apache-etch-java-compiler-${Etch.longversion}-src.zip" />
     <property name="etch-c-compiler.jar"          value="apache-etch-c-compiler-${Etch.longversion}.jar" />
     <property name="etch-c-compiler-src.zip"      value="apache-etch-c-compiler-${Etch.longversion}-src.zip" />
+    <property name="etch-go-compiler.jar"         value="apache-etch-go-compiler-${Etch.longversion}.jar" />
+    <property name="etch-go-compiler-src.zip"     value="apache-etch-go-compiler-${Etch.longversion}-src.zip" />
     <property name="etch-csharp-compiler.jar"     value="apache-etch-csharp-compiler-${Etch.longversion}.jar" />
     <property name="etch-csharp-compiler-src.zip" value="apache-etch-csharp-compiler-${Etch.longversion}-src.zip" />
     <property name="etch-xml-compiler.jar"        value="apache-etch-xml-compiler-${Etch.longversion}.jar" />

Modified: incubator/etch/trunk/build.dependencies
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/build.dependencies?rev=1040122&r1=1040121&r2=1040122&view=diff
==============================================================================
--- incubator/etch/trunk/build.dependencies (original)
+++ incubator/etch/trunk/build.dependencies Mon Nov 29 14:29:21 2010
@@ -38,3 +38,6 @@ ant-dotnet.lib=${env.ETCH_EXTERNAL_DEPEN
 
 ## CMake ANT support
 ant-cmake.lib=${env.ETCH_EXTERNAL_DEPENDS}/apache-ant-cmake/1.0
+
+## include experimental bindings in build? (comment this to exclude)
+#include.experimental=true

Modified: incubator/etch/trunk/build.xml
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/build.xml?rev=1040122&r1=1040121&r2=1040122&view=diff
==============================================================================
--- incubator/etch/trunk/build.xml (original)
+++ incubator/etch/trunk/build.xml Mon Nov 29 14:29:21 2010
@@ -136,12 +136,14 @@
         <delete file="binding-java/compiler/src/main/java/org/apache/etch/bindings/java/compiler/CompilerVersion.java" />
         <delete file="binding-xml/compiler/src/main/java/org/apache/etch/bindings/xml/compiler/CompilerVersion.java" />
         <delete file="binding-csharp/compiler/src/main/java/org/apache/etch/bindings/csharp/compiler/CompilerVersion.java" />
+        <delete file="binding-c/compiler/src/main/java/org/apache/etch/bindings/c/compiler/CompilerVersion.java" />
+        <delete file="binding-go/compiler/src/main/java/org/apache/etch/bindings/go/compiler/CompilerVersion.java" />
         <delete file="binding-csharp/runtime/src/main/csharp/Properties/AssemblyInfo.cs" />
         -->
     </target>    
 
     <!-- Component targets; Add to this set -->
-    <target name="component-all" depends="component-core, component-plugins, component-bindings, component-examples, component-tests, component-bundles" />
+    <target name="component-all" depends="component-core, component-plugins, component-bindings, component-bindings-experimental, component-examples, component-tests, component-bundles" />
 
     <target name="component-core" >
         <!-- Core -->
@@ -162,6 +164,11 @@
         <build_component dir="binding-c" />
     </target>
 
+    <target name="component-bindings-experimental" if="include.experimental">
+        <!-- Experimental Bindings -->
+        <build_component dir="binding-go" />
+    </target>
+
     <target name="component-examples">
         <!-- Examples -->
         <build_component dir="examples" />