summaryrefslogtreecommitdiffstats
path: root/java/sca/modules/binding-corba-runtime
diff options
context:
space:
mode:
authordims <dims@13f79535-47bb-0310-9956-ffa450edef68>2008-06-17 00:23:01 +0000
committerdims <dims@13f79535-47bb-0310-9956-ffa450edef68>2008-06-17 00:23:01 +0000
commitbdd0a41aed7edf21ec2a65cfa17a86af2ef8c48a (patch)
tree38a92061c0793434c4be189f1d70c3458b6bc41d /java/sca/modules/binding-corba-runtime
Move Tuscany from Incubator to top level.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@668359 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/sca/modules/binding-corba-runtime')
-rw-r--r--java/sca/modules/binding-corba-runtime/LICENSE205
-rw-r--r--java/sca/modules/binding-corba-runtime/NOTICE6
-rw-r--r--java/sca/modules/binding-corba-runtime/pom.xml125
-rw-r--r--java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingProviderFactory.java60
-rw-r--r--java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaInvoker.java81
-rw-r--r--java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaReferenceBindingProvider.java72
-rw-r--r--java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaServiceBindingProvider.java126
-rw-r--r--java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaServiceLocator.java395
-rw-r--r--java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/TuscanyServant.java46
-rw-r--r--java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/exceptions/CorbaException.java34
-rw-r--r--java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/exceptions/RequestConfigurationException.java39
-rw-r--r--java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/DynaCorbaRequest.java180
-rw-r--r--java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/DynaCorbaResponse.java39
-rw-r--r--java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/InterfaceInstanceCreator.java72
-rw-r--r--java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/InterfaceMethodInterceptor.java61
-rw-r--r--java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/NodeType.java28
-rw-r--r--java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/TypeTree.java76
-rw-r--r--java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/TypeTreeCreator.java224
-rw-r--r--java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/TypeTreeNode.java66
-rw-r--r--java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ArrayTypeHelper.java46
-rw-r--r--java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/BooleanTypeHelper.java45
-rw-r--r--java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ByteTypeHelper.java45
-rw-r--r--java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/CharTypeHelper.java45
-rw-r--r--java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/DoubleTypeHelper.java45
-rw-r--r--java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/FloatTypeHelper.java45
-rw-r--r--java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/IntTypeHelper.java45
-rw-r--r--java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/LongTypeHelper.java46
-rw-r--r--java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ReferenceTypeHelper.java48
-rw-r--r--java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/SequenceTypeHelper.java83
-rw-r--r--java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ShortTypeHelper.java46
-rw-r--r--java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/StringTypeHelper.java46
-rw-r--r--java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/StructTypeHelper.java90
-rw-r--r--java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/TypeHelper.java55
-rw-r--r--java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/TypeHelpersProxy.java132
-rw-r--r--java/sca/modules/binding-corba-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory19
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/CorbaTypesTestCase.java522
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/TestConstants.java40
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/Calc.java32
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcHelper.java104
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcHolder.java57
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcOperations.java34
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/Arguments.java45
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/ArgumentsHelper.java101
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/ArgumentsHolder.java57
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/DivByZero.java55
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/DivByZeroHelper.java105
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/DivByZeroHolder.java57
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/NotSupported.java52
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/NotSupportedHelper.java98
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/NotSupportedHolder.java57
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/_CalcImplBase.java109
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/_CalcStub.java109
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetter.java32
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetterHelper.java104
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetterHolder.java57
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetterOperations.java47
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetter.java32
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetterHelper.java104
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetterHolder.java57
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetterOperations.java47
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/RemoteObject.java32
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/RemoteObjectHelper.java104
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/RemoteObjectHolder.java57
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/RemoteObjectOperations.java32
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SimpleStruct.java45
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SimpleStructHelper.java101
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SimpleStructHolder.java57
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SomeStruct.java51
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SomeStructHelper.java134
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SomeStructHolder.java57
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/TestObject.java32
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/TestObjectHelper.java104
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/TestObjectHolder.java57
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/TestObjectOperations.java38
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_ArraysSetterImplBase.java237
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_ArraysSetterStub.java359
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_PrimitivesSetterImplBase.java237
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_PrimitivesSetterStub.java359
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_RemoteObjectImplBase.java66
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_RemoteObjectStub.java59
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_TestObjectImplBase.java157
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_TestObjectStub.java190
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/boolean_listHelper.java79
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/boolean_listHolder.java58
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/char_listHelper.java79
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/char_listHolder.java58
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/double_listHelper.java79
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/double_listHolder.java58
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/float_listHelper.java79
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/float_listHolder.java58
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_listHelper.java79
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_listHolder.java58
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_long_listHelper.java79
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_long_listHolder.java58
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq1Helper.java79
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq1Holder.java58
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq2Helper.java83
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq2Holder.java58
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq3Helper.java85
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq3Holder.java58
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/octet_listHelper.java79
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/octet_listHolder.java58
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/remote_object_listHelper.java81
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/remote_object_listHolder.java58
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/short_listHelper.java79
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/short_listHolder.java58
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/string_listHelper.java81
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/string_listHolder.java58
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_long_listHelper.java79
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_long_listHolder.java58
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_long_long_listHelper.java79
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_long_long_listHolder.java58
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_short_listHelper.java79
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_short_listHolder.java58
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/wchar_listHelper.java79
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/wchar_listHolder.java58
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/wstring_listHelper.java81
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/wstring_listHolder.java58
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/Calc.java30
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/DummyObject.java27
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/SimpleStruct.java30
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/SomeStruct.java33
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/DummyObject.java32
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/DummyObjectHelper.java104
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/DummyObjectHolder.java57
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/DummyObjectOperations.java34
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/ObjectManager.java32
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/ObjectManagerHelper.java104
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/ObjectManagerHolder.java57
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/ObjectManagerOperations.java34
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/_DummyObjectImplBase.java92
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/_DummyObjectStub.java97
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/_ObjectManagerImplBase.java93
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/_ObjectManagerStub.java98
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/ArraysSetterServant.java89
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/CalcServant.java53
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/DummyObjectServant.java42
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/ObjectManagerServant.java37
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/PrimitivesSetterServant.java89
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/TestObjectServant.java73
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/resources/exceptions.idl58
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/resources/general_tests.idl126
-rw-r--r--java/sca/modules/binding-corba-runtime/src/test/resources/references.idl50
143 files changed, 11548 insertions, 0 deletions
diff --git a/java/sca/modules/binding-corba-runtime/LICENSE b/java/sca/modules/binding-corba-runtime/LICENSE
new file mode 100644
index 0000000000..6e529a25c4
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/LICENSE
@@ -0,0 +1,205 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ 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.
+
+
+
diff --git a/java/sca/modules/binding-corba-runtime/NOTICE b/java/sca/modules/binding-corba-runtime/NOTICE
new file mode 100644
index 0000000000..1325efd8bf
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/NOTICE
@@ -0,0 +1,6 @@
+${pom.name}
+Copyright (c) 2005 - 2008 The Apache Software Foundation
+
+This product includes software developed by
+The Apache Software Foundation (http://www.apache.org/).
+
diff --git a/java/sca/modules/binding-corba-runtime/pom.xml b/java/sca/modules/binding-corba-runtime/pom.xml
new file mode 100644
index 0000000000..c715dfe202
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/pom.xml
@@ -0,0 +1,125 @@
+<?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>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-modules</artifactId>
+ <version>1.4-SNAPSHOT</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
+ <artifactId>tuscany-binding-corba-runtime</artifactId>
+ <name>Apache Tuscany SCA CORBA Binding Runtime</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-corba</artifactId>
+ <version>1.4-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>cglib</groupId>
+ <artifactId>cglib-nodep</artifactId>
+ <version>2.1_3</version>
+ <scope>compile</scope>
+ </dependency>
+
+ </dependencies>
+
+ <build>
+ <plugins>
+ <!-- Unfortunately the idlj maven plugin only works with SUN JDK -->
+ <!--
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>build-helper-maven-plugin</artifactId>
+ <version>1.0</version>
+ <executions>
+ <execution>
+ <id>add-test-source</id>
+ <phase>generate-sources</phase>
+ <goals>
+ <goal>add-test-source</goal>
+ </goals>
+ <configuration>
+ <sources>
+ <source>target/idl-source</source>
+ </sources>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>idlj-maven-plugin</artifactId>
+ <version>1.0</version>
+ <executions>
+ <execution>
+ <phase>generate-sources</phase>
+ <goals>
+ <goal>generate</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <debug>true</debug>
+ <compiler>idlj</compiler>
+ <sources>
+ <source>
+ <includes>
+ <include>tester.idl</include>
+ </includes>
+ <emitStubs>true</emitStubs>
+ <emitSkeletons>true</emitSkeletons>
+ </source>
+ </sources>
+ <sourceDirectory>${basedir}/src/test/resources</sourceDirectory>
+ <outputDirectory>${project.build.directory}/idl-source</outputDirectory>
+ </configuration>
+ <dependencies>
+ <dependency>
+ <groupId>com.sun</groupId>
+ <artifactId>tools</artifactId>
+ <version>1.5.0</version>
+ <scope>system</scope>
+ <systemPath>${java.home}/../lib/tools.jar</systemPath>
+ </dependency>
+ </dependencies>
+ </plugin>
+ -->
+
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+
+ <configuration>
+ <instructions>
+ <Bundle-Version>${tuscany.version}</Bundle-Version>
+ <Bundle-SymbolicName>org.apache.tuscany.sca.binding.corba</Bundle-SymbolicName>
+ <Bundle-Description>${pom.name}</Bundle-Description>
+ <Export-Package>org.apache.tuscany.sca.binding.corba*</Export-Package>
+ </instructions>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
diff --git a/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingProviderFactory.java b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingProviderFactory.java
new file mode 100644
index 0000000000..fe70b22953
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingProviderFactory.java
@@ -0,0 +1,60 @@
+/*
+ * 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.tuscany.sca.binding.corba.impl;
+
+import org.apache.tuscany.sca.binding.corba.CorbaBinding;
+import org.apache.tuscany.sca.provider.BindingProviderFactory;
+import org.apache.tuscany.sca.provider.ReferenceBindingProvider;
+import org.apache.tuscany.sca.provider.ServiceBindingProvider;
+import org.apache.tuscany.sca.runtime.RuntimeComponent;
+import org.apache.tuscany.sca.runtime.RuntimeComponentReference;
+import org.apache.tuscany.sca.runtime.RuntimeComponentService;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class CorbaBindingProviderFactory implements BindingProviderFactory<CorbaBinding> {
+
+ /**
+ * @see org.apache.tuscany.sca.provider.BindingProviderFactory#createReferenceBindingProvider(org.apache.tuscany.sca.runtime.RuntimeComponent, org.apache.tuscany.sca.runtime.RuntimeComponentReference, org.apache.tuscany.sca.assembly.Binding)
+ */
+ public ReferenceBindingProvider createReferenceBindingProvider(RuntimeComponent component,
+ RuntimeComponentReference reference,
+ CorbaBinding binding) {
+ return null;
+ }
+
+ /**
+ * @see org.apache.tuscany.sca.provider.BindingProviderFactory#createServiceBindingProvider(org.apache.tuscany.sca.runtime.RuntimeComponent, org.apache.tuscany.sca.runtime.RuntimeComponentService, org.apache.tuscany.sca.assembly.Binding)
+ */
+ public ServiceBindingProvider createServiceBindingProvider(RuntimeComponent component,
+ RuntimeComponentService service,
+ CorbaBinding binding) {
+ return null;
+ }
+
+ /**
+ * @see org.apache.tuscany.sca.provider.ProviderFactory#getModelType()
+ */
+ public Class<CorbaBinding> getModelType() {
+ return CorbaBinding.class;
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaInvoker.java b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaInvoker.java
new file mode 100644
index 0000000000..87fd6ce00c
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaInvoker.java
@@ -0,0 +1,81 @@
+/*
+ * 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.tuscany.sca.binding.corba.impl;
+
+import org.apache.tuscany.sca.binding.corba.CorbaBinding;
+import org.apache.tuscany.sca.interfacedef.Operation;
+import org.apache.tuscany.sca.invocation.Invoker;
+import org.apache.tuscany.sca.invocation.Message;
+import org.omg.CORBA.Any;
+import org.omg.CORBA.Request;
+import org.omg.CosNaming.NamingContextExt;
+import org.omg.CosNaming.NamingContextExtHelper;
+import org.osoa.sca.ServiceRuntimeException;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class CorbaInvoker implements Invoker {
+ private Operation operation;
+ private CorbaBinding binding;
+
+ public CorbaInvoker(CorbaBinding binding, Operation operation) {
+ super();
+ this.binding = binding;
+ this.operation = operation;
+ }
+
+ /**
+ * @see org.apache.tuscany.sca.invocation.Invoker#invoke(org.apache.tuscany.sca.invocation.Message)
+ */
+ public Message invoke(Message msg) {
+ try {
+ org.omg.CORBA.ORB orb = initORB(binding.getHost(), String.valueOf(binding.getPort()));
+
+ org.omg.CORBA.Object service = orb.string_to_object(binding.getURI());
+
+ // get the root naming context
+ org.omg.CORBA.Object objRef = orb.resolve_initial_references("NameService");
+
+ // Use NamingContextExt instead of NamingContext. This is
+ // part of the Interoperable Naming Service.
+ NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef);
+
+ // resolve the Object Reference in Naming
+ org.omg.CORBA.Object impl = ncRef.resolve_str(binding.getURI());
+
+ String op = operation.getName();
+ Request req = impl._request(op);
+ Any any = req.add_in_arg();
+ return null;
+ } catch (Exception e) {
+ throw new ServiceRuntimeException(e);
+ }
+ }
+
+ private org.omg.CORBA.ORB initORB(String host, String port) {
+ java.util.Properties props = new java.util.Properties();
+ props.put("org.omg.CORBA.ORBInitialHost", host);
+ props.put("org.omg.CORBA.ORBInitialPort", port);
+ org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(new String[0], props);
+ return orb;
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaReferenceBindingProvider.java b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaReferenceBindingProvider.java
new file mode 100644
index 0000000000..a79abd94a5
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaReferenceBindingProvider.java
@@ -0,0 +1,72 @@
+/*
+ * 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.tuscany.sca.binding.corba.impl;
+
+import org.apache.tuscany.sca.binding.corba.CorbaBinding;
+import org.apache.tuscany.sca.interfacedef.InterfaceContract;
+import org.apache.tuscany.sca.interfacedef.Operation;
+import org.apache.tuscany.sca.invocation.Invoker;
+import org.apache.tuscany.sca.provider.ReferenceBindingProvider;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class CorbaReferenceBindingProvider implements ReferenceBindingProvider {
+ private CorbaBinding binding;
+
+ /**
+ * @see org.apache.tuscany.sca.provider.ReferenceBindingProvider#createInvoker(org.apache.tuscany.sca.interfacedef.Operation)
+ */
+ public Invoker createInvoker(Operation operation) {
+ return new CorbaInvoker(binding, operation);
+ }
+
+ /**
+ * @see org.apache.tuscany.sca.provider.ReferenceBindingProvider#getBindingInterfaceContract()
+ */
+ public InterfaceContract getBindingInterfaceContract() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /**
+ * @see org.apache.tuscany.sca.provider.ReferenceBindingProvider#start()
+ */
+ public void start() {
+ // TODO Auto-generated method stub
+
+ }
+
+ /**
+ * @see org.apache.tuscany.sca.provider.ReferenceBindingProvider#stop()
+ */
+ public void stop() {
+ // TODO Auto-generated method stub
+
+ }
+
+ /**
+ * @see org.apache.tuscany.sca.provider.ReferenceBindingProvider#supportsOneWayInvocation()
+ */
+ public boolean supportsOneWayInvocation() {
+ return false;
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaServiceBindingProvider.java b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaServiceBindingProvider.java
new file mode 100644
index 0000000000..5292b3e452
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaServiceBindingProvider.java
@@ -0,0 +1,126 @@
+/*
+ * 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.tuscany.sca.binding.corba.impl;
+
+import org.apache.tuscany.sca.binding.corba.CorbaBinding;
+import org.apache.tuscany.sca.interfacedef.InterfaceContract;
+import org.apache.tuscany.sca.provider.ServiceBindingProvider;
+import org.omg.CosNaming.NameComponent;
+import org.omg.CosNaming.NamingContextExt;
+import org.omg.CosNaming.NamingContextExtHelper;
+import org.omg.PortableServer.POA;
+import org.omg.PortableServer.POAHelper;
+import org.omg.PortableServer.Servant;
+import org.osoa.sca.ServiceRuntimeException;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class CorbaServiceBindingProvider implements ServiceBindingProvider {
+ private CorbaBinding binding;
+
+ /**
+ * @see org.apache.tuscany.sca.provider.ServiceBindingProvider#getBindingInterfaceContract()
+ */
+ public InterfaceContract getBindingInterfaceContract() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ protected Servant createServant() {
+ return null;
+ }
+
+ private NameComponent[] nameComponents;
+
+ /**
+ * @see org.apache.tuscany.sca.provider.ServiceBindingProvider#start()
+ */
+ public void start() {
+ try {
+ java.util.Properties props = new java.util.Properties();
+ props.put("org.omg.CORBA.ORBInitialHost", binding.getHost());
+ props.put("org.omg.CORBA.ORBInitialPort", String.valueOf(binding.getPort()));
+ org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(new String[0], props);
+
+ Servant servant = createServant();
+
+ // get reference to rootpoa & activate the POAManager
+ POA rootpoa = POAHelper.narrow(
+ orb.resolve_initial_references("RootPOA"));
+ rootpoa.the_POAManager().activate();
+
+ // get object reference from the servant
+ org.omg.CORBA.Object ref =
+ rootpoa.servant_to_reference(servant);
+
+ org.omg.CORBA.Object href = null; // AddHelper.narrow(ref);
+
+ // get the root naming context
+ // NameService invokes the name service
+ org.omg.CORBA.Object objRef =
+ orb.resolve_initial_references("NameService");
+ // Use NamingContextExt which is part of the Interoperable
+ // Naming Service (INS) specification.
+ NamingContextExt ncRef =
+ NamingContextExtHelper.narrow(objRef);
+
+ // bind the Object Reference in Naming
+ NameComponent path[] = ncRef.to_name( binding.getURI() );
+ ncRef.rebind(path, href);
+
+ // wait for invocations from clients
+ orb.run();
+
+
+ } catch (Exception e) {
+ throw new ServiceRuntimeException(e);
+ }
+
+ }
+
+ /**
+ * @see org.apache.tuscany.sca.provider.ServiceBindingProvider#stop()
+ */
+ public void stop() {
+ try {
+ java.util.Properties props = new java.util.Properties();
+ props.put("org.omg.CORBA.ORBInitialHost", binding.getHost());
+ props.put("org.omg.CORBA.ORBInitialPort", String.valueOf(binding.getPort()));
+ org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(new String[0], props);
+
+ org.omg.CORBA.Object object = orb.resolve_initial_references("NameService");
+ org.omg.CosNaming.NamingContextExt root = org.omg.CosNaming.NamingContextExtHelper.narrow(object);
+ root.unbind(nameComponents);
+ } catch (Exception e) {
+ throw new ServiceRuntimeException(e);
+ }
+
+ }
+
+ /**
+ * @see org.apache.tuscany.sca.provider.ServiceBindingProvider#supportsOneWayInvocation()
+ */
+ public boolean supportsOneWayInvocation() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaServiceLocator.java b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaServiceLocator.java
new file mode 100644
index 0000000000..867cfd5717
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaServiceLocator.java
@@ -0,0 +1,395 @@
+/*
+ * 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.tuscany.sca.binding.corba.impl;
+
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Properties;
+import java.util.Set;
+
+import javax.naming.NamingException;
+
+import org.omg.CORBA.ORB;
+import org.omg.CosNaming.NamingContextExt;
+
+/**
+ * CosNaming utility
+ */
+public class CorbaServiceLocator {
+
+ /*
+ * Root Context Initial Reference Key ------------
+ * ----------------------------------- Server Root NameServiceServerRoot
+ * Cell Persistent Root NameServiceCellPersistentRoot Cell Root
+ * NameServiceCellRoot, NameService Node Root NameServiceNodeRoot
+ */
+ public static final String SERVER_ROOT = "NameServiceServerRoot";
+ public static final String CELL_PERSISTENT_ROOT = "NameServiceCellPersistentRoot";
+ public static final String CELL_ROOT = "NameServiceCellRoot";
+ public static final String NODE_ROOT = "NameServiceNodeRoot";
+ public static final String DEFAULT_ROOT = "NameService"; // Same as
+ // CELL_ROOT
+
+ public static final String DEFAULT_HOST = "127.0.0.1"; // Default host name
+ // or IP address for
+ // WebSphere
+ public static final int DEFAULT_NAMING_PORT = 2809; // Default port
+ public static final String NAMING_SERVICE = "NameService"; // The name of
+ // the naming
+ // service
+ private static final Set<String> ROOTS =
+ new HashSet<String>(Arrays.asList(new String[] {SERVER_ROOT, CELL_PERSISTENT_ROOT, CELL_ROOT, DEFAULT_ROOT,
+ NODE_ROOT}));
+
+ // private static final String CHARS_TO_ESCAPE = "\\/.";
+ private static final String RFC2396 =
+ "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789;/:?@&=+$,-_.!~*'()";
+ private static final String HEX = "0123456789ABCDEF";
+
+ private String hostName = DEFAULT_HOST;
+ private int port = DEFAULT_NAMING_PORT;
+ private String root = SERVER_ROOT;
+
+ private ORB orb = null;
+ private CosNamingLocator locator = null;
+
+ public CorbaServiceLocator(String hostName, int port) {
+ this.hostName = (hostName == null) ? DEFAULT_HOST : hostName;
+ this.port = port > 0 ? port : DEFAULT_NAMING_PORT;
+ this.root = SERVER_ROOT;
+ }
+
+ public CorbaServiceLocator(String hostName, int port, String root) {
+ this(hostName, port);
+ if (ROOTS.contains(root)) {
+ this.root = root;
+ } else {
+ throw new IllegalArgumentException(root + " is not a legal root");
+ }
+ }
+
+ public CorbaServiceLocator(String corbaName) {
+ if (corbaName.startsWith("corbaname:iiop:")) {
+ processCorbaURL(corbaName);
+ } else {
+ throw new IllegalArgumentException(corbaName + " is not a legal corbaname");
+ }
+ }
+
+ private void processCorbaURL(String url) {
+ if (url != null && (url.startsWith("corbaname:iiop:") || url.startsWith("corbaloc:iiop:"))) {
+ /**
+ * corbaname:iiop:<hostName>:<port>/<root>#name corbaloc:iiop:<hostname>:<port>/<root>
+ * For example,
+ * "corbaname:iiop:localhost:2809/NameServiceServerRoot#ejb/MyEJBHome";
+ * or "corbaloc:iiop:myhost:2809/NameServiceServerRoot"
+ */
+ String[] parts = url.split("(:|/|#)");
+ if (parts.length > 2 && parts[2].length() > 0) {
+ hostName = parts[2]; // The host name
+ int index = hostName.lastIndexOf('@'); // version@hostname
+ if (index != -1) {
+ hostName = hostName.substring(index + 1);
+ }
+ }
+ if (parts.length > 3 && parts[3].length() > 0) {
+ port = Integer.parseInt(parts[3]); // The port number
+ }
+ if (parts.length > 4 && parts[4].length() > 0) {
+ root = parts[4]; // The root of naming
+ }
+ }
+ }
+
+ /**
+ * The corbaloc and corbaname formats enable you to provide a URL to access
+ * CORBA objects. Use the corbaloc format for resolving to a particular
+ * CORBAservice without going through a naming service. Use the corbaname
+ * format to resolve a stringified name from a specific naming context.
+ */
+
+ /**
+ * corbaname Syntax The full corbaname BNF is: &lt;corbaname&gt; =
+ * "corbaname:"&lt;corbaloc_obj&gt;["#"&lt;string_name&gt;]
+ * &lt;corbaloc_obj&gt; = &lt;obj_addr_list&gt; ["/"&lt;key_string&gt;]
+ * &lt;obj_addr_list&gt; = as defined in a corbaloc URL &lt;key_string&gt; =
+ * as defined in a corbaloc URL &lt;string_name&gt;= stringified Name
+ * empty_string Where:
+ * <ul>
+ * <li>corbaloc_obj: portion of a corbaname URL that identifies the naming
+ * context. The syntax is identical to its use in a corbaloc URL.
+ * <li>obj_addr_list: as defined in a corbaloc URL
+ * <li>key_string: as defined in a corbaloc URL.
+ * <li>string_name: a stringified Name with URL escapes as defined below.
+ * </ul>
+ *
+ * @param hostName The host name or IP address of the naming server
+ * @param port The port number of the naming service
+ * @param root The root of the namespace
+ * @param name The JNDI name
+ */
+ private static String getCorbaname(String hostName, int port, String root, String name) {
+ if (name == null) {
+ return "corbaname:iiop:" + hostName + ":" + port + "/" + root;
+ } else {
+ return "corbaname:iiop:" + hostName + ":" + port + "/" + root + "#" + toCorbaname(name);
+ }
+ }
+
+ String getCorbaname(String name) {
+ return getCorbaname(hostName, port, root, name);
+ }
+
+ /**
+ * Connect to the ORB.
+ */
+
+ // FIXME. May need to change the IBM classes if this binding is contributed
+ // to Tuscany
+ public ORB connect() {
+ if (orb == null) {
+ Properties props = new Properties();
+ /*
+ * This code is for IBM JVM props.put("org.omg.CORBA.ORBClass",
+ * "com.ibm.CORBA.iiop.ORB");
+ * props.put("com.ibm.CORBA.ORBInitRef.NameService",
+ * getCorbaloc(NAMING_SERVICE));
+ * props.put("com.ibm.CORBA.ORBInitRef.NameServiceServerRoot",
+ * getCorbaloc("NameServiceServerRoot"));
+ */
+ orb = ORB.init((String[])null, props);
+ }
+ return orb;
+ }
+
+ /**
+ * Replace substrings
+ *
+ * @param source The source string.
+ * @param match The string to search for within the source string.
+ * @param replace The replacement for any matching components.
+ * @return
+ */
+ private static String replace(String source, String match, String replace) {
+ int index = source.indexOf(match, 0);
+ if (index >= 0) {
+
+ // We have at least one match, so got to do the
+ // work...
+
+ StringBuffer result = new StringBuffer(source.length() + 16);
+ int matchLength = match.length();
+ int startIndex = 0;
+
+ while (index >= 0) {
+ result.append(source.substring(startIndex, index));
+ result.append(replace);
+ startIndex = index + matchLength;
+ index = source.indexOf(match, startIndex);
+ }
+
+ // Grab the last piece, if any...
+ if (startIndex < source.length()) {
+ result.append(source.substring(startIndex));
+ }
+
+ return result.toString();
+
+ } else {
+ // No matches, just return the source...
+ return source;
+ }
+ }
+
+ /**
+ * Resolved the JNDI name from the initial CosNaming context
+ *
+ * @param jndiName
+ * @return resolved CORBA object
+ * @throws NamingException
+ */
+ private static org.omg.CORBA.Object resovleString(NamingContextExt initCtx, String jndiName) throws NamingException {
+ try {
+ String name = stringify(jndiName);
+ return initCtx.resolve_str(name);
+ } catch (Exception e) {
+ NamingException ne = new NamingException(e.getMessage());
+ ne.setRootCause(e);
+ throw ne;
+ }
+ }
+
+ /**
+ * Look up a CORBA object by its JNDI name
+ *
+ * @param jndiName
+ * @return
+ * @throws NamingException
+ */
+ org.omg.CORBA.Object stringToObject(String jndiName) throws NamingException {
+ /*
+ * Using an existing ORB and invoking string_to_object with a CORBA
+ * object URL with multiple name server addresses to get an initial
+ * context CORBA object URLs can contain more than one bootstrap server
+ * address. Use this feature when attempting to obtain an initial
+ * context from a server cluster. You can specify the bootstrap server
+ * addresses for all servers in the cluster in the URL. The operation
+ * will succeed if at least one of the servers is running, eliminating a
+ * single point of failure. There is no guarantee of any particular
+ * order in which the address list will be processed. For example, the
+ * second bootstrap server address may be used to obtain the initial
+ * context even though the first bootstrap server in the list is
+ * available. An example of a corbaloc URL with multiple addresses
+ * follows. obj =
+ * orb.string_to_object("corbaloc::myhost1:9810,:myhost1:9811,:myhost2:9810/NameService");
+ */
+ String corbaName = null;
+ if (jndiName.startsWith("corbaloc:") || jndiName.startsWith("corbaname:")) {
+ // Keep the qualified URL
+ corbaName = jndiName;
+ } else {
+ // Create a corbaname URL
+ corbaName = getCorbaname(jndiName);
+ }
+
+ connect();
+ org.omg.CORBA.Object obj = orb.string_to_object(corbaName);
+ return obj;
+ }
+
+ /**
+ * The character escape rules for the stringified name portion of an
+ * corbaname are: US-ASCII alphanumeric characters are not escaped.
+ * Characters outside this range are escaped, except for the following: ; / : ? @ & = + $ , - _ . ! ~ * ' ( )
+ * corbaname Escape Mechanism The percent '%' character is used as an
+ * escape. If a character that requires escaping is present in a name
+ * component it is encoded as two hexadecimal digits following a "%"
+ * character to represent the octet. (The first hexadecimal character
+ * represent the highorder nibble of the octet, the second hexadecimal
+ * character represents the low-order nibble.) If a '%' is not followed by
+ * two hex digits, the stringified name is syntactically invalid.
+ * @param s
+ * @return RFC2396-encoded stringified name
+ */
+ static String encode2396(String s) {
+ if (s == null) {
+ return null;
+ }
+ StringBuffer encoded = new StringBuffer(s);
+ for (int i = 0; i < encoded.length(); i++) {
+ char c = encoded.charAt(i);
+ if (RFC2396.indexOf(c) == -1) {
+ encoded.setCharAt(i, '%');
+ char[] ac = Integer.toHexString(c).toCharArray();
+ if (ac.length == 2) {
+ encoded.insert(i + 1, ac);
+ } else if (ac.length == 1) {
+ encoded.insert(i + 1, '0');
+ encoded.insert(i + 2, ac[0]);
+ } else {
+ throw new IllegalArgumentException("Invalid character '" + c + "' in \"" + s + "\"");
+ }
+ i += 2; // NOPMD
+ }
+ }
+ return encoded.toString();
+ }
+
+ /**
+ * Decode an RFC2396-encoded string
+ *
+ * @param s
+ * @return Plain string
+ */
+ static String decode2396(String s) {
+ if (s == null) {
+ return null;
+ }
+ StringBuffer decoded = new StringBuffer(s);
+ for (int i = 0; i < decoded.length(); i++) {
+ char c = decoded.charAt(i);
+ if (c == '%') {
+ if (i + 2 >= decoded.length()) {
+ throw new IllegalArgumentException("Incomplete key_string escape sequence");
+ }
+ int j;
+ j = HEX.indexOf(decoded.charAt(i + 1)) * 16 + HEX.indexOf(decoded.charAt(i + 2));
+ decoded.setCharAt(i, (char)j);
+ decoded.delete(i + 1, i + 3);
+ } else if (RFC2396.indexOf(c) == -1) {
+ throw new IllegalArgumentException("Invalid key_string character '" + c + "'");
+ }
+ }
+ return decoded.toString();
+ }
+
+ /**
+ * The backslash '\' character escapes the reserved meaning of '/', '.', and
+ * '\' in a stringified name.
+ *
+ * @param jndiName
+ * @return Escaped stringified name for CosNaming
+ */
+ private static String stringify(String jndiName) {
+ // Escape . into \. since it's an INS naming delimiter
+ return replace(encode2396(jndiName), ".", "\\.");
+ }
+
+ /**
+ * Escape the "." into "%5C%2E"
+ *
+ * @param jndiName
+ * @return corbaname treating "." as a literal
+ */
+ private static String toCorbaname(String jndiName) {
+ // Escape . into %5C%2E (\.) since it's an INS naming delimiter
+ // For example, sca.sample.StockQuote --->
+ // sca%5C%2Esample%5C%2EStockQuote/StockQuote
+ return replace(encode2396(jndiName), ".", "%5C%2E");
+ }
+
+ private CosNamingLocator getObjectLocator() throws NamingException {
+ if (locator != null) {
+ return locator;
+ }
+ locator = new CosNamingLocator();
+ return locator;
+ }
+
+ public Object locate(String jndiName) throws NamingException {
+
+ Object result = getObjectLocator().locate(jndiName);
+ return result;
+ }
+
+ private final class CosNamingLocator {
+ private NamingContextExt context;
+
+ private CosNamingLocator() {
+ }
+
+ public Object locate(String name) throws NamingException {
+ if (context != null) {
+ return resovleString(context, name);
+ } else {
+ return stringToObject(name);
+ }
+ }
+ }
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/TuscanyServant.java b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/TuscanyServant.java
new file mode 100644
index 0000000000..e6733a8c71
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/TuscanyServant.java
@@ -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.
+ */
+
+package org.apache.tuscany.sca.binding.corba.impl;
+
+import org.omg.CORBA.ORB;
+import org.omg.CORBA.ServerRequest;
+import org.omg.PortableServer.DynamicImplementation;
+import org.omg.PortableServer.POA;
+
+
+/**
+ * This is the CORBA DSI servant that dispatches CORBA requests to SCA components
+ *
+ * @version $Rev$ $Date$
+ */
+public class TuscanyServant extends DynamicImplementation {
+ private ORB orb;
+
+ @Override
+ public void invoke(ServerRequest request) {
+ }
+
+ @Override
+ public String[] _all_interfaces(POA poa, byte[] objectId) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/exceptions/CorbaException.java b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/exceptions/CorbaException.java
new file mode 100644
index 0000000000..cfc100ee62
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/exceptions/CorbaException.java
@@ -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.
+ */
+
+package org.apache.tuscany.sca.binding.corba.impl.exceptions;
+
+/**
+ * @version $Rev$ $Date$
+ * Represents CORBA SystemException
+ */
+public class CorbaException extends Exception {
+
+ private static final long serialVersionUID = 1L;
+
+ public CorbaException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/exceptions/RequestConfigurationException.java b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/exceptions/RequestConfigurationException.java
new file mode 100644
index 0000000000..c4d78a5027
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/exceptions/RequestConfigurationException.java
@@ -0,0 +1,39 @@
+/*
+ * 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.tuscany.sca.binding.corba.impl.exceptions;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class RequestConfigurationException extends Exception {
+
+ private static final long serialVersionUID = 1L;
+ private String objectId;
+
+ public RequestConfigurationException(String message, String objectId) {
+ super(message + ", object id was: " + objectId);
+ this.objectId = objectId;
+ }
+
+ public String getType() {
+ return objectId;
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/DynaCorbaRequest.java b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/DynaCorbaRequest.java
new file mode 100644
index 0000000000..759f9756b6
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/DynaCorbaRequest.java
@@ -0,0 +1,180 @@
+/*
+ * 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.tuscany.sca.binding.corba.impl.reference;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.tuscany.sca.binding.corba.impl.exceptions.CorbaException;
+import org.apache.tuscany.sca.binding.corba.impl.exceptions.RequestConfigurationException;
+import org.apache.tuscany.sca.binding.corba.impl.types.TypeTree;
+import org.apache.tuscany.sca.binding.corba.impl.types.TypeTreeCreator;
+import org.apache.tuscany.sca.binding.corba.impl.types.util.TypeHelpersProxy;
+import org.omg.CORBA.BAD_OPERATION;
+import org.omg.CORBA.Object;
+import org.omg.CORBA.SystemException;
+import org.omg.CORBA.portable.ApplicationException;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.ObjectImpl;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * @version $Rev$ $Date$ Represents single CORBA request
+ */
+public class DynaCorbaRequest {
+
+ private TypeTree returnTree;
+ private List<TypeTree> arguments = new ArrayList<TypeTree>();
+ private Map<String, TypeTree> exceptions = new HashMap<String, TypeTree>();
+ private OutputStream outputStream;
+ private ObjectImpl remoteObject;
+ private String operation;
+
+ /**
+ * Creates request.
+ *
+ * @param ObjectremoteObject
+ * remote object reference
+ * @param operation
+ * operation to invoke
+ */
+ public DynaCorbaRequest(Object remoteObject, String operation) {
+ outputStream = ((ObjectImpl) remoteObject)._request(operation, true);
+ this.remoteObject = (ObjectImpl) remoteObject;
+ this.operation = operation;
+
+ }
+
+ /**
+ * Adds operation argument
+ *
+ * @param argument
+ */
+ public void addArgument(java.lang.Object argument) {
+ TypeTree tree = TypeTreeCreator.createTypeTree(argument.getClass());
+ TypeHelpersProxy.write(tree.getRootNode(), outputStream, argument);
+ }
+
+ /**
+ * Sets return type for operation
+ *
+ * @param forClass
+ */
+ public void setOutputType(Class<?> forClass) {
+ returnTree = TypeTreeCreator.createTypeTree(forClass);
+ }
+
+ private String getExceptionId(Class<?> forClass) {
+ String result = forClass.getName().replace('.', '/');
+ result = result.replaceAll("Package", "");
+ if (result.endsWith("Exception")) {
+ result = result
+ .substring(0, result.length() - "Exception".length());
+ }
+ result = "IDL:" + result + ":1.0";
+ return result;
+ }
+
+ /**
+ * Configures possible exceptions
+ *
+ * @param forClass
+ */
+ public void addExceptionType(Class<?> forClass) {
+ TypeTree tree = TypeTreeCreator.createTypeTree(forClass);
+ String exceptionId = getExceptionId(forClass);
+ exceptions.put(exceptionId, tree);
+ }
+
+ /**
+ * Handles application excpeition.
+ *
+ * @param ae
+ * occured exception
+ * @throws Exception
+ */
+ private void handleApplicationException(ApplicationException ae)
+ throws Exception {
+ try {
+ if (exceptions.size() == 0) {
+ RequestConfigurationException exception = new RequestConfigurationException(
+ "ApplicationException occured, but no exception type was specified.",
+ ae.getId());
+ throw exception;
+ }
+ InputStream is = ae.getInputStream();
+ String exceptionId = is.read_string();
+ TypeTree tree = exceptions.get(exceptionId);
+ if (tree == null) {
+ RequestConfigurationException exception = new RequestConfigurationException(
+ "ApplicationException occured, but no such exception was defined",
+ ae.getId());
+ throw exception;
+ } else {
+ Exception ex = (Exception) TypeHelpersProxy.read(tree
+ .getRootNode(), is);
+ throw ex;
+ }
+ } catch (Exception e) {
+ throw e;
+ }
+ }
+
+ /**
+ * Handles exceptions generated by CORBA API
+ *
+ * @param se
+ */
+ private void handleSystemException(SystemException se) throws Exception {
+ if (se instanceof BAD_OPERATION) {
+ throw new CorbaException("Bad operation name: " + operation, se);
+ } else {
+ // TODO: handle more system exception types
+ throw new CorbaException(se.getMessage(), se);
+ }
+ }
+
+ /**
+ * Invokes previously configured request
+ *
+ * @return
+ */
+ public DynaCorbaResponse invoke() throws Exception {
+ DynaCorbaResponse response = new DynaCorbaResponse();
+ InputStream is = null;
+ try {
+ is = remoteObject._invoke(outputStream);
+ if (is != null && returnTree != null) {
+ response.setContent(TypeHelpersProxy.read(returnTree
+ .getRootNode(), is));
+ }
+ } catch (ApplicationException ae) {
+ handleApplicationException(ae);
+ } catch (SystemException se) {
+ handleSystemException(se);
+ } catch (Exception e) {
+ throw e;
+ }
+ return response;
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/DynaCorbaResponse.java b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/DynaCorbaResponse.java
new file mode 100644
index 0000000000..cb60f91c66
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/DynaCorbaResponse.java
@@ -0,0 +1,39 @@
+/*
+ * 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.tuscany.sca.binding.corba.impl.reference;
+
+/**
+ * @version $Rev$ $Date$
+ * Holder for content returned from DynaCorbaRequest
+ *
+ */
+public class DynaCorbaResponse {
+
+ private Object content;
+
+ public Object getContent() {
+ return content;
+ }
+
+ public void setContent(Object content) {
+ this.content = content;
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/InterfaceInstanceCreator.java b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/InterfaceInstanceCreator.java
new file mode 100644
index 0000000000..5c24e035de
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/InterfaceInstanceCreator.java
@@ -0,0 +1,72 @@
+/*
+ * 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.tuscany.sca.binding.corba.impl.reference;
+
+import java.lang.reflect.Method;
+
+import net.sf.cglib.proxy.Callback;
+import net.sf.cglib.proxy.CallbackFilter;
+import net.sf.cglib.proxy.Enhancer;
+import net.sf.cglib.proxy.MethodInterceptor;
+import net.sf.cglib.proxy.NoOp;
+
+import org.omg.CORBA.Object;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class InterfaceInstanceCreator {
+
+ private static final CallbackFilter FILTER = new CallbackFilter() {
+ public int accept(Method method) {
+ return 1;
+ }
+ };
+
+ /**
+ * Dynamically creates instance of user defined interface. Instance is
+ * enhanced by RemoteMethodInterceptor
+ *
+ * @param reference
+ * CORBA reference
+ * @param forClass
+ * user defined interface
+ * @return dynamic implementation instance
+ */
+ public static java.lang.Object createInstance(Object reference,
+ Class<?> forClass) {
+ java.lang.Object result = null;
+ try {
+ Enhancer enhancer = new Enhancer();
+ enhancer.setInterfaces(new Class[] { forClass });
+ enhancer.setCallbackFilter(FILTER);
+ enhancer.setCallbackTypes(new Class[] { NoOp.class,
+ MethodInterceptor.class });
+ Class<?> newClass = enhancer.createClass();
+ Enhancer.registerStaticCallbacks(newClass, new Callback[] {
+ NoOp.INSTANCE, new InterfaceMethodInterceptor(reference) });
+ result = newClass.newInstance();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return result;
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/InterfaceMethodInterceptor.java b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/InterfaceMethodInterceptor.java
new file mode 100644
index 0000000000..f8af8a8d6a
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/InterfaceMethodInterceptor.java
@@ -0,0 +1,61 @@
+/*
+ * 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.tuscany.sca.binding.corba.impl.reference;
+
+import java.lang.reflect.Method;
+
+import net.sf.cglib.proxy.MethodInterceptor;
+import net.sf.cglib.proxy.MethodProxy;
+
+import org.omg.CORBA.Object;
+
+/**
+ * @version $Rev$ $Date$
+ * Interceptor for CORBA reference methods
+ */
+public class InterfaceMethodInterceptor implements MethodInterceptor {
+
+ private Object reference;
+
+ public InterfaceMethodInterceptor(Object reference) {
+ this.reference = reference;
+ }
+
+ /**
+ * Create and execute DynaCorbaRequest instance, basing on intercepted
+ * method arguments, return types, exceptions
+ */
+ public java.lang.Object intercept(java.lang.Object object, Method method,
+ java.lang.Object[] arguments, MethodProxy arg3) throws Throwable {
+ DynaCorbaRequest request = new DynaCorbaRequest(reference, method
+ .getName());
+ for (int i = 0; i < arguments.length; i++) {
+ request.addArgument(arguments[i]);
+ }
+ request.setOutputType(method.getReturnType());
+ Class<?>[] exceptions = method.getExceptionTypes();
+ for (int i = 0; i < exceptions.length; i++) {
+ request.addExceptionType(exceptions[i]);
+ }
+ DynaCorbaResponse response = request.invoke();
+ return response.getContent();
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/NodeType.java b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/NodeType.java
new file mode 100644
index 0000000000..155bfb5444
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/NodeType.java
@@ -0,0 +1,28 @@
+/*
+ * 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.tuscany.sca.binding.corba.impl.types;
+
+/**
+ * @version $Rev$ $Date$
+ * Types of CORBA objects.
+ */
+public enum NodeType {
+ primitive, struct, union, array, sequence, reference
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/TypeTree.java b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/TypeTree.java
new file mode 100644
index 0000000000..578a73a30e
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/TypeTree.java
@@ -0,0 +1,76 @@
+/*
+ * 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.tuscany.sca.binding.corba.impl.types;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @version $Rev$ $Date$
+ * Helper tree for Java object hierarchy. It's closer to CORBA types structure
+ * than plain Java hierarchy - it helps reading and writing complex structures.
+ */
+public class TypeTree {
+
+ private Map<Class<?>, TypeTreeNode> typesUsed = new HashMap<Class<?>, TypeTreeNode>();
+ private TypeTreeNode rootNode;
+
+ /**
+ * Intent was to cache previously computed type trees. In practice it caused
+ * a bug, and it's not being used right now. TODO: enable type trees caching
+ *
+ * @param forClass
+ * @param node
+ */
+ public void addUsedType(Class<?> forClass, TypeTreeNode node) {
+ typesUsed.put(forClass, node);
+ }
+
+ /**
+ * Returns node for previously created tree, it's getter for nodes added by
+ * addUsedType method. Not in use right now. TODO: enable type trees caching
+ *
+ * @param forClass
+ * @return
+ */
+ public TypeTreeNode getNodeForType(Class<?> forClass) {
+ return typesUsed.get(forClass);
+ }
+
+ /**
+ * Returns root node.
+ *
+ * @return root of type tree
+ */
+ public TypeTreeNode getRootNode() {
+ return rootNode;
+ }
+
+ /**
+ * Sets root of the type tree.
+ *
+ * @param rootNode
+ * root node.
+ */
+ public void setRootNode(TypeTreeNode rootNode) {
+ this.rootNode = rootNode;
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/TypeTreeCreator.java b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/TypeTreeCreator.java
new file mode 100644
index 0000000000..d370c5cd7e
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/TypeTreeCreator.java
@@ -0,0 +1,224 @@
+/*
+ * 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.tuscany.sca.binding.corba.impl.types;
+
+import java.lang.reflect.Field;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @version $Rev$ $Date$
+ * Creator of types tree.
+ *
+ */
+public class TypeTreeCreator {
+
+ /**
+ * Helps to determine if type is a primitive.
+ */
+ private static List<Class<?>> primitives = new ArrayList<Class<?>>();
+
+ static {
+ primitives.add(boolean.class);
+ primitives.add(byte.class);
+ primitives.add(short.class);
+ primitives.add(int.class);
+ primitives.add(long.class);
+ primitives.add(double.class);
+ primitives.add(float.class);
+ primitives.add(char.class);
+ primitives.add(String.class);
+ primitives.add(Boolean.class);
+ primitives.add(Byte.class);
+ primitives.add(Short.class);
+ primitives.add(Integer.class);
+ primitives.add(Long.class);
+ primitives.add(Double.class);
+ primitives.add(Float.class);
+ primitives.add(Character.class);
+ }
+
+ /**
+ * Creates class for given string argument.
+ *
+ * @param name
+ * name of type
+ * @return type
+ */
+ private static Class<?> createClassFromString(String name) {
+ Class<?> result = null;
+ try {
+ if (name.length() == 1) {
+ // primitives
+ switch (name.charAt(0)) {
+ case 'Z':
+ result = boolean.class;
+ break;
+ case 'C':
+ result = char.class;
+ break;
+ case 'B':
+ result = byte.class;
+ break;
+ case 'S':
+ result = short.class;
+ break;
+ case 'I':
+ result = int.class;
+ break;
+ case 'J':
+ result = long.class;
+ break;
+ case 'F':
+ result = float.class;
+ break;
+ case 'D':
+ result = double.class;
+ break;
+ }
+ } else {
+ // class
+ name = name.substring(1, name.length() - 1);
+ result = Class.forName(name);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return result;
+ }
+
+ /**
+ * Reduces dimension of array.
+ *
+ * @param forClass
+ * array class
+ * @return reduced array
+ */
+ private static Class<?> reduceArrayDimension(Class<?> forClass) {
+ String name = forClass.getName();
+ try {
+ String reduced = name.substring(1, name.length());
+ if (reduced.startsWith("[")) {
+ // reduced class is still an array
+ return Class.forName(reduced);
+ } else {
+ // reduced class may be primitive or class
+ return createClassFromString(reduced);
+ }
+ } catch (ClassNotFoundException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ /**
+ * Creates tree for given type.
+ *
+ * @param forClass
+ * @return type tree
+ */
+ public static TypeTree createTypeTree(Class<?> forClass) {
+ TypeTree tree = new TypeTree();
+ TypeTreeNode rootNode = null;
+ rootNode = inspectClassHierarchy(forClass, tree);
+ tree.setRootNode(rootNode);
+ return tree;
+
+ }
+
+ /**
+ * Recurrent method which builds type tree.
+ *
+ * @param forClass
+ * @param tree
+ * @return
+ */
+ private static TypeTreeNode inspectClassHierarchy(Class<?> forClass,
+ TypeTree tree) {
+ // //remains of type tree caching
+ // TypeTreeNode existingNode = tree.getNodeForType(forClass);
+ // if (existingNode != null) {
+ // return existingNode;
+ // }
+
+ TypeTreeNode node = createTypeNode(forClass);
+ NodeType nodeType = node.getNodeType();
+ TypeTreeNode[] children = null;
+
+ // //remains of type tree caching
+ // tree.addUsedType(forClass, node);
+
+ if (nodeType.equals(NodeType.primitive)) {
+ // stop condition for recurrent method
+ } else if (nodeType.equals(NodeType.array)) {
+ // similar to sequence, but with fixed array length
+ // TODO: determine how array length will be declared
+ } else if (nodeType.equals(NodeType.sequence)) {
+ // reducing sequence dimension
+ Class<?> reduced = reduceArrayDimension(node.getJavaClass());
+ children = new TypeTreeNode[1];
+ children[0] = inspectClassHierarchy(reduced, tree);
+ } else if (nodeType.equals(NodeType.struct)) {
+ // inspect types for every structure member
+ Field[] fields = node.getJavaClass().getFields();
+ children = new TypeTreeNode[fields.length];
+ for (int i = 0; i < fields.length; i++) {
+ Class<?> field = fields[i].getType();
+ TypeTreeNode child = inspectClassHierarchy(field, tree);
+ child.setName(fields[i].getName());
+ children[i] = child;
+ }
+ } else if (nodeType.equals(NodeType.union)) {
+ // TODO: unions
+ } else if (nodeType.equals(NodeType.reference)) {
+ // TODO: CORBA references
+ }
+
+ node.setChildren(children);
+ return node;
+ }
+
+ /**
+ * Creating and configuring TypeTreeNode for given class.
+ *
+ * @param forClass
+ * class
+ * @return node
+ */
+ private static TypeTreeNode createTypeNode(Class<?> forClass) {
+ TypeTreeNode node = new TypeTreeNode();
+ if (forClass.isArray()) {
+ node.setNodeType(NodeType.sequence);
+ node.setJavaClass(forClass);
+ } else if (primitives.contains(forClass)) {
+ node.setNodeType(NodeType.primitive);
+ node.setJavaClass(forClass);
+ node.setChildren(null);
+ } else if (forClass.isInterface()) {
+ node.setNodeType(NodeType.reference);
+ node.setJavaClass(forClass);
+ node.setChildren(null);
+ } else {
+ node.setNodeType(NodeType.struct);
+ node.setJavaClass(forClass);
+ }
+ return node;
+ }
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/TypeTreeNode.java b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/TypeTreeNode.java
new file mode 100644
index 0000000000..457cf089d0
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/TypeTreeNode.java
@@ -0,0 +1,66 @@
+/*
+ * 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.tuscany.sca.binding.corba.impl.types;
+
+/**
+ * @version $Rev$ $Date$
+ * Represents single tree node.
+ *
+ */
+public class TypeTreeNode {
+
+ private NodeType nodeType;
+ private TypeTreeNode[] children;
+ private Class<?> javaClass;
+ private String name;
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public NodeType getNodeType() {
+ return nodeType;
+ }
+
+ public void setNodeType(NodeType nodeType) {
+ this.nodeType = nodeType;
+ }
+
+ public TypeTreeNode[] getChildren() {
+ return children;
+ }
+
+ public void setChildren(TypeTreeNode[] children) {
+ this.children = children;
+ }
+
+ public Class<?> getJavaClass() {
+ return javaClass;
+ }
+
+ public void setJavaClass(Class<?> javaClass) {
+ this.javaClass = javaClass;
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ArrayTypeHelper.java b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ArrayTypeHelper.java
new file mode 100644
index 0000000000..490535758d
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ArrayTypeHelper.java
@@ -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.
+ */
+
+package org.apache.tuscany.sca.binding.corba.impl.types.util;
+
+import org.apache.tuscany.sca.binding.corba.impl.types.TypeTreeNode;
+import org.omg.CORBA.TypeCode;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+/**
+ * @version $Rev$ $Date$
+ */
+public class ArrayTypeHelper implements TypeHelper {
+
+ public TypeCode getType(TypeTreeNode node) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Object read(TypeTreeNode node, InputStream is) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public void write(TypeTreeNode node, OutputStream os, Object data) {
+ // TODO Auto-generated method stub
+
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/BooleanTypeHelper.java b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/BooleanTypeHelper.java
new file mode 100644
index 0000000000..462738e372
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/BooleanTypeHelper.java
@@ -0,0 +1,45 @@
+/*
+ * 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.tuscany.sca.binding.corba.impl.types.util;
+
+import org.apache.tuscany.sca.binding.corba.impl.types.TypeTreeNode;
+import org.omg.CORBA.ORB;
+import org.omg.CORBA.TypeCode;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class BooleanTypeHelper implements TypeHelper {
+
+ public TypeCode getType(TypeTreeNode node) {
+ return ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.from_int(8));
+ }
+
+ public Object read(TypeTreeNode node, InputStream is) {
+ return is.read_boolean();
+ }
+
+ public void write(TypeTreeNode node, OutputStream os, Object data) {
+ os.write_boolean((Boolean) data);
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ByteTypeHelper.java b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ByteTypeHelper.java
new file mode 100644
index 0000000000..23d845cd79
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ByteTypeHelper.java
@@ -0,0 +1,45 @@
+/*
+ * 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.tuscany.sca.binding.corba.impl.types.util;
+
+import org.apache.tuscany.sca.binding.corba.impl.types.TypeTreeNode;
+import org.omg.CORBA.ORB;
+import org.omg.CORBA.TypeCode;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class ByteTypeHelper implements TypeHelper {
+
+ public TypeCode getType(TypeTreeNode node) {
+ return ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.from_int(10));
+ }
+
+ public Object read(TypeTreeNode node, InputStream is) {
+ return is.read_octet();
+ }
+
+ public void write(TypeTreeNode node, OutputStream os, Object data) {
+ os.write_octet((Byte) data);
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/CharTypeHelper.java b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/CharTypeHelper.java
new file mode 100644
index 0000000000..2a48e6d781
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/CharTypeHelper.java
@@ -0,0 +1,45 @@
+/*
+ * 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.tuscany.sca.binding.corba.impl.types.util;
+
+import org.apache.tuscany.sca.binding.corba.impl.types.TypeTreeNode;
+import org.omg.CORBA.ORB;
+import org.omg.CORBA.TypeCode;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class CharTypeHelper implements TypeHelper {
+
+ public TypeCode getType(TypeTreeNode node) {
+ return ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.from_int(9));
+ }
+
+ public Object read(TypeTreeNode node, InputStream is) {
+ return is.read_char();
+ }
+
+ public void write(TypeTreeNode node, OutputStream os, Object data) {
+ os.write_char((Character) data);
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/DoubleTypeHelper.java b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/DoubleTypeHelper.java
new file mode 100644
index 0000000000..4e75a28f86
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/DoubleTypeHelper.java
@@ -0,0 +1,45 @@
+/*
+ * 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.tuscany.sca.binding.corba.impl.types.util;
+
+import org.apache.tuscany.sca.binding.corba.impl.types.TypeTreeNode;
+import org.omg.CORBA.ORB;
+import org.omg.CORBA.TypeCode;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class DoubleTypeHelper implements TypeHelper {
+
+ public TypeCode getType(TypeTreeNode node) {
+ return ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.from_int(7));
+ }
+
+ public Object read(TypeTreeNode node, InputStream is) {
+ return is.read_double();
+ }
+
+ public void write(TypeTreeNode node, OutputStream os, Object data) {
+ os.write_double((Double) data);
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/FloatTypeHelper.java b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/FloatTypeHelper.java
new file mode 100644
index 0000000000..a038019a45
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/FloatTypeHelper.java
@@ -0,0 +1,45 @@
+/*
+ * 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.tuscany.sca.binding.corba.impl.types.util;
+
+import org.apache.tuscany.sca.binding.corba.impl.types.TypeTreeNode;
+import org.omg.CORBA.ORB;
+import org.omg.CORBA.TypeCode;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class FloatTypeHelper implements TypeHelper {
+
+ public TypeCode getType(TypeTreeNode node) {
+ return ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.from_int(6));
+ }
+
+ public Object read(TypeTreeNode node, InputStream is) {
+ return is.read_float();
+ }
+
+ public void write(TypeTreeNode node, OutputStream os, Object data) {
+ os.write_float((Float) data);
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/IntTypeHelper.java b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/IntTypeHelper.java
new file mode 100644
index 0000000000..921e732d62
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/IntTypeHelper.java
@@ -0,0 +1,45 @@
+/*
+ * 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.tuscany.sca.binding.corba.impl.types.util;
+
+import org.apache.tuscany.sca.binding.corba.impl.types.TypeTreeNode;
+import org.omg.CORBA.ORB;
+import org.omg.CORBA.TypeCode;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class IntTypeHelper implements TypeHelper {
+
+ public TypeCode getType(TypeTreeNode node) {
+ return ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.from_int(3));
+ }
+
+ public Object read(TypeTreeNode node, InputStream is) {
+ return is.read_long();
+ }
+
+ public void write(TypeTreeNode node, OutputStream os, Object data) {
+ os.write_long((Integer) data);
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/LongTypeHelper.java b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/LongTypeHelper.java
new file mode 100644
index 0000000000..37129a64a3
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/LongTypeHelper.java
@@ -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.
+ */
+
+package org.apache.tuscany.sca.binding.corba.impl.types.util;
+
+import org.apache.tuscany.sca.binding.corba.impl.types.TypeTreeNode;
+import org.omg.CORBA.ORB;
+import org.omg.CORBA.TypeCode;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class LongTypeHelper implements TypeHelper {
+
+ public TypeCode getType(TypeTreeNode node) {
+ return ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.from_int(23));
+ }
+
+ public Object read(TypeTreeNode node, InputStream is) {
+ return is.read_longlong();
+ }
+
+ public void write(TypeTreeNode node, OutputStream os, Object data) {
+ os.write_longlong((Long) data);
+ }
+
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ReferenceTypeHelper.java b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ReferenceTypeHelper.java
new file mode 100644
index 0000000000..01d5fe7edf
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ReferenceTypeHelper.java
@@ -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 org.apache.tuscany.sca.binding.corba.impl.types.util;
+
+import org.apache.tuscany.sca.binding.corba.impl.reference.InterfaceInstanceCreator;
+import org.apache.tuscany.sca.binding.corba.impl.types.TypeTreeNode;
+import org.omg.CORBA.Object;
+import org.omg.CORBA.TypeCode;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class ReferenceTypeHelper implements TypeHelper {
+
+ public TypeCode getType(TypeTreeNode node) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public java.lang.Object read(TypeTreeNode node, InputStream is) {
+ Object reference = is.read_Object();
+ return (java.lang.Object) InterfaceInstanceCreator.createInstance(reference, node.getJavaClass());
+ }
+
+ public void write(TypeTreeNode node, OutputStream os, java.lang.Object data) {
+ os.write_Object((Object) data);
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/SequenceTypeHelper.java b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/SequenceTypeHelper.java
new file mode 100644
index 0000000000..f1a379d595
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/SequenceTypeHelper.java
@@ -0,0 +1,83 @@
+/*
+ * 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.tuscany.sca.binding.corba.impl.types.util;
+
+import java.lang.reflect.Array;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.apache.tuscany.sca.binding.corba.impl.types.TypeTreeNode;
+import org.omg.CORBA.TypeCode;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class SequenceTypeHelper implements TypeHelper {
+
+ public TypeCode getType(TypeTreeNode node) {
+ TypeCode typeCode =
+ org.omg.CORBA.ORB.init().create_alias_tc(
+ node.getJavaClass().getSimpleName(),
+ node.getJavaClass().getSimpleName(),
+ org.omg.CORBA.ORB.init().create_sequence_tc(0,
+ TypeHelpersProxy.getType(node.getChildren()[0])));
+ return typeCode;
+ }
+
+ public Object read(TypeTreeNode node, InputStream is) {
+ Object sequence = null;
+ try {
+ int size = is.read_long();
+ sequence = Array.newInstance(node.getChildren()[0].getJavaClass(),
+ size);
+ for (int i = 0; i < size; i++) {
+ Array.set(sequence, i, TypeHelpersProxy.read(
+ node.getChildren()[0], is));
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return sequence;
+ }
+
+ public void write(TypeTreeNode node, OutputStream os, Object data) {
+ int sum = 0;
+ // determine length of array
+ List<Object> array = new ArrayList<Object>();
+ while (true) {
+ try {
+ array.add(Array.get(data, sum));
+ sum++;
+ } catch (ArrayIndexOutOfBoundsException e) {
+ break;
+ }
+ }
+ os.write_long(sum);
+ Iterator<Object> iter = array.iterator();
+ while (iter.hasNext()) {
+ Object elem = iter.next();
+ TypeHelpersProxy.write(node.getChildren()[0], os, elem);
+ }
+
+ }
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ShortTypeHelper.java b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ShortTypeHelper.java
new file mode 100644
index 0000000000..07801bf227
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ShortTypeHelper.java
@@ -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.
+ */
+
+package org.apache.tuscany.sca.binding.corba.impl.types.util;
+
+import org.apache.tuscany.sca.binding.corba.impl.types.TypeTreeNode;
+import org.omg.CORBA.ORB;
+import org.omg.CORBA.TypeCode;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class ShortTypeHelper implements TypeHelper {
+
+ public TypeCode getType(TypeTreeNode node) {
+ return ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.from_int(2));
+ }
+
+ public Object read(TypeTreeNode node, InputStream is) {
+ return is.read_short();
+ }
+
+ public void write(TypeTreeNode node, OutputStream os, Object data) {
+ os.write_short((Short) data);
+ }
+
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/StringTypeHelper.java b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/StringTypeHelper.java
new file mode 100644
index 0000000000..1132f6995a
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/StringTypeHelper.java
@@ -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.
+ */
+
+package org.apache.tuscany.sca.binding.corba.impl.types.util;
+
+import org.apache.tuscany.sca.binding.corba.impl.types.TypeTreeNode;
+import org.omg.CORBA.ORB;
+import org.omg.CORBA.TypeCode;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class StringTypeHelper implements TypeHelper {
+
+ public TypeCode getType(TypeTreeNode node) {
+ return ORB.init().create_string_tc(0);
+ }
+
+ public Object read(TypeTreeNode node, InputStream is) {
+ return is.read_string();
+ }
+
+ public void write(TypeTreeNode node, OutputStream os, Object data) {
+ os.write_string((String) data);
+ }
+
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/StructTypeHelper.java b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/StructTypeHelper.java
new file mode 100644
index 0000000000..6e06a23893
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/StructTypeHelper.java
@@ -0,0 +1,90 @@
+/*
+ * 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.tuscany.sca.binding.corba.impl.types.util;
+
+import java.lang.reflect.Field;
+
+import org.apache.tuscany.sca.binding.corba.impl.types.TypeTreeNode;
+import org.omg.CORBA.StructMember;
+import org.omg.CORBA.TypeCode;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class StructTypeHelper implements TypeHelper {
+
+ public TypeCode getType(TypeTreeNode node) {
+ TypeTreeNode[] children = node.getChildren();
+ if (children != null) {
+ StructMember[] members = new StructMember[children.length];
+ for (int i = 0; i < children.length; i++) {
+ members[i] = new StructMember(children[i].getJavaClass()
+ .getSimpleName(),
+ TypeHelpersProxy.getType(children[i]), null);
+ }
+ TypeCode result = org.omg.CORBA.ORB.init().create_struct_tc(
+ node.getJavaClass().getSimpleName(),
+ node.getJavaClass().getSimpleName(), members);
+ return result;
+ } else {
+ return null;
+ }
+ }
+
+ public Object read(TypeTreeNode node, InputStream is) {
+ TypeTreeNode[] children = node.getChildren();
+ Object result = null;
+ if (children != null) {
+ try {
+ result = node.getJavaClass().newInstance();
+ for (int i = 0; i < children.length; i++) {
+ Object childResult = TypeHelpersProxy.read(children[i], is);
+ Field childField = result.getClass().getField(
+ children[i].getName());
+ childField.set(result, childResult);
+ }
+ } catch (Exception e) {
+ // TODO: handle exception
+ e.printStackTrace();
+ }
+ }
+ return result;
+ }
+
+ public void write(TypeTreeNode node, OutputStream os, Object data) {
+ TypeTreeNode[] children = node.getChildren();
+ if (children != null) {
+ try {
+ for (int i = 0; i < children.length; i++) {
+ Field childField = node.getJavaClass().getField(
+ children[i].getName());
+ TypeHelpersProxy.write(children[i], os, childField
+ .get(data));
+ }
+ } catch (Exception e) {
+ // TODO: handle exception
+ e.printStackTrace();
+ }
+ }
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/TypeHelper.java b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/TypeHelper.java
new file mode 100644
index 0000000000..dc81562749
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/TypeHelper.java
@@ -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.
+ */
+
+package org.apache.tuscany.sca.binding.corba.impl.types.util;
+
+import org.apache.tuscany.sca.binding.corba.impl.types.TypeTreeNode;
+import org.omg.CORBA.TypeCode;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public interface TypeHelper {
+
+ /**
+ * Gets type definition for CORBA API.
+ * @param node
+ * @return
+ */
+ TypeCode getType(TypeTreeNode node);
+
+ /**
+ * Reads CORBA object
+ * @param node
+ * @param is
+ * @return
+ */
+ Object read(TypeTreeNode node, InputStream is);
+
+ /**
+ * Writes CORBA object
+ * @param node
+ * @param os
+ * @param data
+ */
+ void write(TypeTreeNode node, OutputStream os, Object data);
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/TypeHelpersProxy.java b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/TypeHelpersProxy.java
new file mode 100644
index 0000000000..467287382e
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/TypeHelpersProxy.java
@@ -0,0 +1,132 @@
+/*
+ * 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.tuscany.sca.binding.corba.impl.types.util;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.tuscany.sca.binding.corba.impl.types.NodeType;
+import org.apache.tuscany.sca.binding.corba.impl.types.TypeTreeNode;
+import org.omg.CORBA.TypeCode;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * @version $Rev$ $Date$
+ * Proxies getType(), write(), read() methods to appropriate TypeHelper implementation.
+ */
+public class TypeHelpersProxy {
+
+ /**
+ * Maps primitive types to its TypeHelper implementations
+ */
+ private static Map<Class<?>, TypeHelper> primitiveTypes = null;
+
+ /**
+ * Maps other types to its TypeHelper implementations
+ */
+ private static Map<NodeType, TypeHelper> complexTypes = null;
+
+ static {
+ // initiate type helpers
+ primitiveTypes = new HashMap<Class<?>, TypeHelper>();
+ complexTypes = new HashMap<NodeType, TypeHelper>();
+
+ primitiveTypes.put(boolean.class, new BooleanTypeHelper());
+ primitiveTypes.put(char.class, new CharTypeHelper());
+ primitiveTypes.put(byte.class, new ByteTypeHelper());
+ primitiveTypes.put(short.class, new ShortTypeHelper());
+ primitiveTypes.put(int.class, new IntTypeHelper());
+ primitiveTypes.put(long.class, new LongTypeHelper());
+ primitiveTypes.put(float.class, new FloatTypeHelper());
+ primitiveTypes.put(double.class, new DoubleTypeHelper());
+ primitiveTypes.put(String.class, new StringTypeHelper());
+ primitiveTypes.put(Boolean.class, primitiveTypes.get(boolean.class));
+ primitiveTypes.put(Character.class, primitiveTypes.get(char.class));
+ primitiveTypes.put(Byte.class, primitiveTypes.get(byte.class));
+ primitiveTypes.put(Short.class, primitiveTypes.get(short.class));
+ primitiveTypes.put(Integer.class, primitiveTypes.get(int.class));
+ primitiveTypes.put(Long.class, primitiveTypes.get(long.class));
+ primitiveTypes.put(Float.class, primitiveTypes.get(float.class));
+ primitiveTypes.put(Double.class, primitiveTypes.get(double.class));
+ primitiveTypes.put(String.class, primitiveTypes.get(String.class));
+ complexTypes.put(NodeType.array, new ArrayTypeHelper());
+ complexTypes.put(NodeType.struct, new StructTypeHelper());
+ complexTypes.put(NodeType.reference, new ReferenceTypeHelper());
+ complexTypes.put(NodeType.sequence, new SequenceTypeHelper());
+ }
+
+ /**
+ * Gets type helper basing on given type
+ *
+ * @param node
+ * @return
+ */
+ private static TypeHelper getTypeHelper(TypeTreeNode node) {
+ TypeHelper typeHelper = null;
+ NodeType type = node.getNodeType();
+ if (type.equals(NodeType.primitive)) {
+ typeHelper = primitiveTypes.get(node.getJavaClass());
+ } else {
+ typeHelper = complexTypes.get(type);
+ }
+ return typeHelper;
+ }
+
+ /**
+ * Proxies getType method invocation to appropriate TypeHelper
+ * implementation. It's not being used since I've changed method for passing
+ * arguments. May be useful while implementing CORBA service bindings.
+ *
+ * @param node
+ * @return
+ */
+ public static final TypeCode getType(TypeTreeNode node) {
+ TypeHelper typeHelper = getTypeHelper(node);
+ TypeCode typeCode = typeHelper.getType(node);
+ return typeCode;
+ }
+
+ /**
+ * Proxies read method invocation to appropriate TypeHelper implementation.
+ *
+ * @param node
+ * @param is
+ * @return
+ */
+ public static final Object read(TypeTreeNode node, InputStream is) {
+ TypeHelper helper = getTypeHelper(node);
+ return helper.read(node, is);
+ }
+
+ /**
+ * Proxies write method invocation to appropriate TypeHelper implementation.
+ *
+ * @param node
+ * @param os
+ * @param data
+ */
+ public static final void write(TypeTreeNode node, OutputStream os,
+ Object data) {
+ TypeHelper helper = getTypeHelper(node);
+ helper.write(node, os, data);
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory b/java/sca/modules/binding-corba-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory
new file mode 100644
index 0000000000..394e7bbd05
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory
@@ -0,0 +1,19 @@
+# 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.
+
+# Implementation class for the binding extension
+org.apache.tuscany.sca.binding.corba.impl.CorbaBindingProviderFactory;model=org.apache.tuscany.sca.binding.corba.CorbaBinding
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/CorbaTypesTestCase.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/CorbaTypesTestCase.java
new file mode 100644
index 0000000000..ed9d6dfc29
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/CorbaTypesTestCase.java
@@ -0,0 +1,522 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing;
+
+import java.lang.reflect.Array;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.binding.corba.impl.exceptions.CorbaException;
+import org.apache.tuscany.sca.binding.corba.impl.exceptions.RequestConfigurationException;
+import org.apache.tuscany.sca.binding.corba.impl.reference.DynaCorbaRequest;
+import org.apache.tuscany.sca.binding.corba.impl.reference.DynaCorbaResponse;
+import org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZero;
+import org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.NotSupported;
+import org.apache.tuscany.sca.binding.corba.testing.hierarchy.DummyObject;
+import org.apache.tuscany.sca.binding.corba.testing.hierarchy.SimpleStruct;
+import org.apache.tuscany.sca.binding.corba.testing.hierarchy.SomeStruct;
+import org.apache.tuscany.sca.binding.corba.testing.servants.ArraysSetterServant;
+import org.apache.tuscany.sca.binding.corba.testing.servants.CalcServant;
+import org.apache.tuscany.sca.binding.corba.testing.servants.ObjectManagerServant;
+import org.apache.tuscany.sca.binding.corba.testing.servants.PrimitivesSetterServant;
+import org.apache.tuscany.sca.binding.corba.testing.servants.TestObjectServant;
+import org.omg.CORBA.ORB;
+import org.omg.CORBA.Object;
+import org.omg.CosNaming.NameComponent;
+import org.omg.CosNaming.NamingContext;
+import org.omg.CosNaming.NamingContextExt;
+import org.omg.CosNaming.NamingContextExtHelper;
+import org.omg.CosNaming.NamingContextHelper;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class CorbaTypesTestCase extends TestCase {
+
+ private Process tnameservProcess;
+ private Object refPrimitivesSetter;
+ private Object refArraysSetter;
+ private Object refTestObject;
+ private Object refCalcObject;
+ private Object refObjectManager;
+
+ /**
+ * Spawns tnameserv process (must be in PATH). Initializes test servants and
+ * stores it's references so tests can use it.
+ */
+ public void setUp() {
+ try {
+ String[] args = { "-ORBInitialPort", "11100" };
+
+ tnameservProcess = Runtime.getRuntime().exec(
+ "tnameserv " + args[0] + " " + args[1]);
+
+ try {
+ // let the tnameserv have time to start
+ Thread.sleep(TestConstants.TNAMESERV_SPAWN_WAIT);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ ORB orb = ORB.init(args, null);
+ Object nameService = orb.resolve_initial_references("NameService");
+ NamingContext namingContext = NamingContextHelper
+ .narrow(nameService);
+
+ PrimitivesSetterServant singleSetter = new PrimitivesSetterServant();
+ ArraysSetterServant arraysSetter = new ArraysSetterServant();
+ TestObjectServant complexObject = new TestObjectServant();
+ CalcServant calcObject = new CalcServant();
+ ObjectManagerServant objectManager = new ObjectManagerServant();
+
+ orb.connect(singleSetter);
+ orb.connect(arraysSetter);
+
+ NameComponent nc;
+ NameComponent[] path;
+
+ nc = new NameComponent("PrimitivesSetter", "");
+ path = new NameComponent[] { nc };
+ namingContext.rebind(path, singleSetter);
+
+ nc = new NameComponent("ArraysSetter", "");
+ path = new NameComponent[] { nc };
+ namingContext.rebind(path, arraysSetter);
+
+ nc = new NameComponent("TestObject", "");
+ path = new NameComponent[] { nc };
+ namingContext.rebind(path, complexObject);
+
+ nc = new NameComponent("CalcObject", "");
+ path = new NameComponent[] { nc };
+ namingContext.rebind(path, calcObject);
+
+ nc = new NameComponent("ObjectManager", "");
+ path = new NameComponent[] { nc };
+ namingContext.rebind(path, objectManager);
+
+ NamingContextExt nce = NamingContextExtHelper.narrow(orb
+ .resolve_initial_references("NameService"));
+
+ refArraysSetter = nce.resolve(nce.to_name("ArraysSetter"));
+ refPrimitivesSetter = nce.resolve(nce.to_name("PrimitivesSetter"));
+ refTestObject = nce.resolve(nce.to_name("TestObject"));
+ refCalcObject = nce.resolve(nce.to_name("CalcObject"));
+ refObjectManager = nce.resolve(nce.to_name("ObjectManager"));
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * Kills previously spawned tnameserv process.
+ */
+ public void tearDown() {
+ tnameservProcess.destroy();
+ try {
+ // let the tnameserv have time to die
+ Thread.sleep(TestConstants.TNAMESERV_SPAWN_WAIT);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * Tests remote operation, basing on given reference, operation name,
+ * arguments, expected return type and content
+ *
+ * @param ref
+ * remote object
+ * @param operationName
+ * operation to invoke
+ * @param clazz
+ * expected return type
+ * @param arguments
+ * array of operation arguments
+ * @param equalTo
+ * expected return content
+ */
+ private void dynaTestInvoker(Object ref, String operationName,
+ Class<?> clazz, java.lang.Object[] arguments,
+ java.lang.Object equalTo) {
+
+ try {
+ DynaCorbaRequest request = new DynaCorbaRequest(ref, operationName);
+ request.setOutputType(clazz);
+ for (int i = 0; arguments != null && i < arguments.length; i++) {
+ request.addArgument(arguments[i]);
+ }
+
+ DynaCorbaResponse response = request.invoke();
+ java.lang.Object content = (java.lang.Object) response.getContent();
+ assertTrue(content.getClass().equals(clazz));
+ if (equalTo != null && equalTo.getClass().isArray()) {
+ for (int i = 0; i < Array.getLength(equalTo); i++) {
+ assertTrue(Array.get(content, i).equals(
+ Array.get(equalTo, i)));
+ }
+ } else {
+ assertTrue(content.equals(equalTo));
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ fail("Error while invoking " + operationName);
+ }
+ }
+
+ /**
+ * Tests passing (and getting as result) varied primitives
+ */
+ public void test_setPrimitives() {
+
+ dynaTestInvoker(refPrimitivesSetter, "setBoolean", Boolean.class,
+ new Boolean[] { true }, true);
+ dynaTestInvoker(refPrimitivesSetter, "setOctet", Byte.class,
+ new Byte[] { 1 }, (byte) 1);
+ dynaTestInvoker(refPrimitivesSetter, "setChar", Character.class,
+ new Character[] { 'A' }, 'A');
+ dynaTestInvoker(refPrimitivesSetter, "setShort", Short.class,
+ new Short[] { 1 }, (short) 1);
+ dynaTestInvoker(refPrimitivesSetter, "setLong", Integer.class,
+ new Integer[] { 1 }, (int) 1);
+ dynaTestInvoker(refPrimitivesSetter, "setLongLong", Long.class,
+ new Long[] { (long) 1 }, (long) 1);
+ dynaTestInvoker(refPrimitivesSetter, "setFloat", Float.class,
+ new Float[] { (float) 1 }, (float) 1);
+ dynaTestInvoker(refPrimitivesSetter, "setDouble", Double.class,
+ new Double[] { (double) 1 }, (double) 1);
+ dynaTestInvoker(refPrimitivesSetter, "setString", String.class,
+ new String[] { "1" }, "1");
+
+ }
+
+ /**
+ * Tests passing (and getting as result) varied types sequences
+ */
+ public void test_setArrays() {
+
+ dynaTestInvoker(refArraysSetter, "setBoolean", Boolean[].class,
+ new Boolean[][] { new Boolean[] { false, true } },
+ new Boolean[] { false, true });
+
+ dynaTestInvoker(refArraysSetter, "setChar", Character[].class,
+ new Character[][] { new Character[] { 'A', 'B' } },
+ new Character[] { 'A', 'B' });
+
+ dynaTestInvoker(refArraysSetter, "setOctet", Byte[].class,
+ new Byte[][] { new Byte[] { 1, 2 } }, new Byte[] { 1, 2 });
+
+ dynaTestInvoker(refArraysSetter, "setShort", Short[].class,
+ new Short[][] { new Short[] { 1, 2 } }, new Short[] { 1, 2 });
+
+ dynaTestInvoker(refArraysSetter, "setLong", Integer[].class,
+ new Integer[][] { new Integer[] { 1, 2 } }, new Integer[] { 1,
+ 2 });
+
+ dynaTestInvoker(refArraysSetter, "setLongLong", Long[].class,
+ new Long[][] { new Long[] { new Long(1), new Long(2) } },
+ new Long[] { new Long(1), new Long(2) });
+
+ dynaTestInvoker(
+ refArraysSetter,
+ "setFloat",
+ Float[].class,
+ new Float[][] { new Float[] { new Float(1.0), new Float(2.0) } },
+ new Float[] { new Float(1.0), new Float(2.0) });
+
+ dynaTestInvoker(refArraysSetter, "setDouble", Double[].class,
+ new Double[][] { new Double[] { new Double(1.0),
+ new Double(2.0) } }, new Double[] { new Double(1.0),
+ new Double(2.0) });
+
+ dynaTestInvoker(refArraysSetter, "setString", String[].class,
+ new String[][] { new String[] { "A", "B" } }, new String[] {
+ "A", "B" });
+
+ }
+
+ /**
+ * Tests passing (and getting as result) complex structure
+ */
+ public void test_TestObject_setStruct() {
+ DynaCorbaRequest request = new DynaCorbaRequest(refTestObject,
+ "setStruct");
+
+ SomeStruct struct = new SomeStruct();
+ SimpleStruct inner = new SimpleStruct();
+ inner.field1 = TestConstants.STR_1;
+ inner.field2 = TestConstants.INT_1;
+ struct.innerStruct = inner;
+ struct.str_list = TestConstants.STR_ARR_2;
+ struct.twoDimSeq = TestConstants.INT_ARRAY_2_DIM;
+ struct.threeDimSeq = TestConstants.INT_ARRAY_3_DIM;
+ struct.str = TestConstants.STR_1;
+
+ request.addArgument(struct);
+ request.setOutputType(SomeStruct.class);
+
+ try {
+ DynaCorbaResponse response = request.invoke();
+ SomeStruct result = (SomeStruct) response.getContent();
+ int sum = 0;
+ for (int i = 0; i < result.twoDimSeq.length; i++) {
+ for (int j = 0; j < result.twoDimSeq[i].length; j++) {
+ sum++;
+ assertEquals(TestConstants.INT_ARRAY_2_DIM[i][j],
+ result.twoDimSeq[i][j]);
+ }
+ }
+ sum = 0;
+ for (int i = 0; i < result.threeDimSeq.length; i++) {
+ for (int j = 0; j < result.threeDimSeq[i].length; j++) {
+ for (int k = 0; k < result.threeDimSeq[i][j].length; k++) {
+ sum++;
+ assertEquals(TestConstants.INT_ARRAY_3_DIM[i][j][k],
+ result.threeDimSeq[i][j][k]);
+ }
+ }
+ }
+ assertEquals(TestConstants.STR_1, result.str);
+ assertEquals(TestConstants.STR_ARR_2[0], result.str_list[0]);
+ assertEquals(TestConstants.STR_ARR_2[1], result.str_list[1]);
+ assertEquals(TestConstants.STR_1, result.innerStruct.field1);
+ assertEquals(TestConstants.INT_1, result.innerStruct.field2);
+ } catch (Exception e) {
+ e.printStackTrace();
+ fail("Exception occured during tests: " + e);
+ }
+ }
+
+ /**
+ * Test passing (and getting as result) simple two-field structure
+ */
+ public void test_TestObject_setSimpleStruct() {
+ SimpleStruct struct = new SimpleStruct();
+ struct.field1 = TestConstants.STR_1;
+ struct.field2 = TestConstants.INT_1;
+ DynaCorbaRequest request = new DynaCorbaRequest(refTestObject,
+ "setSimpleStruct");
+ request.setOutputType(SimpleStruct.class);
+ request.addArgument(struct);
+ try {
+ DynaCorbaResponse response = request.invoke();
+ SimpleStruct retStruct = (SimpleStruct) response.getContent();
+ assertTrue(retStruct.field1.equals(struct.field1)
+ && retStruct.field2 == struct.field2);
+ } catch (Exception e) {
+ e.printStackTrace();
+ fail("Exception occured during tests: " + e);
+ }
+ }
+
+ /**
+ * Tests passing (and getting as result) two dim. sequence of long.
+ */
+ public void test_TestObject_setLongSeq2() {
+ int[][] arr1 = new int[2][2];
+ for (int i = 0; i < 2; i++) {
+ for (int j = 0; j < 2; j++) {
+ arr1[i][j] = (int) (Math.random() * 1000);
+ }
+ }
+ DynaCorbaRequest request = new DynaCorbaRequest(refTestObject,
+ "setLongSeq2");
+ request.setOutputType(arr1.getClass());
+ request.addArgument(arr1);
+ try {
+ DynaCorbaResponse response = request.invoke();
+ int[][] arr2 = (int[][]) response.getContent();
+ for (int i = 0; i < 2; i++) {
+ for (int j = 0; j < 2; j++) {
+ assertEquals(arr1[i][j], arr2[i][j]);
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ fail("Exception occured during tests: " + e);
+ }
+ }
+
+ /**
+ * Tests passing multiple complex attributes.
+ */
+ public void test_TestObject_pickStructFromArgs() {
+ SomeStruct arg1 = new SomeStruct();
+ SomeStruct arg2 = new SomeStruct();
+ SomeStruct arg3 = new SomeStruct();
+
+ SimpleStruct inner = new SimpleStruct();
+ inner.field1 = TestConstants.STR_1;
+ inner.field2 = TestConstants.INT_1;
+
+ arg1.innerStruct = inner;
+ arg2.innerStruct = inner;
+ arg3.innerStruct = inner;
+
+ arg1.str = TestConstants.STR_1;
+ arg2.str = TestConstants.STR_2;
+ arg3.str = TestConstants.STR_3;
+
+ arg1.str_list = TestConstants.STR_ARR_1;
+ arg2.str_list = TestConstants.STR_ARR_2;
+ arg3.str_list = TestConstants.STR_ARR_2;
+
+ arg1.threeDimSeq = TestConstants.INT_ARRAY_3_DIM;
+ arg2.threeDimSeq = TestConstants.INT_ARRAY_3_DIM;
+ arg3.threeDimSeq = TestConstants.INT_ARRAY_3_DIM;
+
+ arg1.twoDimSeq = TestConstants.INT_ARRAY_2_DIM;
+ arg2.twoDimSeq = TestConstants.INT_ARRAY_2_DIM;
+ arg3.twoDimSeq = TestConstants.INT_ARRAY_2_DIM;
+
+ DynaCorbaRequest request = new DynaCorbaRequest(refTestObject,
+ "pickStructFromArgs");
+ request.setOutputType(SomeStruct.class);
+ request.addArgument(arg1);
+ request.addArgument(arg2);
+ request.addArgument(arg3);
+ request.addArgument(1);
+ try {
+
+ DynaCorbaResponse response = request.invoke();
+ SomeStruct result = (SomeStruct) response.getContent();
+
+ // just make sure that servant returned right structure
+ assertTrue(result.str.equals(TestConstants.STR_1));
+ } catch (Exception e) {
+ fail("Exception occured during tests " + e);
+ e.printStackTrace();
+ }
+
+ }
+
+ /**
+ * Tests handling user defined remote exception (single declared)
+ */
+ public void test_singleException() {
+ DynaCorbaRequest request1 = new DynaCorbaRequest(refCalcObject, "div");
+ request1.addArgument(2d);
+ request1.addArgument(2d);
+ request1.setOutputType(Double.class);
+ request1.addExceptionType(DivByZero.class);
+ try {
+ request1.invoke();
+ } catch (Exception e) {
+ fail();
+ }
+
+ DynaCorbaRequest request2 = new DynaCorbaRequest(refCalcObject, "div");
+ request2.addArgument(2d);
+ request2.addArgument(0d);
+ request2.setOutputType(Double.class);
+ request2.addExceptionType(DivByZero.class);
+ try {
+ request2.invoke();
+ } catch (DivByZero e) {
+ assertTrue(e.info != null && e.arguments != null
+ && e.arguments.arg1 == 2 && e.arguments.arg2 == 0);
+ } catch (Exception exc) {
+ fail();
+ }
+ }
+
+ /**
+ * Tests handling user defined multiple exceptions
+ */
+ public void test_multipleExceptions() {
+ DynaCorbaRequest request = new DynaCorbaRequest(refCalcObject,
+ "divForSmallArgs");
+ request.addArgument(101d);
+ request.addArgument(101d);
+ request.setOutputType(Double.class);
+ request.addExceptionType(DivByZero.class);
+ request.addExceptionType(NotSupported.class);
+ try {
+ request.invoke();
+ } catch (Exception e) {
+ assertTrue(e instanceof NotSupported);
+ }
+ }
+
+ /**
+ * Tests handling exceptions while user defined no exceptions
+ */
+ public void test_noExceptionsDeclared() {
+ DynaCorbaRequest request = new DynaCorbaRequest(refCalcObject, "div");
+ request.addArgument(1d);
+ request.addArgument(0d);
+ request.setOutputType(Double.class);
+ try {
+ request.invoke();
+ fail();
+ } catch (Exception e) {
+ assertTrue(e instanceof RequestConfigurationException);
+ }
+ }
+
+ /**
+ * Tests handling exceptions while user defined no such exception
+ */
+ public void test_noSuchExceptionDeclared() {
+ DynaCorbaRequest request = new DynaCorbaRequest(refCalcObject, "div");
+ request.addArgument(1d);
+ request.addArgument(0d);
+ request.addExceptionType(NotSupported.class);
+ request.setOutputType(Double.class);
+ try {
+ request.invoke();
+ fail();
+ } catch (Exception e) {
+ assertTrue(e instanceof RequestConfigurationException);
+ }
+ }
+
+ /**
+ * Tests handling non existing operation situation
+ */
+ public void test_noOperationException() {
+ DynaCorbaRequest request = new DynaCorbaRequest(refCalcObject,
+ "thisOperationSurelyDoesNotExist");
+ try {
+ request.invoke();
+ fail();
+ } catch (Exception e) {
+ assertTrue(e instanceof CorbaException);
+ }
+ }
+
+ /**
+ * Tests obtaining references to other objects and using them with specified user interface
+ */
+ public void test_enchancedReferences() {
+ try {
+ DynaCorbaRequest request = new DynaCorbaRequest(refObjectManager, "getDummyObject");
+ request.setOutputType(DummyObject.class);
+ DynaCorbaResponse response = request.invoke();
+ DummyObject dummy = (DummyObject) response.getContent();
+ DummyObject dummy2 = dummy.cloneObject();
+ assertNotSame(dummy.getLong(), dummy2.getLong());
+ } catch (Exception e) {
+ fail();
+ }
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/TestConstants.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/TestConstants.java
new file mode 100644
index 0000000000..80a188db50
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/TestConstants.java
@@ -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.
+ */
+
+package org.apache.tuscany.sca.binding.corba.testing;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class TestConstants {
+
+ public static final String STR_1 = "Hello world!";
+ public static final String STR_2 = "2nd string";
+ public static final String STR_3 = "Other string";
+ public static final String[] STR_ARR_1 = { "Hello", "World" };
+ public static final String[] STR_ARR_2 = { "Another", "string", "array" };
+ public static final int INT_1 = 0;
+
+ public static final int[][] INT_ARRAY_2_DIM = { { 1, 2 }, { 3, 4 } };
+ public static final int[][][] INT_ARRAY_3_DIM = { { { 1, 2 }, { 3, 4 } },
+ { { 5, 6 }, { 7, 8 } } };
+
+
+ public static final long TNAMESERV_SPAWN_WAIT = 300;
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/Calc.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/Calc.java
new file mode 100644
index 0000000000..9207e185c3
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/Calc.java
@@ -0,0 +1,32 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.exceptions;
+
+
+/**
+* org/apache/tuscany/sca/binding/corba/testing/exceptions/Calc.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from exceptions.idl
+* sobota, 7 czerwiec 2008 16:12:31 CEST
+*/
+
+public interface Calc extends CalcOperations, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity
+{
+} // interface Calc
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcHelper.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcHelper.java
new file mode 100644
index 0000000000..ca70efb686
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcHelper.java
@@ -0,0 +1,104 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.exceptions;
+
+
+/**
+* org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from exceptions.idl
+* sobota, 7 czerwiec 2008 16:12:31 CEST
+*/
+
+abstract public class CalcHelper
+{
+ private static String _id = "IDL:org/apache/tuscany/sca/binding/corba/testing/exceptions/Calc:1.0";
+
+ public static void insert (org.omg.CORBA.Any a, org.apache.tuscany.sca.binding.corba.testing.exceptions.Calc that)
+ {
+ org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
+ a.type (type ());
+ write (out, that);
+ a.read_value (out.create_input_stream (), type ());
+ }
+
+ public static org.apache.tuscany.sca.binding.corba.testing.exceptions.Calc extract (org.omg.CORBA.Any a)
+ {
+ return read (a.create_input_stream ());
+ }
+
+ private static org.omg.CORBA.TypeCode __typeCode = null;
+ synchronized public static org.omg.CORBA.TypeCode type ()
+ {
+ if (__typeCode == null)
+ {
+ __typeCode = org.omg.CORBA.ORB.init ().create_interface_tc (org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcHelper.id (), "Calc");
+ }
+ return __typeCode;
+ }
+
+ public static String id ()
+ {
+ return _id;
+ }
+
+ public static org.apache.tuscany.sca.binding.corba.testing.exceptions.Calc read (org.omg.CORBA.portable.InputStream istream)
+ {
+ return narrow (istream.read_Object (_CalcStub.class));
+ }
+
+ public static void write (org.omg.CORBA.portable.OutputStream ostream, org.apache.tuscany.sca.binding.corba.testing.exceptions.Calc value)
+ {
+ ostream.write_Object ((org.omg.CORBA.Object) value);
+ }
+
+ public static org.apache.tuscany.sca.binding.corba.testing.exceptions.Calc narrow (org.omg.CORBA.Object obj)
+ {
+ if (obj == null)
+ return null;
+ else if (obj instanceof org.apache.tuscany.sca.binding.corba.testing.exceptions.Calc)
+ return (org.apache.tuscany.sca.binding.corba.testing.exceptions.Calc)obj;
+ else if (!obj._is_a (id ()))
+ throw new org.omg.CORBA.BAD_PARAM ();
+ else
+ {
+ org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate ();
+ org.apache.tuscany.sca.binding.corba.testing.exceptions._CalcStub stub = new org.apache.tuscany.sca.binding.corba.testing.exceptions._CalcStub ();
+ stub._set_delegate(delegate);
+ return stub;
+ }
+ }
+
+ public static org.apache.tuscany.sca.binding.corba.testing.exceptions.Calc unchecked_narrow (org.omg.CORBA.Object obj)
+ {
+ if (obj == null)
+ return null;
+ else if (obj instanceof org.apache.tuscany.sca.binding.corba.testing.exceptions.Calc)
+ return (org.apache.tuscany.sca.binding.corba.testing.exceptions.Calc)obj;
+ else
+ {
+ org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate ();
+ org.apache.tuscany.sca.binding.corba.testing.exceptions._CalcStub stub = new org.apache.tuscany.sca.binding.corba.testing.exceptions._CalcStub ();
+ stub._set_delegate(delegate);
+ return stub;
+ }
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcHolder.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcHolder.java
new file mode 100644
index 0000000000..3051cda748
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcHolder.java
@@ -0,0 +1,57 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.exceptions;
+
+/**
+* org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from exceptions.idl
+* sobota, 7 czerwiec 2008 16:12:31 CEST
+*/
+
+public final class CalcHolder implements org.omg.CORBA.portable.Streamable
+{
+ public org.apache.tuscany.sca.binding.corba.testing.exceptions.Calc value = null;
+
+ public CalcHolder ()
+ {
+ }
+
+ public CalcHolder (org.apache.tuscany.sca.binding.corba.testing.exceptions.Calc initialValue)
+ {
+ value = initialValue;
+ }
+
+ public void _read (org.omg.CORBA.portable.InputStream i)
+ {
+ value = org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcHelper.read (i);
+ }
+
+ public void _write (org.omg.CORBA.portable.OutputStream o)
+ {
+ org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcHelper.write (o, value);
+ }
+
+ public org.omg.CORBA.TypeCode _type ()
+ {
+ return org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcHelper.type ();
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcOperations.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcOperations.java
new file mode 100644
index 0000000000..618b36a531
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcOperations.java
@@ -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.
+ */
+
+package org.apache.tuscany.sca.binding.corba.testing.exceptions;
+
+
+/**
+* org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from exceptions.idl
+* sobota, 7 czerwiec 2008 16:12:31 CEST
+*/
+
+public interface CalcOperations
+{
+ double div (double arg1, double arg2) throws org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZero;
+ double divForSmallArgs (double arg1, double arg2) throws org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZero, org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.NotSupported;
+} // interface CalcOperations
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/Arguments.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/Arguments.java
new file mode 100644
index 0000000000..8530dba999
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/Arguments.java
@@ -0,0 +1,45 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.exceptions.CalcPackage;
+
+
+/**
+* org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/Arguments.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from exceptions.idl
+* sobota, 7 czerwiec 2008 16:12:31 CEST
+*/
+
+public final class Arguments implements org.omg.CORBA.portable.IDLEntity
+{
+ public double arg1 = (double)0;
+ public double arg2 = (double)0;
+
+ public Arguments ()
+ {
+ } // ctor
+
+ public Arguments (double _arg1, double _arg2)
+ {
+ arg1 = _arg1;
+ arg2 = _arg2;
+ } // ctor
+
+} // class Arguments
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/ArgumentsHelper.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/ArgumentsHelper.java
new file mode 100644
index 0000000000..f783920906
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/ArgumentsHelper.java
@@ -0,0 +1,101 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.exceptions.CalcPackage;
+
+
+/**
+* org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/ArgumentsHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from exceptions.idl
+* sobota, 7 czerwiec 2008 16:12:31 CEST
+*/
+
+abstract public class ArgumentsHelper
+{
+ private static String _id = "IDL:org/apache/tuscany/sca/binding/corba/testing/exceptions/Calc/Arguments/Arguments:1.0";
+
+ public static void insert (org.omg.CORBA.Any a, org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.Arguments that)
+ {
+ org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
+ a.type (type ());
+ write (out, that);
+ a.read_value (out.create_input_stream (), type ());
+ }
+
+ public static org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.Arguments extract (org.omg.CORBA.Any a)
+ {
+ return read (a.create_input_stream ());
+ }
+
+ private static org.omg.CORBA.TypeCode __typeCode = null;
+ private static boolean __active = false;
+ synchronized public static org.omg.CORBA.TypeCode type ()
+ {
+ if (__typeCode == null)
+ {
+ synchronized (org.omg.CORBA.TypeCode.class)
+ {
+ if (__typeCode == null)
+ {
+ if (__active)
+ {
+ return org.omg.CORBA.ORB.init().create_recursive_tc ( _id );
+ }
+ __active = true;
+ org.omg.CORBA.StructMember[] _members0 = new org.omg.CORBA.StructMember [2];
+ org.omg.CORBA.TypeCode _tcOf_members0 = null;
+ _tcOf_members0 = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_double);
+ _members0[0] = new org.omg.CORBA.StructMember (
+ "arg1",
+ _tcOf_members0,
+ null);
+ _tcOf_members0 = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_double);
+ _members0[1] = new org.omg.CORBA.StructMember (
+ "arg2",
+ _tcOf_members0,
+ null);
+ __typeCode = org.omg.CORBA.ORB.init ().create_struct_tc (org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.ArgumentsHelper.id (), "Arguments", _members0);
+ __active = false;
+ }
+ }
+ }
+ return __typeCode;
+ }
+
+ public static String id ()
+ {
+ return _id;
+ }
+
+ public static org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.Arguments read (org.omg.CORBA.portable.InputStream istream)
+ {
+ org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.Arguments value = new org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.Arguments ();
+ value.arg1 = istream.read_double ();
+ value.arg2 = istream.read_double ();
+ return value;
+ }
+
+ public static void write (org.omg.CORBA.portable.OutputStream ostream, org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.Arguments value)
+ {
+ ostream.write_double (value.arg1);
+ ostream.write_double (value.arg2);
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/ArgumentsHolder.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/ArgumentsHolder.java
new file mode 100644
index 0000000000..1bf79dec8b
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/ArgumentsHolder.java
@@ -0,0 +1,57 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.exceptions.CalcPackage;
+
+/**
+* org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/ArgumentsHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from exceptions.idl
+* sobota, 7 czerwiec 2008 16:12:31 CEST
+*/
+
+public final class ArgumentsHolder implements org.omg.CORBA.portable.Streamable
+{
+ public org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.Arguments value = null;
+
+ public ArgumentsHolder ()
+ {
+ }
+
+ public ArgumentsHolder (org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.Arguments initialValue)
+ {
+ value = initialValue;
+ }
+
+ public void _read (org.omg.CORBA.portable.InputStream i)
+ {
+ value = org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.ArgumentsHelper.read (i);
+ }
+
+ public void _write (org.omg.CORBA.portable.OutputStream o)
+ {
+ org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.ArgumentsHelper.write (o, value);
+ }
+
+ public org.omg.CORBA.TypeCode _type ()
+ {
+ return org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.ArgumentsHelper.type ();
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/DivByZero.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/DivByZero.java
new file mode 100644
index 0000000000..b726168459
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/DivByZero.java
@@ -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.
+ */
+
+package org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage;
+
+
+/**
+* org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/DivByZero.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from exceptions.idl
+* sobota, 7 czerwiec 2008 16:12:31 CEST
+*/
+
+public final class DivByZero extends org.omg.CORBA.UserException
+{
+ public org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.Arguments arguments = null;
+ public String info = null;
+
+ public DivByZero ()
+ {
+ super(DivByZeroHelper.id());
+ } // ctor
+
+ public DivByZero (org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.Arguments _arguments, String _info)
+ {
+ super(DivByZeroHelper.id());
+ arguments = _arguments;
+ info = _info;
+ } // ctor
+
+
+ public DivByZero (String $reason, org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.Arguments _arguments, String _info)
+ {
+ super(DivByZeroHelper.id() + " " + $reason);
+ arguments = _arguments;
+ info = _info;
+ } // ctor
+
+} // class DivByZero
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/DivByZeroHelper.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/DivByZeroHelper.java
new file mode 100644
index 0000000000..959dffe009
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/DivByZeroHelper.java
@@ -0,0 +1,105 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.exceptions.CalcPackage;
+
+
+/**
+* org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/DivByZeroHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from exceptions.idl
+* sobota, 7 czerwiec 2008 16:12:31 CEST
+*/
+
+abstract public class DivByZeroHelper
+{
+ private static String _id = "IDL:org/apache/tuscany/sca/binding/corba/testing/exceptions/Calc/DivByZero:1.0";
+
+ public static void insert (org.omg.CORBA.Any a, org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZero that)
+ {
+ org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
+ a.type (type ());
+ write (out, that);
+ a.read_value (out.create_input_stream (), type ());
+ }
+
+ public static org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZero extract (org.omg.CORBA.Any a)
+ {
+ return read (a.create_input_stream ());
+ }
+
+ private static org.omg.CORBA.TypeCode __typeCode = null;
+ private static boolean __active = false;
+ synchronized public static org.omg.CORBA.TypeCode type ()
+ {
+ if (__typeCode == null)
+ {
+ synchronized (org.omg.CORBA.TypeCode.class)
+ {
+ if (__typeCode == null)
+ {
+ if (__active)
+ {
+ return org.omg.CORBA.ORB.init().create_recursive_tc ( _id );
+ }
+ __active = true;
+ org.omg.CORBA.StructMember[] _members0 = new org.omg.CORBA.StructMember [2];
+ org.omg.CORBA.TypeCode _tcOf_members0 = null;
+ _tcOf_members0 = org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.ArgumentsHelper.type ();
+ _members0[0] = new org.omg.CORBA.StructMember (
+ "arguments",
+ _tcOf_members0,
+ null);
+ _tcOf_members0 = org.omg.CORBA.ORB.init ().create_string_tc (0);
+ _members0[1] = new org.omg.CORBA.StructMember (
+ "info",
+ _tcOf_members0,
+ null);
+ __typeCode = org.omg.CORBA.ORB.init ().create_exception_tc (org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZeroHelper.id (), "DivByZero", _members0);
+ __active = false;
+ }
+ }
+ }
+ return __typeCode;
+ }
+
+ public static String id ()
+ {
+ return _id;
+ }
+
+ public static org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZero read (org.omg.CORBA.portable.InputStream istream)
+ {
+ org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZero value = new org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZero ();
+ // read and discard the repository ID
+ istream.read_string ();
+ value.arguments = org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.ArgumentsHelper.read (istream);
+ value.info = istream.read_string ();
+ return value;
+ }
+
+ public static void write (org.omg.CORBA.portable.OutputStream ostream, org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZero value)
+ {
+ // write the repository ID
+ ostream.write_string (id ());
+ org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.ArgumentsHelper.write (ostream, value.arguments);
+ ostream.write_string (value.info);
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/DivByZeroHolder.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/DivByZeroHolder.java
new file mode 100644
index 0000000000..03638a299b
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/DivByZeroHolder.java
@@ -0,0 +1,57 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.exceptions.CalcPackage;
+
+/**
+* org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/DivByZeroHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from exceptions.idl
+* sobota, 7 czerwiec 2008 16:12:31 CEST
+*/
+
+public final class DivByZeroHolder implements org.omg.CORBA.portable.Streamable
+{
+ public org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZero value = null;
+
+ public DivByZeroHolder ()
+ {
+ }
+
+ public DivByZeroHolder (org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZero initialValue)
+ {
+ value = initialValue;
+ }
+
+ public void _read (org.omg.CORBA.portable.InputStream i)
+ {
+ value = org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZeroHelper.read (i);
+ }
+
+ public void _write (org.omg.CORBA.portable.OutputStream o)
+ {
+ org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZeroHelper.write (o, value);
+ }
+
+ public org.omg.CORBA.TypeCode _type ()
+ {
+ return org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZeroHelper.type ();
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/NotSupported.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/NotSupported.java
new file mode 100644
index 0000000000..c742dee1dc
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/NotSupported.java
@@ -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.
+ */
+
+package org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage;
+
+
+/**
+* org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/NotSupported.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from exceptions.idl
+* sobota, 7 czerwiec 2008 16:12:31 CEST
+*/
+
+public final class NotSupported extends org.omg.CORBA.UserException
+{
+ public String info = null;
+
+ public NotSupported ()
+ {
+ super(NotSupportedHelper.id());
+ } // ctor
+
+ public NotSupported (String _info)
+ {
+ super(NotSupportedHelper.id());
+ info = _info;
+ } // ctor
+
+
+ public NotSupported (String $reason, String _info)
+ {
+ super(NotSupportedHelper.id() + " " + $reason);
+ info = _info;
+ } // ctor
+
+} // class NotSupported
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/NotSupportedHelper.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/NotSupportedHelper.java
new file mode 100644
index 0000000000..aad7784a2b
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/NotSupportedHelper.java
@@ -0,0 +1,98 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.exceptions.CalcPackage;
+
+
+/**
+* org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/NotSupportedHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from exceptions.idl
+* sobota, 7 czerwiec 2008 16:12:31 CEST
+*/
+
+abstract public class NotSupportedHelper
+{
+ private static String _id = "IDL:org/apache/tuscany/sca/binding/corba/testing/exceptions/Calc/NotSupported:1.0";
+
+ public static void insert (org.omg.CORBA.Any a, org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.NotSupported that)
+ {
+ org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
+ a.type (type ());
+ write (out, that);
+ a.read_value (out.create_input_stream (), type ());
+ }
+
+ public static org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.NotSupported extract (org.omg.CORBA.Any a)
+ {
+ return read (a.create_input_stream ());
+ }
+
+ private static org.omg.CORBA.TypeCode __typeCode = null;
+ private static boolean __active = false;
+ synchronized public static org.omg.CORBA.TypeCode type ()
+ {
+ if (__typeCode == null)
+ {
+ synchronized (org.omg.CORBA.TypeCode.class)
+ {
+ if (__typeCode == null)
+ {
+ if (__active)
+ {
+ return org.omg.CORBA.ORB.init().create_recursive_tc ( _id );
+ }
+ __active = true;
+ org.omg.CORBA.StructMember[] _members0 = new org.omg.CORBA.StructMember [1];
+ org.omg.CORBA.TypeCode _tcOf_members0 = null;
+ _tcOf_members0 = org.omg.CORBA.ORB.init ().create_string_tc (0);
+ _members0[0] = new org.omg.CORBA.StructMember (
+ "info",
+ _tcOf_members0,
+ null);
+ __typeCode = org.omg.CORBA.ORB.init ().create_exception_tc (org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.NotSupportedHelper.id (), "NotSupported", _members0);
+ __active = false;
+ }
+ }
+ }
+ return __typeCode;
+ }
+
+ public static String id ()
+ {
+ return _id;
+ }
+
+ public static org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.NotSupported read (org.omg.CORBA.portable.InputStream istream)
+ {
+ org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.NotSupported value = new org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.NotSupported ();
+ // read and discard the repository ID
+ istream.read_string ();
+ value.info = istream.read_string ();
+ return value;
+ }
+
+ public static void write (org.omg.CORBA.portable.OutputStream ostream, org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.NotSupported value)
+ {
+ // write the repository ID
+ ostream.write_string (id ());
+ ostream.write_string (value.info);
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/NotSupportedHolder.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/NotSupportedHolder.java
new file mode 100644
index 0000000000..191eb13309
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/NotSupportedHolder.java
@@ -0,0 +1,57 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.exceptions.CalcPackage;
+
+/**
+* org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/NotSupportedHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from exceptions.idl
+* sobota, 7 czerwiec 2008 16:12:31 CEST
+*/
+
+public final class NotSupportedHolder implements org.omg.CORBA.portable.Streamable
+{
+ public org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.NotSupported value = null;
+
+ public NotSupportedHolder ()
+ {
+ }
+
+ public NotSupportedHolder (org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.NotSupported initialValue)
+ {
+ value = initialValue;
+ }
+
+ public void _read (org.omg.CORBA.portable.InputStream i)
+ {
+ value = org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.NotSupportedHelper.read (i);
+ }
+
+ public void _write (org.omg.CORBA.portable.OutputStream o)
+ {
+ org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.NotSupportedHelper.write (o, value);
+ }
+
+ public org.omg.CORBA.TypeCode _type ()
+ {
+ return org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.NotSupportedHelper.type ();
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/_CalcImplBase.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/_CalcImplBase.java
new file mode 100644
index 0000000000..474696481b
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/_CalcImplBase.java
@@ -0,0 +1,109 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.exceptions;
+
+
+/**
+* org/apache/tuscany/sca/binding/corba/testing/exceptions/_CalcImplBase.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from exceptions.idl
+* sobota, 7 czerwiec 2008 16:12:31 CEST
+*/
+
+public abstract class _CalcImplBase extends org.omg.CORBA.portable.ObjectImpl
+ implements org.apache.tuscany.sca.binding.corba.testing.exceptions.Calc, org.omg.CORBA.portable.InvokeHandler
+{
+
+ // Constructors
+ public _CalcImplBase ()
+ {
+ }
+
+ private static java.util.Hashtable _methods = new java.util.Hashtable ();
+ static
+ {
+ _methods.put ("div", new java.lang.Integer (0));
+ _methods.put ("divForSmallArgs", new java.lang.Integer (1));
+ }
+
+ public org.omg.CORBA.portable.OutputStream _invoke (String $method,
+ org.omg.CORBA.portable.InputStream in,
+ org.omg.CORBA.portable.ResponseHandler $rh)
+ {
+ org.omg.CORBA.portable.OutputStream out = null;
+ java.lang.Integer __method = (java.lang.Integer)_methods.get ($method);
+ if (__method == null)
+ throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
+
+ switch (__method.intValue ())
+ {
+ case 0: // org/apache/tuscany/sca/binding/corba/testing/exceptions/Calc/div
+ {
+ try {
+ double arg1 = in.read_double ();
+ double arg2 = in.read_double ();
+ double $result = (double)0;
+ $result = this.div (arg1, arg2);
+ out = $rh.createReply();
+ out.write_double ($result);
+ } catch (org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZero $ex) {
+ out = $rh.createExceptionReply ();
+ org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZeroHelper.write (out, $ex);
+ }
+ break;
+ }
+
+ case 1: // org/apache/tuscany/sca/binding/corba/testing/exceptions/Calc/divForSmallArgs
+ {
+ try {
+ double arg1 = in.read_double ();
+ double arg2 = in.read_double ();
+ double $result = (double)0;
+ $result = this.divForSmallArgs (arg1, arg2);
+ out = $rh.createReply();
+ out.write_double ($result);
+ } catch (org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZero $ex) {
+ out = $rh.createExceptionReply ();
+ org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZeroHelper.write (out, $ex);
+ } catch (org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.NotSupported $ex) {
+ out = $rh.createExceptionReply ();
+ org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.NotSupportedHelper.write (out, $ex);
+ }
+ break;
+ }
+
+ default:
+ throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
+ }
+
+ return out;
+ } // _invoke
+
+ // Type-specific CORBA::Object operations
+ private static String[] __ids = {
+ "IDL:org/apache/tuscany/sca/binding/corba/testing/exceptions/Calc:1.0"};
+
+ public String[] _ids ()
+ {
+ return (String[])__ids.clone ();
+ }
+
+
+} // class _CalcImplBase
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/_CalcStub.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/_CalcStub.java
new file mode 100644
index 0000000000..2f1db5e2f0
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/_CalcStub.java
@@ -0,0 +1,109 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.exceptions;
+
+
+/**
+* org/apache/tuscany/sca/binding/corba/testing/exceptions/_CalcStub.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from exceptions.idl
+* sobota, 7 czerwiec 2008 16:12:31 CEST
+*/
+
+public class _CalcStub extends org.omg.CORBA.portable.ObjectImpl implements org.apache.tuscany.sca.binding.corba.testing.exceptions.Calc
+{
+
+ public double div (double arg1, double arg2) throws org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZero
+ {
+ org.omg.CORBA.portable.InputStream $in = null;
+ try {
+ org.omg.CORBA.portable.OutputStream $out = _request ("div", true);
+ $out.write_double (arg1);
+ $out.write_double (arg2);
+ $in = _invoke ($out);
+ double $result = $in.read_double ();
+ return $result;
+ } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+ $in = $ex.getInputStream ();
+ String _id = $ex.getId ();
+ if (_id.equals ("IDL:org/apache/tuscany/sca/binding/corba/testing/exceptions/Calc/DivByZero:1.0"))
+ throw org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZeroHelper.read ($in);
+ else
+ throw new org.omg.CORBA.MARSHAL (_id);
+ } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+ return div (arg1, arg2 );
+ } finally {
+ _releaseReply ($in);
+ }
+ } // div
+
+ public double divForSmallArgs (double arg1, double arg2) throws org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZero, org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.NotSupported
+ {
+ org.omg.CORBA.portable.InputStream $in = null;
+ try {
+ org.omg.CORBA.portable.OutputStream $out = _request ("divForSmallArgs", true);
+ $out.write_double (arg1);
+ $out.write_double (arg2);
+ $in = _invoke ($out);
+ double $result = $in.read_double ();
+ return $result;
+ } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+ $in = $ex.getInputStream ();
+ String _id = $ex.getId ();
+ if (_id.equals ("IDL:org/apache/tuscany/sca/binding/corba/testing/exceptions/Calc/DivByZero:1.0"))
+ throw org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZeroHelper.read ($in);
+ else if (_id.equals ("IDL:org/apache/tuscany/sca/binding/corba/testing/exceptions/Calc/NotSupported:1.0"))
+ throw org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.NotSupportedHelper.read ($in);
+ else
+ throw new org.omg.CORBA.MARSHAL (_id);
+ } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+ return divForSmallArgs (arg1, arg2 );
+ } finally {
+ _releaseReply ($in);
+ }
+ } // divForSmallArgs
+
+ // Type-specific CORBA::Object operations
+ private static String[] __ids = {
+ "IDL:org/apache/tuscany/sca/binding/corba/testing/exceptions/Calc:1.0"};
+
+ public String[] _ids ()
+ {
+ return (String[])__ids.clone ();
+ }
+
+ private void readObject (java.io.ObjectInputStream s) throws java.io.IOException
+ {
+ String str = s.readUTF ();
+ String[] args = null;
+ java.util.Properties props = null;
+ org.omg.CORBA.Object obj = org.omg.CORBA.ORB.init (args, props).string_to_object (str);
+ org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl) obj)._get_delegate ();
+ _set_delegate (delegate);
+ }
+
+ private void writeObject (java.io.ObjectOutputStream s) throws java.io.IOException
+ {
+ String[] args = null;
+ java.util.Properties props = null;
+ String str = org.omg.CORBA.ORB.init (args, props).object_to_string (this);
+ s.writeUTF (str);
+ }
+} // class _CalcStub
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetter.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetter.java
new file mode 100644
index 0000000000..17552b572d
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetter.java
@@ -0,0 +1,32 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/ArraysSetter.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+public interface ArraysSetter extends ArraysSetterOperations, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity
+{
+} // interface ArraysSetter
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetterHelper.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetterHelper.java
new file mode 100644
index 0000000000..7c0ccba3aa
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetterHelper.java
@@ -0,0 +1,104 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/ArraysSetterHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+abstract public class ArraysSetterHelper
+{
+ private static String _id = "IDL:Tester/ArraysSetter:1.0";
+
+ public static void insert (org.omg.CORBA.Any a, org.apache.tuscany.sca.binding.corba.testing.generated.ArraysSetter that)
+ {
+ org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
+ a.type (type ());
+ write (out, that);
+ a.read_value (out.create_input_stream (), type ());
+ }
+
+ public static org.apache.tuscany.sca.binding.corba.testing.generated.ArraysSetter extract (org.omg.CORBA.Any a)
+ {
+ return read (a.create_input_stream ());
+ }
+
+ private static org.omg.CORBA.TypeCode __typeCode = null;
+ synchronized public static org.omg.CORBA.TypeCode type ()
+ {
+ if (__typeCode == null)
+ {
+ __typeCode = org.omg.CORBA.ORB.init ().create_interface_tc (org.apache.tuscany.sca.binding.corba.testing.generated.ArraysSetterHelper.id (), "ArraysSetter");
+ }
+ return __typeCode;
+ }
+
+ public static String id ()
+ {
+ return _id;
+ }
+
+ public static org.apache.tuscany.sca.binding.corba.testing.generated.ArraysSetter read (org.omg.CORBA.portable.InputStream istream)
+ {
+ return narrow (istream.read_Object (_ArraysSetterStub.class));
+ }
+
+ public static void write (org.omg.CORBA.portable.OutputStream ostream, org.apache.tuscany.sca.binding.corba.testing.generated.ArraysSetter value)
+ {
+ ostream.write_Object ((org.omg.CORBA.Object) value);
+ }
+
+ public static org.apache.tuscany.sca.binding.corba.testing.generated.ArraysSetter narrow (org.omg.CORBA.Object obj)
+ {
+ if (obj == null)
+ return null;
+ else if (obj instanceof org.apache.tuscany.sca.binding.corba.testing.generated.ArraysSetter)
+ return (org.apache.tuscany.sca.binding.corba.testing.generated.ArraysSetter)obj;
+ else if (!obj._is_a (id ()))
+ throw new org.omg.CORBA.BAD_PARAM ();
+ else
+ {
+ org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate ();
+ org.apache.tuscany.sca.binding.corba.testing.generated._ArraysSetterStub stub = new org.apache.tuscany.sca.binding.corba.testing.generated._ArraysSetterStub ();
+ stub._set_delegate(delegate);
+ return stub;
+ }
+ }
+
+ public static org.apache.tuscany.sca.binding.corba.testing.generated.ArraysSetter unchecked_narrow (org.omg.CORBA.Object obj)
+ {
+ if (obj == null)
+ return null;
+ else if (obj instanceof org.apache.tuscany.sca.binding.corba.testing.generated.ArraysSetter)
+ return (org.apache.tuscany.sca.binding.corba.testing.generated.ArraysSetter)obj;
+ else
+ {
+ org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate ();
+ org.apache.tuscany.sca.binding.corba.testing.generated._ArraysSetterStub stub = new org.apache.tuscany.sca.binding.corba.testing.generated._ArraysSetterStub ();
+ stub._set_delegate(delegate);
+ return stub;
+ }
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetterHolder.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetterHolder.java
new file mode 100644
index 0000000000..987c42d0cf
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetterHolder.java
@@ -0,0 +1,57 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+/**
+* Tester/ArraysSetterHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+public final class ArraysSetterHolder implements org.omg.CORBA.portable.Streamable
+{
+ public org.apache.tuscany.sca.binding.corba.testing.generated.ArraysSetter value = null;
+
+ public ArraysSetterHolder ()
+ {
+ }
+
+ public ArraysSetterHolder (org.apache.tuscany.sca.binding.corba.testing.generated.ArraysSetter initialValue)
+ {
+ value = initialValue;
+ }
+
+ public void _read (org.omg.CORBA.portable.InputStream i)
+ {
+ value = org.apache.tuscany.sca.binding.corba.testing.generated.ArraysSetterHelper.read (i);
+ }
+
+ public void _write (org.omg.CORBA.portable.OutputStream o)
+ {
+ org.apache.tuscany.sca.binding.corba.testing.generated.ArraysSetterHelper.write (o, value);
+ }
+
+ public org.omg.CORBA.TypeCode _type ()
+ {
+ return org.apache.tuscany.sca.binding.corba.testing.generated.ArraysSetterHelper.type ();
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetterOperations.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetterOperations.java
new file mode 100644
index 0000000000..75a552dc58
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetterOperations.java
@@ -0,0 +1,47 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/ArraysSetterOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+public interface ArraysSetterOperations
+{
+ boolean[] setBoolean (boolean[] arg);
+ char[] setChar (char[] arg);
+ char[] setWchar (char[] arg);
+ byte[] setOctet (byte[] arg);
+ short[] setShort (short[] arg);
+ short[] setUnsignedShort (short[] arg);
+ int[] setLong (int[] arg);
+ int[] setUnsignedLong (int[] arg);
+ long[] setLongLong (long[] arg);
+ long[] setUnsignedLongLong (long[] arg);
+ float[] setFloat (float[] arg);
+ double[] setDouble (double[] arg);
+ String[] setString (String[] arg);
+ String[] setWstring (String[] arg);
+ org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject[] setRemoteObject (org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject[] obj);
+} // interface ArraysSetterOperations
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetter.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetter.java
new file mode 100644
index 0000000000..12cfbbeda4
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetter.java
@@ -0,0 +1,32 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/PrimitivesSetter.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+public interface PrimitivesSetter extends PrimitivesSetterOperations, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity
+{
+} // interface PrimitivesSetter
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetterHelper.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetterHelper.java
new file mode 100644
index 0000000000..c4855e085c
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetterHelper.java
@@ -0,0 +1,104 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/PrimitivesSetterHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+abstract public class PrimitivesSetterHelper
+{
+ private static String _id = "IDL:Tester/PrimitivesSetter:1.0";
+
+ public static void insert (org.omg.CORBA.Any a, org.apache.tuscany.sca.binding.corba.testing.generated.PrimitivesSetter that)
+ {
+ org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
+ a.type (type ());
+ write (out, that);
+ a.read_value (out.create_input_stream (), type ());
+ }
+
+ public static org.apache.tuscany.sca.binding.corba.testing.generated.PrimitivesSetter extract (org.omg.CORBA.Any a)
+ {
+ return read (a.create_input_stream ());
+ }
+
+ private static org.omg.CORBA.TypeCode __typeCode = null;
+ synchronized public static org.omg.CORBA.TypeCode type ()
+ {
+ if (__typeCode == null)
+ {
+ __typeCode = org.omg.CORBA.ORB.init ().create_interface_tc (org.apache.tuscany.sca.binding.corba.testing.generated.PrimitivesSetterHelper.id (), "PrimitivesSetter");
+ }
+ return __typeCode;
+ }
+
+ public static String id ()
+ {
+ return _id;
+ }
+
+ public static org.apache.tuscany.sca.binding.corba.testing.generated.PrimitivesSetter read (org.omg.CORBA.portable.InputStream istream)
+ {
+ return narrow (istream.read_Object (_PrimitivesSetterStub.class));
+ }
+
+ public static void write (org.omg.CORBA.portable.OutputStream ostream, org.apache.tuscany.sca.binding.corba.testing.generated.PrimitivesSetter value)
+ {
+ ostream.write_Object ((org.omg.CORBA.Object) value);
+ }
+
+ public static org.apache.tuscany.sca.binding.corba.testing.generated.PrimitivesSetter narrow (org.omg.CORBA.Object obj)
+ {
+ if (obj == null)
+ return null;
+ else if (obj instanceof org.apache.tuscany.sca.binding.corba.testing.generated.PrimitivesSetter)
+ return (org.apache.tuscany.sca.binding.corba.testing.generated.PrimitivesSetter)obj;
+ else if (!obj._is_a (id ()))
+ throw new org.omg.CORBA.BAD_PARAM ();
+ else
+ {
+ org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate ();
+ org.apache.tuscany.sca.binding.corba.testing.generated._PrimitivesSetterStub stub = new org.apache.tuscany.sca.binding.corba.testing.generated._PrimitivesSetterStub ();
+ stub._set_delegate(delegate);
+ return stub;
+ }
+ }
+
+ public static org.apache.tuscany.sca.binding.corba.testing.generated.PrimitivesSetter unchecked_narrow (org.omg.CORBA.Object obj)
+ {
+ if (obj == null)
+ return null;
+ else if (obj instanceof org.apache.tuscany.sca.binding.corba.testing.generated.PrimitivesSetter)
+ return (org.apache.tuscany.sca.binding.corba.testing.generated.PrimitivesSetter)obj;
+ else
+ {
+ org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate ();
+ org.apache.tuscany.sca.binding.corba.testing.generated._PrimitivesSetterStub stub = new org.apache.tuscany.sca.binding.corba.testing.generated._PrimitivesSetterStub ();
+ stub._set_delegate(delegate);
+ return stub;
+ }
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetterHolder.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetterHolder.java
new file mode 100644
index 0000000000..b33a2c6d01
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetterHolder.java
@@ -0,0 +1,57 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+/**
+* Tester/PrimitivesSetterHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+public final class PrimitivesSetterHolder implements org.omg.CORBA.portable.Streamable
+{
+ public org.apache.tuscany.sca.binding.corba.testing.generated.PrimitivesSetter value = null;
+
+ public PrimitivesSetterHolder ()
+ {
+ }
+
+ public PrimitivesSetterHolder (org.apache.tuscany.sca.binding.corba.testing.generated.PrimitivesSetter initialValue)
+ {
+ value = initialValue;
+ }
+
+ public void _read (org.omg.CORBA.portable.InputStream i)
+ {
+ value = org.apache.tuscany.sca.binding.corba.testing.generated.PrimitivesSetterHelper.read (i);
+ }
+
+ public void _write (org.omg.CORBA.portable.OutputStream o)
+ {
+ org.apache.tuscany.sca.binding.corba.testing.generated.PrimitivesSetterHelper.write (o, value);
+ }
+
+ public org.omg.CORBA.TypeCode _type ()
+ {
+ return org.apache.tuscany.sca.binding.corba.testing.generated.PrimitivesSetterHelper.type ();
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetterOperations.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetterOperations.java
new file mode 100644
index 0000000000..b40631f00e
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetterOperations.java
@@ -0,0 +1,47 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/PrimitivesSetterOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+public interface PrimitivesSetterOperations
+{
+ boolean setBoolean (boolean arg);
+ char setChar (char arg);
+ char setWchar (char arg);
+ byte setOctet (byte arg);
+ short setShort (short arg);
+ short setUnsignedShort (short arg);
+ int setLong (int arg);
+ int setUnsignedLong (int arg);
+ long setLongLong (long arg);
+ long setUnsignedLongLong (long arg);
+ float setFloat (float arg);
+ double setDouble (double arg);
+ String setString (String arg);
+ String setWstring (String arg);
+ org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject setRemoteObject (org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject obj);
+} // interface PrimitivesSetterOperations
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/RemoteObject.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/RemoteObject.java
new file mode 100644
index 0000000000..dc9ed3522b
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/RemoteObject.java
@@ -0,0 +1,32 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/RemoteObject.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+public interface RemoteObject extends RemoteObjectOperations, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity
+{
+} // interface RemoteObject
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/RemoteObjectHelper.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/RemoteObjectHelper.java
new file mode 100644
index 0000000000..3762b8bc6b
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/RemoteObjectHelper.java
@@ -0,0 +1,104 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/RemoteObjectHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+abstract public class RemoteObjectHelper
+{
+ private static String _id = "IDL:Tester/RemoteObject:1.0";
+
+ public static void insert (org.omg.CORBA.Any a, org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject that)
+ {
+ org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
+ a.type (type ());
+ write (out, that);
+ a.read_value (out.create_input_stream (), type ());
+ }
+
+ public static org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject extract (org.omg.CORBA.Any a)
+ {
+ return read (a.create_input_stream ());
+ }
+
+ private static org.omg.CORBA.TypeCode __typeCode = null;
+ synchronized public static org.omg.CORBA.TypeCode type ()
+ {
+ if (__typeCode == null)
+ {
+ __typeCode = org.omg.CORBA.ORB.init ().create_interface_tc (org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObjectHelper.id (), "RemoteObject");
+ }
+ return __typeCode;
+ }
+
+ public static String id ()
+ {
+ return _id;
+ }
+
+ public static org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject read (org.omg.CORBA.portable.InputStream istream)
+ {
+ return narrow (istream.read_Object (_RemoteObjectStub.class));
+ }
+
+ public static void write (org.omg.CORBA.portable.OutputStream ostream, org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject value)
+ {
+ ostream.write_Object ((org.omg.CORBA.Object) value);
+ }
+
+ public static org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject narrow (org.omg.CORBA.Object obj)
+ {
+ if (obj == null)
+ return null;
+ else if (obj instanceof org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject)
+ return (org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject)obj;
+ else if (!obj._is_a (id ()))
+ throw new org.omg.CORBA.BAD_PARAM ();
+ else
+ {
+ org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate ();
+ org.apache.tuscany.sca.binding.corba.testing.generated._RemoteObjectStub stub = new org.apache.tuscany.sca.binding.corba.testing.generated._RemoteObjectStub ();
+ stub._set_delegate(delegate);
+ return stub;
+ }
+ }
+
+ public static org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject unchecked_narrow (org.omg.CORBA.Object obj)
+ {
+ if (obj == null)
+ return null;
+ else if (obj instanceof org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject)
+ return (org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject)obj;
+ else
+ {
+ org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate ();
+ org.apache.tuscany.sca.binding.corba.testing.generated._RemoteObjectStub stub = new org.apache.tuscany.sca.binding.corba.testing.generated._RemoteObjectStub ();
+ stub._set_delegate(delegate);
+ return stub;
+ }
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/RemoteObjectHolder.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/RemoteObjectHolder.java
new file mode 100644
index 0000000000..79fe98e0bb
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/RemoteObjectHolder.java
@@ -0,0 +1,57 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+/**
+* Tester/RemoteObjectHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+public final class RemoteObjectHolder implements org.omg.CORBA.portable.Streamable
+{
+ public org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject value = null;
+
+ public RemoteObjectHolder ()
+ {
+ }
+
+ public RemoteObjectHolder (org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject initialValue)
+ {
+ value = initialValue;
+ }
+
+ public void _read (org.omg.CORBA.portable.InputStream i)
+ {
+ value = org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObjectHelper.read (i);
+ }
+
+ public void _write (org.omg.CORBA.portable.OutputStream o)
+ {
+ org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObjectHelper.write (o, value);
+ }
+
+ public org.omg.CORBA.TypeCode _type ()
+ {
+ return org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObjectHelper.type ();
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/RemoteObjectOperations.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/RemoteObjectOperations.java
new file mode 100644
index 0000000000..3f4a7ad76d
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/RemoteObjectOperations.java
@@ -0,0 +1,32 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/RemoteObjectOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+public interface RemoteObjectOperations
+{
+} // interface RemoteObjectOperations
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SimpleStruct.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SimpleStruct.java
new file mode 100644
index 0000000000..1f2337dba5
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SimpleStruct.java
@@ -0,0 +1,45 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/SimpleStruct.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+public final class SimpleStruct implements org.omg.CORBA.portable.IDLEntity
+{
+ public String field1 = null;
+ public int field2 = (int)0;
+
+ public SimpleStruct ()
+ {
+ } // ctor
+
+ public SimpleStruct (String _field1, int _field2)
+ {
+ field1 = _field1;
+ field2 = _field2;
+ } // ctor
+
+} // class SimpleStruct
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SimpleStructHelper.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SimpleStructHelper.java
new file mode 100644
index 0000000000..a6ce203d01
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SimpleStructHelper.java
@@ -0,0 +1,101 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/SimpleStructHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+abstract public class SimpleStructHelper
+{
+ private static String _id = "IDL:Tester/SimpleStruct/SimpleStruct:1.0";
+
+ public static void insert (org.omg.CORBA.Any a, org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStruct that)
+ {
+ org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
+ a.type (type ());
+ write (out, that);
+ a.read_value (out.create_input_stream (), type ());
+ }
+
+ public static org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStruct extract (org.omg.CORBA.Any a)
+ {
+ return read (a.create_input_stream ());
+ }
+
+ private static org.omg.CORBA.TypeCode __typeCode = null;
+ private static boolean __active = false;
+ synchronized public static org.omg.CORBA.TypeCode type ()
+ {
+ if (__typeCode == null)
+ {
+ synchronized (org.omg.CORBA.TypeCode.class)
+ {
+ if (__typeCode == null)
+ {
+ if (__active)
+ {
+ return org.omg.CORBA.ORB.init().create_recursive_tc ( _id );
+ }
+ __active = true;
+ org.omg.CORBA.StructMember[] _members0 = new org.omg.CORBA.StructMember [2];
+ org.omg.CORBA.TypeCode _tcOf_members0 = null;
+ _tcOf_members0 = org.omg.CORBA.ORB.init ().create_string_tc (0);
+ _members0[0] = new org.omg.CORBA.StructMember (
+ "field1",
+ _tcOf_members0,
+ null);
+ _tcOf_members0 = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_long);
+ _members0[1] = new org.omg.CORBA.StructMember (
+ "field2",
+ _tcOf_members0,
+ null);
+ __typeCode = org.omg.CORBA.ORB.init ().create_struct_tc (org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStructHelper.id (), "SimpleStruct", _members0);
+ __active = false;
+ }
+ }
+ }
+ return __typeCode;
+ }
+
+ public static String id ()
+ {
+ return _id;
+ }
+
+ public static org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStruct read (org.omg.CORBA.portable.InputStream istream)
+ {
+ org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStruct value = new org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStruct ();
+ value.field1 = istream.read_string ();
+ value.field2 = istream.read_long ();
+ return value;
+ }
+
+ public static void write (org.omg.CORBA.portable.OutputStream ostream, org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStruct value)
+ {
+ ostream.write_string (value.field1);
+ ostream.write_long (value.field2);
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SimpleStructHolder.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SimpleStructHolder.java
new file mode 100644
index 0000000000..5fe7310826
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SimpleStructHolder.java
@@ -0,0 +1,57 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+/**
+* Tester/SimpleStructHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+public final class SimpleStructHolder implements org.omg.CORBA.portable.Streamable
+{
+ public org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStruct value = null;
+
+ public SimpleStructHolder ()
+ {
+ }
+
+ public SimpleStructHolder (org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStruct initialValue)
+ {
+ value = initialValue;
+ }
+
+ public void _read (org.omg.CORBA.portable.InputStream i)
+ {
+ value = org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStructHelper.read (i);
+ }
+
+ public void _write (org.omg.CORBA.portable.OutputStream o)
+ {
+ org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStructHelper.write (o, value);
+ }
+
+ public org.omg.CORBA.TypeCode _type ()
+ {
+ return org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStructHelper.type ();
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SomeStruct.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SomeStruct.java
new file mode 100644
index 0000000000..83d1c12510
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SomeStruct.java
@@ -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.
+ */
+
+package org.apache.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/SomeStruct.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+public final class SomeStruct implements org.omg.CORBA.portable.IDLEntity
+{
+ public org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStruct innerStruct = null;
+ public String str = null;
+ public String str_list[] = null;
+ public int twoDimSeq[][] = null;
+ public int threeDimSeq[][][] = null;
+
+ public SomeStruct ()
+ {
+ } // ctor
+
+ public SomeStruct (org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStruct _innerStruct, String _str, String[] _str_list, int[][] _twoDimSeq, int[][][] _threeDimSeq)
+ {
+ innerStruct = _innerStruct;
+ str = _str;
+ str_list = _str_list;
+ twoDimSeq = _twoDimSeq;
+ threeDimSeq = _threeDimSeq;
+ } // ctor
+
+} // class SomeStruct
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SomeStructHelper.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SomeStructHelper.java
new file mode 100644
index 0000000000..10dc161e32
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SomeStructHelper.java
@@ -0,0 +1,134 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/SomeStructHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+abstract public class SomeStructHelper
+{
+ private static String _id = "IDL:Tester/SomeStruct/SomeStruct:1.0";
+
+ public static void insert (org.omg.CORBA.Any a, org.apache.tuscany.sca.binding.corba.testing.generated.SomeStruct that)
+ {
+ org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
+ a.type (type ());
+ write (out, that);
+ a.read_value (out.create_input_stream (), type ());
+ }
+
+ public static org.apache.tuscany.sca.binding.corba.testing.generated.SomeStruct extract (org.omg.CORBA.Any a)
+ {
+ return read (a.create_input_stream ());
+ }
+
+ private static org.omg.CORBA.TypeCode __typeCode = null;
+ private static boolean __active = false;
+ synchronized public static org.omg.CORBA.TypeCode type ()
+ {
+ if (__typeCode == null)
+ {
+ synchronized (org.omg.CORBA.TypeCode.class)
+ {
+ if (__typeCode == null)
+ {
+ if (__active)
+ {
+ return org.omg.CORBA.ORB.init().create_recursive_tc ( _id );
+ }
+ __active = true;
+ org.omg.CORBA.StructMember[] _members0 = new org.omg.CORBA.StructMember [5];
+ org.omg.CORBA.TypeCode _tcOf_members0 = null;
+ _tcOf_members0 = org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStructHelper.type ();
+ _members0[0] = new org.omg.CORBA.StructMember (
+ "innerStruct",
+ _tcOf_members0,
+ null);
+ _tcOf_members0 = org.omg.CORBA.ORB.init ().create_string_tc (0);
+ _members0[1] = new org.omg.CORBA.StructMember (
+ "str",
+ _tcOf_members0,
+ null);
+ _tcOf_members0 = org.omg.CORBA.ORB.init ().create_string_tc (0);
+ _tcOf_members0 = org.omg.CORBA.ORB.init ().create_sequence_tc (0, _tcOf_members0);
+ _tcOf_members0 = org.omg.CORBA.ORB.init ().create_alias_tc (org.apache.tuscany.sca.binding.corba.testing.generated.string_listHelper.id (), "string_list", _tcOf_members0);
+ _members0[2] = new org.omg.CORBA.StructMember (
+ "str_list",
+ _tcOf_members0,
+ null);
+ _tcOf_members0 = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_long);
+ _tcOf_members0 = org.omg.CORBA.ORB.init ().create_sequence_tc (0, _tcOf_members0);
+ _tcOf_members0 = org.omg.CORBA.ORB.init ().create_alias_tc (org.apache.tuscany.sca.binding.corba.testing.generated.long_seq1Helper.id (), "long_seq1", _tcOf_members0);
+ _tcOf_members0 = org.omg.CORBA.ORB.init ().create_sequence_tc (0, _tcOf_members0);
+ _tcOf_members0 = org.omg.CORBA.ORB.init ().create_alias_tc (org.apache.tuscany.sca.binding.corba.testing.generated.long_seq2Helper.id (), "long_seq2", _tcOf_members0);
+ _members0[3] = new org.omg.CORBA.StructMember (
+ "twoDimSeq",
+ _tcOf_members0,
+ null);
+ _tcOf_members0 = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_long);
+ _tcOf_members0 = org.omg.CORBA.ORB.init ().create_sequence_tc (0, _tcOf_members0);
+ _tcOf_members0 = org.omg.CORBA.ORB.init ().create_alias_tc (org.apache.tuscany.sca.binding.corba.testing.generated.long_seq1Helper.id (), "long_seq1", _tcOf_members0);
+ _tcOf_members0 = org.omg.CORBA.ORB.init ().create_sequence_tc (0, _tcOf_members0);
+ _tcOf_members0 = org.omg.CORBA.ORB.init ().create_alias_tc (org.apache.tuscany.sca.binding.corba.testing.generated.long_seq2Helper.id (), "long_seq2", _tcOf_members0);
+ _tcOf_members0 = org.omg.CORBA.ORB.init ().create_sequence_tc (0, _tcOf_members0);
+ _tcOf_members0 = org.omg.CORBA.ORB.init ().create_alias_tc (org.apache.tuscany.sca.binding.corba.testing.generated.long_seq3Helper.id (), "long_seq3", _tcOf_members0);
+ _members0[4] = new org.omg.CORBA.StructMember (
+ "threeDimSeq",
+ _tcOf_members0,
+ null);
+ __typeCode = org.omg.CORBA.ORB.init ().create_struct_tc (org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHelper.id (), "SomeStruct", _members0);
+ __active = false;
+ }
+ }
+ }
+ return __typeCode;
+ }
+
+ public static String id ()
+ {
+ return _id;
+ }
+
+ public static org.apache.tuscany.sca.binding.corba.testing.generated.SomeStruct read (org.omg.CORBA.portable.InputStream istream)
+ {
+ org.apache.tuscany.sca.binding.corba.testing.generated.SomeStruct value = new org.apache.tuscany.sca.binding.corba.testing.generated.SomeStruct ();
+ value.innerStruct = org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStructHelper.read (istream);
+ value.str = istream.read_string ();
+ value.str_list = org.apache.tuscany.sca.binding.corba.testing.generated.string_listHelper.read (istream);
+ value.twoDimSeq = org.apache.tuscany.sca.binding.corba.testing.generated.long_seq2Helper.read (istream);
+ value.threeDimSeq = org.apache.tuscany.sca.binding.corba.testing.generated.long_seq3Helper.read (istream);
+ return value;
+ }
+
+ public static void write (org.omg.CORBA.portable.OutputStream ostream, org.apache.tuscany.sca.binding.corba.testing.generated.SomeStruct value)
+ {
+ org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStructHelper.write (ostream, value.innerStruct);
+ ostream.write_string (value.str);
+ org.apache.tuscany.sca.binding.corba.testing.generated.string_listHelper.write (ostream, value.str_list);
+ org.apache.tuscany.sca.binding.corba.testing.generated.long_seq2Helper.write (ostream, value.twoDimSeq);
+ org.apache.tuscany.sca.binding.corba.testing.generated.long_seq3Helper.write (ostream, value.threeDimSeq);
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SomeStructHolder.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SomeStructHolder.java
new file mode 100644
index 0000000000..d1d4e2d432
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SomeStructHolder.java
@@ -0,0 +1,57 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+/**
+* Tester/SomeStructHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+public final class SomeStructHolder implements org.omg.CORBA.portable.Streamable
+{
+ public org.apache.tuscany.sca.binding.corba.testing.generated.SomeStruct value = null;
+
+ public SomeStructHolder ()
+ {
+ }
+
+ public SomeStructHolder (org.apache.tuscany.sca.binding.corba.testing.generated.SomeStruct initialValue)
+ {
+ value = initialValue;
+ }
+
+ public void _read (org.omg.CORBA.portable.InputStream i)
+ {
+ value = org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHelper.read (i);
+ }
+
+ public void _write (org.omg.CORBA.portable.OutputStream o)
+ {
+ org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHelper.write (o, value);
+ }
+
+ public org.omg.CORBA.TypeCode _type ()
+ {
+ return org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHelper.type ();
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/TestObject.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/TestObject.java
new file mode 100644
index 0000000000..650ea23106
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/TestObject.java
@@ -0,0 +1,32 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/TestObject.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+public interface TestObject extends TestObjectOperations, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity
+{
+} // interface TestObject
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/TestObjectHelper.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/TestObjectHelper.java
new file mode 100644
index 0000000000..2c8e1cd494
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/TestObjectHelper.java
@@ -0,0 +1,104 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/TestObjectHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+abstract public class TestObjectHelper
+{
+ private static String _id = "IDL:Tester/TestObject:1.0";
+
+ public static void insert (org.omg.CORBA.Any a, org.apache.tuscany.sca.binding.corba.testing.generated.TestObject that)
+ {
+ org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
+ a.type (type ());
+ write (out, that);
+ a.read_value (out.create_input_stream (), type ());
+ }
+
+ public static org.apache.tuscany.sca.binding.corba.testing.generated.TestObject extract (org.omg.CORBA.Any a)
+ {
+ return read (a.create_input_stream ());
+ }
+
+ private static org.omg.CORBA.TypeCode __typeCode = null;
+ synchronized public static org.omg.CORBA.TypeCode type ()
+ {
+ if (__typeCode == null)
+ {
+ __typeCode = org.omg.CORBA.ORB.init ().create_interface_tc (org.apache.tuscany.sca.binding.corba.testing.generated.TestObjectHelper.id (), "TestObject");
+ }
+ return __typeCode;
+ }
+
+ public static String id ()
+ {
+ return _id;
+ }
+
+ public static org.apache.tuscany.sca.binding.corba.testing.generated.TestObject read (org.omg.CORBA.portable.InputStream istream)
+ {
+ return narrow (istream.read_Object (_TestObjectStub.class));
+ }
+
+ public static void write (org.omg.CORBA.portable.OutputStream ostream, org.apache.tuscany.sca.binding.corba.testing.generated.TestObject value)
+ {
+ ostream.write_Object ((org.omg.CORBA.Object) value);
+ }
+
+ public static org.apache.tuscany.sca.binding.corba.testing.generated.TestObject narrow (org.omg.CORBA.Object obj)
+ {
+ if (obj == null)
+ return null;
+ else if (obj instanceof org.apache.tuscany.sca.binding.corba.testing.generated.TestObject)
+ return (org.apache.tuscany.sca.binding.corba.testing.generated.TestObject)obj;
+ else if (!obj._is_a (id ()))
+ throw new org.omg.CORBA.BAD_PARAM ();
+ else
+ {
+ org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate ();
+ org.apache.tuscany.sca.binding.corba.testing.generated._TestObjectStub stub = new org.apache.tuscany.sca.binding.corba.testing.generated._TestObjectStub ();
+ stub._set_delegate(delegate);
+ return stub;
+ }
+ }
+
+ public static org.apache.tuscany.sca.binding.corba.testing.generated.TestObject unchecked_narrow (org.omg.CORBA.Object obj)
+ {
+ if (obj == null)
+ return null;
+ else if (obj instanceof org.apache.tuscany.sca.binding.corba.testing.generated.TestObject)
+ return (org.apache.tuscany.sca.binding.corba.testing.generated.TestObject)obj;
+ else
+ {
+ org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate ();
+ org.apache.tuscany.sca.binding.corba.testing.generated._TestObjectStub stub = new org.apache.tuscany.sca.binding.corba.testing.generated._TestObjectStub ();
+ stub._set_delegate(delegate);
+ return stub;
+ }
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/TestObjectHolder.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/TestObjectHolder.java
new file mode 100644
index 0000000000..9c49918c04
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/TestObjectHolder.java
@@ -0,0 +1,57 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+/**
+* Tester/TestObjectHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+public final class TestObjectHolder implements org.omg.CORBA.portable.Streamable
+{
+ public org.apache.tuscany.sca.binding.corba.testing.generated.TestObject value = null;
+
+ public TestObjectHolder ()
+ {
+ }
+
+ public TestObjectHolder (org.apache.tuscany.sca.binding.corba.testing.generated.TestObject initialValue)
+ {
+ value = initialValue;
+ }
+
+ public void _read (org.omg.CORBA.portable.InputStream i)
+ {
+ value = org.apache.tuscany.sca.binding.corba.testing.generated.TestObjectHelper.read (i);
+ }
+
+ public void _write (org.omg.CORBA.portable.OutputStream o)
+ {
+ org.apache.tuscany.sca.binding.corba.testing.generated.TestObjectHelper.write (o, value);
+ }
+
+ public org.omg.CORBA.TypeCode _type ()
+ {
+ return org.apache.tuscany.sca.binding.corba.testing.generated.TestObjectHelper.type ();
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/TestObjectOperations.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/TestObjectOperations.java
new file mode 100644
index 0000000000..9d89f5426d
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/TestObjectOperations.java
@@ -0,0 +1,38 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/TestObjectOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+public interface TestObjectOperations
+{
+ org.apache.tuscany.sca.binding.corba.testing.generated.SomeStruct pickStructFromArgs (org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHolder arg1, org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHolder arg2, org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHolder arg3, int structNumber);
+ org.apache.tuscany.sca.binding.corba.testing.generated.SomeStruct setStruct (org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHolder arg);
+ org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStruct setSimpleStruct (org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStructHolder arg);
+ int[] setLongSeq1 (org.apache.tuscany.sca.binding.corba.testing.generated.long_seq1Holder arg);
+ int[][] setLongSeq2 (org.apache.tuscany.sca.binding.corba.testing.generated.long_seq2Holder arg);
+ int[][][] setLongSeq3 (org.apache.tuscany.sca.binding.corba.testing.generated.long_seq3Holder arg);
+} // interface TestObjectOperations
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_ArraysSetterImplBase.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_ArraysSetterImplBase.java
new file mode 100644
index 0000000000..9ffea78f14
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_ArraysSetterImplBase.java
@@ -0,0 +1,237 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/_ArraysSetterImplBase.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+public abstract class _ArraysSetterImplBase extends org.omg.CORBA.portable.ObjectImpl
+ implements org.apache.tuscany.sca.binding.corba.testing.generated.ArraysSetter, org.omg.CORBA.portable.InvokeHandler
+{
+
+ // Constructors
+ public _ArraysSetterImplBase ()
+ {
+ }
+
+ private static java.util.Hashtable _methods = new java.util.Hashtable ();
+ static
+ {
+ _methods.put ("setBoolean", new java.lang.Integer (0));
+ _methods.put ("setChar", new java.lang.Integer (1));
+ _methods.put ("setWchar", new java.lang.Integer (2));
+ _methods.put ("setOctet", new java.lang.Integer (3));
+ _methods.put ("setShort", new java.lang.Integer (4));
+ _methods.put ("setUnsignedShort", new java.lang.Integer (5));
+ _methods.put ("setLong", new java.lang.Integer (6));
+ _methods.put ("setUnsignedLong", new java.lang.Integer (7));
+ _methods.put ("setLongLong", new java.lang.Integer (8));
+ _methods.put ("setUnsignedLongLong", new java.lang.Integer (9));
+ _methods.put ("setFloat", new java.lang.Integer (10));
+ _methods.put ("setDouble", new java.lang.Integer (11));
+ _methods.put ("setString", new java.lang.Integer (12));
+ _methods.put ("setWstring", new java.lang.Integer (13));
+ _methods.put ("setRemoteObject", new java.lang.Integer (14));
+ }
+
+ public org.omg.CORBA.portable.OutputStream _invoke (String $method,
+ org.omg.CORBA.portable.InputStream in,
+ org.omg.CORBA.portable.ResponseHandler $rh)
+ {
+ org.omg.CORBA.portable.OutputStream out = null;
+ java.lang.Integer __method = (java.lang.Integer)_methods.get ($method);
+ if (__method == null)
+ throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
+
+ switch (__method.intValue ())
+ {
+ case 0: // Tester/ArraysSetter/setBoolean
+ {
+ boolean arg[] = org.apache.tuscany.sca.binding.corba.testing.generated.boolean_listHelper.read (in);
+ boolean $result[] = null;
+ $result = this.setBoolean (arg);
+ out = $rh.createReply();
+ org.apache.tuscany.sca.binding.corba.testing.generated.boolean_listHelper.write (out, $result);
+ break;
+ }
+
+ case 1: // Tester/ArraysSetter/setChar
+ {
+ char arg[] = org.apache.tuscany.sca.binding.corba.testing.generated.char_listHelper.read (in);
+ char $result[] = null;
+ $result = this.setChar (arg);
+ out = $rh.createReply();
+ org.apache.tuscany.sca.binding.corba.testing.generated.char_listHelper.write (out, $result);
+ break;
+ }
+
+ case 2: // Tester/ArraysSetter/setWchar
+ {
+ char arg[] = org.apache.tuscany.sca.binding.corba.testing.generated.wchar_listHelper.read (in);
+ char $result[] = null;
+ $result = this.setWchar (arg);
+ out = $rh.createReply();
+ org.apache.tuscany.sca.binding.corba.testing.generated.wchar_listHelper.write (out, $result);
+ break;
+ }
+
+ case 3: // Tester/ArraysSetter/setOctet
+ {
+ byte arg[] = org.apache.tuscany.sca.binding.corba.testing.generated.octet_listHelper.read (in);
+ byte $result[] = null;
+ $result = this.setOctet (arg);
+ out = $rh.createReply();
+ org.apache.tuscany.sca.binding.corba.testing.generated.octet_listHelper.write (out, $result);
+ break;
+ }
+
+ case 4: // Tester/ArraysSetter/setShort
+ {
+ short arg[] = org.apache.tuscany.sca.binding.corba.testing.generated.short_listHelper.read (in);
+ short $result[] = null;
+ $result = this.setShort (arg);
+ out = $rh.createReply();
+ org.apache.tuscany.sca.binding.corba.testing.generated.short_listHelper.write (out, $result);
+ break;
+ }
+
+ case 5: // Tester/ArraysSetter/setUnsignedShort
+ {
+ short arg[] = org.apache.tuscany.sca.binding.corba.testing.generated.unsigned_short_listHelper.read (in);
+ short $result[] = null;
+ $result = this.setUnsignedShort (arg);
+ out = $rh.createReply();
+ org.apache.tuscany.sca.binding.corba.testing.generated.unsigned_short_listHelper.write (out, $result);
+ break;
+ }
+
+ case 6: // Tester/ArraysSetter/setLong
+ {
+ int arg[] = org.apache.tuscany.sca.binding.corba.testing.generated.long_listHelper.read (in);
+ int $result[] = null;
+ $result = this.setLong (arg);
+ out = $rh.createReply();
+ org.apache.tuscany.sca.binding.corba.testing.generated.long_listHelper.write (out, $result);
+ break;
+ }
+
+ case 7: // Tester/ArraysSetter/setUnsignedLong
+ {
+ int arg[] = org.apache.tuscany.sca.binding.corba.testing.generated.unsigned_long_listHelper.read (in);
+ int $result[] = null;
+ $result = this.setUnsignedLong (arg);
+ out = $rh.createReply();
+ org.apache.tuscany.sca.binding.corba.testing.generated.unsigned_long_listHelper.write (out, $result);
+ break;
+ }
+
+ case 8: // Tester/ArraysSetter/setLongLong
+ {
+ long arg[] = org.apache.tuscany.sca.binding.corba.testing.generated.long_long_listHelper.read (in);
+ long $result[] = null;
+ $result = this.setLongLong (arg);
+ out = $rh.createReply();
+ org.apache.tuscany.sca.binding.corba.testing.generated.long_long_listHelper.write (out, $result);
+ break;
+ }
+
+ case 9: // Tester/ArraysSetter/setUnsignedLongLong
+ {
+ long arg[] = org.apache.tuscany.sca.binding.corba.testing.generated.unsigned_long_long_listHelper.read (in);
+ long $result[] = null;
+ $result = this.setUnsignedLongLong (arg);
+ out = $rh.createReply();
+ org.apache.tuscany.sca.binding.corba.testing.generated.unsigned_long_long_listHelper.write (out, $result);
+ break;
+ }
+
+ case 10: // Tester/ArraysSetter/setFloat
+ {
+ float arg[] = org.apache.tuscany.sca.binding.corba.testing.generated.float_listHelper.read (in);
+ float $result[] = null;
+ $result = this.setFloat (arg);
+ out = $rh.createReply();
+ org.apache.tuscany.sca.binding.corba.testing.generated.float_listHelper.write (out, $result);
+ break;
+ }
+
+ case 11: // Tester/ArraysSetter/setDouble
+ {
+ double arg[] = org.apache.tuscany.sca.binding.corba.testing.generated.double_listHelper.read (in);
+ double $result[] = null;
+ $result = this.setDouble (arg);
+ out = $rh.createReply();
+ org.apache.tuscany.sca.binding.corba.testing.generated.double_listHelper.write (out, $result);
+ break;
+ }
+
+ case 12: // Tester/ArraysSetter/setString
+ {
+ String arg[] = org.apache.tuscany.sca.binding.corba.testing.generated.string_listHelper.read (in);
+ String $result[] = null;
+ $result = this.setString (arg);
+ out = $rh.createReply();
+ org.apache.tuscany.sca.binding.corba.testing.generated.string_listHelper.write (out, $result);
+ break;
+ }
+
+ case 13: // Tester/ArraysSetter/setWstring
+ {
+ String arg[] = org.apache.tuscany.sca.binding.corba.testing.generated.wstring_listHelper.read (in);
+ String $result[] = null;
+ $result = this.setWstring (arg);
+ out = $rh.createReply();
+ org.apache.tuscany.sca.binding.corba.testing.generated.wstring_listHelper.write (out, $result);
+ break;
+ }
+
+ case 14: // Tester/ArraysSetter/setRemoteObject
+ {
+ org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject obj[] = org.apache.tuscany.sca.binding.corba.testing.generated.remote_object_listHelper.read (in);
+ org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject $result[] = null;
+ $result = this.setRemoteObject (obj);
+ out = $rh.createReply();
+ org.apache.tuscany.sca.binding.corba.testing.generated.remote_object_listHelper.write (out, $result);
+ break;
+ }
+
+ default:
+ throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
+ }
+
+ return out;
+ } // _invoke
+
+ // Type-specific CORBA::Object operations
+ private static String[] __ids = {
+ "IDL:Tester/ArraysSetter:1.0"};
+
+ public String[] _ids ()
+ {
+ return (String[])__ids.clone ();
+ }
+
+
+} // class _ArraysSetterImplBase
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_ArraysSetterStub.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_ArraysSetterStub.java
new file mode 100644
index 0000000000..1605346ed8
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_ArraysSetterStub.java
@@ -0,0 +1,359 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/_ArraysSetterStub.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+public class _ArraysSetterStub extends org.omg.CORBA.portable.ObjectImpl implements org.apache.tuscany.sca.binding.corba.testing.generated.ArraysSetter
+{
+
+ public boolean[] setBoolean (boolean[] arg)
+ {
+ org.omg.CORBA.portable.InputStream $in = null;
+ try {
+ org.omg.CORBA.portable.OutputStream $out = _request ("setBoolean", true);
+ org.apache.tuscany.sca.binding.corba.testing.generated.boolean_listHelper.write ($out, arg);
+ $in = _invoke ($out);
+ boolean $result[] = org.apache.tuscany.sca.binding.corba.testing.generated.boolean_listHelper.read ($in);
+ return $result;
+ } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+ $in = $ex.getInputStream ();
+ String _id = $ex.getId ();
+ throw new org.omg.CORBA.MARSHAL (_id);
+ } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+ return setBoolean (arg );
+ } finally {
+ _releaseReply ($in);
+ }
+ } // setBoolean
+
+ public char[] setChar (char[] arg)
+ {
+ org.omg.CORBA.portable.InputStream $in = null;
+ try {
+ org.omg.CORBA.portable.OutputStream $out = _request ("setChar", true);
+ org.apache.tuscany.sca.binding.corba.testing.generated.char_listHelper.write ($out, arg);
+ $in = _invoke ($out);
+ char $result[] = org.apache.tuscany.sca.binding.corba.testing.generated.char_listHelper.read ($in);
+ return $result;
+ } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+ $in = $ex.getInputStream ();
+ String _id = $ex.getId ();
+ throw new org.omg.CORBA.MARSHAL (_id);
+ } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+ return setChar (arg );
+ } finally {
+ _releaseReply ($in);
+ }
+ } // setChar
+
+ public char[] setWchar (char[] arg)
+ {
+ org.omg.CORBA.portable.InputStream $in = null;
+ try {
+ org.omg.CORBA.portable.OutputStream $out = _request ("setWchar", true);
+ org.apache.tuscany.sca.binding.corba.testing.generated.wchar_listHelper.write ($out, arg);
+ $in = _invoke ($out);
+ char $result[] = org.apache.tuscany.sca.binding.corba.testing.generated.wchar_listHelper.read ($in);
+ return $result;
+ } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+ $in = $ex.getInputStream ();
+ String _id = $ex.getId ();
+ throw new org.omg.CORBA.MARSHAL (_id);
+ } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+ return setWchar (arg );
+ } finally {
+ _releaseReply ($in);
+ }
+ } // setWchar
+
+ public byte[] setOctet (byte[] arg)
+ {
+ org.omg.CORBA.portable.InputStream $in = null;
+ try {
+ org.omg.CORBA.portable.OutputStream $out = _request ("setOctet", true);
+ org.apache.tuscany.sca.binding.corba.testing.generated.octet_listHelper.write ($out, arg);
+ $in = _invoke ($out);
+ byte $result[] = org.apache.tuscany.sca.binding.corba.testing.generated.octet_listHelper.read ($in);
+ return $result;
+ } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+ $in = $ex.getInputStream ();
+ String _id = $ex.getId ();
+ throw new org.omg.CORBA.MARSHAL (_id);
+ } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+ return setOctet (arg );
+ } finally {
+ _releaseReply ($in);
+ }
+ } // setOctet
+
+ public short[] setShort (short[] arg)
+ {
+ org.omg.CORBA.portable.InputStream $in = null;
+ try {
+ org.omg.CORBA.portable.OutputStream $out = _request ("setShort", true);
+ org.apache.tuscany.sca.binding.corba.testing.generated.short_listHelper.write ($out, arg);
+ $in = _invoke ($out);
+ short $result[] = org.apache.tuscany.sca.binding.corba.testing.generated.short_listHelper.read ($in);
+ return $result;
+ } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+ $in = $ex.getInputStream ();
+ String _id = $ex.getId ();
+ throw new org.omg.CORBA.MARSHAL (_id);
+ } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+ return setShort (arg );
+ } finally {
+ _releaseReply ($in);
+ }
+ } // setShort
+
+ public short[] setUnsignedShort (short[] arg)
+ {
+ org.omg.CORBA.portable.InputStream $in = null;
+ try {
+ org.omg.CORBA.portable.OutputStream $out = _request ("setUnsignedShort", true);
+ org.apache.tuscany.sca.binding.corba.testing.generated.unsigned_short_listHelper.write ($out, arg);
+ $in = _invoke ($out);
+ short $result[] = org.apache.tuscany.sca.binding.corba.testing.generated.unsigned_short_listHelper.read ($in);
+ return $result;
+ } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+ $in = $ex.getInputStream ();
+ String _id = $ex.getId ();
+ throw new org.omg.CORBA.MARSHAL (_id);
+ } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+ return setUnsignedShort (arg );
+ } finally {
+ _releaseReply ($in);
+ }
+ } // setUnsignedShort
+
+ public int[] setLong (int[] arg)
+ {
+ org.omg.CORBA.portable.InputStream $in = null;
+ try {
+ org.omg.CORBA.portable.OutputStream $out = _request ("setLong", true);
+ org.apache.tuscany.sca.binding.corba.testing.generated.long_listHelper.write ($out, arg);
+ $in = _invoke ($out);
+ int $result[] = org.apache.tuscany.sca.binding.corba.testing.generated.long_listHelper.read ($in);
+ return $result;
+ } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+ $in = $ex.getInputStream ();
+ String _id = $ex.getId ();
+ throw new org.omg.CORBA.MARSHAL (_id);
+ } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+ return setLong (arg );
+ } finally {
+ _releaseReply ($in);
+ }
+ } // setLong
+
+ public int[] setUnsignedLong (int[] arg)
+ {
+ org.omg.CORBA.portable.InputStream $in = null;
+ try {
+ org.omg.CORBA.portable.OutputStream $out = _request ("setUnsignedLong", true);
+ org.apache.tuscany.sca.binding.corba.testing.generated.unsigned_long_listHelper.write ($out, arg);
+ $in = _invoke ($out);
+ int $result[] = org.apache.tuscany.sca.binding.corba.testing.generated.unsigned_long_listHelper.read ($in);
+ return $result;
+ } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+ $in = $ex.getInputStream ();
+ String _id = $ex.getId ();
+ throw new org.omg.CORBA.MARSHAL (_id);
+ } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+ return setUnsignedLong (arg );
+ } finally {
+ _releaseReply ($in);
+ }
+ } // setUnsignedLong
+
+ public long[] setLongLong (long[] arg)
+ {
+ org.omg.CORBA.portable.InputStream $in = null;
+ try {
+ org.omg.CORBA.portable.OutputStream $out = _request ("setLongLong", true);
+ org.apache.tuscany.sca.binding.corba.testing.generated.long_long_listHelper.write ($out, arg);
+ $in = _invoke ($out);
+ long $result[] = org.apache.tuscany.sca.binding.corba.testing.generated.long_long_listHelper.read ($in);
+ return $result;
+ } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+ $in = $ex.getInputStream ();
+ String _id = $ex.getId ();
+ throw new org.omg.CORBA.MARSHAL (_id);
+ } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+ return setLongLong (arg );
+ } finally {
+ _releaseReply ($in);
+ }
+ } // setLongLong
+
+ public long[] setUnsignedLongLong (long[] arg)
+ {
+ org.omg.CORBA.portable.InputStream $in = null;
+ try {
+ org.omg.CORBA.portable.OutputStream $out = _request ("setUnsignedLongLong", true);
+ org.apache.tuscany.sca.binding.corba.testing.generated.unsigned_long_long_listHelper.write ($out, arg);
+ $in = _invoke ($out);
+ long $result[] = org.apache.tuscany.sca.binding.corba.testing.generated.unsigned_long_long_listHelper.read ($in);
+ return $result;
+ } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+ $in = $ex.getInputStream ();
+ String _id = $ex.getId ();
+ throw new org.omg.CORBA.MARSHAL (_id);
+ } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+ return setUnsignedLongLong (arg );
+ } finally {
+ _releaseReply ($in);
+ }
+ } // setUnsignedLongLong
+
+ public float[] setFloat (float[] arg)
+ {
+ org.omg.CORBA.portable.InputStream $in = null;
+ try {
+ org.omg.CORBA.portable.OutputStream $out = _request ("setFloat", true);
+ org.apache.tuscany.sca.binding.corba.testing.generated.float_listHelper.write ($out, arg);
+ $in = _invoke ($out);
+ float $result[] = org.apache.tuscany.sca.binding.corba.testing.generated.float_listHelper.read ($in);
+ return $result;
+ } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+ $in = $ex.getInputStream ();
+ String _id = $ex.getId ();
+ throw new org.omg.CORBA.MARSHAL (_id);
+ } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+ return setFloat (arg );
+ } finally {
+ _releaseReply ($in);
+ }
+ } // setFloat
+
+ public double[] setDouble (double[] arg)
+ {
+ org.omg.CORBA.portable.InputStream $in = null;
+ try {
+ org.omg.CORBA.portable.OutputStream $out = _request ("setDouble", true);
+ org.apache.tuscany.sca.binding.corba.testing.generated.double_listHelper.write ($out, arg);
+ $in = _invoke ($out);
+ double $result[] = org.apache.tuscany.sca.binding.corba.testing.generated.double_listHelper.read ($in);
+ return $result;
+ } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+ $in = $ex.getInputStream ();
+ String _id = $ex.getId ();
+ throw new org.omg.CORBA.MARSHAL (_id);
+ } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+ return setDouble (arg );
+ } finally {
+ _releaseReply ($in);
+ }
+ } // setDouble
+
+ public String[] setString (String[] arg)
+ {
+ org.omg.CORBA.portable.InputStream $in = null;
+ try {
+ org.omg.CORBA.portable.OutputStream $out = _request ("setString", true);
+ org.apache.tuscany.sca.binding.corba.testing.generated.string_listHelper.write ($out, arg);
+ $in = _invoke ($out);
+ String $result[] = org.apache.tuscany.sca.binding.corba.testing.generated.string_listHelper.read ($in);
+ return $result;
+ } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+ $in = $ex.getInputStream ();
+ String _id = $ex.getId ();
+ throw new org.omg.CORBA.MARSHAL (_id);
+ } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+ return setString (arg );
+ } finally {
+ _releaseReply ($in);
+ }
+ } // setString
+
+ public String[] setWstring (String[] arg)
+ {
+ org.omg.CORBA.portable.InputStream $in = null;
+ try {
+ org.omg.CORBA.portable.OutputStream $out = _request ("setWstring", true);
+ org.apache.tuscany.sca.binding.corba.testing.generated.wstring_listHelper.write ($out, arg);
+ $in = _invoke ($out);
+ String $result[] = org.apache.tuscany.sca.binding.corba.testing.generated.wstring_listHelper.read ($in);
+ return $result;
+ } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+ $in = $ex.getInputStream ();
+ String _id = $ex.getId ();
+ throw new org.omg.CORBA.MARSHAL (_id);
+ } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+ return setWstring (arg );
+ } finally {
+ _releaseReply ($in);
+ }
+ } // setWstring
+
+ public org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject[] setRemoteObject (org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject[] obj)
+ {
+ org.omg.CORBA.portable.InputStream $in = null;
+ try {
+ org.omg.CORBA.portable.OutputStream $out = _request ("setRemoteObject", true);
+ org.apache.tuscany.sca.binding.corba.testing.generated.remote_object_listHelper.write ($out, obj);
+ $in = _invoke ($out);
+ org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject $result[] = org.apache.tuscany.sca.binding.corba.testing.generated.remote_object_listHelper.read ($in);
+ return $result;
+ } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+ $in = $ex.getInputStream ();
+ String _id = $ex.getId ();
+ throw new org.omg.CORBA.MARSHAL (_id);
+ } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+ return setRemoteObject (obj );
+ } finally {
+ _releaseReply ($in);
+ }
+ } // setRemoteObject
+
+ // Type-specific CORBA::Object operations
+ private static String[] __ids = {
+ "IDL:Tester/ArraysSetter:1.0"};
+
+ public String[] _ids ()
+ {
+ return (String[])__ids.clone ();
+ }
+
+ private void readObject (java.io.ObjectInputStream s) throws java.io.IOException
+ {
+ String str = s.readUTF ();
+ String[] args = null;
+ java.util.Properties props = null;
+ org.omg.CORBA.Object obj = org.omg.CORBA.ORB.init (args, props).string_to_object (str);
+ org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl) obj)._get_delegate ();
+ _set_delegate (delegate);
+ }
+
+ private void writeObject (java.io.ObjectOutputStream s) throws java.io.IOException
+ {
+ String[] args = null;
+ java.util.Properties props = null;
+ String str = org.omg.CORBA.ORB.init (args, props).object_to_string (this);
+ s.writeUTF (str);
+ }
+} // class _ArraysSetterStub
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_PrimitivesSetterImplBase.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_PrimitivesSetterImplBase.java
new file mode 100644
index 0000000000..fd840095a5
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_PrimitivesSetterImplBase.java
@@ -0,0 +1,237 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/_PrimitivesSetterImplBase.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+public abstract class _PrimitivesSetterImplBase extends org.omg.CORBA.portable.ObjectImpl
+ implements org.apache.tuscany.sca.binding.corba.testing.generated.PrimitivesSetter, org.omg.CORBA.portable.InvokeHandler
+{
+
+ // Constructors
+ public _PrimitivesSetterImplBase ()
+ {
+ }
+
+ private static java.util.Hashtable _methods = new java.util.Hashtable ();
+ static
+ {
+ _methods.put ("setBoolean", new java.lang.Integer (0));
+ _methods.put ("setChar", new java.lang.Integer (1));
+ _methods.put ("setWchar", new java.lang.Integer (2));
+ _methods.put ("setOctet", new java.lang.Integer (3));
+ _methods.put ("setShort", new java.lang.Integer (4));
+ _methods.put ("setUnsignedShort", new java.lang.Integer (5));
+ _methods.put ("setLong", new java.lang.Integer (6));
+ _methods.put ("setUnsignedLong", new java.lang.Integer (7));
+ _methods.put ("setLongLong", new java.lang.Integer (8));
+ _methods.put ("setUnsignedLongLong", new java.lang.Integer (9));
+ _methods.put ("setFloat", new java.lang.Integer (10));
+ _methods.put ("setDouble", new java.lang.Integer (11));
+ _methods.put ("setString", new java.lang.Integer (12));
+ _methods.put ("setWstring", new java.lang.Integer (13));
+ _methods.put ("setRemoteObject", new java.lang.Integer (14));
+ }
+
+ public org.omg.CORBA.portable.OutputStream _invoke (String $method,
+ org.omg.CORBA.portable.InputStream in,
+ org.omg.CORBA.portable.ResponseHandler $rh)
+ {
+ org.omg.CORBA.portable.OutputStream out = null;
+ java.lang.Integer __method = (java.lang.Integer)_methods.get ($method);
+ if (__method == null)
+ throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
+
+ switch (__method.intValue ())
+ {
+ case 0: // Tester/PrimitivesSetter/setBoolean
+ {
+ boolean arg = in.read_boolean ();
+ boolean $result = false;
+ $result = this.setBoolean (arg);
+ out = $rh.createReply();
+ out.write_boolean ($result);
+ break;
+ }
+
+ case 1: // Tester/PrimitivesSetter/setChar
+ {
+ char arg = in.read_char ();
+ char $result = (char)0;
+ $result = this.setChar (arg);
+ out = $rh.createReply();
+ out.write_char ($result);
+ break;
+ }
+
+ case 2: // Tester/PrimitivesSetter/setWchar
+ {
+ char arg = in.read_wchar ();
+ char $result = (char)0;
+ $result = this.setWchar (arg);
+ out = $rh.createReply();
+ out.write_wchar ($result);
+ break;
+ }
+
+ case 3: // Tester/PrimitivesSetter/setOctet
+ {
+ byte arg = in.read_octet ();
+ byte $result = (byte)0;
+ $result = this.setOctet (arg);
+ out = $rh.createReply();
+ out.write_octet ($result);
+ break;
+ }
+
+ case 4: // Tester/PrimitivesSetter/setShort
+ {
+ short arg = in.read_short ();
+ short $result = (short)0;
+ $result = this.setShort (arg);
+ out = $rh.createReply();
+ out.write_short ($result);
+ break;
+ }
+
+ case 5: // Tester/PrimitivesSetter/setUnsignedShort
+ {
+ short arg = in.read_ushort ();
+ short $result = (short)0;
+ $result = this.setUnsignedShort (arg);
+ out = $rh.createReply();
+ out.write_ushort ($result);
+ break;
+ }
+
+ case 6: // Tester/PrimitivesSetter/setLong
+ {
+ int arg = in.read_long ();
+ int $result = (int)0;
+ $result = this.setLong (arg);
+ out = $rh.createReply();
+ out.write_long ($result);
+ break;
+ }
+
+ case 7: // Tester/PrimitivesSetter/setUnsignedLong
+ {
+ int arg = in.read_ulong ();
+ int $result = (int)0;
+ $result = this.setUnsignedLong (arg);
+ out = $rh.createReply();
+ out.write_ulong ($result);
+ break;
+ }
+
+ case 8: // Tester/PrimitivesSetter/setLongLong
+ {
+ long arg = in.read_longlong ();
+ long $result = (long)0;
+ $result = this.setLongLong (arg);
+ out = $rh.createReply();
+ out.write_longlong ($result);
+ break;
+ }
+
+ case 9: // Tester/PrimitivesSetter/setUnsignedLongLong
+ {
+ long arg = in.read_ulonglong ();
+ long $result = (long)0;
+ $result = this.setUnsignedLongLong (arg);
+ out = $rh.createReply();
+ out.write_ulonglong ($result);
+ break;
+ }
+
+ case 10: // Tester/PrimitivesSetter/setFloat
+ {
+ float arg = in.read_float ();
+ float $result = (float)0;
+ $result = this.setFloat (arg);
+ out = $rh.createReply();
+ out.write_float ($result);
+ break;
+ }
+
+ case 11: // Tester/PrimitivesSetter/setDouble
+ {
+ double arg = in.read_double ();
+ double $result = (double)0;
+ $result = this.setDouble (arg);
+ out = $rh.createReply();
+ out.write_double ($result);
+ break;
+ }
+
+ case 12: // Tester/PrimitivesSetter/setString
+ {
+ String arg = in.read_string ();
+ String $result = null;
+ $result = this.setString (arg);
+ out = $rh.createReply();
+ out.write_string ($result);
+ break;
+ }
+
+ case 13: // Tester/PrimitivesSetter/setWstring
+ {
+ String arg = in.read_wstring ();
+ String $result = null;
+ $result = this.setWstring (arg);
+ out = $rh.createReply();
+ out.write_wstring ($result);
+ break;
+ }
+
+ case 14: // Tester/PrimitivesSetter/setRemoteObject
+ {
+ org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject obj = org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObjectHelper.read (in);
+ org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject $result = null;
+ $result = this.setRemoteObject (obj);
+ out = $rh.createReply();
+ org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObjectHelper.write (out, $result);
+ break;
+ }
+
+ default:
+ throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
+ }
+
+ return out;
+ } // _invoke
+
+ // Type-specific CORBA::Object operations
+ private static String[] __ids = {
+ "IDL:Tester/PrimitivesSetter:1.0"};
+
+ public String[] _ids ()
+ {
+ return (String[])__ids.clone ();
+ }
+
+
+} // class _PrimitivesSetterImplBase
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_PrimitivesSetterStub.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_PrimitivesSetterStub.java
new file mode 100644
index 0000000000..c7d3df6011
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_PrimitivesSetterStub.java
@@ -0,0 +1,359 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/_PrimitivesSetterStub.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+public class _PrimitivesSetterStub extends org.omg.CORBA.portable.ObjectImpl implements org.apache.tuscany.sca.binding.corba.testing.generated.PrimitivesSetter
+{
+
+ public boolean setBoolean (boolean arg)
+ {
+ org.omg.CORBA.portable.InputStream $in = null;
+ try {
+ org.omg.CORBA.portable.OutputStream $out = _request ("setBoolean", true);
+ $out.write_boolean (arg);
+ $in = _invoke ($out);
+ boolean $result = $in.read_boolean ();
+ return $result;
+ } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+ $in = $ex.getInputStream ();
+ String _id = $ex.getId ();
+ throw new org.omg.CORBA.MARSHAL (_id);
+ } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+ return setBoolean (arg );
+ } finally {
+ _releaseReply ($in);
+ }
+ } // setBoolean
+
+ public char setChar (char arg)
+ {
+ org.omg.CORBA.portable.InputStream $in = null;
+ try {
+ org.omg.CORBA.portable.OutputStream $out = _request ("setChar", true);
+ $out.write_char (arg);
+ $in = _invoke ($out);
+ char $result = $in.read_char ();
+ return $result;
+ } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+ $in = $ex.getInputStream ();
+ String _id = $ex.getId ();
+ throw new org.omg.CORBA.MARSHAL (_id);
+ } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+ return setChar (arg );
+ } finally {
+ _releaseReply ($in);
+ }
+ } // setChar
+
+ public char setWchar (char arg)
+ {
+ org.omg.CORBA.portable.InputStream $in = null;
+ try {
+ org.omg.CORBA.portable.OutputStream $out = _request ("setWchar", true);
+ $out.write_wchar (arg);
+ $in = _invoke ($out);
+ char $result = $in.read_wchar ();
+ return $result;
+ } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+ $in = $ex.getInputStream ();
+ String _id = $ex.getId ();
+ throw new org.omg.CORBA.MARSHAL (_id);
+ } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+ return setWchar (arg );
+ } finally {
+ _releaseReply ($in);
+ }
+ } // setWchar
+
+ public byte setOctet (byte arg)
+ {
+ org.omg.CORBA.portable.InputStream $in = null;
+ try {
+ org.omg.CORBA.portable.OutputStream $out = _request ("setOctet", true);
+ $out.write_octet (arg);
+ $in = _invoke ($out);
+ byte $result = $in.read_octet ();
+ return $result;
+ } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+ $in = $ex.getInputStream ();
+ String _id = $ex.getId ();
+ throw new org.omg.CORBA.MARSHAL (_id);
+ } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+ return setOctet (arg );
+ } finally {
+ _releaseReply ($in);
+ }
+ } // setOctet
+
+ public short setShort (short arg)
+ {
+ org.omg.CORBA.portable.InputStream $in = null;
+ try {
+ org.omg.CORBA.portable.OutputStream $out = _request ("setShort", true);
+ $out.write_short (arg);
+ $in = _invoke ($out);
+ short $result = $in.read_short ();
+ return $result;
+ } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+ $in = $ex.getInputStream ();
+ String _id = $ex.getId ();
+ throw new org.omg.CORBA.MARSHAL (_id);
+ } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+ return setShort (arg );
+ } finally {
+ _releaseReply ($in);
+ }
+ } // setShort
+
+ public short setUnsignedShort (short arg)
+ {
+ org.omg.CORBA.portable.InputStream $in = null;
+ try {
+ org.omg.CORBA.portable.OutputStream $out = _request ("setUnsignedShort", true);
+ $out.write_ushort (arg);
+ $in = _invoke ($out);
+ short $result = $in.read_ushort ();
+ return $result;
+ } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+ $in = $ex.getInputStream ();
+ String _id = $ex.getId ();
+ throw new org.omg.CORBA.MARSHAL (_id);
+ } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+ return setUnsignedShort (arg );
+ } finally {
+ _releaseReply ($in);
+ }
+ } // setUnsignedShort
+
+ public int setLong (int arg)
+ {
+ org.omg.CORBA.portable.InputStream $in = null;
+ try {
+ org.omg.CORBA.portable.OutputStream $out = _request ("setLong", true);
+ $out.write_long (arg);
+ $in = _invoke ($out);
+ int $result = $in.read_long ();
+ return $result;
+ } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+ $in = $ex.getInputStream ();
+ String _id = $ex.getId ();
+ throw new org.omg.CORBA.MARSHAL (_id);
+ } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+ return setLong (arg );
+ } finally {
+ _releaseReply ($in);
+ }
+ } // setLong
+
+ public int setUnsignedLong (int arg)
+ {
+ org.omg.CORBA.portable.InputStream $in = null;
+ try {
+ org.omg.CORBA.portable.OutputStream $out = _request ("setUnsignedLong", true);
+ $out.write_ulong (arg);
+ $in = _invoke ($out);
+ int $result = $in.read_ulong ();
+ return $result;
+ } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+ $in = $ex.getInputStream ();
+ String _id = $ex.getId ();
+ throw new org.omg.CORBA.MARSHAL (_id);
+ } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+ return setUnsignedLong (arg );
+ } finally {
+ _releaseReply ($in);
+ }
+ } // setUnsignedLong
+
+ public long setLongLong (long arg)
+ {
+ org.omg.CORBA.portable.InputStream $in = null;
+ try {
+ org.omg.CORBA.portable.OutputStream $out = _request ("setLongLong", true);
+ $out.write_longlong (arg);
+ $in = _invoke ($out);
+ long $result = $in.read_longlong ();
+ return $result;
+ } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+ $in = $ex.getInputStream ();
+ String _id = $ex.getId ();
+ throw new org.omg.CORBA.MARSHAL (_id);
+ } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+ return setLongLong (arg );
+ } finally {
+ _releaseReply ($in);
+ }
+ } // setLongLong
+
+ public long setUnsignedLongLong (long arg)
+ {
+ org.omg.CORBA.portable.InputStream $in = null;
+ try {
+ org.omg.CORBA.portable.OutputStream $out = _request ("setUnsignedLongLong", true);
+ $out.write_ulonglong (arg);
+ $in = _invoke ($out);
+ long $result = $in.read_ulonglong ();
+ return $result;
+ } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+ $in = $ex.getInputStream ();
+ String _id = $ex.getId ();
+ throw new org.omg.CORBA.MARSHAL (_id);
+ } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+ return setUnsignedLongLong (arg );
+ } finally {
+ _releaseReply ($in);
+ }
+ } // setUnsignedLongLong
+
+ public float setFloat (float arg)
+ {
+ org.omg.CORBA.portable.InputStream $in = null;
+ try {
+ org.omg.CORBA.portable.OutputStream $out = _request ("setFloat", true);
+ $out.write_float (arg);
+ $in = _invoke ($out);
+ float $result = $in.read_float ();
+ return $result;
+ } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+ $in = $ex.getInputStream ();
+ String _id = $ex.getId ();
+ throw new org.omg.CORBA.MARSHAL (_id);
+ } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+ return setFloat (arg );
+ } finally {
+ _releaseReply ($in);
+ }
+ } // setFloat
+
+ public double setDouble (double arg)
+ {
+ org.omg.CORBA.portable.InputStream $in = null;
+ try {
+ org.omg.CORBA.portable.OutputStream $out = _request ("setDouble", true);
+ $out.write_double (arg);
+ $in = _invoke ($out);
+ double $result = $in.read_double ();
+ return $result;
+ } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+ $in = $ex.getInputStream ();
+ String _id = $ex.getId ();
+ throw new org.omg.CORBA.MARSHAL (_id);
+ } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+ return setDouble (arg );
+ } finally {
+ _releaseReply ($in);
+ }
+ } // setDouble
+
+ public String setString (String arg)
+ {
+ org.omg.CORBA.portable.InputStream $in = null;
+ try {
+ org.omg.CORBA.portable.OutputStream $out = _request ("setString", true);
+ $out.write_string (arg);
+ $in = _invoke ($out);
+ String $result = $in.read_string ();
+ return $result;
+ } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+ $in = $ex.getInputStream ();
+ String _id = $ex.getId ();
+ throw new org.omg.CORBA.MARSHAL (_id);
+ } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+ return setString (arg );
+ } finally {
+ _releaseReply ($in);
+ }
+ } // setString
+
+ public String setWstring (String arg)
+ {
+ org.omg.CORBA.portable.InputStream $in = null;
+ try {
+ org.omg.CORBA.portable.OutputStream $out = _request ("setWstring", true);
+ $out.write_wstring (arg);
+ $in = _invoke ($out);
+ String $result = $in.read_wstring ();
+ return $result;
+ } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+ $in = $ex.getInputStream ();
+ String _id = $ex.getId ();
+ throw new org.omg.CORBA.MARSHAL (_id);
+ } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+ return setWstring (arg );
+ } finally {
+ _releaseReply ($in);
+ }
+ } // setWstring
+
+ public org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject setRemoteObject (org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject obj)
+ {
+ org.omg.CORBA.portable.InputStream $in = null;
+ try {
+ org.omg.CORBA.portable.OutputStream $out = _request ("setRemoteObject", true);
+ org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObjectHelper.write ($out, obj);
+ $in = _invoke ($out);
+ org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject $result = org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObjectHelper.read ($in);
+ return $result;
+ } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+ $in = $ex.getInputStream ();
+ String _id = $ex.getId ();
+ throw new org.omg.CORBA.MARSHAL (_id);
+ } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+ return setRemoteObject (obj );
+ } finally {
+ _releaseReply ($in);
+ }
+ } // setRemoteObject
+
+ // Type-specific CORBA::Object operations
+ private static String[] __ids = {
+ "IDL:Tester/PrimitivesSetter:1.0"};
+
+ public String[] _ids ()
+ {
+ return (String[])__ids.clone ();
+ }
+
+ private void readObject (java.io.ObjectInputStream s) throws java.io.IOException
+ {
+ String str = s.readUTF ();
+ String[] args = null;
+ java.util.Properties props = null;
+ org.omg.CORBA.Object obj = org.omg.CORBA.ORB.init (args, props).string_to_object (str);
+ org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl) obj)._get_delegate ();
+ _set_delegate (delegate);
+ }
+
+ private void writeObject (java.io.ObjectOutputStream s) throws java.io.IOException
+ {
+ String[] args = null;
+ java.util.Properties props = null;
+ String str = org.omg.CORBA.ORB.init (args, props).object_to_string (this);
+ s.writeUTF (str);
+ }
+} // class _PrimitivesSetterStub
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_RemoteObjectImplBase.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_RemoteObjectImplBase.java
new file mode 100644
index 0000000000..bf54b1a3c1
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_RemoteObjectImplBase.java
@@ -0,0 +1,66 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/_RemoteObjectImplBase.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+public abstract class _RemoteObjectImplBase extends org.omg.CORBA.portable.ObjectImpl
+ implements org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject, org.omg.CORBA.portable.InvokeHandler
+{
+
+ // Constructors
+ public _RemoteObjectImplBase ()
+ {
+ }
+
+ private static java.util.Hashtable _methods = new java.util.Hashtable ();
+ static
+ {
+ }
+
+ public org.omg.CORBA.portable.OutputStream _invoke (String $method,
+ org.omg.CORBA.portable.InputStream in,
+ org.omg.CORBA.portable.ResponseHandler $rh)
+ {
+ org.omg.CORBA.portable.OutputStream out = null;
+ java.lang.Integer __method = (java.lang.Integer)_methods.get ($method);
+ if (__method == null)
+ throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
+
+ return out;
+ } // _invoke
+
+ // Type-specific CORBA::Object operations
+ private static String[] __ids = {
+ "IDL:Tester/RemoteObject:1.0"};
+
+ public String[] _ids ()
+ {
+ return (String[])__ids.clone ();
+ }
+
+
+} // class _RemoteObjectImplBase
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_RemoteObjectStub.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_RemoteObjectStub.java
new file mode 100644
index 0000000000..4c1ef5fbbe
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_RemoteObjectStub.java
@@ -0,0 +1,59 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/_RemoteObjectStub.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+public class _RemoteObjectStub extends org.omg.CORBA.portable.ObjectImpl implements org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject
+{
+
+ // Type-specific CORBA::Object operations
+ private static String[] __ids = {
+ "IDL:Tester/RemoteObject:1.0"};
+
+ public String[] _ids ()
+ {
+ return (String[])__ids.clone ();
+ }
+
+ private void readObject (java.io.ObjectInputStream s) throws java.io.IOException
+ {
+ String str = s.readUTF ();
+ String[] args = null;
+ java.util.Properties props = null;
+ org.omg.CORBA.Object obj = org.omg.CORBA.ORB.init (args, props).string_to_object (str);
+ org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl) obj)._get_delegate ();
+ _set_delegate (delegate);
+ }
+
+ private void writeObject (java.io.ObjectOutputStream s) throws java.io.IOException
+ {
+ String[] args = null;
+ java.util.Properties props = null;
+ String str = org.omg.CORBA.ORB.init (args, props).object_to_string (this);
+ s.writeUTF (str);
+ }
+} // class _RemoteObjectStub
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_TestObjectImplBase.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_TestObjectImplBase.java
new file mode 100644
index 0000000000..69ae4e1d33
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_TestObjectImplBase.java
@@ -0,0 +1,157 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/_TestObjectImplBase.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+public abstract class _TestObjectImplBase extends org.omg.CORBA.portable.ObjectImpl
+ implements org.apache.tuscany.sca.binding.corba.testing.generated.TestObject, org.omg.CORBA.portable.InvokeHandler
+{
+
+ // Constructors
+ public _TestObjectImplBase ()
+ {
+ }
+
+ private static java.util.Hashtable _methods = new java.util.Hashtable ();
+ static
+ {
+ _methods.put ("pickStructFromArgs", new java.lang.Integer (0));
+ _methods.put ("setStruct", new java.lang.Integer (1));
+ _methods.put ("setSimpleStruct", new java.lang.Integer (2));
+ _methods.put ("setLongSeq1", new java.lang.Integer (3));
+ _methods.put ("setLongSeq2", new java.lang.Integer (4));
+ _methods.put ("setLongSeq3", new java.lang.Integer (5));
+ }
+
+ public org.omg.CORBA.portable.OutputStream _invoke (String $method,
+ org.omg.CORBA.portable.InputStream in,
+ org.omg.CORBA.portable.ResponseHandler $rh)
+ {
+ org.omg.CORBA.portable.OutputStream out = null;
+ java.lang.Integer __method = (java.lang.Integer)_methods.get ($method);
+ if (__method == null)
+ throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
+
+ switch (__method.intValue ())
+ {
+ case 0: // Tester/TestObject/pickStructFromArgs
+ {
+ org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHolder arg1 = new org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHolder ();
+ arg1.value = org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHelper.read (in);
+ org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHolder arg2 = new org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHolder ();
+ arg2.value = org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHelper.read (in);
+ org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHolder arg3 = new org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHolder ();
+ arg3.value = org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHelper.read (in);
+ int structNumber = in.read_long ();
+ org.apache.tuscany.sca.binding.corba.testing.generated.SomeStruct $result = null;
+ $result = this.pickStructFromArgs (arg1, arg2, arg3, structNumber);
+ out = $rh.createReply();
+ org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHelper.write (out, $result);
+ org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHelper.write (out, arg1.value);
+ org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHelper.write (out, arg2.value);
+ org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHelper.write (out, arg3.value);
+ break;
+ }
+
+ case 1: // Tester/TestObject/setStruct
+ {
+ org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHolder arg = new org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHolder ();
+ arg.value = org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHelper.read (in);
+ org.apache.tuscany.sca.binding.corba.testing.generated.SomeStruct $result = null;
+ $result = this.setStruct (arg);
+ out = $rh.createReply();
+ org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHelper.write (out, $result);
+ org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHelper.write (out, arg.value);
+ break;
+ }
+
+ case 2: // Tester/TestObject/setSimpleStruct
+ {
+ org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStructHolder arg = new org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStructHolder ();
+ arg.value = org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStructHelper.read (in);
+ org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStruct $result = null;
+ $result = this.setSimpleStruct (arg);
+ out = $rh.createReply();
+ org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStructHelper.write (out, $result);
+ org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStructHelper.write (out, arg.value);
+ break;
+ }
+
+ case 3: // Tester/TestObject/setLongSeq1
+ {
+ org.apache.tuscany.sca.binding.corba.testing.generated.long_seq1Holder arg = new org.apache.tuscany.sca.binding.corba.testing.generated.long_seq1Holder ();
+ arg.value = org.apache.tuscany.sca.binding.corba.testing.generated.long_seq1Helper.read (in);
+ int $result[] = null;
+ $result = this.setLongSeq1 (arg);
+ out = $rh.createReply();
+ org.apache.tuscany.sca.binding.corba.testing.generated.long_seq1Helper.write (out, $result);
+ org.apache.tuscany.sca.binding.corba.testing.generated.long_seq1Helper.write (out, arg.value);
+ break;
+ }
+
+ case 4: // Tester/TestObject/setLongSeq2
+ {
+ org.apache.tuscany.sca.binding.corba.testing.generated.long_seq2Holder arg = new org.apache.tuscany.sca.binding.corba.testing.generated.long_seq2Holder ();
+ arg.value = org.apache.tuscany.sca.binding.corba.testing.generated.long_seq2Helper.read (in);
+ int $result[][] = null;
+ $result = this.setLongSeq2 (arg);
+ out = $rh.createReply();
+ org.apache.tuscany.sca.binding.corba.testing.generated.long_seq2Helper.write (out, $result);
+ org.apache.tuscany.sca.binding.corba.testing.generated.long_seq2Helper.write (out, arg.value);
+ break;
+ }
+
+ case 5: // Tester/TestObject/setLongSeq3
+ {
+ org.apache.tuscany.sca.binding.corba.testing.generated.long_seq3Holder arg = new org.apache.tuscany.sca.binding.corba.testing.generated.long_seq3Holder ();
+ arg.value = org.apache.tuscany.sca.binding.corba.testing.generated.long_seq3Helper.read (in);
+ int $result[][][] = null;
+ $result = this.setLongSeq3 (arg);
+ out = $rh.createReply();
+ org.apache.tuscany.sca.binding.corba.testing.generated.long_seq3Helper.write (out, $result);
+ org.apache.tuscany.sca.binding.corba.testing.generated.long_seq3Helper.write (out, arg.value);
+ break;
+ }
+
+ default:
+ throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
+ }
+
+ return out;
+ } // _invoke
+
+ // Type-specific CORBA::Object operations
+ private static String[] __ids = {
+ "IDL:Tester/TestObject:1.0"};
+
+ public String[] _ids ()
+ {
+ return (String[])__ids.clone ();
+ }
+
+
+} // class _TestObjectImplBase
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_TestObjectStub.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_TestObjectStub.java
new file mode 100644
index 0000000000..60813f984f
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_TestObjectStub.java
@@ -0,0 +1,190 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/_TestObjectStub.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+public class _TestObjectStub extends org.omg.CORBA.portable.ObjectImpl implements org.apache.tuscany.sca.binding.corba.testing.generated.TestObject
+{
+
+ public org.apache.tuscany.sca.binding.corba.testing.generated.SomeStruct pickStructFromArgs (org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHolder arg1, org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHolder arg2, org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHolder arg3, int structNumber)
+ {
+ org.omg.CORBA.portable.InputStream $in = null;
+ try {
+ org.omg.CORBA.portable.OutputStream $out = _request ("pickStructFromArgs", true);
+ org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHelper.write ($out, arg1.value);
+ org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHelper.write ($out, arg2.value);
+ org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHelper.write ($out, arg3.value);
+ $out.write_long (structNumber);
+ $in = _invoke ($out);
+ org.apache.tuscany.sca.binding.corba.testing.generated.SomeStruct $result = org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHelper.read ($in);
+ arg1.value = org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHelper.read ($in);
+ arg2.value = org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHelper.read ($in);
+ arg3.value = org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHelper.read ($in);
+ return $result;
+ } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+ $in = $ex.getInputStream ();
+ String _id = $ex.getId ();
+ throw new org.omg.CORBA.MARSHAL (_id);
+ } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+ return pickStructFromArgs (arg1, arg2, arg3, structNumber );
+ } finally {
+ _releaseReply ($in);
+ }
+ } // pickStructFromArgs
+
+ public org.apache.tuscany.sca.binding.corba.testing.generated.SomeStruct setStruct (org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHolder arg)
+ {
+ org.omg.CORBA.portable.InputStream $in = null;
+ try {
+ org.omg.CORBA.portable.OutputStream $out = _request ("setStruct", true);
+ org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHelper.write ($out, arg.value);
+ $in = _invoke ($out);
+ org.apache.tuscany.sca.binding.corba.testing.generated.SomeStruct $result = org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHelper.read ($in);
+ arg.value = org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHelper.read ($in);
+ return $result;
+ } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+ $in = $ex.getInputStream ();
+ String _id = $ex.getId ();
+ throw new org.omg.CORBA.MARSHAL (_id);
+ } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+ return setStruct (arg );
+ } finally {
+ _releaseReply ($in);
+ }
+ } // setStruct
+
+ public org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStruct setSimpleStruct (org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStructHolder arg)
+ {
+ org.omg.CORBA.portable.InputStream $in = null;
+ try {
+ org.omg.CORBA.portable.OutputStream $out = _request ("setSimpleStruct", true);
+ org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStructHelper.write ($out, arg.value);
+ $in = _invoke ($out);
+ org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStruct $result = org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStructHelper.read ($in);
+ arg.value = org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStructHelper.read ($in);
+ return $result;
+ } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+ $in = $ex.getInputStream ();
+ String _id = $ex.getId ();
+ throw new org.omg.CORBA.MARSHAL (_id);
+ } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+ return setSimpleStruct (arg );
+ } finally {
+ _releaseReply ($in);
+ }
+ } // setSimpleStruct
+
+ public int[] setLongSeq1 (org.apache.tuscany.sca.binding.corba.testing.generated.long_seq1Holder arg)
+ {
+ org.omg.CORBA.portable.InputStream $in = null;
+ try {
+ org.omg.CORBA.portable.OutputStream $out = _request ("setLongSeq1", true);
+ org.apache.tuscany.sca.binding.corba.testing.generated.long_seq1Helper.write ($out, arg.value);
+ $in = _invoke ($out);
+ int $result[] = org.apache.tuscany.sca.binding.corba.testing.generated.long_seq1Helper.read ($in);
+ arg.value = org.apache.tuscany.sca.binding.corba.testing.generated.long_seq1Helper.read ($in);
+ return $result;
+ } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+ $in = $ex.getInputStream ();
+ String _id = $ex.getId ();
+ throw new org.omg.CORBA.MARSHAL (_id);
+ } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+ return setLongSeq1 (arg );
+ } finally {
+ _releaseReply ($in);
+ }
+ } // setLongSeq1
+
+ public int[][] setLongSeq2 (org.apache.tuscany.sca.binding.corba.testing.generated.long_seq2Holder arg)
+ {
+ org.omg.CORBA.portable.InputStream $in = null;
+ try {
+ org.omg.CORBA.portable.OutputStream $out = _request ("setLongSeq2", true);
+ org.apache.tuscany.sca.binding.corba.testing.generated.long_seq2Helper.write ($out, arg.value);
+ $in = _invoke ($out);
+ int $result[][] = org.apache.tuscany.sca.binding.corba.testing.generated.long_seq2Helper.read ($in);
+ arg.value = org.apache.tuscany.sca.binding.corba.testing.generated.long_seq2Helper.read ($in);
+ return $result;
+ } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+ $in = $ex.getInputStream ();
+ String _id = $ex.getId ();
+ throw new org.omg.CORBA.MARSHAL (_id);
+ } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+ return setLongSeq2 (arg );
+ } finally {
+ _releaseReply ($in);
+ }
+ } // setLongSeq2
+
+ public int[][][] setLongSeq3 (org.apache.tuscany.sca.binding.corba.testing.generated.long_seq3Holder arg)
+ {
+ org.omg.CORBA.portable.InputStream $in = null;
+ try {
+ org.omg.CORBA.portable.OutputStream $out = _request ("setLongSeq3", true);
+ org.apache.tuscany.sca.binding.corba.testing.generated.long_seq3Helper.write ($out, arg.value);
+ $in = _invoke ($out);
+ int $result[][][] = org.apache.tuscany.sca.binding.corba.testing.generated.long_seq3Helper.read ($in);
+ arg.value = org.apache.tuscany.sca.binding.corba.testing.generated.long_seq3Helper.read ($in);
+ return $result;
+ } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+ $in = $ex.getInputStream ();
+ String _id = $ex.getId ();
+ throw new org.omg.CORBA.MARSHAL (_id);
+ } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+ return setLongSeq3 (arg );
+ } finally {
+ _releaseReply ($in);
+ }
+ } // setLongSeq3
+
+ // Type-specific CORBA::Object operations
+ private static String[] __ids = {
+ "IDL:Tester/TestObject:1.0"};
+
+ public String[] _ids ()
+ {
+ return (String[])__ids.clone ();
+ }
+
+ private void readObject (java.io.ObjectInputStream s) throws java.io.IOException
+ {
+ String str = s.readUTF ();
+ String[] args = null;
+ java.util.Properties props = null;
+ org.omg.CORBA.Object obj = org.omg.CORBA.ORB.init (args, props).string_to_object (str);
+ org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl) obj)._get_delegate ();
+ _set_delegate (delegate);
+ }
+
+ private void writeObject (java.io.ObjectOutputStream s) throws java.io.IOException
+ {
+ String[] args = null;
+ java.util.Properties props = null;
+ String str = org.omg.CORBA.ORB.init (args, props).object_to_string (this);
+ s.writeUTF (str);
+ }
+} // class _TestObjectStub
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/boolean_listHelper.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/boolean_listHelper.java
new file mode 100644
index 0000000000..b255ec191b
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/boolean_listHelper.java
@@ -0,0 +1,79 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/boolean_listHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+abstract public class boolean_listHelper
+{
+ private static String _id = "IDL:Tester/boolean_list:1.0";
+
+ public static void insert (org.omg.CORBA.Any a, boolean[] that)
+ {
+ org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
+ a.type (type ());
+ write (out, that);
+ a.read_value (out.create_input_stream (), type ());
+ }
+
+ public static boolean[] extract (org.omg.CORBA.Any a)
+ {
+ return read (a.create_input_stream ());
+ }
+
+ private static org.omg.CORBA.TypeCode __typeCode = null;
+ synchronized public static org.omg.CORBA.TypeCode type ()
+ {
+ if (__typeCode == null)
+ {
+ __typeCode = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_boolean);
+ __typeCode = org.omg.CORBA.ORB.init ().create_sequence_tc (0, __typeCode);
+ __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.apache.tuscany.sca.binding.corba.testing.generated.boolean_listHelper.id (), "boolean_list", __typeCode);
+ }
+ return __typeCode;
+ }
+
+ public static String id ()
+ {
+ return _id;
+ }
+
+ public static boolean[] read (org.omg.CORBA.portable.InputStream istream)
+ {
+ boolean value[] = null;
+ int _len0 = istream.read_long ();
+ value = new boolean[_len0];
+ istream.read_boolean_array (value, 0, _len0);
+ return value;
+ }
+
+ public static void write (org.omg.CORBA.portable.OutputStream ostream, boolean[] value)
+ {
+ ostream.write_long (value.length);
+ ostream.write_boolean_array (value, 0, value.length);
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/boolean_listHolder.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/boolean_listHolder.java
new file mode 100644
index 0000000000..b1ae0ff24b
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/boolean_listHolder.java
@@ -0,0 +1,58 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/boolean_listHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+public final class boolean_listHolder implements org.omg.CORBA.portable.Streamable
+{
+ public boolean value[] = null;
+
+ public boolean_listHolder ()
+ {
+ }
+
+ public boolean_listHolder (boolean[] initialValue)
+ {
+ value = initialValue;
+ }
+
+ public void _read (org.omg.CORBA.portable.InputStream i)
+ {
+ value = org.apache.tuscany.sca.binding.corba.testing.generated.boolean_listHelper.read (i);
+ }
+
+ public void _write (org.omg.CORBA.portable.OutputStream o)
+ {
+ org.apache.tuscany.sca.binding.corba.testing.generated.boolean_listHelper.write (o, value);
+ }
+
+ public org.omg.CORBA.TypeCode _type ()
+ {
+ return org.apache.tuscany.sca.binding.corba.testing.generated.boolean_listHelper.type ();
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/char_listHelper.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/char_listHelper.java
new file mode 100644
index 0000000000..a31df9088b
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/char_listHelper.java
@@ -0,0 +1,79 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/char_listHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+abstract public class char_listHelper
+{
+ private static String _id = "IDL:Tester/char_list:1.0";
+
+ public static void insert (org.omg.CORBA.Any a, char[] that)
+ {
+ org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
+ a.type (type ());
+ write (out, that);
+ a.read_value (out.create_input_stream (), type ());
+ }
+
+ public static char[] extract (org.omg.CORBA.Any a)
+ {
+ return read (a.create_input_stream ());
+ }
+
+ private static org.omg.CORBA.TypeCode __typeCode = null;
+ synchronized public static org.omg.CORBA.TypeCode type ()
+ {
+ if (__typeCode == null)
+ {
+ __typeCode = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_char);
+ __typeCode = org.omg.CORBA.ORB.init ().create_sequence_tc (0, __typeCode);
+ __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.apache.tuscany.sca.binding.corba.testing.generated.char_listHelper.id (), "char_list", __typeCode);
+ }
+ return __typeCode;
+ }
+
+ public static String id ()
+ {
+ return _id;
+ }
+
+ public static char[] read (org.omg.CORBA.portable.InputStream istream)
+ {
+ char value[] = null;
+ int _len0 = istream.read_long ();
+ value = new char[_len0];
+ istream.read_char_array (value, 0, _len0);
+ return value;
+ }
+
+ public static void write (org.omg.CORBA.portable.OutputStream ostream, char[] value)
+ {
+ ostream.write_long (value.length);
+ ostream.write_char_array (value, 0, value.length);
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/char_listHolder.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/char_listHolder.java
new file mode 100644
index 0000000000..76bbbc625e
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/char_listHolder.java
@@ -0,0 +1,58 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/char_listHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+public final class char_listHolder implements org.omg.CORBA.portable.Streamable
+{
+ public char value[] = null;
+
+ public char_listHolder ()
+ {
+ }
+
+ public char_listHolder (char[] initialValue)
+ {
+ value = initialValue;
+ }
+
+ public void _read (org.omg.CORBA.portable.InputStream i)
+ {
+ value = org.apache.tuscany.sca.binding.corba.testing.generated.char_listHelper.read (i);
+ }
+
+ public void _write (org.omg.CORBA.portable.OutputStream o)
+ {
+ org.apache.tuscany.sca.binding.corba.testing.generated.char_listHelper.write (o, value);
+ }
+
+ public org.omg.CORBA.TypeCode _type ()
+ {
+ return org.apache.tuscany.sca.binding.corba.testing.generated.char_listHelper.type ();
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/double_listHelper.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/double_listHelper.java
new file mode 100644
index 0000000000..efa3d6d47f
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/double_listHelper.java
@@ -0,0 +1,79 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/double_listHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+abstract public class double_listHelper
+{
+ private static String _id = "IDL:Tester/double_list:1.0";
+
+ public static void insert (org.omg.CORBA.Any a, double[] that)
+ {
+ org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
+ a.type (type ());
+ write (out, that);
+ a.read_value (out.create_input_stream (), type ());
+ }
+
+ public static double[] extract (org.omg.CORBA.Any a)
+ {
+ return read (a.create_input_stream ());
+ }
+
+ private static org.omg.CORBA.TypeCode __typeCode = null;
+ synchronized public static org.omg.CORBA.TypeCode type ()
+ {
+ if (__typeCode == null)
+ {
+ __typeCode = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_double);
+ __typeCode = org.omg.CORBA.ORB.init ().create_sequence_tc (0, __typeCode);
+ __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.apache.tuscany.sca.binding.corba.testing.generated.double_listHelper.id (), "double_list", __typeCode);
+ }
+ return __typeCode;
+ }
+
+ public static String id ()
+ {
+ return _id;
+ }
+
+ public static double[] read (org.omg.CORBA.portable.InputStream istream)
+ {
+ double value[] = null;
+ int _len0 = istream.read_long ();
+ value = new double[_len0];
+ istream.read_double_array (value, 0, _len0);
+ return value;
+ }
+
+ public static void write (org.omg.CORBA.portable.OutputStream ostream, double[] value)
+ {
+ ostream.write_long (value.length);
+ ostream.write_double_array (value, 0, value.length);
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/double_listHolder.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/double_listHolder.java
new file mode 100644
index 0000000000..72ef45a8a6
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/double_listHolder.java
@@ -0,0 +1,58 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/double_listHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+public final class double_listHolder implements org.omg.CORBA.portable.Streamable
+{
+ public double value[] = null;
+
+ public double_listHolder ()
+ {
+ }
+
+ public double_listHolder (double[] initialValue)
+ {
+ value = initialValue;
+ }
+
+ public void _read (org.omg.CORBA.portable.InputStream i)
+ {
+ value = org.apache.tuscany.sca.binding.corba.testing.generated.double_listHelper.read (i);
+ }
+
+ public void _write (org.omg.CORBA.portable.OutputStream o)
+ {
+ org.apache.tuscany.sca.binding.corba.testing.generated.double_listHelper.write (o, value);
+ }
+
+ public org.omg.CORBA.TypeCode _type ()
+ {
+ return org.apache.tuscany.sca.binding.corba.testing.generated.double_listHelper.type ();
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/float_listHelper.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/float_listHelper.java
new file mode 100644
index 0000000000..5de19c6507
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/float_listHelper.java
@@ -0,0 +1,79 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/float_listHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+abstract public class float_listHelper
+{
+ private static String _id = "IDL:Tester/float_list:1.0";
+
+ public static void insert (org.omg.CORBA.Any a, float[] that)
+ {
+ org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
+ a.type (type ());
+ write (out, that);
+ a.read_value (out.create_input_stream (), type ());
+ }
+
+ public static float[] extract (org.omg.CORBA.Any a)
+ {
+ return read (a.create_input_stream ());
+ }
+
+ private static org.omg.CORBA.TypeCode __typeCode = null;
+ synchronized public static org.omg.CORBA.TypeCode type ()
+ {
+ if (__typeCode == null)
+ {
+ __typeCode = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_float);
+ __typeCode = org.omg.CORBA.ORB.init ().create_sequence_tc (0, __typeCode);
+ __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.apache.tuscany.sca.binding.corba.testing.generated.float_listHelper.id (), "float_list", __typeCode);
+ }
+ return __typeCode;
+ }
+
+ public static String id ()
+ {
+ return _id;
+ }
+
+ public static float[] read (org.omg.CORBA.portable.InputStream istream)
+ {
+ float value[] = null;
+ int _len0 = istream.read_long ();
+ value = new float[_len0];
+ istream.read_float_array (value, 0, _len0);
+ return value;
+ }
+
+ public static void write (org.omg.CORBA.portable.OutputStream ostream, float[] value)
+ {
+ ostream.write_long (value.length);
+ ostream.write_float_array (value, 0, value.length);
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/float_listHolder.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/float_listHolder.java
new file mode 100644
index 0000000000..97713d14a8
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/float_listHolder.java
@@ -0,0 +1,58 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/float_listHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+public final class float_listHolder implements org.omg.CORBA.portable.Streamable
+{
+ public float value[] = null;
+
+ public float_listHolder ()
+ {
+ }
+
+ public float_listHolder (float[] initialValue)
+ {
+ value = initialValue;
+ }
+
+ public void _read (org.omg.CORBA.portable.InputStream i)
+ {
+ value = org.apache.tuscany.sca.binding.corba.testing.generated.float_listHelper.read (i);
+ }
+
+ public void _write (org.omg.CORBA.portable.OutputStream o)
+ {
+ org.apache.tuscany.sca.binding.corba.testing.generated.float_listHelper.write (o, value);
+ }
+
+ public org.omg.CORBA.TypeCode _type ()
+ {
+ return org.apache.tuscany.sca.binding.corba.testing.generated.float_listHelper.type ();
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_listHelper.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_listHelper.java
new file mode 100644
index 0000000000..bd8fb80e9f
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_listHelper.java
@@ -0,0 +1,79 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/long_listHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+abstract public class long_listHelper
+{
+ private static String _id = "IDL:Tester/long_list:1.0";
+
+ public static void insert (org.omg.CORBA.Any a, int[] that)
+ {
+ org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
+ a.type (type ());
+ write (out, that);
+ a.read_value (out.create_input_stream (), type ());
+ }
+
+ public static int[] extract (org.omg.CORBA.Any a)
+ {
+ return read (a.create_input_stream ());
+ }
+
+ private static org.omg.CORBA.TypeCode __typeCode = null;
+ synchronized public static org.omg.CORBA.TypeCode type ()
+ {
+ if (__typeCode == null)
+ {
+ __typeCode = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_long);
+ __typeCode = org.omg.CORBA.ORB.init ().create_sequence_tc (0, __typeCode);
+ __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.apache.tuscany.sca.binding.corba.testing.generated.long_listHelper.id (), "long_list", __typeCode);
+ }
+ return __typeCode;
+ }
+
+ public static String id ()
+ {
+ return _id;
+ }
+
+ public static int[] read (org.omg.CORBA.portable.InputStream istream)
+ {
+ int value[] = null;
+ int _len0 = istream.read_long ();
+ value = new int[_len0];
+ istream.read_long_array (value, 0, _len0);
+ return value;
+ }
+
+ public static void write (org.omg.CORBA.portable.OutputStream ostream, int[] value)
+ {
+ ostream.write_long (value.length);
+ ostream.write_long_array (value, 0, value.length);
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_listHolder.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_listHolder.java
new file mode 100644
index 0000000000..d45a339cb4
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_listHolder.java
@@ -0,0 +1,58 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/long_listHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+public final class long_listHolder implements org.omg.CORBA.portable.Streamable
+{
+ public int value[] = null;
+
+ public long_listHolder ()
+ {
+ }
+
+ public long_listHolder (int[] initialValue)
+ {
+ value = initialValue;
+ }
+
+ public void _read (org.omg.CORBA.portable.InputStream i)
+ {
+ value = org.apache.tuscany.sca.binding.corba.testing.generated.long_listHelper.read (i);
+ }
+
+ public void _write (org.omg.CORBA.portable.OutputStream o)
+ {
+ org.apache.tuscany.sca.binding.corba.testing.generated.long_listHelper.write (o, value);
+ }
+
+ public org.omg.CORBA.TypeCode _type ()
+ {
+ return org.apache.tuscany.sca.binding.corba.testing.generated.long_listHelper.type ();
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_long_listHelper.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_long_listHelper.java
new file mode 100644
index 0000000000..d9e8fe14cb
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_long_listHelper.java
@@ -0,0 +1,79 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/long_long_listHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+abstract public class long_long_listHelper
+{
+ private static String _id = "IDL:Tester/long_long_list:1.0";
+
+ public static void insert (org.omg.CORBA.Any a, long[] that)
+ {
+ org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
+ a.type (type ());
+ write (out, that);
+ a.read_value (out.create_input_stream (), type ());
+ }
+
+ public static long[] extract (org.omg.CORBA.Any a)
+ {
+ return read (a.create_input_stream ());
+ }
+
+ private static org.omg.CORBA.TypeCode __typeCode = null;
+ synchronized public static org.omg.CORBA.TypeCode type ()
+ {
+ if (__typeCode == null)
+ {
+ __typeCode = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_longlong);
+ __typeCode = org.omg.CORBA.ORB.init ().create_sequence_tc (0, __typeCode);
+ __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.apache.tuscany.sca.binding.corba.testing.generated.long_long_listHelper.id (), "long_long_list", __typeCode);
+ }
+ return __typeCode;
+ }
+
+ public static String id ()
+ {
+ return _id;
+ }
+
+ public static long[] read (org.omg.CORBA.portable.InputStream istream)
+ {
+ long value[] = null;
+ int _len0 = istream.read_long ();
+ value = new long[_len0];
+ istream.read_longlong_array (value, 0, _len0);
+ return value;
+ }
+
+ public static void write (org.omg.CORBA.portable.OutputStream ostream, long[] value)
+ {
+ ostream.write_long (value.length);
+ ostream.write_longlong_array (value, 0, value.length);
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_long_listHolder.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_long_listHolder.java
new file mode 100644
index 0000000000..535cd2fd37
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_long_listHolder.java
@@ -0,0 +1,58 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/long_long_listHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+public final class long_long_listHolder implements org.omg.CORBA.portable.Streamable
+{
+ public long value[] = null;
+
+ public long_long_listHolder ()
+ {
+ }
+
+ public long_long_listHolder (long[] initialValue)
+ {
+ value = initialValue;
+ }
+
+ public void _read (org.omg.CORBA.portable.InputStream i)
+ {
+ value = org.apache.tuscany.sca.binding.corba.testing.generated.long_long_listHelper.read (i);
+ }
+
+ public void _write (org.omg.CORBA.portable.OutputStream o)
+ {
+ org.apache.tuscany.sca.binding.corba.testing.generated.long_long_listHelper.write (o, value);
+ }
+
+ public org.omg.CORBA.TypeCode _type ()
+ {
+ return org.apache.tuscany.sca.binding.corba.testing.generated.long_long_listHelper.type ();
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq1Helper.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq1Helper.java
new file mode 100644
index 0000000000..3b8151f454
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq1Helper.java
@@ -0,0 +1,79 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/long_seq1Helper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+abstract public class long_seq1Helper
+{
+ private static String _id = "IDL:Tester/long_seq1:1.0";
+
+ public static void insert (org.omg.CORBA.Any a, int[] that)
+ {
+ org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
+ a.type (type ());
+ write (out, that);
+ a.read_value (out.create_input_stream (), type ());
+ }
+
+ public static int[] extract (org.omg.CORBA.Any a)
+ {
+ return read (a.create_input_stream ());
+ }
+
+ private static org.omg.CORBA.TypeCode __typeCode = null;
+ synchronized public static org.omg.CORBA.TypeCode type ()
+ {
+ if (__typeCode == null)
+ {
+ __typeCode = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_long);
+ __typeCode = org.omg.CORBA.ORB.init ().create_sequence_tc (0, __typeCode);
+ __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.apache.tuscany.sca.binding.corba.testing.generated.long_seq1Helper.id (), "long_seq1", __typeCode);
+ }
+ return __typeCode;
+ }
+
+ public static String id ()
+ {
+ return _id;
+ }
+
+ public static int[] read (org.omg.CORBA.portable.InputStream istream)
+ {
+ int value[] = null;
+ int _len0 = istream.read_long ();
+ value = new int[_len0];
+ istream.read_long_array (value, 0, _len0);
+ return value;
+ }
+
+ public static void write (org.omg.CORBA.portable.OutputStream ostream, int[] value)
+ {
+ ostream.write_long (value.length);
+ ostream.write_long_array (value, 0, value.length);
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq1Holder.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq1Holder.java
new file mode 100644
index 0000000000..23d5939811
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq1Holder.java
@@ -0,0 +1,58 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/long_seq1Holder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+public final class long_seq1Holder implements org.omg.CORBA.portable.Streamable
+{
+ public int value[] = null;
+
+ public long_seq1Holder ()
+ {
+ }
+
+ public long_seq1Holder (int[] initialValue)
+ {
+ value = initialValue;
+ }
+
+ public void _read (org.omg.CORBA.portable.InputStream i)
+ {
+ value = org.apache.tuscany.sca.binding.corba.testing.generated.long_seq1Helper.read (i);
+ }
+
+ public void _write (org.omg.CORBA.portable.OutputStream o)
+ {
+ org.apache.tuscany.sca.binding.corba.testing.generated.long_seq1Helper.write (o, value);
+ }
+
+ public org.omg.CORBA.TypeCode _type ()
+ {
+ return org.apache.tuscany.sca.binding.corba.testing.generated.long_seq1Helper.type ();
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq2Helper.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq2Helper.java
new file mode 100644
index 0000000000..59dd5c39aa
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq2Helper.java
@@ -0,0 +1,83 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/long_seq2Helper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+abstract public class long_seq2Helper
+{
+ private static String _id = "IDL:Tester/long_seq2:1.0";
+
+ public static void insert (org.omg.CORBA.Any a, int[][] that)
+ {
+ org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
+ a.type (type ());
+ write (out, that);
+ a.read_value (out.create_input_stream (), type ());
+ }
+
+ public static int[][] extract (org.omg.CORBA.Any a)
+ {
+ return read (a.create_input_stream ());
+ }
+
+ private static org.omg.CORBA.TypeCode __typeCode = null;
+ synchronized public static org.omg.CORBA.TypeCode type ()
+ {
+ if (__typeCode == null)
+ {
+ __typeCode = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_long);
+ __typeCode = org.omg.CORBA.ORB.init ().create_sequence_tc (0, __typeCode);
+ __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.apache.tuscany.sca.binding.corba.testing.generated.long_seq1Helper.id (), "long_seq1", __typeCode);
+ __typeCode = org.omg.CORBA.ORB.init ().create_sequence_tc (0, __typeCode);
+ __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.apache.tuscany.sca.binding.corba.testing.generated.long_seq2Helper.id (), "long_seq2", __typeCode);
+ }
+ return __typeCode;
+ }
+
+ public static String id ()
+ {
+ return _id;
+ }
+
+ public static int[][] read (org.omg.CORBA.portable.InputStream istream)
+ {
+ int value[][] = null;
+ int _len0 = istream.read_long ();
+ value = new int[_len0][];
+ for (int _o1 = 0;_o1 < value.length; ++_o1)
+ value[_o1] = org.apache.tuscany.sca.binding.corba.testing.generated.long_seq1Helper.read (istream);
+ return value;
+ }
+
+ public static void write (org.omg.CORBA.portable.OutputStream ostream, int[][] value)
+ {
+ ostream.write_long (value.length);
+ for (int _i0 = 0;_i0 < value.length; ++_i0)
+ org.apache.tuscany.sca.binding.corba.testing.generated.long_seq1Helper.write (ostream, value[_i0]);
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq2Holder.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq2Holder.java
new file mode 100644
index 0000000000..37c99438ee
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq2Holder.java
@@ -0,0 +1,58 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/long_seq2Holder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+public final class long_seq2Holder implements org.omg.CORBA.portable.Streamable
+{
+ public int value[][] = null;
+
+ public long_seq2Holder ()
+ {
+ }
+
+ public long_seq2Holder (int[][] initialValue)
+ {
+ value = initialValue;
+ }
+
+ public void _read (org.omg.CORBA.portable.InputStream i)
+ {
+ value = org.apache.tuscany.sca.binding.corba.testing.generated.long_seq2Helper.read (i);
+ }
+
+ public void _write (org.omg.CORBA.portable.OutputStream o)
+ {
+ org.apache.tuscany.sca.binding.corba.testing.generated.long_seq2Helper.write (o, value);
+ }
+
+ public org.omg.CORBA.TypeCode _type ()
+ {
+ return org.apache.tuscany.sca.binding.corba.testing.generated.long_seq2Helper.type ();
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq3Helper.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq3Helper.java
new file mode 100644
index 0000000000..f571cd0db5
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq3Helper.java
@@ -0,0 +1,85 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/long_seq3Helper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+abstract public class long_seq3Helper
+{
+ private static String _id = "IDL:Tester/long_seq3:1.0";
+
+ public static void insert (org.omg.CORBA.Any a, int[][][] that)
+ {
+ org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
+ a.type (type ());
+ write (out, that);
+ a.read_value (out.create_input_stream (), type ());
+ }
+
+ public static int[][][] extract (org.omg.CORBA.Any a)
+ {
+ return read (a.create_input_stream ());
+ }
+
+ private static org.omg.CORBA.TypeCode __typeCode = null;
+ synchronized public static org.omg.CORBA.TypeCode type ()
+ {
+ if (__typeCode == null)
+ {
+ __typeCode = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_long);
+ __typeCode = org.omg.CORBA.ORB.init ().create_sequence_tc (0, __typeCode);
+ __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.apache.tuscany.sca.binding.corba.testing.generated.long_seq1Helper.id (), "long_seq1", __typeCode);
+ __typeCode = org.omg.CORBA.ORB.init ().create_sequence_tc (0, __typeCode);
+ __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.apache.tuscany.sca.binding.corba.testing.generated.long_seq2Helper.id (), "long_seq2", __typeCode);
+ __typeCode = org.omg.CORBA.ORB.init ().create_sequence_tc (0, __typeCode);
+ __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.apache.tuscany.sca.binding.corba.testing.generated.long_seq3Helper.id (), "long_seq3", __typeCode);
+ }
+ return __typeCode;
+ }
+
+ public static String id ()
+ {
+ return _id;
+ }
+
+ public static int[][][] read (org.omg.CORBA.portable.InputStream istream)
+ {
+ int value[][][] = null;
+ int _len0 = istream.read_long ();
+ value = new int[_len0][][];
+ for (int _o1 = 0;_o1 < value.length; ++_o1)
+ value[_o1] = org.apache.tuscany.sca.binding.corba.testing.generated.long_seq2Helper.read (istream);
+ return value;
+ }
+
+ public static void write (org.omg.CORBA.portable.OutputStream ostream, int[][][] value)
+ {
+ ostream.write_long (value.length);
+ for (int _i0 = 0;_i0 < value.length; ++_i0)
+ org.apache.tuscany.sca.binding.corba.testing.generated.long_seq2Helper.write (ostream, value[_i0]);
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq3Holder.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq3Holder.java
new file mode 100644
index 0000000000..fdcd821a50
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq3Holder.java
@@ -0,0 +1,58 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/long_seq3Holder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+public final class long_seq3Holder implements org.omg.CORBA.portable.Streamable
+{
+ public int value[][][] = null;
+
+ public long_seq3Holder ()
+ {
+ }
+
+ public long_seq3Holder (int[][][] initialValue)
+ {
+ value = initialValue;
+ }
+
+ public void _read (org.omg.CORBA.portable.InputStream i)
+ {
+ value = org.apache.tuscany.sca.binding.corba.testing.generated.long_seq3Helper.read (i);
+ }
+
+ public void _write (org.omg.CORBA.portable.OutputStream o)
+ {
+ org.apache.tuscany.sca.binding.corba.testing.generated.long_seq3Helper.write (o, value);
+ }
+
+ public org.omg.CORBA.TypeCode _type ()
+ {
+ return org.apache.tuscany.sca.binding.corba.testing.generated.long_seq3Helper.type ();
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/octet_listHelper.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/octet_listHelper.java
new file mode 100644
index 0000000000..a9e32416b0
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/octet_listHelper.java
@@ -0,0 +1,79 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/octet_listHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+abstract public class octet_listHelper
+{
+ private static String _id = "IDL:Tester/octet_list:1.0";
+
+ public static void insert (org.omg.CORBA.Any a, byte[] that)
+ {
+ org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
+ a.type (type ());
+ write (out, that);
+ a.read_value (out.create_input_stream (), type ());
+ }
+
+ public static byte[] extract (org.omg.CORBA.Any a)
+ {
+ return read (a.create_input_stream ());
+ }
+
+ private static org.omg.CORBA.TypeCode __typeCode = null;
+ synchronized public static org.omg.CORBA.TypeCode type ()
+ {
+ if (__typeCode == null)
+ {
+ __typeCode = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_octet);
+ __typeCode = org.omg.CORBA.ORB.init ().create_sequence_tc (0, __typeCode);
+ __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.apache.tuscany.sca.binding.corba.testing.generated.octet_listHelper.id (), "octet_list", __typeCode);
+ }
+ return __typeCode;
+ }
+
+ public static String id ()
+ {
+ return _id;
+ }
+
+ public static byte[] read (org.omg.CORBA.portable.InputStream istream)
+ {
+ byte value[] = null;
+ int _len0 = istream.read_long ();
+ value = new byte[_len0];
+ istream.read_octet_array (value, 0, _len0);
+ return value;
+ }
+
+ public static void write (org.omg.CORBA.portable.OutputStream ostream, byte[] value)
+ {
+ ostream.write_long (value.length);
+ ostream.write_octet_array (value, 0, value.length);
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/octet_listHolder.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/octet_listHolder.java
new file mode 100644
index 0000000000..07d85d1a1e
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/octet_listHolder.java
@@ -0,0 +1,58 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/octet_listHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+public final class octet_listHolder implements org.omg.CORBA.portable.Streamable
+{
+ public byte value[] = null;
+
+ public octet_listHolder ()
+ {
+ }
+
+ public octet_listHolder (byte[] initialValue)
+ {
+ value = initialValue;
+ }
+
+ public void _read (org.omg.CORBA.portable.InputStream i)
+ {
+ value = org.apache.tuscany.sca.binding.corba.testing.generated.octet_listHelper.read (i);
+ }
+
+ public void _write (org.omg.CORBA.portable.OutputStream o)
+ {
+ org.apache.tuscany.sca.binding.corba.testing.generated.octet_listHelper.write (o, value);
+ }
+
+ public org.omg.CORBA.TypeCode _type ()
+ {
+ return org.apache.tuscany.sca.binding.corba.testing.generated.octet_listHelper.type ();
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/remote_object_listHelper.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/remote_object_listHelper.java
new file mode 100644
index 0000000000..3bbd68ffa0
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/remote_object_listHelper.java
@@ -0,0 +1,81 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/remote_object_listHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+abstract public class remote_object_listHelper
+{
+ private static String _id = "IDL:Tester/remote_object_list:1.0";
+
+ public static void insert (org.omg.CORBA.Any a, org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject[] that)
+ {
+ org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
+ a.type (type ());
+ write (out, that);
+ a.read_value (out.create_input_stream (), type ());
+ }
+
+ public static org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject[] extract (org.omg.CORBA.Any a)
+ {
+ return read (a.create_input_stream ());
+ }
+
+ private static org.omg.CORBA.TypeCode __typeCode = null;
+ synchronized public static org.omg.CORBA.TypeCode type ()
+ {
+ if (__typeCode == null)
+ {
+ __typeCode = org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObjectHelper.type ();
+ __typeCode = org.omg.CORBA.ORB.init ().create_sequence_tc (0, __typeCode);
+ __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.apache.tuscany.sca.binding.corba.testing.generated.remote_object_listHelper.id (), "remote_object_list", __typeCode);
+ }
+ return __typeCode;
+ }
+
+ public static String id ()
+ {
+ return _id;
+ }
+
+ public static org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject[] read (org.omg.CORBA.portable.InputStream istream)
+ {
+ org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject value[] = null;
+ int _len0 = istream.read_long ();
+ value = new org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject[_len0];
+ for (int _o1 = 0;_o1 < value.length; ++_o1)
+ value[_o1] = org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObjectHelper.read (istream);
+ return value;
+ }
+
+ public static void write (org.omg.CORBA.portable.OutputStream ostream, org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject[] value)
+ {
+ ostream.write_long (value.length);
+ for (int _i0 = 0;_i0 < value.length; ++_i0)
+ org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObjectHelper.write (ostream, value[_i0]);
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/remote_object_listHolder.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/remote_object_listHolder.java
new file mode 100644
index 0000000000..3e3ae28983
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/remote_object_listHolder.java
@@ -0,0 +1,58 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/remote_object_listHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+public final class remote_object_listHolder implements org.omg.CORBA.portable.Streamable
+{
+ public org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject value[] = null;
+
+ public remote_object_listHolder ()
+ {
+ }
+
+ public remote_object_listHolder (org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject[] initialValue)
+ {
+ value = initialValue;
+ }
+
+ public void _read (org.omg.CORBA.portable.InputStream i)
+ {
+ value = org.apache.tuscany.sca.binding.corba.testing.generated.remote_object_listHelper.read (i);
+ }
+
+ public void _write (org.omg.CORBA.portable.OutputStream o)
+ {
+ org.apache.tuscany.sca.binding.corba.testing.generated.remote_object_listHelper.write (o, value);
+ }
+
+ public org.omg.CORBA.TypeCode _type ()
+ {
+ return org.apache.tuscany.sca.binding.corba.testing.generated.remote_object_listHelper.type ();
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/short_listHelper.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/short_listHelper.java
new file mode 100644
index 0000000000..c013a0fbe0
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/short_listHelper.java
@@ -0,0 +1,79 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/short_listHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+abstract public class short_listHelper
+{
+ private static String _id = "IDL:Tester/short_list:1.0";
+
+ public static void insert (org.omg.CORBA.Any a, short[] that)
+ {
+ org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
+ a.type (type ());
+ write (out, that);
+ a.read_value (out.create_input_stream (), type ());
+ }
+
+ public static short[] extract (org.omg.CORBA.Any a)
+ {
+ return read (a.create_input_stream ());
+ }
+
+ private static org.omg.CORBA.TypeCode __typeCode = null;
+ synchronized public static org.omg.CORBA.TypeCode type ()
+ {
+ if (__typeCode == null)
+ {
+ __typeCode = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_short);
+ __typeCode = org.omg.CORBA.ORB.init ().create_sequence_tc (0, __typeCode);
+ __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.apache.tuscany.sca.binding.corba.testing.generated.short_listHelper.id (), "short_list", __typeCode);
+ }
+ return __typeCode;
+ }
+
+ public static String id ()
+ {
+ return _id;
+ }
+
+ public static short[] read (org.omg.CORBA.portable.InputStream istream)
+ {
+ short value[] = null;
+ int _len0 = istream.read_long ();
+ value = new short[_len0];
+ istream.read_short_array (value, 0, _len0);
+ return value;
+ }
+
+ public static void write (org.omg.CORBA.portable.OutputStream ostream, short[] value)
+ {
+ ostream.write_long (value.length);
+ ostream.write_short_array (value, 0, value.length);
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/short_listHolder.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/short_listHolder.java
new file mode 100644
index 0000000000..b42302dbf4
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/short_listHolder.java
@@ -0,0 +1,58 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/short_listHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+public final class short_listHolder implements org.omg.CORBA.portable.Streamable
+{
+ public short value[] = null;
+
+ public short_listHolder ()
+ {
+ }
+
+ public short_listHolder (short[] initialValue)
+ {
+ value = initialValue;
+ }
+
+ public void _read (org.omg.CORBA.portable.InputStream i)
+ {
+ value = org.apache.tuscany.sca.binding.corba.testing.generated.short_listHelper.read (i);
+ }
+
+ public void _write (org.omg.CORBA.portable.OutputStream o)
+ {
+ org.apache.tuscany.sca.binding.corba.testing.generated.short_listHelper.write (o, value);
+ }
+
+ public org.omg.CORBA.TypeCode _type ()
+ {
+ return org.apache.tuscany.sca.binding.corba.testing.generated.short_listHelper.type ();
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/string_listHelper.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/string_listHelper.java
new file mode 100644
index 0000000000..b4543be986
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/string_listHelper.java
@@ -0,0 +1,81 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/string_listHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+abstract public class string_listHelper
+{
+ private static String _id = "IDL:Tester/string_list:1.0";
+
+ public static void insert (org.omg.CORBA.Any a, String[] that)
+ {
+ org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
+ a.type (type ());
+ write (out, that);
+ a.read_value (out.create_input_stream (), type ());
+ }
+
+ public static String[] extract (org.omg.CORBA.Any a)
+ {
+ return read (a.create_input_stream ());
+ }
+
+ private static org.omg.CORBA.TypeCode __typeCode = null;
+ synchronized public static org.omg.CORBA.TypeCode type ()
+ {
+ if (__typeCode == null)
+ {
+ __typeCode = org.omg.CORBA.ORB.init ().create_string_tc (0);
+ __typeCode = org.omg.CORBA.ORB.init ().create_sequence_tc (0, __typeCode);
+ __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.apache.tuscany.sca.binding.corba.testing.generated.string_listHelper.id (), "string_list", __typeCode);
+ }
+ return __typeCode;
+ }
+
+ public static String id ()
+ {
+ return _id;
+ }
+
+ public static String[] read (org.omg.CORBA.portable.InputStream istream)
+ {
+ String value[] = null;
+ int _len0 = istream.read_long ();
+ value = new String[_len0];
+ for (int _o1 = 0;_o1 < value.length; ++_o1)
+ value[_o1] = istream.read_string ();
+ return value;
+ }
+
+ public static void write (org.omg.CORBA.portable.OutputStream ostream, String[] value)
+ {
+ ostream.write_long (value.length);
+ for (int _i0 = 0;_i0 < value.length; ++_i0)
+ ostream.write_string (value[_i0]);
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/string_listHolder.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/string_listHolder.java
new file mode 100644
index 0000000000..468247a434
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/string_listHolder.java
@@ -0,0 +1,58 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/string_listHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+public final class string_listHolder implements org.omg.CORBA.portable.Streamable
+{
+ public String value[] = null;
+
+ public string_listHolder ()
+ {
+ }
+
+ public string_listHolder (String[] initialValue)
+ {
+ value = initialValue;
+ }
+
+ public void _read (org.omg.CORBA.portable.InputStream i)
+ {
+ value = org.apache.tuscany.sca.binding.corba.testing.generated.string_listHelper.read (i);
+ }
+
+ public void _write (org.omg.CORBA.portable.OutputStream o)
+ {
+ org.apache.tuscany.sca.binding.corba.testing.generated.string_listHelper.write (o, value);
+ }
+
+ public org.omg.CORBA.TypeCode _type ()
+ {
+ return org.apache.tuscany.sca.binding.corba.testing.generated.string_listHelper.type ();
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_long_listHelper.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_long_listHelper.java
new file mode 100644
index 0000000000..0010f8fad2
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_long_listHelper.java
@@ -0,0 +1,79 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/unsigned_long_listHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+abstract public class unsigned_long_listHelper
+{
+ private static String _id = "IDL:Tester/unsigned_long_list:1.0";
+
+ public static void insert (org.omg.CORBA.Any a, int[] that)
+ {
+ org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
+ a.type (type ());
+ write (out, that);
+ a.read_value (out.create_input_stream (), type ());
+ }
+
+ public static int[] extract (org.omg.CORBA.Any a)
+ {
+ return read (a.create_input_stream ());
+ }
+
+ private static org.omg.CORBA.TypeCode __typeCode = null;
+ synchronized public static org.omg.CORBA.TypeCode type ()
+ {
+ if (__typeCode == null)
+ {
+ __typeCode = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_ulong);
+ __typeCode = org.omg.CORBA.ORB.init ().create_sequence_tc (0, __typeCode);
+ __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.apache.tuscany.sca.binding.corba.testing.generated.unsigned_long_listHelper.id (), "unsigned_long_list", __typeCode);
+ }
+ return __typeCode;
+ }
+
+ public static String id ()
+ {
+ return _id;
+ }
+
+ public static int[] read (org.omg.CORBA.portable.InputStream istream)
+ {
+ int value[] = null;
+ int _len0 = istream.read_long ();
+ value = new int[_len0];
+ istream.read_ulong_array (value, 0, _len0);
+ return value;
+ }
+
+ public static void write (org.omg.CORBA.portable.OutputStream ostream, int[] value)
+ {
+ ostream.write_long (value.length);
+ ostream.write_ulong_array (value, 0, value.length);
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_long_listHolder.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_long_listHolder.java
new file mode 100644
index 0000000000..ea74d32402
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_long_listHolder.java
@@ -0,0 +1,58 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/unsigned_long_listHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+public final class unsigned_long_listHolder implements org.omg.CORBA.portable.Streamable
+{
+ public int value[] = null;
+
+ public unsigned_long_listHolder ()
+ {
+ }
+
+ public unsigned_long_listHolder (int[] initialValue)
+ {
+ value = initialValue;
+ }
+
+ public void _read (org.omg.CORBA.portable.InputStream i)
+ {
+ value = org.apache.tuscany.sca.binding.corba.testing.generated.unsigned_long_listHelper.read (i);
+ }
+
+ public void _write (org.omg.CORBA.portable.OutputStream o)
+ {
+ org.apache.tuscany.sca.binding.corba.testing.generated.unsigned_long_listHelper.write (o, value);
+ }
+
+ public org.omg.CORBA.TypeCode _type ()
+ {
+ return org.apache.tuscany.sca.binding.corba.testing.generated.unsigned_long_listHelper.type ();
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_long_long_listHelper.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_long_long_listHelper.java
new file mode 100644
index 0000000000..926cfd99aa
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_long_long_listHelper.java
@@ -0,0 +1,79 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/unsigned_long_long_listHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+abstract public class unsigned_long_long_listHelper
+{
+ private static String _id = "IDL:Tester/unsigned_long_long_list:1.0";
+
+ public static void insert (org.omg.CORBA.Any a, long[] that)
+ {
+ org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
+ a.type (type ());
+ write (out, that);
+ a.read_value (out.create_input_stream (), type ());
+ }
+
+ public static long[] extract (org.omg.CORBA.Any a)
+ {
+ return read (a.create_input_stream ());
+ }
+
+ private static org.omg.CORBA.TypeCode __typeCode = null;
+ synchronized public static org.omg.CORBA.TypeCode type ()
+ {
+ if (__typeCode == null)
+ {
+ __typeCode = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_ulonglong);
+ __typeCode = org.omg.CORBA.ORB.init ().create_sequence_tc (0, __typeCode);
+ __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.apache.tuscany.sca.binding.corba.testing.generated.unsigned_long_long_listHelper.id (), "unsigned_long_long_list", __typeCode);
+ }
+ return __typeCode;
+ }
+
+ public static String id ()
+ {
+ return _id;
+ }
+
+ public static long[] read (org.omg.CORBA.portable.InputStream istream)
+ {
+ long value[] = null;
+ int _len0 = istream.read_long ();
+ value = new long[_len0];
+ istream.read_ulonglong_array (value, 0, _len0);
+ return value;
+ }
+
+ public static void write (org.omg.CORBA.portable.OutputStream ostream, long[] value)
+ {
+ ostream.write_long (value.length);
+ ostream.write_ulonglong_array (value, 0, value.length);
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_long_long_listHolder.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_long_long_listHolder.java
new file mode 100644
index 0000000000..daa263f6ba
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_long_long_listHolder.java
@@ -0,0 +1,58 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/unsigned_long_long_listHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+public final class unsigned_long_long_listHolder implements org.omg.CORBA.portable.Streamable
+{
+ public long value[] = null;
+
+ public unsigned_long_long_listHolder ()
+ {
+ }
+
+ public unsigned_long_long_listHolder (long[] initialValue)
+ {
+ value = initialValue;
+ }
+
+ public void _read (org.omg.CORBA.portable.InputStream i)
+ {
+ value = org.apache.tuscany.sca.binding.corba.testing.generated.unsigned_long_long_listHelper.read (i);
+ }
+
+ public void _write (org.omg.CORBA.portable.OutputStream o)
+ {
+ org.apache.tuscany.sca.binding.corba.testing.generated.unsigned_long_long_listHelper.write (o, value);
+ }
+
+ public org.omg.CORBA.TypeCode _type ()
+ {
+ return org.apache.tuscany.sca.binding.corba.testing.generated.unsigned_long_long_listHelper.type ();
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_short_listHelper.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_short_listHelper.java
new file mode 100644
index 0000000000..7fade26a5a
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_short_listHelper.java
@@ -0,0 +1,79 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/unsigned_short_listHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+abstract public class unsigned_short_listHelper
+{
+ private static String _id = "IDL:Tester/unsigned_short_list:1.0";
+
+ public static void insert (org.omg.CORBA.Any a, short[] that)
+ {
+ org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
+ a.type (type ());
+ write (out, that);
+ a.read_value (out.create_input_stream (), type ());
+ }
+
+ public static short[] extract (org.omg.CORBA.Any a)
+ {
+ return read (a.create_input_stream ());
+ }
+
+ private static org.omg.CORBA.TypeCode __typeCode = null;
+ synchronized public static org.omg.CORBA.TypeCode type ()
+ {
+ if (__typeCode == null)
+ {
+ __typeCode = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_ushort);
+ __typeCode = org.omg.CORBA.ORB.init ().create_sequence_tc (0, __typeCode);
+ __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.apache.tuscany.sca.binding.corba.testing.generated.unsigned_short_listHelper.id (), "unsigned_short_list", __typeCode);
+ }
+ return __typeCode;
+ }
+
+ public static String id ()
+ {
+ return _id;
+ }
+
+ public static short[] read (org.omg.CORBA.portable.InputStream istream)
+ {
+ short value[] = null;
+ int _len0 = istream.read_long ();
+ value = new short[_len0];
+ istream.read_ushort_array (value, 0, _len0);
+ return value;
+ }
+
+ public static void write (org.omg.CORBA.portable.OutputStream ostream, short[] value)
+ {
+ ostream.write_long (value.length);
+ ostream.write_ushort_array (value, 0, value.length);
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_short_listHolder.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_short_listHolder.java
new file mode 100644
index 0000000000..a0054282b2
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_short_listHolder.java
@@ -0,0 +1,58 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/unsigned_short_listHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+public final class unsigned_short_listHolder implements org.omg.CORBA.portable.Streamable
+{
+ public short value[] = null;
+
+ public unsigned_short_listHolder ()
+ {
+ }
+
+ public unsigned_short_listHolder (short[] initialValue)
+ {
+ value = initialValue;
+ }
+
+ public void _read (org.omg.CORBA.portable.InputStream i)
+ {
+ value = org.apache.tuscany.sca.binding.corba.testing.generated.unsigned_short_listHelper.read (i);
+ }
+
+ public void _write (org.omg.CORBA.portable.OutputStream o)
+ {
+ org.apache.tuscany.sca.binding.corba.testing.generated.unsigned_short_listHelper.write (o, value);
+ }
+
+ public org.omg.CORBA.TypeCode _type ()
+ {
+ return org.apache.tuscany.sca.binding.corba.testing.generated.unsigned_short_listHelper.type ();
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/wchar_listHelper.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/wchar_listHelper.java
new file mode 100644
index 0000000000..90bb98c6c5
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/wchar_listHelper.java
@@ -0,0 +1,79 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/wchar_listHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+abstract public class wchar_listHelper
+{
+ private static String _id = "IDL:Tester/wchar_list:1.0";
+
+ public static void insert (org.omg.CORBA.Any a, char[] that)
+ {
+ org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
+ a.type (type ());
+ write (out, that);
+ a.read_value (out.create_input_stream (), type ());
+ }
+
+ public static char[] extract (org.omg.CORBA.Any a)
+ {
+ return read (a.create_input_stream ());
+ }
+
+ private static org.omg.CORBA.TypeCode __typeCode = null;
+ synchronized public static org.omg.CORBA.TypeCode type ()
+ {
+ if (__typeCode == null)
+ {
+ __typeCode = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_wchar);
+ __typeCode = org.omg.CORBA.ORB.init ().create_sequence_tc (0, __typeCode);
+ __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.apache.tuscany.sca.binding.corba.testing.generated.wchar_listHelper.id (), "wchar_list", __typeCode);
+ }
+ return __typeCode;
+ }
+
+ public static String id ()
+ {
+ return _id;
+ }
+
+ public static char[] read (org.omg.CORBA.portable.InputStream istream)
+ {
+ char value[] = null;
+ int _len0 = istream.read_long ();
+ value = new char[_len0];
+ istream.read_wchar_array (value, 0, _len0);
+ return value;
+ }
+
+ public static void write (org.omg.CORBA.portable.OutputStream ostream, char[] value)
+ {
+ ostream.write_long (value.length);
+ ostream.write_wchar_array (value, 0, value.length);
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/wchar_listHolder.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/wchar_listHolder.java
new file mode 100644
index 0000000000..ce9fa139d5
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/wchar_listHolder.java
@@ -0,0 +1,58 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/wchar_listHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+public final class wchar_listHolder implements org.omg.CORBA.portable.Streamable
+{
+ public char value[] = null;
+
+ public wchar_listHolder ()
+ {
+ }
+
+ public wchar_listHolder (char[] initialValue)
+ {
+ value = initialValue;
+ }
+
+ public void _read (org.omg.CORBA.portable.InputStream i)
+ {
+ value = org.apache.tuscany.sca.binding.corba.testing.generated.wchar_listHelper.read (i);
+ }
+
+ public void _write (org.omg.CORBA.portable.OutputStream o)
+ {
+ org.apache.tuscany.sca.binding.corba.testing.generated.wchar_listHelper.write (o, value);
+ }
+
+ public org.omg.CORBA.TypeCode _type ()
+ {
+ return org.apache.tuscany.sca.binding.corba.testing.generated.wchar_listHelper.type ();
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/wstring_listHelper.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/wstring_listHelper.java
new file mode 100644
index 0000000000..c912a1e0d6
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/wstring_listHelper.java
@@ -0,0 +1,81 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/wstring_listHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+abstract public class wstring_listHelper
+{
+ private static String _id = "IDL:Tester/wstring_list:1.0";
+
+ public static void insert (org.omg.CORBA.Any a, String[] that)
+ {
+ org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
+ a.type (type ());
+ write (out, that);
+ a.read_value (out.create_input_stream (), type ());
+ }
+
+ public static String[] extract (org.omg.CORBA.Any a)
+ {
+ return read (a.create_input_stream ());
+ }
+
+ private static org.omg.CORBA.TypeCode __typeCode = null;
+ synchronized public static org.omg.CORBA.TypeCode type ()
+ {
+ if (__typeCode == null)
+ {
+ __typeCode = org.omg.CORBA.ORB.init ().create_wstring_tc (0);
+ __typeCode = org.omg.CORBA.ORB.init ().create_sequence_tc (0, __typeCode);
+ __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.apache.tuscany.sca.binding.corba.testing.generated.wstring_listHelper.id (), "wstring_list", __typeCode);
+ }
+ return __typeCode;
+ }
+
+ public static String id ()
+ {
+ return _id;
+ }
+
+ public static String[] read (org.omg.CORBA.portable.InputStream istream)
+ {
+ String value[] = null;
+ int _len0 = istream.read_long ();
+ value = new String[_len0];
+ for (int _o1 = 0;_o1 < value.length; ++_o1)
+ value[_o1] = istream.read_wstring ();
+ return value;
+ }
+
+ public static void write (org.omg.CORBA.portable.OutputStream ostream, String[] value)
+ {
+ ostream.write_long (value.length);
+ for (int _i0 = 0;_i0 < value.length; ++_i0)
+ ostream.write_wstring (value[_i0]);
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/wstring_listHolder.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/wstring_listHolder.java
new file mode 100644
index 0000000000..56435ea38b
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/wstring_listHolder.java
@@ -0,0 +1,58 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.generated;
+
+
+/**
+* Tester/wstring_listHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from tester.idl
+* pi±tek, 30 maj 2008 17:04:42 CEST
+*/
+
+public final class wstring_listHolder implements org.omg.CORBA.portable.Streamable
+{
+ public String value[] = null;
+
+ public wstring_listHolder ()
+ {
+ }
+
+ public wstring_listHolder (String[] initialValue)
+ {
+ value = initialValue;
+ }
+
+ public void _read (org.omg.CORBA.portable.InputStream i)
+ {
+ value = org.apache.tuscany.sca.binding.corba.testing.generated.wstring_listHelper.read (i);
+ }
+
+ public void _write (org.omg.CORBA.portable.OutputStream o)
+ {
+ org.apache.tuscany.sca.binding.corba.testing.generated.wstring_listHelper.write (o, value);
+ }
+
+ public org.omg.CORBA.TypeCode _type ()
+ {
+ return org.apache.tuscany.sca.binding.corba.testing.generated.wstring_listHelper.type ();
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/Calc.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/Calc.java
new file mode 100644
index 0000000000..2aae808109
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/Calc.java
@@ -0,0 +1,30 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.hierarchy;
+
+import org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZero;
+
+public interface Calc {
+
+ public double div(double arg1, double arg2) throws DivByZero;
+
+ public double divForSmallArgs(double arg1, double arg2);
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/DummyObject.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/DummyObject.java
new file mode 100644
index 0000000000..d47f66fc15
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/DummyObject.java
@@ -0,0 +1,27 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.hierarchy;
+
+public interface DummyObject {
+
+ int getLong();
+ DummyObject cloneObject();
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/SimpleStruct.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/SimpleStruct.java
new file mode 100644
index 0000000000..6887517073
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/SimpleStruct.java
@@ -0,0 +1,30 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.hierarchy;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class SimpleStruct {
+
+ public String field1;
+ public int field2;
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/SomeStruct.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/SomeStruct.java
new file mode 100644
index 0000000000..cb723fc359
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/SomeStruct.java
@@ -0,0 +1,33 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.hierarchy;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class SomeStruct {
+
+ public SimpleStruct innerStruct;
+ public String str;
+ public String[] str_list;
+ public int[][] twoDimSeq;
+ public int[][][] threeDimSeq;
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/DummyObject.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/DummyObject.java
new file mode 100644
index 0000000000..57fed51b1e
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/DummyObject.java
@@ -0,0 +1,32 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.references;
+
+
+/**
+* org/apache/tuscany/sca/binding/corba/testing/references/DummyObject.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from remote_objects.idl
+* niedziela, 8 czerwiec 2008 16:43:12 CEST
+*/
+
+public interface DummyObject extends DummyObjectOperations, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity
+{
+} // interface DummyObject
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/DummyObjectHelper.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/DummyObjectHelper.java
new file mode 100644
index 0000000000..a040eafeaa
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/DummyObjectHelper.java
@@ -0,0 +1,104 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.references;
+
+
+/**
+* org/apache/tuscany/sca/binding/corba/testing/references/DummyObjectHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from remote_objects.idl
+* niedziela, 8 czerwiec 2008 16:43:12 CEST
+*/
+
+abstract public class DummyObjectHelper
+{
+ private static String _id = "IDL:org/apache/tuscany/sca/binding/corba/testing/references/DummyObject:1.0";
+
+ public static void insert (org.omg.CORBA.Any a, org.apache.tuscany.sca.binding.corba.testing.references.DummyObject that)
+ {
+ org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
+ a.type (type ());
+ write (out, that);
+ a.read_value (out.create_input_stream (), type ());
+ }
+
+ public static org.apache.tuscany.sca.binding.corba.testing.references.DummyObject extract (org.omg.CORBA.Any a)
+ {
+ return read (a.create_input_stream ());
+ }
+
+ private static org.omg.CORBA.TypeCode __typeCode = null;
+ synchronized public static org.omg.CORBA.TypeCode type ()
+ {
+ if (__typeCode == null)
+ {
+ __typeCode = org.omg.CORBA.ORB.init ().create_interface_tc (org.apache.tuscany.sca.binding.corba.testing.references.DummyObjectHelper.id (), "DummyObject");
+ }
+ return __typeCode;
+ }
+
+ public static String id ()
+ {
+ return _id;
+ }
+
+ public static org.apache.tuscany.sca.binding.corba.testing.references.DummyObject read (org.omg.CORBA.portable.InputStream istream)
+ {
+ return narrow (istream.read_Object (_DummyObjectStub.class));
+ }
+
+ public static void write (org.omg.CORBA.portable.OutputStream ostream, org.apache.tuscany.sca.binding.corba.testing.references.DummyObject value)
+ {
+ ostream.write_Object ((org.omg.CORBA.Object) value);
+ }
+
+ public static org.apache.tuscany.sca.binding.corba.testing.references.DummyObject narrow (org.omg.CORBA.Object obj)
+ {
+ if (obj == null)
+ return null;
+ else if (obj instanceof org.apache.tuscany.sca.binding.corba.testing.references.DummyObject)
+ return (org.apache.tuscany.sca.binding.corba.testing.references.DummyObject)obj;
+ else if (!obj._is_a (id ()))
+ throw new org.omg.CORBA.BAD_PARAM ();
+ else
+ {
+ org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate ();
+ org.apache.tuscany.sca.binding.corba.testing.references._DummyObjectStub stub = new org.apache.tuscany.sca.binding.corba.testing.references._DummyObjectStub ();
+ stub._set_delegate(delegate);
+ return stub;
+ }
+ }
+
+ public static org.apache.tuscany.sca.binding.corba.testing.references.DummyObject unchecked_narrow (org.omg.CORBA.Object obj)
+ {
+ if (obj == null)
+ return null;
+ else if (obj instanceof org.apache.tuscany.sca.binding.corba.testing.references.DummyObject)
+ return (org.apache.tuscany.sca.binding.corba.testing.references.DummyObject)obj;
+ else
+ {
+ org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate ();
+ org.apache.tuscany.sca.binding.corba.testing.references._DummyObjectStub stub = new org.apache.tuscany.sca.binding.corba.testing.references._DummyObjectStub ();
+ stub._set_delegate(delegate);
+ return stub;
+ }
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/DummyObjectHolder.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/DummyObjectHolder.java
new file mode 100644
index 0000000000..03563c43fb
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/DummyObjectHolder.java
@@ -0,0 +1,57 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.references;
+
+/**
+* org/apache/tuscany/sca/binding/corba/testing/references/DummyObjectHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from remote_objects.idl
+* niedziela, 8 czerwiec 2008 16:43:12 CEST
+*/
+
+public final class DummyObjectHolder implements org.omg.CORBA.portable.Streamable
+{
+ public org.apache.tuscany.sca.binding.corba.testing.references.DummyObject value = null;
+
+ public DummyObjectHolder ()
+ {
+ }
+
+ public DummyObjectHolder (org.apache.tuscany.sca.binding.corba.testing.references.DummyObject initialValue)
+ {
+ value = initialValue;
+ }
+
+ public void _read (org.omg.CORBA.portable.InputStream i)
+ {
+ value = org.apache.tuscany.sca.binding.corba.testing.references.DummyObjectHelper.read (i);
+ }
+
+ public void _write (org.omg.CORBA.portable.OutputStream o)
+ {
+ org.apache.tuscany.sca.binding.corba.testing.references.DummyObjectHelper.write (o, value);
+ }
+
+ public org.omg.CORBA.TypeCode _type ()
+ {
+ return org.apache.tuscany.sca.binding.corba.testing.references.DummyObjectHelper.type ();
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/DummyObjectOperations.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/DummyObjectOperations.java
new file mode 100644
index 0000000000..7de62f0043
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/DummyObjectOperations.java
@@ -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.
+ */
+
+package org.apache.tuscany.sca.binding.corba.testing.references;
+
+
+/**
+* org/apache/tuscany/sca/binding/corba/testing/references/DummyObjectOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from remote_objects.idl
+* niedziela, 8 czerwiec 2008 16:43:12 CEST
+*/
+
+public interface DummyObjectOperations
+{
+ int getLong ();
+ org.apache.tuscany.sca.binding.corba.testing.references.DummyObject cloneObject ();
+} // interface DummyObjectOperations
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/ObjectManager.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/ObjectManager.java
new file mode 100644
index 0000000000..c1afbe0c80
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/ObjectManager.java
@@ -0,0 +1,32 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.references;
+
+
+/**
+* org/apache/tuscany/sca/binding/corba/testing/references/ObjectManager.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from remote_objects.idl
+* niedziela, 8 czerwiec 2008 16:43:12 CEST
+*/
+
+public interface ObjectManager extends ObjectManagerOperations, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity
+{
+} // interface ObjectManager
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/ObjectManagerHelper.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/ObjectManagerHelper.java
new file mode 100644
index 0000000000..3ad9dced0f
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/ObjectManagerHelper.java
@@ -0,0 +1,104 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.references;
+
+
+/**
+* org/apache/tuscany/sca/binding/corba/testing/references/ObjectManagerHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from remote_objects.idl
+* niedziela, 8 czerwiec 2008 16:43:12 CEST
+*/
+
+abstract public class ObjectManagerHelper
+{
+ private static String _id = "IDL:org/apache/tuscany/sca/binding/corba/testing/references/ObjectManager:1.0";
+
+ public static void insert (org.omg.CORBA.Any a, org.apache.tuscany.sca.binding.corba.testing.references.ObjectManager that)
+ {
+ org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
+ a.type (type ());
+ write (out, that);
+ a.read_value (out.create_input_stream (), type ());
+ }
+
+ public static org.apache.tuscany.sca.binding.corba.testing.references.ObjectManager extract (org.omg.CORBA.Any a)
+ {
+ return read (a.create_input_stream ());
+ }
+
+ private static org.omg.CORBA.TypeCode __typeCode = null;
+ synchronized public static org.omg.CORBA.TypeCode type ()
+ {
+ if (__typeCode == null)
+ {
+ __typeCode = org.omg.CORBA.ORB.init ().create_interface_tc (org.apache.tuscany.sca.binding.corba.testing.references.ObjectManagerHelper.id (), "ObjectManager");
+ }
+ return __typeCode;
+ }
+
+ public static String id ()
+ {
+ return _id;
+ }
+
+ public static org.apache.tuscany.sca.binding.corba.testing.references.ObjectManager read (org.omg.CORBA.portable.InputStream istream)
+ {
+ return narrow (istream.read_Object (_ObjectManagerStub.class));
+ }
+
+ public static void write (org.omg.CORBA.portable.OutputStream ostream, org.apache.tuscany.sca.binding.corba.testing.references.ObjectManager value)
+ {
+ ostream.write_Object ((org.omg.CORBA.Object) value);
+ }
+
+ public static org.apache.tuscany.sca.binding.corba.testing.references.ObjectManager narrow (org.omg.CORBA.Object obj)
+ {
+ if (obj == null)
+ return null;
+ else if (obj instanceof org.apache.tuscany.sca.binding.corba.testing.references.ObjectManager)
+ return (org.apache.tuscany.sca.binding.corba.testing.references.ObjectManager)obj;
+ else if (!obj._is_a (id ()))
+ throw new org.omg.CORBA.BAD_PARAM ();
+ else
+ {
+ org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate ();
+ org.apache.tuscany.sca.binding.corba.testing.references._ObjectManagerStub stub = new org.apache.tuscany.sca.binding.corba.testing.references._ObjectManagerStub ();
+ stub._set_delegate(delegate);
+ return stub;
+ }
+ }
+
+ public static org.apache.tuscany.sca.binding.corba.testing.references.ObjectManager unchecked_narrow (org.omg.CORBA.Object obj)
+ {
+ if (obj == null)
+ return null;
+ else if (obj instanceof org.apache.tuscany.sca.binding.corba.testing.references.ObjectManager)
+ return (org.apache.tuscany.sca.binding.corba.testing.references.ObjectManager)obj;
+ else
+ {
+ org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate ();
+ org.apache.tuscany.sca.binding.corba.testing.references._ObjectManagerStub stub = new org.apache.tuscany.sca.binding.corba.testing.references._ObjectManagerStub ();
+ stub._set_delegate(delegate);
+ return stub;
+ }
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/ObjectManagerHolder.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/ObjectManagerHolder.java
new file mode 100644
index 0000000000..5bebb0dd30
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/ObjectManagerHolder.java
@@ -0,0 +1,57 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.references;
+
+/**
+* org/apache/tuscany/sca/binding/corba/testing/references/ObjectManagerHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from remote_objects.idl
+* niedziela, 8 czerwiec 2008 16:43:12 CEST
+*/
+
+public final class ObjectManagerHolder implements org.omg.CORBA.portable.Streamable
+{
+ public org.apache.tuscany.sca.binding.corba.testing.references.ObjectManager value = null;
+
+ public ObjectManagerHolder ()
+ {
+ }
+
+ public ObjectManagerHolder (org.apache.tuscany.sca.binding.corba.testing.references.ObjectManager initialValue)
+ {
+ value = initialValue;
+ }
+
+ public void _read (org.omg.CORBA.portable.InputStream i)
+ {
+ value = org.apache.tuscany.sca.binding.corba.testing.references.ObjectManagerHelper.read (i);
+ }
+
+ public void _write (org.omg.CORBA.portable.OutputStream o)
+ {
+ org.apache.tuscany.sca.binding.corba.testing.references.ObjectManagerHelper.write (o, value);
+ }
+
+ public org.omg.CORBA.TypeCode _type ()
+ {
+ return org.apache.tuscany.sca.binding.corba.testing.references.ObjectManagerHelper.type ();
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/ObjectManagerOperations.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/ObjectManagerOperations.java
new file mode 100644
index 0000000000..8fea465162
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/ObjectManagerOperations.java
@@ -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.
+ */
+
+package org.apache.tuscany.sca.binding.corba.testing.references;
+
+
+/**
+* org/apache/tuscany/sca/binding/corba/testing/references/ObjectManagerOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from remote_objects.idl
+* niedziela, 8 czerwiec 2008 16:43:12 CEST
+*/
+
+public interface ObjectManagerOperations
+{
+ org.apache.tuscany.sca.binding.corba.testing.references.DummyObject getDummyObject ();
+ org.apache.tuscany.sca.binding.corba.testing.references.DummyObject getObjectByArgument (org.apache.tuscany.sca.binding.corba.testing.references.DummyObject dummy);
+} // interface ObjectManagerOperations
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/_DummyObjectImplBase.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/_DummyObjectImplBase.java
new file mode 100644
index 0000000000..d6de74d185
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/_DummyObjectImplBase.java
@@ -0,0 +1,92 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.references;
+
+
+/**
+* org/apache/tuscany/sca/binding/corba/testing/references/_DummyObjectImplBase.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from remote_objects.idl
+* niedziela, 8 czerwiec 2008 16:43:12 CEST
+*/
+
+public abstract class _DummyObjectImplBase extends org.omg.CORBA.portable.ObjectImpl
+ implements org.apache.tuscany.sca.binding.corba.testing.references.DummyObject, org.omg.CORBA.portable.InvokeHandler
+{
+
+ // Constructors
+ public _DummyObjectImplBase ()
+ {
+ }
+
+ private static java.util.Hashtable _methods = new java.util.Hashtable ();
+ static
+ {
+ _methods.put ("getLong", new java.lang.Integer (0));
+ _methods.put ("cloneObject", new java.lang.Integer (1));
+ }
+
+ public org.omg.CORBA.portable.OutputStream _invoke (String $method,
+ org.omg.CORBA.portable.InputStream in,
+ org.omg.CORBA.portable.ResponseHandler $rh)
+ {
+ org.omg.CORBA.portable.OutputStream out = null;
+ java.lang.Integer __method = (java.lang.Integer)_methods.get ($method);
+ if (__method == null)
+ throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
+
+ switch (__method.intValue ())
+ {
+ case 0: // org/apache/tuscany/sca/binding/corba/testing/references/DummyObject/getLong
+ {
+ int $result = (int)0;
+ $result = this.getLong ();
+ out = $rh.createReply();
+ out.write_long ($result);
+ break;
+ }
+
+ case 1: // org/apache/tuscany/sca/binding/corba/testing/references/DummyObject/cloneObject
+ {
+ org.apache.tuscany.sca.binding.corba.testing.references.DummyObject $result = null;
+ $result = this.cloneObject ();
+ out = $rh.createReply();
+ org.apache.tuscany.sca.binding.corba.testing.references.DummyObjectHelper.write (out, $result);
+ break;
+ }
+
+ default:
+ throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
+ }
+
+ return out;
+ } // _invoke
+
+ // Type-specific CORBA::Object operations
+ private static String[] __ids = {
+ "IDL:org/apache/tuscany/sca/binding/corba/testing/references/DummyObject:1.0"};
+
+ public String[] _ids ()
+ {
+ return (String[])__ids.clone ();
+ }
+
+
+} // class _DummyObjectImplBase
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/_DummyObjectStub.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/_DummyObjectStub.java
new file mode 100644
index 0000000000..d838b3152d
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/_DummyObjectStub.java
@@ -0,0 +1,97 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.references;
+
+
+/**
+* org/apache/tuscany/sca/binding/corba/testing/references/_DummyObjectStub.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from remote_objects.idl
+* niedziela, 8 czerwiec 2008 16:43:12 CEST
+*/
+
+public class _DummyObjectStub extends org.omg.CORBA.portable.ObjectImpl implements org.apache.tuscany.sca.binding.corba.testing.references.DummyObject
+{
+
+ public int getLong ()
+ {
+ org.omg.CORBA.portable.InputStream $in = null;
+ try {
+ org.omg.CORBA.portable.OutputStream $out = _request ("getLong", true);
+ $in = _invoke ($out);
+ int $result = $in.read_long ();
+ return $result;
+ } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+ $in = $ex.getInputStream ();
+ String _id = $ex.getId ();
+ throw new org.omg.CORBA.MARSHAL (_id);
+ } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+ return getLong ( );
+ } finally {
+ _releaseReply ($in);
+ }
+ } // getLong
+
+ public org.apache.tuscany.sca.binding.corba.testing.references.DummyObject cloneObject ()
+ {
+ org.omg.CORBA.portable.InputStream $in = null;
+ try {
+ org.omg.CORBA.portable.OutputStream $out = _request ("cloneObject", true);
+ $in = _invoke ($out);
+ org.apache.tuscany.sca.binding.corba.testing.references.DummyObject $result = org.apache.tuscany.sca.binding.corba.testing.references.DummyObjectHelper.read ($in);
+ return $result;
+ } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+ $in = $ex.getInputStream ();
+ String _id = $ex.getId ();
+ throw new org.omg.CORBA.MARSHAL (_id);
+ } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+ return cloneObject ( );
+ } finally {
+ _releaseReply ($in);
+ }
+ } // cloneObject
+
+ // Type-specific CORBA::Object operations
+ private static String[] __ids = {
+ "IDL:org/apache/tuscany/sca/binding/corba/testing/references/DummyObject:1.0"};
+
+ public String[] _ids ()
+ {
+ return (String[])__ids.clone ();
+ }
+
+ private void readObject (java.io.ObjectInputStream s) throws java.io.IOException
+ {
+ String str = s.readUTF ();
+ String[] args = null;
+ java.util.Properties props = null;
+ org.omg.CORBA.Object obj = org.omg.CORBA.ORB.init (args, props).string_to_object (str);
+ org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl) obj)._get_delegate ();
+ _set_delegate (delegate);
+ }
+
+ private void writeObject (java.io.ObjectOutputStream s) throws java.io.IOException
+ {
+ String[] args = null;
+ java.util.Properties props = null;
+ String str = org.omg.CORBA.ORB.init (args, props).object_to_string (this);
+ s.writeUTF (str);
+ }
+} // class _DummyObjectStub
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/_ObjectManagerImplBase.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/_ObjectManagerImplBase.java
new file mode 100644
index 0000000000..a511340a52
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/_ObjectManagerImplBase.java
@@ -0,0 +1,93 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.references;
+
+
+/**
+* org/apache/tuscany/sca/binding/corba/testing/references/_ObjectManagerImplBase.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from remote_objects.idl
+* niedziela, 8 czerwiec 2008 16:43:12 CEST
+*/
+
+public abstract class _ObjectManagerImplBase extends org.omg.CORBA.portable.ObjectImpl
+ implements org.apache.tuscany.sca.binding.corba.testing.references.ObjectManager, org.omg.CORBA.portable.InvokeHandler
+{
+
+ // Constructors
+ public _ObjectManagerImplBase ()
+ {
+ }
+
+ private static java.util.Hashtable _methods = new java.util.Hashtable ();
+ static
+ {
+ _methods.put ("getDummyObject", new java.lang.Integer (0));
+ _methods.put ("getObjectByArgument", new java.lang.Integer (1));
+ }
+
+ public org.omg.CORBA.portable.OutputStream _invoke (String $method,
+ org.omg.CORBA.portable.InputStream in,
+ org.omg.CORBA.portable.ResponseHandler $rh)
+ {
+ org.omg.CORBA.portable.OutputStream out = null;
+ java.lang.Integer __method = (java.lang.Integer)_methods.get ($method);
+ if (__method == null)
+ throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
+
+ switch (__method.intValue ())
+ {
+ case 0: // org/apache/tuscany/sca/binding/corba/testing/references/ObjectManager/getDummyObject
+ {
+ org.apache.tuscany.sca.binding.corba.testing.references.DummyObject $result = null;
+ $result = this.getDummyObject ();
+ out = $rh.createReply();
+ org.apache.tuscany.sca.binding.corba.testing.references.DummyObjectHelper.write (out, $result);
+ break;
+ }
+
+ case 1: // org/apache/tuscany/sca/binding/corba/testing/references/ObjectManager/getObjectByArgument
+ {
+ org.apache.tuscany.sca.binding.corba.testing.references.DummyObject dummy = org.apache.tuscany.sca.binding.corba.testing.references.DummyObjectHelper.read (in);
+ org.apache.tuscany.sca.binding.corba.testing.references.DummyObject $result = null;
+ $result = this.getObjectByArgument (dummy);
+ out = $rh.createReply();
+ org.apache.tuscany.sca.binding.corba.testing.references.DummyObjectHelper.write (out, $result);
+ break;
+ }
+
+ default:
+ throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
+ }
+
+ return out;
+ } // _invoke
+
+ // Type-specific CORBA::Object operations
+ private static String[] __ids = {
+ "IDL:org/apache/tuscany/sca/binding/corba/testing/references/ObjectManager:1.0"};
+
+ public String[] _ids ()
+ {
+ return (String[])__ids.clone ();
+ }
+
+
+} // class _ObjectManagerImplBase
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/_ObjectManagerStub.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/_ObjectManagerStub.java
new file mode 100644
index 0000000000..75fe4ec5b8
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/_ObjectManagerStub.java
@@ -0,0 +1,98 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.references;
+
+
+/**
+* org/apache/tuscany/sca/binding/corba/testing/references/_ObjectManagerStub.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from remote_objects.idl
+* niedziela, 8 czerwiec 2008 16:43:12 CEST
+*/
+
+public class _ObjectManagerStub extends org.omg.CORBA.portable.ObjectImpl implements org.apache.tuscany.sca.binding.corba.testing.references.ObjectManager
+{
+
+ public org.apache.tuscany.sca.binding.corba.testing.references.DummyObject getDummyObject ()
+ {
+ org.omg.CORBA.portable.InputStream $in = null;
+ try {
+ org.omg.CORBA.portable.OutputStream $out = _request ("getDummyObject", true);
+ $in = _invoke ($out);
+ org.apache.tuscany.sca.binding.corba.testing.references.DummyObject $result = org.apache.tuscany.sca.binding.corba.testing.references.DummyObjectHelper.read ($in);
+ return $result;
+ } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+ $in = $ex.getInputStream ();
+ String _id = $ex.getId ();
+ throw new org.omg.CORBA.MARSHAL (_id);
+ } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+ return getDummyObject ( );
+ } finally {
+ _releaseReply ($in);
+ }
+ } // getDummyObject
+
+ public org.apache.tuscany.sca.binding.corba.testing.references.DummyObject getObjectByArgument (org.apache.tuscany.sca.binding.corba.testing.references.DummyObject dummy)
+ {
+ org.omg.CORBA.portable.InputStream $in = null;
+ try {
+ org.omg.CORBA.portable.OutputStream $out = _request ("getObjectByArgument", true);
+ org.apache.tuscany.sca.binding.corba.testing.references.DummyObjectHelper.write ($out, dummy);
+ $in = _invoke ($out);
+ org.apache.tuscany.sca.binding.corba.testing.references.DummyObject $result = org.apache.tuscany.sca.binding.corba.testing.references.DummyObjectHelper.read ($in);
+ return $result;
+ } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+ $in = $ex.getInputStream ();
+ String _id = $ex.getId ();
+ throw new org.omg.CORBA.MARSHAL (_id);
+ } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+ return getObjectByArgument (dummy );
+ } finally {
+ _releaseReply ($in);
+ }
+ } // getObjectByArgument
+
+ // Type-specific CORBA::Object operations
+ private static String[] __ids = {
+ "IDL:org/apache/tuscany/sca/binding/corba/testing/references/ObjectManager:1.0"};
+
+ public String[] _ids ()
+ {
+ return (String[])__ids.clone ();
+ }
+
+ private void readObject (java.io.ObjectInputStream s) throws java.io.IOException
+ {
+ String str = s.readUTF ();
+ String[] args = null;
+ java.util.Properties props = null;
+ org.omg.CORBA.Object obj = org.omg.CORBA.ORB.init (args, props).string_to_object (str);
+ org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl) obj)._get_delegate ();
+ _set_delegate (delegate);
+ }
+
+ private void writeObject (java.io.ObjectOutputStream s) throws java.io.IOException
+ {
+ String[] args = null;
+ java.util.Properties props = null;
+ String str = org.omg.CORBA.ORB.init (args, props).object_to_string (this);
+ s.writeUTF (str);
+ }
+} // class _ObjectManagerStub
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/ArraysSetterServant.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/ArraysSetterServant.java
new file mode 100644
index 0000000000..482b41102e
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/ArraysSetterServant.java
@@ -0,0 +1,89 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.servants;
+
+import org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject;
+import org.apache.tuscany.sca.binding.corba.testing.generated._ArraysSetterImplBase;
+
+public class ArraysSetterServant extends _ArraysSetterImplBase {
+
+ private static final long serialVersionUID = 1L;
+
+ public boolean[] setBoolean(boolean[] arg) {
+ return arg;
+ }
+
+ public char[] setChar(char[] arg) {
+ return arg;
+ }
+
+ public double[] setDouble(double[] arg) {
+ return arg;
+ }
+
+ public float[] setFloat(float[] arg) {
+ return arg;
+ }
+
+ public int[] setLong(int[] arg) {
+ return arg;
+ }
+
+ public long[] setLongLong(long[] arg) {
+ return arg;
+ }
+
+ public byte[] setOctet(byte[] arg) {
+ return arg;
+ }
+
+ public RemoteObject[] setRemoteObject(RemoteObject[] obj) {
+ return obj;
+ }
+
+ public short[] setShort(short[] arg) {
+ return arg;
+ }
+
+ public String[] setString(String[] arg) {
+ return arg;
+ }
+
+ public int[] setUnsignedLong(int[] arg) {
+ return arg;
+ }
+
+ public long[] setUnsignedLongLong(long[] arg) {
+ return arg;
+ }
+
+ public short[] setUnsignedShort(short[] arg) {
+ return arg;
+ }
+
+ public char[] setWchar(char[] arg) {
+ return arg;
+ }
+
+ public String[] setWstring(String[] arg) {
+ return arg;
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/CalcServant.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/CalcServant.java
new file mode 100644
index 0000000000..00fe8aef8f
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/CalcServant.java
@@ -0,0 +1,53 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.servants;
+
+import org.apache.tuscany.sca.binding.corba.testing.exceptions._CalcImplBase;
+import org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.Arguments;
+import org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZero;
+import org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.NotSupported;
+
+public class CalcServant extends _CalcImplBase {
+
+ private static final long serialVersionUID = 1L;
+
+ public double div(double arg1, double arg2) throws DivByZero {
+ if (arg2 == 0) {
+ DivByZero exception = new DivByZero();
+ exception.arguments = new Arguments(arg1, arg2);
+ exception.info = "Error occured during div: div by zero";
+ throw exception;
+ } else {
+ return arg1 / arg2;
+ }
+ }
+
+ public double divForSmallArgs(double arg1, double arg2) throws DivByZero,
+ NotSupported {
+ if (arg1 > 100 || arg2 > 100) {
+ NotSupported exception = new NotSupported();
+ exception.info = "arg1: " + arg1 + ", arg2: " + arg2;
+ throw exception;
+ } else {
+ return div(arg1, arg2);
+ }
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/DummyObjectServant.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/DummyObjectServant.java
new file mode 100644
index 0000000000..5214152767
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/DummyObjectServant.java
@@ -0,0 +1,42 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.servants;
+
+import org.apache.tuscany.sca.binding.corba.testing.references.DummyObject;
+import org.apache.tuscany.sca.binding.corba.testing.references._DummyObjectImplBase;
+
+public class DummyObjectServant extends _DummyObjectImplBase {
+
+ private static final long serialVersionUID = 1L;
+ private int retVal;
+
+ public DummyObjectServant() {
+ retVal = (int) System.currentTimeMillis();
+ }
+
+ public int getLong() {
+ return retVal;
+ }
+
+ public DummyObject cloneObject() {
+ return new DummyObjectServant();
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/ObjectManagerServant.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/ObjectManagerServant.java
new file mode 100644
index 0000000000..92ff53dff5
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/ObjectManagerServant.java
@@ -0,0 +1,37 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.servants;
+
+import org.apache.tuscany.sca.binding.corba.testing.references.DummyObject;
+import org.apache.tuscany.sca.binding.corba.testing.references._ObjectManagerImplBase;
+
+public class ObjectManagerServant extends _ObjectManagerImplBase {
+
+ private static final long serialVersionUID = 1L;
+
+ public DummyObject getObjectByArgument(DummyObject arg) {
+ return arg;
+ }
+
+ public DummyObject getDummyObject() {
+ return new DummyObjectServant();
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/PrimitivesSetterServant.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/PrimitivesSetterServant.java
new file mode 100644
index 0000000000..71eae7f698
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/PrimitivesSetterServant.java
@@ -0,0 +1,89 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.servants;
+
+import org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject;
+import org.apache.tuscany.sca.binding.corba.testing.generated._PrimitivesSetterImplBase;
+
+public class PrimitivesSetterServant extends _PrimitivesSetterImplBase {
+
+ private static final long serialVersionUID = 1L;
+
+ public boolean setBoolean(boolean arg) {
+ return arg;
+ }
+
+ public char setChar(char arg) {
+ return arg;
+ }
+
+ public double setDouble(double arg) {
+ return arg;
+ }
+
+ public float setFloat(float arg) {
+ return arg;
+ }
+
+ public int setLong(int arg) {
+ return arg;
+ }
+
+ public long setLongLong(long arg) {
+ return arg;
+ }
+
+ public byte setOctet(byte arg) {
+ return arg;
+ }
+
+ public RemoteObject setRemoteObject(RemoteObject obj) {
+ return obj;
+ }
+
+ public short setShort(short arg) {
+ return arg;
+ }
+
+ public String setString(String arg) {
+ return arg;
+ }
+
+ public int setUnsignedLong(int arg) {
+ return arg;
+ }
+
+ public long setUnsignedLongLong(long arg) {
+ return arg;
+ }
+
+ public short setUnsignedShort(short arg) {
+ return arg;
+ }
+
+ public char setWchar(char arg) {
+ return arg;
+ }
+
+ public String setWstring(String arg) {
+ return arg;
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/TestObjectServant.java b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/TestObjectServant.java
new file mode 100644
index 0000000000..39cef3f093
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/TestObjectServant.java
@@ -0,0 +1,73 @@
+/*
+ * 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.tuscany.sca.binding.corba.testing.servants;
+
+import org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStruct;
+import org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStructHolder;
+import org.apache.tuscany.sca.binding.corba.testing.generated.SomeStruct;
+import org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHolder;
+import org.apache.tuscany.sca.binding.corba.testing.generated._TestObjectImplBase;
+import org.apache.tuscany.sca.binding.corba.testing.generated.long_seq1Holder;
+import org.apache.tuscany.sca.binding.corba.testing.generated.long_seq2Holder;
+import org.apache.tuscany.sca.binding.corba.testing.generated.long_seq3Holder;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class TestObjectServant extends _TestObjectImplBase {
+
+ private static final long serialVersionUID = 1L;
+
+ public int[] setLongSeq1(long_seq1Holder arg) {
+ return arg.value;
+ }
+
+ public int[][] setLongSeq2(long_seq2Holder arg) {
+
+ return arg.value;
+ }
+
+ public int[][][] setLongSeq3(long_seq3Holder arg) {
+ return arg.value;
+ }
+
+ public SimpleStruct setSimpleStruct(SimpleStructHolder arg) {
+ return arg.value;
+ }
+
+ public SomeStruct setStruct(SomeStructHolder arg) {
+ return arg.value;
+ }
+
+ public SomeStruct pickStructFromArgs(SomeStructHolder arg1,
+ SomeStructHolder arg2, SomeStructHolder arg3, int structNumber) {
+ switch (structNumber) {
+ case 1:
+ return arg1.value;
+ case 2:
+ return arg2.value;
+ case 3:
+ return arg3.value;
+ default:
+ return arg1.value;
+ }
+ }
+
+}
diff --git a/java/sca/modules/binding-corba-runtime/src/test/resources/exceptions.idl b/java/sca/modules/binding-corba-runtime/src/test/resources/exceptions.idl
new file mode 100644
index 0000000000..b34ec46458
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/resources/exceptions.idl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+/*
+ * compile by
+ * idlj -fall -oldImplBase exceptions.idl
+ */
+
+module org {
+ module apache {
+ module tuscany {
+ module sca {
+ module binding {
+ module corba {
+ module testing {
+ module exceptions {
+ interface Calc {
+ struct Arguments {
+ double arg1;
+ double arg2;
+ };
+
+ exception DivByZero{
+ Arguments arguments;
+ string info;
+ };
+
+ exception NotSupported {
+ string info;
+ };
+
+ double div(in double arg1, in double arg2) raises(DivByZero);
+ double divForSmallArgs(in double arg1, in double arg2) raises(DivByZero, NotSupported);
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+};
diff --git a/java/sca/modules/binding-corba-runtime/src/test/resources/general_tests.idl b/java/sca/modules/binding-corba-runtime/src/test/resources/general_tests.idl
new file mode 100644
index 0000000000..abae96c40b
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/resources/general_tests.idl
@@ -0,0 +1,126 @@
+/*
+ * 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.
+ */
+
+/*
+ * compile by
+ * idlj -fall -oldImplBase general_tests.idl
+ */
+
+module org {
+ module apache {
+ module tuscany {
+ module sca {
+ module binding {
+ module corba {
+ module testing {
+ module references {
+ module generated {
+
+ interface RemoteObject {
+
+ };
+
+ typedef sequence<RemoteObject> remote_object_list;
+ typedef sequence<boolean> boolean_list;
+ typedef sequence<char> char_list;
+ typedef sequence<wchar> wchar_list;
+ typedef sequence<octet> octet_list;
+ typedef sequence<short> short_list;
+ typedef sequence<unsigned short> unsigned_short_list;
+ typedef sequence<long> long_list;
+ typedef sequence<unsigned long> unsigned_long_list;
+ typedef sequence<long long> long_long_list;
+ typedef sequence<unsigned long long> unsigned_long_long_list;
+ typedef sequence<float> float_list;
+ typedef sequence<double> double_list;
+ typedef sequence<string> string_list;
+ typedef sequence<wstring> wstring_list;
+
+ interface PrimitivesSetter {
+ boolean setBoolean(in boolean arg);
+ char setChar(in char arg);
+ wchar setWchar(in wchar arg);
+ octet setOctet(in octet arg);
+ short setShort(in short arg);
+ unsigned short setUnsignedShort(in unsigned short arg);
+ long setLong(in long arg);
+ unsigned long setUnsignedLong(in unsigned long arg);
+ long long setLongLong(in long long arg);
+ unsigned long long setUnsignedLongLong(in unsigned long long arg);
+ float setFloat(in float arg);
+ double setDouble(in double arg);
+ string setString(in string arg);
+ wstring setWstring(in wstring arg);
+ RemoteObject setRemoteObject(in RemoteObject obj);
+ };
+
+ interface ArraysSetter {
+ boolean_list setBoolean(in boolean_list arg);
+ char_list setChar(in char_list arg);
+ wchar_list setWchar(in wchar_list arg);
+ octet_list setOctet(in octet_list arg);
+ short_list setShort(in short_list arg);
+ unsigned_short_list setUnsignedShort(in unsigned_short_list arg);
+ long_list setLong(in long_list arg);
+ unsigned_long_list setUnsignedLong(in unsigned_long_list arg);
+ long_long_list setLongLong(in long_long_list arg);
+ unsigned_long_long_list setUnsignedLongLong(in unsigned_long_long_list arg);
+ float_list setFloat(in float_list arg);
+ double_list setDouble(in double_list arg);
+ string_list setString(in string_list arg);
+ wstring_list setWstring(in wstring_list arg);
+ remote_object_list setRemoteObject(in remote_object_list obj);
+ };
+
+ typedef sequence<long> long_seq1;
+ typedef sequence<long_seq1> long_seq2;
+ typedef sequence<long_seq2> long_seq3;
+
+ struct SimpleStruct {
+ string field1;
+ long field2;
+ };
+
+
+ struct SomeStruct {
+ SimpleStruct innerStruct;
+ string str;
+ string_list str_list;
+ long_seq2 twoDimSeq;
+ long_seq3 threeDimSeq;
+ };
+
+ interface TestObject {
+ SomeStruct pickStructFromArgs(inout SomeStruct arg1, inout SomeStruct arg2, inout SomeStruct arg3, in long structNumber);
+ SomeStruct setStruct(inout SomeStruct arg);
+ SimpleStruct setSimpleStruct(inout SimpleStruct arg);
+ long_seq1 setLongSeq1(inout long_seq1 arg);
+ long_seq2 setLongSeq2(inout long_seq2 arg);
+ long_seq3 setLongSeq3(inout long_seq3 arg);
+ };
+
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+};
diff --git a/java/sca/modules/binding-corba-runtime/src/test/resources/references.idl b/java/sca/modules/binding-corba-runtime/src/test/resources/references.idl
new file mode 100644
index 0000000000..72b58806e6
--- /dev/null
+++ b/java/sca/modules/binding-corba-runtime/src/test/resources/references.idl
@@ -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.
+ */
+
+/*
+ * compile by
+ * idlj -fall -oldImplBase remote_objects.idl
+ */
+
+module org {
+ module apache {
+ module tuscany {
+ module sca {
+ module binding {
+ module corba {
+ module testing {
+ module references {
+
+ interface DummyObject {
+ long getLong();
+ DummyObject cloneObject();
+ };
+
+ interface ObjectManager {
+ DummyObject getDummyObject();
+ DummyObject getObjectByArgument(in DummyObject dummy);
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+};