You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2008/06/25 00:30:18 UTC
svn commit: r671373 [1/10] - in
/tuscany/java/sca/modules/binding-corba-runtime/src:
main/java/org/apache/tuscany/sca/binding/corba/impl/
main/java/org/apache/tuscany/sca/binding/corba/impl/exceptions/
main/java/org/apache/tuscany/sca/binding/corba/imp...
Author: rfeng
Date: Tue Jun 24 15:30:14 2008
New Revision: 671373
URL: http://svn.apache.org/viewvc?rev=671373&view=rev
Log:
Format the code based tuscany eclipse formatter
Modified:
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaServiceBindingProvider.java
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/TuscanyServant.java
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/exceptions/CorbaException.java
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/exceptions/RequestConfigurationException.java
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/DynaCorbaRequest.java
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/DynaCorbaResponse.java
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/InterfaceInstanceCreator.java
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/InterfaceMethodInterceptor.java
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/DynaCorbaServant.java
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/OperationTypes.java
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/NodeType.java
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/TypeTree.java
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/TypeTreeCreator.java
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/TypeTreeNode.java
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ArrayTypeHelper.java
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/BooleanTypeHelper.java
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ByteTypeHelper.java
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/CharTypeHelper.java
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/DoubleTypeHelper.java
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/EnumTypeHelper.java
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/FloatTypeHelper.java
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/IntTypeHelper.java
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/LongTypeHelper.java
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ReferenceTypeHelper.java
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/SequenceTypeHelper.java
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ShortTypeHelper.java
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/StringTypeHelper.java
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/StructTypeHelper.java
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/TypeHelper.java
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/TypeHelpersProxy.java
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/Utils.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/CorbaServantTestCase.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/CorbaTypesTestCase.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/TestConstants.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/enums/Color.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/enums/ColorHelper.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/enums/ColorHolder.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/enums/EnumManager.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/enums/EnumManagerHelper.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/enums/EnumManagerHolder.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/enums/EnumManagerOperations.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/enums/_EnumManagerImplBase.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/enums/_EnumManagerStub.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/Calc.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcHelper.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcHolder.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcOperations.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/Arguments.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/ArgumentsHelper.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/ArgumentsHolder.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/DivByZero.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/DivByZeroHelper.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/DivByZeroHolder.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/NotSupported.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/NotSupportedHelper.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/NotSupportedHolder.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/_CalcImplBase.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/_CalcStub.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetter.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetterHelper.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetterHolder.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetterOperations.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetter.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetterHelper.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetterHolder.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetterOperations.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/RemoteObject.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/RemoteObjectHelper.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/RemoteObjectHolder.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/RemoteObjectOperations.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SimpleStruct.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SimpleStructHelper.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SimpleStructHolder.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SomeStruct.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SomeStructHelper.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SomeStructHolder.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/TestObject.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/TestObjectHelper.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/TestObjectHolder.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/TestObjectOperations.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_ArraysSetterImplBase.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_ArraysSetterStub.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_PrimitivesSetterImplBase.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_PrimitivesSetterStub.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_RemoteObjectImplBase.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_RemoteObjectStub.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_TestObjectImplBase.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_TestObjectStub.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/boolean_listHelper.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/boolean_listHolder.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/char_listHelper.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/char_listHolder.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/double_listHelper.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/double_listHolder.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/float_listHelper.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/float_listHolder.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_listHelper.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_listHolder.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_long_listHelper.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_long_listHolder.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq1Helper.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq1Holder.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq2Helper.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq2Holder.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq3Helper.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq3Holder.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/octet_listHelper.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/octet_listHolder.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/remote_object_listHelper.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/remote_object_listHolder.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/short_listHelper.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/short_listHolder.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/string_listHelper.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/string_listHolder.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_long_listHelper.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_long_listHolder.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_long_long_listHelper.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_long_long_listHolder.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_short_listHelper.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_short_listHolder.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/wchar_listHelper.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/wchar_listHolder.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/wstring_listHelper.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/wstring_listHolder.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/Calc.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/DummyObject.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidEnum1.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidEnum2.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidEnum3.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidStruct1.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidStruct2.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidStruct3.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/NonCorbaException.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/SimpleStruct.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/SomeStruct.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/DummyObject.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/DummyObjectHelper.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/DummyObjectHolder.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/DummyObjectOperations.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/ObjectManager.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/ObjectManagerHelper.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/ObjectManagerHolder.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/ObjectManagerOperations.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/_DummyObjectImplBase.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/_DummyObjectStub.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/_ObjectManagerImplBase.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/_ObjectManagerStub.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/ArraysSetterServant.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/CalcServant.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/DummyObjectServant.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/EnumManagerServant.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/InvalidTypesServant.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/NonCorbaServant.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/ObjectManagerServant.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/PrimitivesSetterServant.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/TestObjectServant.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/service/mocks/TestDataType.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/service/mocks/TestInterface.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/service/mocks/TestInterfaceContract.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/service/mocks/TestOperation.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/service/mocks/TestRuntimeComponentService.java
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/service/mocks/TestRuntimeWire.java
Modified: tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaServiceBindingProvider.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaServiceBindingProvider.java?rev=671373&r1=671372&r2=671373&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaServiceBindingProvider.java (original)
+++ tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaServiceBindingProvider.java Tue Jun 24 15:30:14 2008
@@ -61,35 +61,30 @@
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"));
+ 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 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");
+ 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);
+ NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef);
// bind the Object Reference in Naming
- NameComponent path[] = ncRef.to_name( binding.getURI() );
+ 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);
}
Modified: tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/TuscanyServant.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/TuscanyServant.java?rev=671373&r1=671372&r2=671373&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/TuscanyServant.java (original)
+++ tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/TuscanyServant.java Tue Jun 24 15:30:14 2008
@@ -24,7 +24,6 @@
import org.omg.PortableServer.DynamicImplementation;
import org.omg.PortableServer.POA;
-
/**
* This is the CORBA DSI servant that dispatches CORBA requests to SCA components
*
@@ -32,9 +31,9 @@
*/
public class TuscanyServant extends DynamicImplementation {
private ORB orb;
-
+
@Override
- public void invoke(ServerRequest request) {
+ public void invoke(ServerRequest request) {
}
@Override
Modified: tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/exceptions/CorbaException.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/exceptions/CorbaException.java?rev=671373&r1=671372&r2=671373&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/exceptions/CorbaException.java (original)
+++ tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/exceptions/CorbaException.java Tue Jun 24 15:30:14 2008
@@ -25,10 +25,10 @@
*/
public class CorbaException extends Exception {
- private static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = 1L;
+
+ public CorbaException(String message, Throwable cause) {
+ super(message, cause);
+ }
- public CorbaException(String message, Throwable cause) {
- super(message, cause);
- }
-
}
Modified: tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/exceptions/RequestConfigurationException.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/exceptions/RequestConfigurationException.java?rev=671373&r1=671372&r2=671373&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/exceptions/RequestConfigurationException.java (original)
+++ tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/exceptions/RequestConfigurationException.java Tue Jun 24 15:30:14 2008
@@ -24,20 +24,20 @@
*/
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 RequestConfigurationException(String message) {
- super(message);
- }
-
- public String getType() {
- return objectId;
- }
+ 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 RequestConfigurationException(String message) {
+ super(message);
+ }
+
+ public String getType() {
+ return objectId;
+ }
}
Modified: tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/DynaCorbaRequest.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/DynaCorbaRequest.java?rev=671373&r1=671372&r2=671373&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/DynaCorbaRequest.java (original)
+++ tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/DynaCorbaRequest.java Tue Jun 24 15:30:14 2008
@@ -42,132 +42,128 @@
*/
public class DynaCorbaRequest {
- private TypeTree returnTree;
- 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)
- throws RequestConfigurationException {
- TypeTree tree = TypeTreeCreator.createTypeTree(argument.getClass());
- TypeHelpersProxy.write(tree.getRootNode(), outputStream, argument);
- }
-
- /**
- * Sets return type for operation
- *
- * @param forClass
- */
- public void setOutputType(Class<?> forClass)
- throws RequestConfigurationException {
- returnTree = TypeTreeCreator.createTypeTree(forClass);
- }
-
- /**
- * Configures possible exceptions
- *
- * @param forClass
- */
- public void addExceptionType(Class<?> forClass)
- throws RequestConfigurationException {
- TypeTree tree = TypeTreeCreator.createTypeTree(forClass);
- String exceptionId = Utils.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 if (se instanceof BAD_PARAM) {
- throw new CorbaException("Bad parameter", 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;
- }
+ private TypeTree returnTree;
+ 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) throws RequestConfigurationException {
+ TypeTree tree = TypeTreeCreator.createTypeTree(argument.getClass());
+ TypeHelpersProxy.write(tree.getRootNode(), outputStream, argument);
+ }
+
+ /**
+ * Sets return type for operation
+ *
+ * @param forClass
+ */
+ public void setOutputType(Class<?> forClass) throws RequestConfigurationException {
+ returnTree = TypeTreeCreator.createTypeTree(forClass);
+ }
+
+ /**
+ * Configures possible exceptions
+ *
+ * @param forClass
+ */
+ public void addExceptionType(Class<?> forClass) throws RequestConfigurationException {
+ TypeTree tree = TypeTreeCreator.createTypeTree(forClass);
+ String exceptionId = Utils.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 if (se instanceof BAD_PARAM) {
+ throw new CorbaException("Bad parameter", 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;
+ }
}
Modified: tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/DynaCorbaResponse.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/DynaCorbaResponse.java?rev=671373&r1=671372&r2=671373&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/DynaCorbaResponse.java (original)
+++ tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/DynaCorbaResponse.java Tue Jun 24 15:30:14 2008
@@ -26,14 +26,14 @@
*/
public class DynaCorbaResponse {
- private Object content;
+ private Object content;
- public Object getContent() {
- return content;
- }
+ public Object getContent() {
+ return content;
+ }
- public void setContent(Object content) {
- this.content = content;
- }
+ public void setContent(Object content) {
+ this.content = content;
+ }
}
Modified: tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/InterfaceInstanceCreator.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/InterfaceInstanceCreator.java?rev=671373&r1=671372&r2=671373&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/InterfaceInstanceCreator.java (original)
+++ tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/InterfaceInstanceCreator.java Tue Jun 24 15:30:14 2008
@@ -34,39 +34,37 @@
*/
public class InterfaceInstanceCreator {
- private static final CallbackFilter FILTER = new CallbackFilter() {
- public int accept(Method method) {
- return 1;
- }
- };
+ 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;
- }
+ /**
+ * 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;
+ }
}
Modified: tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/InterfaceMethodInterceptor.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/InterfaceMethodInterceptor.java?rev=671373&r1=671372&r2=671373&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/InterfaceMethodInterceptor.java (original)
+++ tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/InterfaceMethodInterceptor.java Tue Jun 24 15:30:14 2008
@@ -32,30 +32,31 @@
*/
public class InterfaceMethodInterceptor implements MethodInterceptor {
- private Object reference;
+ private Object reference;
- public InterfaceMethodInterceptor(Object reference) {
- this.reference = 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();
- }
+ /**
+ * 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();
+ }
}
Modified: tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/DynaCorbaServant.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/DynaCorbaServant.java?rev=671373&r1=671372&r2=671373&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/DynaCorbaServant.java (original)
+++ tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/DynaCorbaServant.java Tue Jun 24 15:30:14 2008
@@ -46,136 +46,119 @@
*/
public class DynaCorbaServant extends ObjectImpl implements InvokeHandler {
- private static String[] DEFAULT_IDS = { "IDL:default:1.0" };
- private RuntimeComponentService service;
- private Binding binding;
- private String[] ids = DEFAULT_IDS;
- private Map<String, OperationTypes> operationsCache = new HashMap<String, OperationTypes>();
-
- public DynaCorbaServant(RuntimeComponentService service, Binding binding)
- throws RequestConfigurationException {
- this.service = service;
- this.binding = binding;
- cacheOperationTypes(service.getInterfaceContract().getInterface()
- .getOperations());
-
- }
-
- private void cacheOperationTypes(List<Operation> operations)
- throws RequestConfigurationException {
- for (Operation operation : operations) {
- try {
- OperationTypes operationTypes = new OperationTypes();
- List<TypeTree> inputInstances = new ArrayList<TypeTree>();
- // cache output type tree
- if (operation.getOutputType() != null
- && operation.getOutputType().getPhysical() != null
- && !operation.getOutputType().getPhysical().equals(
- void.class)) {
- TypeTree outputType = TypeTreeCreator
- .createTypeTree(operation.getOutputType()
- .getPhysical());
- operationTypes.setOutputType(outputType);
- }
- // cache input types trees
- if (operation.getInputType() != null) {
- for (DataType<List<DataType>> type : operation
- .getInputType().getLogical()) {
- Class<?> forClass = type.getPhysical();
- TypeTree inputType = TypeTreeCreator
- .createTypeTree(forClass);
- inputInstances.add(inputType);
- }
-
- }
- operationTypes.setInputType(inputInstances);
- operationsCache.put(operation.getName(), operationTypes);
- } catch (RequestConfigurationException e) {
- throw e;
- }
- }
- }
-
- public void setIds(String[] ids) {
- if (ids != null) {
- this.ids = ids;
- } else {
- this.ids = DEFAULT_IDS;
- }
- }
-
- public OutputStream _invoke(String method, InputStream in,
- ResponseHandler rh) {
-
- Operation operation = null;
-
- List<Operation> operations = service.getInterfaceContract()
- .getInterface().getOperations();
- // searching for proper operation
- for (Operation oper : operations) {
- if (oper.getName().equals(method)) {
- operation = oper;
- break;
- }
- }
- if (operation == null) {
- // operation wasn't found
- throw new org.omg.CORBA.BAD_OPERATION(0,
- org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
- } else {
- List<Object> inputInstances = new ArrayList<Object>();
- OperationTypes types = operationsCache.get(operation.getName());
- try {
- // retrieving in arguments
- for (TypeTree tree : types.getInputType()) {
- Object o = TypeHelpersProxy.read(tree.getRootNode(), in);
- inputInstances.add(o);
- }
- } catch (MARSHAL e) {
- // parameter passed by user was not compatible with Java to
- // Corba mapping
- throw new org.omg.CORBA.BAD_PARAM(0,
- org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
- }
- try {
- // invocation and sending result
- Object result = service.getRuntimeWire(binding).invoke(
- operation, inputInstances.toArray());
- if (types.getOutputType() != null) {
- OutputStream out = rh.createReply();
- TypeTree tree = types.getOutputType();
- TypeHelpersProxy.write(tree.getRootNode(), out, result);
- return out;
- }
- } catch (InvocationTargetException ie) {
- // handling user exception
- try {
- OutputStream out = rh.createExceptionReply();
- Class<?> exceptionClass = ie.getTargetException()
- .getClass();
- TypeTree tree = TypeTreeCreator
- .createTypeTree(exceptionClass);
- String exceptionId = Utils.getExceptionId(exceptionClass);
- out.write_string(exceptionId);
- TypeHelpersProxy.write(tree.getRootNode(), out, ie
- .getTargetException());
- return out;
- } catch (Exception e) {
- // TODO: raise remote exception - exception while handling
- // target exception
- e.printStackTrace();
- }
- } catch (Exception e) {
- // TODO: raise remote exception
- e.printStackTrace();
- }
- }
- return null;
- }
-
- @Override
- public String[] _ids() {
- return ids;
- }
+ private static String[] DEFAULT_IDS = {"IDL:default:1.0"};
+ private RuntimeComponentService service;
+ private Binding binding;
+ private String[] ids = DEFAULT_IDS;
+ private Map<String, OperationTypes> operationsCache = new HashMap<String, OperationTypes>();
+
+ public DynaCorbaServant(RuntimeComponentService service, Binding binding) throws RequestConfigurationException {
+ this.service = service;
+ this.binding = binding;
+ cacheOperationTypes(service.getInterfaceContract().getInterface().getOperations());
+
+ }
+
+ private void cacheOperationTypes(List<Operation> operations) throws RequestConfigurationException {
+ for (Operation operation : operations) {
+ try {
+ OperationTypes operationTypes = new OperationTypes();
+ List<TypeTree> inputInstances = new ArrayList<TypeTree>();
+ // cache output type tree
+ if (operation.getOutputType() != null && operation.getOutputType().getPhysical() != null
+ && !operation.getOutputType().getPhysical().equals(void.class)) {
+ TypeTree outputType = TypeTreeCreator.createTypeTree(operation.getOutputType().getPhysical());
+ operationTypes.setOutputType(outputType);
+ }
+ // cache input types trees
+ if (operation.getInputType() != null) {
+ for (DataType<List<DataType>> type : operation.getInputType().getLogical()) {
+ Class<?> forClass = type.getPhysical();
+ TypeTree inputType = TypeTreeCreator.createTypeTree(forClass);
+ inputInstances.add(inputType);
+ }
+
+ }
+ operationTypes.setInputType(inputInstances);
+ operationsCache.put(operation.getName(), operationTypes);
+ } catch (RequestConfigurationException e) {
+ throw e;
+ }
+ }
+ }
+
+ public void setIds(String[] ids) {
+ if (ids != null) {
+ this.ids = ids;
+ } else {
+ this.ids = DEFAULT_IDS;
+ }
+ }
+
+ public OutputStream _invoke(String method, InputStream in, ResponseHandler rh) {
+
+ Operation operation = null;
+
+ List<Operation> operations = service.getInterfaceContract().getInterface().getOperations();
+ // searching for proper operation
+ for (Operation oper : operations) {
+ if (oper.getName().equals(method)) {
+ operation = oper;
+ break;
+ }
+ }
+ if (operation == null) {
+ // operation wasn't found
+ throw new org.omg.CORBA.BAD_OPERATION(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
+ } else {
+ List<Object> inputInstances = new ArrayList<Object>();
+ OperationTypes types = operationsCache.get(operation.getName());
+ try {
+ // retrieving in arguments
+ for (TypeTree tree : types.getInputType()) {
+ Object o = TypeHelpersProxy.read(tree.getRootNode(), in);
+ inputInstances.add(o);
+ }
+ } catch (MARSHAL e) {
+ // parameter passed by user was not compatible with Java to
+ // Corba mapping
+ throw new org.omg.CORBA.BAD_PARAM(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
+ }
+ try {
+ // invocation and sending result
+ Object result = service.getRuntimeWire(binding).invoke(operation, inputInstances.toArray());
+ if (types.getOutputType() != null) {
+ OutputStream out = rh.createReply();
+ TypeTree tree = types.getOutputType();
+ TypeHelpersProxy.write(tree.getRootNode(), out, result);
+ return out;
+ }
+ } catch (InvocationTargetException ie) {
+ // handling user exception
+ try {
+ OutputStream out = rh.createExceptionReply();
+ Class<?> exceptionClass = ie.getTargetException().getClass();
+ TypeTree tree = TypeTreeCreator.createTypeTree(exceptionClass);
+ String exceptionId = Utils.getExceptionId(exceptionClass);
+ out.write_string(exceptionId);
+ TypeHelpersProxy.write(tree.getRootNode(), out, ie.getTargetException());
+ return out;
+ } catch (Exception e) {
+ // TODO: raise remote exception - exception while handling
+ // target exception
+ e.printStackTrace();
+ }
+ } catch (Exception e) {
+ // TODO: raise remote exception
+ e.printStackTrace();
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public String[] _ids() {
+ return ids;
+ }
}
Modified: tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/OperationTypes.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/OperationTypes.java?rev=671373&r1=671372&r2=671373&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/OperationTypes.java (original)
+++ tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/OperationTypes.java Tue Jun 24 15:30:14 2008
@@ -25,20 +25,23 @@
public class OperationTypes {
- private TypeTree outputType;
- private List<TypeTree> inputType;
-
- public TypeTree getOutputType() {
- return outputType;
- }
- public void setOutputType(TypeTree outputType) {
- this.outputType = outputType;
- }
- public List<TypeTree> getInputType() {
- return inputType;
- }
- public void setInputType(List<TypeTree> inputType) {
- this.inputType = inputType;
- }
-
+ private TypeTree outputType;
+ private List<TypeTree> inputType;
+
+ public TypeTree getOutputType() {
+ return outputType;
+ }
+
+ public void setOutputType(TypeTree outputType) {
+ this.outputType = outputType;
+ }
+
+ public List<TypeTree> getInputType() {
+ return inputType;
+ }
+
+ public void setInputType(List<TypeTree> inputType) {
+ this.inputType = inputType;
+ }
+
}
Modified: tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/NodeType.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/NodeType.java?rev=671373&r1=671372&r2=671373&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/NodeType.java (original)
+++ tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/NodeType.java Tue Jun 24 15:30:14 2008
@@ -24,5 +24,5 @@
* Types of CORBA objects.
*/
public enum NodeType {
- primitive, struct, union, array, sequence, reference, idl_enum, exception
+ primitive, struct, union, array, sequence, reference, idl_enum, exception
}
Modified: tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/TypeTree.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/TypeTree.java?rev=671373&r1=671372&r2=671373&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/TypeTree.java (original)
+++ tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/TypeTree.java Tue Jun 24 15:30:14 2008
@@ -29,48 +29,48 @@
*/
public class TypeTree {
- private Map<Class<?>, TypeTreeNode> typesUsed = new HashMap<Class<?>, TypeTreeNode>();
- private TypeTreeNode rootNode;
+ 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;
- }
+ /**
+ * 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;
+ }
}
Modified: tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/TypeTreeCreator.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/TypeTreeCreator.java?rev=671373&r1=671372&r2=671373&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/TypeTreeCreator.java (original)
+++ tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/TypeTreeCreator.java Tue Jun 24 15:30:14 2008
@@ -38,335 +38,324 @@
*/
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)
- throws RequestConfigurationException {
- 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) throws RequestConfigurationException {
- // //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)
- || nodeType.equals(NodeType.exception)) {
- // 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.idl_enum)) {
-
- } 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
- * @throws RequestConfigurationException
- */
- private static TypeTreeNode createTypeNode(Class<?> forClass)
- throws RequestConfigurationException {
- 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 if (isStructType(forClass)) {
- node.setNodeType(NodeType.struct);
- node.setJavaClass(forClass);
- } else if (isEnumType(forClass)) {
- node.setNodeType(NodeType.idl_enum);
- node.setJavaClass(forClass);
- } else if (isUserException(forClass)) {
- node.setNodeType(NodeType.exception);
- node.setJavaClass(forClass);
- } else {
- RequestConfigurationException e = new RequestConfigurationException(
- "User defined type which cannot be handled: "
- + forClass.getCanonicalName());
- throw e;
- }
- return node;
- }
-
- /**
- * Tells whether given class is structure
- *
- * @param forClass
- * @return
- */
- private static boolean isStructType(Class<?> forClass) {
- int classMods = forClass.getModifiers();
- if (!Modifier.isFinal(classMods)) {
- return false;
- }
- boolean areCtorsValid = false;
- Class<?>[] fieldsTypes = null;
- Constructor<?>[] ctors = forClass.getConstructors();
- /*
- * Do we have 2 ctors and one of them is null ctor?
- */
- if (ctors.length != 2) {
- return false;
- }
- for (int i = 0; i < ctors.length; i++) {
- Class<?>[] params = ctors[i].getParameterTypes();
- if (params.length == 0) {
- areCtorsValid = true;
- } else {
- fieldsTypes = params;
- }
- }
- if (!areCtorsValid) {
- return false;
- }
- /*
- * Are constructor args declared as class fields?
- */
- Field[] fields = forClass.getFields();
- Set<Class<?>> fieldsSet = new HashSet<Class<?>>(Arrays
- .asList(fieldsTypes));
- for (int i = 0; i < fields.length && !fieldsSet.isEmpty(); i++) {
- int mods = fields[i].getModifiers();
- if (Modifier.isPublic(mods) && !Modifier.isStatic(mods)
- && !Modifier.isFinal(mods)) {
- fieldsSet.remove(fields[i].getType());
- }
-
- }
- return fieldsSet.isEmpty();
- }
-
- /**
- * Tells whether given class is enum
- *
- * @param forClass
- * @return
- */
- private static boolean isEnumType(Class<?> forClass) {
- boolean isValueMethod = false;
- boolean isFromIntMethod = false;
- /*
- * enum type should have value and from_int methods
- */
- try {
- Method valueMet = forClass.getMethod("value", new Class[] {});
- int modValueMet = valueMet.getModifiers();
- if (valueMet.getReturnType().equals(int.class)
- && Modifier.isPublic(modValueMet)) {
- isValueMethod = true;
- }
- Method fromIntMet = forClass.getMethod("from_int",
- new Class[] { int.class });
- int modFromIntMet = fromIntMet.getModifiers();
- if ((fromIntMet.getReturnType().equals(forClass)
- && Modifier.isPublic(modFromIntMet) && Modifier
- .isStatic(modFromIntMet))) {
- isFromIntMethod = true;
- }
- } catch (NoSuchMethodException e) {
- }
- if (!isFromIntMethod && !isValueMethod) {
- return false;
- }
- /*
- * enum type should also contain minimum one pair of fields: EnumType
- * field and int _field
- */
- int enumCount = 0;
- Field[] fields = forClass.getFields();
- for (int i = 0; i < fields.length; i++) {
- if (fields[i].getType().equals(forClass)) {
- int modifiers = fields[i].getModifiers();
- if (Modifier.isStatic(modifiers)
- && Modifier.isPublic(modifiers)
- && Modifier.isFinal(modifiers)) {
- try {
- Field field = forClass.getField("_"
- + fields[i].getName());
- if (field.getType().equals(int.class)) {
- enumCount++;
- }
- } catch (NoSuchFieldException e) {
- }
-
- }
- }
- }
- return enumCount > 0;
- }
-
- /**
- * Tells whether given class is corba user exception
- * @param forClass
- * @return
- */
- private static boolean isUserException(Class<?> forClass) {
- do {
- if (forClass.equals(Exception.class)) {
- return true;
- } else {
- forClass = forClass.getSuperclass();
- }
- } while (forClass != null && !forClass.equals(Object.class));
- return false;
- }
+ /**
+ * 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) throws RequestConfigurationException {
+ 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)
+ throws RequestConfigurationException {
+ // //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) || nodeType.equals(NodeType.exception)) {
+ // 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.idl_enum)) {
+
+ } 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
+ * @throws RequestConfigurationException
+ */
+ private static TypeTreeNode createTypeNode(Class<?> forClass) throws RequestConfigurationException {
+ 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 if (isStructType(forClass)) {
+ node.setNodeType(NodeType.struct);
+ node.setJavaClass(forClass);
+ } else if (isEnumType(forClass)) {
+ node.setNodeType(NodeType.idl_enum);
+ node.setJavaClass(forClass);
+ } else if (isUserException(forClass)) {
+ node.setNodeType(NodeType.exception);
+ node.setJavaClass(forClass);
+ } else {
+ RequestConfigurationException e =
+ new RequestConfigurationException("User defined type which cannot be handled: " + forClass
+ .getCanonicalName());
+ throw e;
+ }
+ return node;
+ }
+
+ /**
+ * Tells whether given class is structure
+ *
+ * @param forClass
+ * @return
+ */
+ private static boolean isStructType(Class<?> forClass) {
+ int classMods = forClass.getModifiers();
+ if (!Modifier.isFinal(classMods)) {
+ return false;
+ }
+ boolean areCtorsValid = false;
+ Class<?>[] fieldsTypes = null;
+ Constructor<?>[] ctors = forClass.getConstructors();
+ /*
+ * Do we have 2 ctors and one of them is null ctor?
+ */
+ if (ctors.length != 2) {
+ return false;
+ }
+ for (int i = 0; i < ctors.length; i++) {
+ Class<?>[] params = ctors[i].getParameterTypes();
+ if (params.length == 0) {
+ areCtorsValid = true;
+ } else {
+ fieldsTypes = params;
+ }
+ }
+ if (!areCtorsValid) {
+ return false;
+ }
+ /*
+ * Are constructor args declared as class fields?
+ */
+ Field[] fields = forClass.getFields();
+ Set<Class<?>> fieldsSet = new HashSet<Class<?>>(Arrays.asList(fieldsTypes));
+ for (int i = 0; i < fields.length && !fieldsSet.isEmpty(); i++) {
+ int mods = fields[i].getModifiers();
+ if (Modifier.isPublic(mods) && !Modifier.isStatic(mods) && !Modifier.isFinal(mods)) {
+ fieldsSet.remove(fields[i].getType());
+ }
+
+ }
+ return fieldsSet.isEmpty();
+ }
+
+ /**
+ * Tells whether given class is enum
+ *
+ * @param forClass
+ * @return
+ */
+ private static boolean isEnumType(Class<?> forClass) {
+ boolean isValueMethod = false;
+ boolean isFromIntMethod = false;
+ /*
+ * enum type should have value and from_int methods
+ */
+ try {
+ Method valueMet = forClass.getMethod("value", new Class[] {});
+ int modValueMet = valueMet.getModifiers();
+ if (valueMet.getReturnType().equals(int.class) && Modifier.isPublic(modValueMet)) {
+ isValueMethod = true;
+ }
+ Method fromIntMet = forClass.getMethod("from_int", new Class[] {int.class});
+ int modFromIntMet = fromIntMet.getModifiers();
+ if ((fromIntMet.getReturnType().equals(forClass) && Modifier.isPublic(modFromIntMet) && Modifier
+ .isStatic(modFromIntMet))) {
+ isFromIntMethod = true;
+ }
+ } catch (NoSuchMethodException e) {
+ }
+ if (!isFromIntMethod && !isValueMethod) {
+ return false;
+ }
+ /*
+ * enum type should also contain minimum one pair of fields: EnumType
+ * field and int _field
+ */
+ int enumCount = 0;
+ Field[] fields = forClass.getFields();
+ for (int i = 0; i < fields.length; i++) {
+ if (fields[i].getType().equals(forClass)) {
+ int modifiers = fields[i].getModifiers();
+ if (Modifier.isStatic(modifiers) && Modifier.isPublic(modifiers) && Modifier.isFinal(modifiers)) {
+ try {
+ Field field = forClass.getField("_" + fields[i].getName());
+ if (field.getType().equals(int.class)) {
+ enumCount++;
+ }
+ } catch (NoSuchFieldException e) {
+ }
+
+ }
+ }
+ }
+ return enumCount > 0;
+ }
+
+ /**
+ * Tells whether given class is corba user exception
+ * @param forClass
+ * @return
+ */
+ private static boolean isUserException(Class<?> forClass) {
+ do {
+ if (forClass.equals(Exception.class)) {
+ return true;
+ } else {
+ forClass = forClass.getSuperclass();
+ }
+ } while (forClass != null && !forClass.equals(Object.class));
+ return false;
+ }
}
Modified: tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/TypeTreeNode.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/TypeTreeNode.java?rev=671373&r1=671372&r2=671373&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/TypeTreeNode.java (original)
+++ tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/TypeTreeNode.java Tue Jun 24 15:30:14 2008
@@ -26,41 +26,41 @@
*/
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;
- }
+ 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;
+ }
}
Modified: tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ArrayTypeHelper.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ArrayTypeHelper.java?rev=671373&r1=671372&r2=671373&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ArrayTypeHelper.java (original)
+++ tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ArrayTypeHelper.java Tue Jun 24 15:30:14 2008
@@ -23,24 +23,25 @@
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 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
+ public void write(TypeTreeNode node, OutputStream os, Object data) {
+ // TODO Auto-generated method stub
- }
+ }
}
Modified: tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/BooleanTypeHelper.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/BooleanTypeHelper.java?rev=671373&r1=671372&r2=671373&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/BooleanTypeHelper.java (original)
+++ tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/BooleanTypeHelper.java Tue Jun 24 15:30:14 2008
@@ -30,16 +30,16 @@
*/
public class BooleanTypeHelper implements TypeHelper {
- public TypeCode getType(TypeTreeNode node) {
- return ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.from_int(8));
- }
+ 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 Object read(TypeTreeNode node, InputStream is) {
+ return is.read_boolean();
+ }
- public void write(TypeTreeNode node, OutputStream os, Object data) {
- os.write_boolean((Boolean) data);
- }
+ public void write(TypeTreeNode node, OutputStream os, Object data) {
+ os.write_boolean((Boolean)data);
+ }
}
Modified: tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ByteTypeHelper.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ByteTypeHelper.java?rev=671373&r1=671372&r2=671373&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ByteTypeHelper.java (original)
+++ tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ByteTypeHelper.java Tue Jun 24 15:30:14 2008
@@ -30,16 +30,16 @@
*/
public class ByteTypeHelper implements TypeHelper {
- public TypeCode getType(TypeTreeNode node) {
- return ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.from_int(10));
- }
+ 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 Object read(TypeTreeNode node, InputStream is) {
+ return is.read_octet();
+ }
- public void write(TypeTreeNode node, OutputStream os, Object data) {
- os.write_octet((Byte) data);
- }
+ public void write(TypeTreeNode node, OutputStream os, Object data) {
+ os.write_octet((Byte)data);
+ }
}