r2corba 1.5.1-universal-java
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/CHANGES +173 -0
- data/LICENSE +59 -0
- data/LICENSE.jacorb +660 -0
- data/README +62 -0
- data/THANKS +54 -0
- data/bin/r2corba +8 -0
- data/bin/r2corba.bat +20 -0
- data/bin/ridlc +11 -0
- data/bin/ridlc.bat +23 -0
- data/bin/rins +7 -0
- data/bin/rins.bat +19 -0
- data/jacorb/lib/antlr-2.7.2.jar +0 -0
- data/jacorb/lib/jacorb-3.5.jar +0 -0
- data/jacorb/lib/jacorb-omgapi-3.5.jar +0 -0
- data/jacorb/lib/jacorb-services-3.5.jar +0 -0
- data/jacorb/lib/slf4j-api-1.7.6.jar +0 -0
- data/jacorb/lib/slf4j-jdk14-1.7.6.jar +0 -0
- data/lib/corba.rb +16 -0
- data/lib/corba/cbase/IORMap.rb +33 -0
- data/lib/corba/cbase/ORB.rb +237 -0
- data/lib/corba/cbase/Request.rb +134 -0
- data/lib/corba/cbase/Streams.rb +129 -0
- data/lib/corba/cbase/Stub.rb +19 -0
- data/lib/corba/cbase/Typecode.rb +441 -0
- data/lib/corba/cbase/Values.rb +129 -0
- data/lib/corba/cbase/exception.rb +66 -0
- data/lib/corba/cbase/poa.rb +23 -0
- data/lib/corba/cbase/policies.rb +78 -0
- data/lib/corba/cbase/post_require.rb +14 -0
- data/lib/corba/cbase/require.rb +28 -0
- data/lib/corba/cmds/base.rb +85 -0
- data/lib/corba/cmds/test.rb +30 -0
- data/lib/corba/common/Any.rb +91 -0
- data/lib/corba/common/IDL.rb +104 -0
- data/lib/corba/common/ORB.rb +368 -0
- data/lib/corba/common/Object.rb +208 -0
- data/lib/corba/common/Request.rb +20 -0
- data/lib/corba/common/Servant.rb +108 -0
- data/lib/corba/common/Struct.rb +22 -0
- data/lib/corba/common/Stub.rb +79 -0
- data/lib/corba/common/Typecode.rb +1121 -0
- data/lib/corba/common/Union.rb +56 -0
- data/lib/corba/common/Values.rb +92 -0
- data/lib/corba/common/const.rb +22 -0
- data/lib/corba/common/exception.rb +68 -0
- data/lib/corba/common/require.rb +27 -0
- data/lib/corba/common/version.rb +22 -0
- data/lib/corba/idl/BiDirPolicyC.rb +63 -0
- data/lib/corba/idl/CosNamingC.rb +461 -0
- data/lib/corba/idl/CosNamingS.rb +309 -0
- data/lib/corba/idl/IDL.rb +21 -0
- data/lib/corba/idl/IORTable.pidl +62 -0
- data/lib/corba/idl/MessagingC.rb +904 -0
- data/lib/corba/idl/POAC.rb +930 -0
- data/lib/corba/idl/TAO_Ext.pidl +46 -0
- data/lib/corba/idl/r2c_orb.rb +572 -0
- data/lib/corba/idl/require.rb +20 -0
- data/lib/corba/jbase/Any.rb +273 -0
- data/lib/corba/jbase/IORMap.rb +36 -0
- data/lib/corba/jbase/ORB.rb +112 -0
- data/lib/corba/jbase/Object.rb +99 -0
- data/lib/corba/jbase/Request.rb +226 -0
- data/lib/corba/jbase/Servant.rb +248 -0
- data/lib/corba/jbase/ServerRequest.rb +128 -0
- data/lib/corba/jbase/Streams.rb +671 -0
- data/lib/corba/jbase/Stub.rb +38 -0
- data/lib/corba/jbase/Typecode.rb +520 -0
- data/lib/corba/jbase/Values.rb +173 -0
- data/lib/corba/jbase/exception.rb +106 -0
- data/lib/corba/jbase/poa.rb +229 -0
- data/lib/corba/jbase/policies.rb +300 -0
- data/lib/corba/jbase/post_require.rb +14 -0
- data/lib/corba/jbase/require.rb +89 -0
- data/lib/corba/naming.rb +14 -0
- data/lib/corba/naming_service.rb +15 -0
- data/lib/corba/poa.rb +15 -0
- data/lib/corba/policies.rb +18 -0
- data/lib/corba/require.rb +17 -0
- data/lib/corba/svcs/ins/cos_naming.rb +426 -0
- data/lib/corba/svcs/ins/ins.rb +526 -0
- data/lib/corba/svcs/ins/naming_service.rb +119 -0
- data/lib/ridlbe/ruby/config.rb +336 -0
- data/lib/ridlbe/ruby/orb.pidlc +0 -0
- data/lib/ridlbe/ruby/require.rb +16 -0
- data/lib/ridlbe/ruby/walker.rb +1582 -0
- data/mkrf_conf_bingem.rb +151 -0
- data/rakelib/bin.rake +80 -0
- data/rakelib/bin.rb +146 -0
- data/rakelib/build.rake +87 -0
- data/rakelib/config.rake +52 -0
- data/rakelib/config.rb +544 -0
- data/rakelib/gem.rake +236 -0
- data/rakelib/gem.rb +146 -0
- data/rakelib/package.rake +26 -0
- data/rakelib/test.rake +23 -0
- data/test/BiDirectional/Test.idl +34 -0
- data/test/BiDirectional/client.rb +132 -0
- data/test/BiDirectional/run_test.rb +68 -0
- data/test/BiDirectional/server.ior +1 -0
- data/test/BiDirectional/server.rb +169 -0
- data/test/CORBA_Services/Naming/BindingIterator/Test.idl +27 -0
- data/test/CORBA_Services/Naming/BindingIterator/client.rb +121 -0
- data/test/CORBA_Services/Naming/BindingIterator/ins.ior +1 -0
- data/test/CORBA_Services/Naming/BindingIterator/run_test.rb +82 -0
- data/test/CORBA_Services/Naming/BindingIterator/server.rb +109 -0
- data/test/CORBA_Services/Naming/Corbaname/Test.idl +27 -0
- data/test/CORBA_Services/Naming/Corbaname/client.rb +85 -0
- data/test/CORBA_Services/Naming/Corbaname/corbaname.ior +1 -0
- data/test/CORBA_Services/Naming/Corbaname/ins.ior +1 -0
- data/test/CORBA_Services/Naming/Corbaname/run_test.rb +88 -0
- data/test/CORBA_Services/Naming/Corbaname/server.rb +135 -0
- data/test/CORBA_Services/Naming/Simple/Test.idl +27 -0
- data/test/CORBA_Services/Naming/Simple/client.rb +84 -0
- data/test/CORBA_Services/Naming/Simple/ins.ior +1 -0
- data/test/CORBA_Services/Naming/Simple/run_test.rb +82 -0
- data/test/CORBA_Services/Naming/Simple/server.rb +109 -0
- data/test/Collocation/Diamond.idl +39 -0
- data/test/Collocation/run_test.rb +52 -0
- data/test/Collocation/test.rb +195 -0
- data/test/Connect_Timeout/Test.idl +27 -0
- data/test/Connect_Timeout/client.rb +111 -0
- data/test/Connect_Timeout/run_test.rb +52 -0
- data/test/DII/Test.idl +27 -0
- data/test/DII/client.rb +115 -0
- data/test/DII/run_test.rb +69 -0
- data/test/DII/server.ior +1 -0
- data/test/DII/server.rb +95 -0
- data/test/DSI/Test.idl +27 -0
- data/test/DSI/client.rb +66 -0
- data/test/DSI/run_test.rb +69 -0
- data/test/DSI/server.ior +1 -0
- data/test/DSI/server.rb +106 -0
- data/test/Exceptions/Test.idl +48 -0
- data/test/Exceptions/client.rb +118 -0
- data/test/Exceptions/run_test.rb +69 -0
- data/test/Exceptions/server.ior +1 -0
- data/test/Exceptions/server.rb +131 -0
- data/test/Hello/Test.idl +27 -0
- data/test/Hello/client.rb +78 -0
- data/test/Hello/gateway.ior +1 -0
- data/test/Hello/run_test.rb +71 -0
- data/test/Hello/server.rb +95 -0
- data/test/IDL_Test/Test.idl +113 -0
- data/test/IDL_Test/Test_inc.idl +17 -0
- data/test/IDL_Test/client.rb +102 -0
- data/test/IDL_Test/run_test.rb +69 -0
- data/test/IDL_Test/server.ior +1 -0
- data/test/IDL_Test/server.rb +99 -0
- data/test/IORMap/Test.idl +27 -0
- data/test/IORMap/client.rb +73 -0
- data/test/IORMap/run_test.rb +69 -0
- data/test/IORMap/server.ior +1 -0
- data/test/IORMap/server.rb +114 -0
- data/test/IORTable/Test.idl +27 -0
- data/test/IORTable/client.rb +75 -0
- data/test/IORTable/run_test.rb +69 -0
- data/test/IORTable/server.ior +0 -0
- data/test/IORTable/server.rb +130 -0
- data/test/Implicit_Conversion/Test.idl +31 -0
- data/test/Implicit_Conversion/client.rb +110 -0
- data/test/Implicit_Conversion/run_test.rb +69 -0
- data/test/Implicit_Conversion/server.ior +1 -0
- data/test/Implicit_Conversion/server.rb +99 -0
- data/test/Multi_Threading/Multiple_ORB/Test.idl +27 -0
- data/test/Multi_Threading/Multiple_ORB/client.rb +82 -0
- data/test/Multi_Threading/Multiple_ORB/run_test.rb +71 -0
- data/test/Multi_Threading/Multiple_ORB/server.rb +108 -0
- data/test/Multi_Threading/Multiple_ORB/server0.ior +1 -0
- data/test/Multi_Threading/Multiple_ORB/server1.ior +1 -0
- data/test/Multi_Threading/Simple/Test.idl +27 -0
- data/test/Multi_Threading/Simple/client.rb +93 -0
- data/test/Multi_Threading/Simple/run_test.rb +69 -0
- data/test/Multi_Threading/Simple/server.ior +1 -0
- data/test/Multi_Threading/Simple/server.rb +118 -0
- data/test/Multi_Threading/Threads/Test.idl +31 -0
- data/test/Multi_Threading/Threads/client.rb +80 -0
- data/test/Multi_Threading/Threads/run_test.rb +76 -0
- data/test/Multi_Threading/Threads/server.ior +1 -0
- data/test/Multi_Threading/Threads/server.rb +119 -0
- data/test/Multi_Threading/Threads/watchdog.ior +1 -0
- data/test/Multi_Threading/Threads/watchdog.rb +87 -0
- data/test/Multiple_Servant_Interfaces/Test.idl +34 -0
- data/test/Multiple_Servant_Interfaces/client.rb +70 -0
- data/test/Multiple_Servant_Interfaces/run_test.rb +69 -0
- data/test/Multiple_Servant_Interfaces/server.ior +1 -0
- data/test/Multiple_Servant_Interfaces/server.rb +102 -0
- data/test/Nil/Test.idl +27 -0
- data/test/Nil/run_test.rb +52 -0
- data/test/Nil/test.rb +78 -0
- data/test/OBV/AbstractInterface/client.rb +179 -0
- data/test/OBV/AbstractInterface/run_test.rb +69 -0
- data/test/OBV/AbstractInterface/server.ior +1 -0
- data/test/OBV/AbstractInterface/server.rb +149 -0
- data/test/OBV/AbstractInterface/test.idl +53 -0
- data/test/OBV/Custom/OBV.idl +18 -0
- data/test/OBV/Custom/OBV_impl.rb +40 -0
- data/test/OBV/Custom/client.rb +86 -0
- data/test/OBV/Custom/run_test.rb +69 -0
- data/test/OBV/Custom/server.ior +1 -0
- data/test/OBV/Custom/server.rb +100 -0
- data/test/OBV/Simple/OBV.idl +15 -0
- data/test/OBV/Simple/OBV_impl.rb +26 -0
- data/test/OBV/Simple/client.rb +86 -0
- data/test/OBV/Simple/run_test.rb +69 -0
- data/test/OBV/Simple/server.ior +1 -0
- data/test/OBV/Simple/server.rb +100 -0
- data/test/OBV/Simple_Event/Event.idl +15 -0
- data/test/OBV/Simple_Event/Event_impl.rb +26 -0
- data/test/OBV/Simple_Event/client.rb +86 -0
- data/test/OBV/Simple_Event/run_test.rb +69 -0
- data/test/OBV/Simple_Event/server.ior +1 -0
- data/test/OBV/Simple_Event/server.rb +100 -0
- data/test/OBV/Supports/client.rb +116 -0
- data/test/OBV/Supports/run_test.rb +69 -0
- data/test/OBV/Supports/server.ior +1 -0
- data/test/OBV/Supports/server.rb +103 -0
- data/test/OBV/Supports/supports.idl +33 -0
- data/test/OBV/Supports/supports_impl.rb +57 -0
- data/test/OBV/Tree/client.rb +116 -0
- data/test/OBV/Tree/run_test.rb +69 -0
- data/test/OBV/Tree/server.ior +1 -0
- data/test/OBV/Tree/server.rb +117 -0
- data/test/OBV/Tree/test.idl +32 -0
- data/test/OBV/Truncatable/Extra.idl +27 -0
- data/test/OBV/Truncatable/Truncatable.idl +105 -0
- data/test/OBV/Truncatable/Truncatable_impl.rb +86 -0
- data/test/OBV/Truncatable/client.rb +279 -0
- data/test/OBV/Truncatable/run_test.rb +69 -0
- data/test/OBV/Truncatable/server.ior +1 -0
- data/test/OBV/Truncatable/server.rb +89 -0
- data/test/OBV/ValueBox/client.rb +497 -0
- data/test/OBV/ValueBox/run_test.rb +69 -0
- data/test/OBV/ValueBox/server.ior +1 -0
- data/test/OBV/ValueBox/server.rb +271 -0
- data/test/OBV/ValueBox/valuebox.idl +101 -0
- data/test/OBV/ValueBox/vb_basic.idl +75 -0
- data/test/OBV/ValueBox/vb_struct.idl +68 -0
- data/test/OBV/ValueBox/vb_union.idl +21 -0
- data/test/Object/Test.idl +27 -0
- data/test/Object/client.rb +112 -0
- data/test/Object/run_test.rb +69 -0
- data/test/Object/server.ior +1 -0
- data/test/Object/server.rb +126 -0
- data/test/POA/Test.idl +27 -0
- data/test/POA/run_test.rb +52 -0
- data/test/POA/test.rb +112 -0
- data/test/Param_Test/Test.idl +182 -0
- data/test/Param_Test/client.rb +277 -0
- data/test/Param_Test/run_test.rb +69 -0
- data/test/Param_Test/server.ior +1 -0
- data/test/Param_Test/server.rb +296 -0
- data/test/Performance/Simple/Test.idl +27 -0
- data/test/Performance/Simple/client.rb +90 -0
- data/test/Performance/Simple/run_test.rb +69 -0
- data/test/Performance/Simple/server.ior +1 -0
- data/test/Performance/Simple/server.rb +95 -0
- data/test/Policies/Test.idl +27 -0
- data/test/Policies/run_test.rb +52 -0
- data/test/Policies/test.rb +144 -0
- data/test/Timeout/client.rb +207 -0
- data/test/Timeout/run_test.rb +69 -0
- data/test/Timeout/server.ior +1 -0
- data/test/Timeout/server.rb +109 -0
- data/test/Timeout/test.idl +19 -0
- data/test/lib/assert.rb +43 -0
- data/test/lib/test.rb +542 -0
- data/test/test.log +20 -0
- data/test/test2.log +5000 -0
- data/test/test_runner.rb +193 -0
- metadata +349 -0
@@ -0,0 +1,32 @@
|
|
1
|
+
/*--------------------------------------------------------------------
|
2
|
+
* Author: Martin Corino
|
3
|
+
*
|
4
|
+
* This program is free software; you can redistribute it and/or
|
5
|
+
* modify it under the terms of the R2CORBA LICENSE which is
|
6
|
+
* included with this program.
|
7
|
+
*
|
8
|
+
* Copyright (c) Remedy IT Expertise BV
|
9
|
+
* Chamber of commerce Rotterdam nr.276339, The Netherlands
|
10
|
+
*--------------------------------------------------------------------*/
|
11
|
+
|
12
|
+
valuetype BaseNode
|
13
|
+
{
|
14
|
+
public BaseNode left;
|
15
|
+
public BaseNode right;
|
16
|
+
};
|
17
|
+
|
18
|
+
valuetype StringNode : BaseNode
|
19
|
+
{
|
20
|
+
public string name;
|
21
|
+
};
|
22
|
+
|
23
|
+
valuetype TreeController
|
24
|
+
{
|
25
|
+
public BaseNode root;
|
26
|
+
};
|
27
|
+
|
28
|
+
interface passer
|
29
|
+
{
|
30
|
+
void pass_tree (out TreeController outarg);
|
31
|
+
oneway void shutdown ();
|
32
|
+
};
|
@@ -0,0 +1,27 @@
|
|
1
|
+
/*--------------------------------------------------------------------
|
2
|
+
* Author: Martin Corino
|
3
|
+
*
|
4
|
+
* This program is free software; you can redistribute it and/or
|
5
|
+
* modify it under the terms of the R2CORBA LICENSE which is
|
6
|
+
* included with this program.
|
7
|
+
*
|
8
|
+
* Copyright (c) Remedy IT Expertise BV
|
9
|
+
* Chamber of commerce Rotterdam nr.276339, The Netherlands
|
10
|
+
*--------------------------------------------------------------------*/
|
11
|
+
|
12
|
+
// This file contains extra valuetypes which are unknown by the test
|
13
|
+
// server. We should be able to pass these values and have the server
|
14
|
+
// truncate them to the most derived known type.
|
15
|
+
|
16
|
+
#include "Truncatable.idl"
|
17
|
+
|
18
|
+
module OBV_TruncatableTest
|
19
|
+
{
|
20
|
+
//
|
21
|
+
// Base valuetype.
|
22
|
+
//
|
23
|
+
valuetype Extra1 : truncatable TValue1
|
24
|
+
{
|
25
|
+
public unsigned long edata1;
|
26
|
+
};
|
27
|
+
};
|
@@ -0,0 +1,105 @@
|
|
1
|
+
/*--------------------------------------------------------------------
|
2
|
+
* Author: Martin Corino
|
3
|
+
*
|
4
|
+
* This program is free software; you can redistribute it and/or
|
5
|
+
* modify it under the terms of the R2CORBA LICENSE which is
|
6
|
+
* included with this program.
|
7
|
+
*
|
8
|
+
* Copyright (c) Remedy IT Expertise BV
|
9
|
+
* Chamber of commerce Rotterdam nr.276339, The Netherlands
|
10
|
+
*--------------------------------------------------------------------*/
|
11
|
+
|
12
|
+
// This file contains few valuetypes to show and test truncatable feature of
|
13
|
+
// valuetype.
|
14
|
+
|
15
|
+
module OBV_TruncatableTest
|
16
|
+
{
|
17
|
+
// Base valuetype.
|
18
|
+
valuetype BaseValue
|
19
|
+
{
|
20
|
+
public unsigned long basic_data;
|
21
|
+
};
|
22
|
+
|
23
|
+
// Valuetype with one-level truncatable inheritence.
|
24
|
+
valuetype TValue1 : truncatable BaseValue
|
25
|
+
{
|
26
|
+
public unsigned long data1;
|
27
|
+
};
|
28
|
+
|
29
|
+
//
|
30
|
+
// Valuetype with multi-level truncatable inheritence.
|
31
|
+
//
|
32
|
+
valuetype TValue2 : truncatable TValue1
|
33
|
+
{
|
34
|
+
public unsigned long data2;
|
35
|
+
};
|
36
|
+
|
37
|
+
//
|
38
|
+
// Valuetype with multi-level inheritence, but not all truncatable.
|
39
|
+
//
|
40
|
+
valuetype TValue3 : TValue1
|
41
|
+
{
|
42
|
+
public unsigned long data3;
|
43
|
+
};
|
44
|
+
|
45
|
+
//
|
46
|
+
// An valuetype nested in a valuetype.
|
47
|
+
//
|
48
|
+
valuetype NestedValue
|
49
|
+
{
|
50
|
+
public long data;
|
51
|
+
};
|
52
|
+
|
53
|
+
//
|
54
|
+
// Truncatable valuetype with nested valuetype.
|
55
|
+
//
|
56
|
+
valuetype TValue4 : truncatable BaseValue
|
57
|
+
{
|
58
|
+
public NestedValue nv4;
|
59
|
+
public unsigned long data4;
|
60
|
+
};
|
61
|
+
|
62
|
+
//
|
63
|
+
// More complex truncatable valuetype.
|
64
|
+
//
|
65
|
+
valuetype TValue5 : truncatable TValue4
|
66
|
+
{
|
67
|
+
public string str1;
|
68
|
+
public unsigned long data5;
|
69
|
+
public NestedValue nv5;
|
70
|
+
public string str2;
|
71
|
+
};
|
72
|
+
|
73
|
+
//
|
74
|
+
// No data valuetype with truncatable parent.
|
75
|
+
valuetype TValue6 : truncatable BaseValue
|
76
|
+
{
|
77
|
+
};
|
78
|
+
|
79
|
+
//
|
80
|
+
// Interface to pass valuetypes.
|
81
|
+
//
|
82
|
+
interface Test
|
83
|
+
{
|
84
|
+
|
85
|
+
//NOTE: the "desc" parameter helps verify that truncated values are skipped properly.
|
86
|
+
// the output is "<id>: <input desc>"
|
87
|
+
void op1 (in string id, in BaseValue iv, out BaseValue ov, inout string desc);
|
88
|
+
void op2 (in TValue1 iv, in string id, out TValue1 ov, inout string desc);
|
89
|
+
void op3 (in string id, in TValue4 iv, out TValue4 ov, inout string desc);
|
90
|
+
BaseValue op4 (in string id,
|
91
|
+
in TValue1 iv1,
|
92
|
+
in short x,
|
93
|
+
in TValue4 iv2,
|
94
|
+
in TValue4 iv3,
|
95
|
+
in TValue1 iv4,
|
96
|
+
inout string desc);
|
97
|
+
|
98
|
+
void op5 (in any val, in string id, out TValue1 ov, inout string desc);
|
99
|
+
|
100
|
+
// Shutdown the romote ORB
|
101
|
+
oneway void shutdown ();
|
102
|
+
|
103
|
+
};
|
104
|
+
|
105
|
+
};
|
@@ -0,0 +1,86 @@
|
|
1
|
+
#--------------------------------------------------------------------
|
2
|
+
#
|
3
|
+
# Author: Martin Corino
|
4
|
+
#
|
5
|
+
# This program is free software; you can redistribute it and/or
|
6
|
+
# modify it under the terms of the R2CORBA LICENSE which is
|
7
|
+
# included with this program.
|
8
|
+
#
|
9
|
+
# Copyright (c) Remedy IT Expertise BV
|
10
|
+
# Chamber of commerce Rotterdam nr.276339, The Netherlands
|
11
|
+
#--------------------------------------------------------------------
|
12
|
+
|
13
|
+
class Test_impl < POA::OBV_TruncatableTest::Test
|
14
|
+
def initialize(orb)
|
15
|
+
@orb_ = orb
|
16
|
+
end
|
17
|
+
|
18
|
+
def op1(id, iv, desc)
|
19
|
+
tmp = "#{id}: #{desc}"
|
20
|
+
desc = tmp
|
21
|
+
|
22
|
+
ov = ::OBV_TruncatableTest::BaseValue.new
|
23
|
+
ov.basic_data = iv.basic_data
|
24
|
+
[ov, desc]
|
25
|
+
end
|
26
|
+
|
27
|
+
def op2(iv, id, desc)
|
28
|
+
tmp = "#{id}: #{desc}"
|
29
|
+
desc = tmp
|
30
|
+
|
31
|
+
ov = ::OBV_TruncatableTest::TValue1.new
|
32
|
+
ov.basic_data = iv.basic_data
|
33
|
+
ov.data1 = iv.data1
|
34
|
+
[ov, desc]
|
35
|
+
end
|
36
|
+
|
37
|
+
def op3(id, iv, desc)
|
38
|
+
tmp = "#{id}: #{desc}"
|
39
|
+
desc = tmp
|
40
|
+
|
41
|
+
ov = ::OBV_TruncatableTest::TValue4.new
|
42
|
+
nv = ::OBV_TruncatableTest::NestedValue.new
|
43
|
+
nv.data = iv.nv4.data
|
44
|
+
ov.basic_data = iv.basic_data
|
45
|
+
ov.nv4 = nv
|
46
|
+
ov.data4 = iv.data4
|
47
|
+
[ov, desc]
|
48
|
+
end
|
49
|
+
|
50
|
+
def op4(id, iv1, x, iv2, iv3, iv4, desc)
|
51
|
+
tmp = "#{id}: #{desc}"
|
52
|
+
desc = tmp
|
53
|
+
|
54
|
+
ov = ::OBV_TruncatableTest::BaseValue.new
|
55
|
+
|
56
|
+
total = x * (iv1.basic_data + iv2.basic_data +
|
57
|
+
iv3.basic_data + iv4.basic_data)
|
58
|
+
ov.basic_data = total
|
59
|
+
|
60
|
+
[ov, desc]
|
61
|
+
end
|
62
|
+
|
63
|
+
def op5(val, id, desc)
|
64
|
+
ov = ::OBV_TruncatableTest::TValue1.new
|
65
|
+
iv = nil
|
66
|
+
target = CORBA::Any.value_for_any(val)
|
67
|
+
if (target.nil?)
|
68
|
+
STDERR.puts "server:Test_impl::op5 extract failed\n"
|
69
|
+
ov.basic_data = 101
|
70
|
+
ov.data1 = 10101
|
71
|
+
else
|
72
|
+
iv = target
|
73
|
+
tmp = "#{id}: #{desc}"
|
74
|
+
desc = tmp
|
75
|
+
|
76
|
+
ov.basic_data = iv.basic_data
|
77
|
+
ov.data1 = iv.data1
|
78
|
+
end
|
79
|
+
[ov, desc]
|
80
|
+
end
|
81
|
+
|
82
|
+
def shutdown()
|
83
|
+
@orb_.shutdown
|
84
|
+
end
|
85
|
+
|
86
|
+
end
|
@@ -0,0 +1,279 @@
|
|
1
|
+
#--------------------------------------------------------------------
|
2
|
+
#
|
3
|
+
# Author: Martin Corino
|
4
|
+
#
|
5
|
+
# This program is free software; you can redistribute it and/or
|
6
|
+
# modify it under the terms of the R2CORBA LICENSE which is
|
7
|
+
# included with this program.
|
8
|
+
#
|
9
|
+
# Copyright (c) Remedy IT Expertise BV
|
10
|
+
# Chamber of commerce Rotterdam nr.276339, The Netherlands
|
11
|
+
#--------------------------------------------------------------------
|
12
|
+
|
13
|
+
require 'optparse'
|
14
|
+
require 'lib/assert.rb'
|
15
|
+
include TestUtil::Assertions
|
16
|
+
|
17
|
+
OPTIONS = {
|
18
|
+
:use_implement => false,
|
19
|
+
:orb_debuglevel => 0,
|
20
|
+
:iorfile => 'file://server.ior'
|
21
|
+
}
|
22
|
+
|
23
|
+
ARGV.options do |opts|
|
24
|
+
script_name = File.basename($0)
|
25
|
+
opts.banner = "Usage: ruby #{script_name} [options]"
|
26
|
+
|
27
|
+
opts.separator ""
|
28
|
+
|
29
|
+
opts.on("--k IORFILE",
|
30
|
+
"Set IOR.",
|
31
|
+
"Default: 'file://server.ior'") { |v| OPTIONS[:iorfile]=v }
|
32
|
+
opts.on("--d LVL",
|
33
|
+
"Set ORBDebugLevel value.",
|
34
|
+
"Default: 0") { |v| OPTIONS[:orb_debuglevel]=v }
|
35
|
+
opts.on("--use-implement",
|
36
|
+
"Load IDL through CORBA.implement() instead of precompiled code.",
|
37
|
+
"Default: off") { |v| OPTIONS[:use_implement]=v }
|
38
|
+
|
39
|
+
opts.separator ""
|
40
|
+
|
41
|
+
opts.on("-h", "--help",
|
42
|
+
"Show this help message.") { puts opts; exit }
|
43
|
+
|
44
|
+
opts.parse!
|
45
|
+
end
|
46
|
+
|
47
|
+
if OPTIONS[:use_implement]
|
48
|
+
require 'corba'
|
49
|
+
CORBA.implement('Extra.idl', OPTIONS)
|
50
|
+
else
|
51
|
+
require 'ExtraC'
|
52
|
+
end
|
53
|
+
|
54
|
+
orb = CORBA.ORB_init(["-ORBDebugLevel", OPTIONS[:orb_debuglevel]], 'myORB')
|
55
|
+
|
56
|
+
begin
|
57
|
+
# make sure valuetype factories are registered
|
58
|
+
OBV_TruncatableTest::BaseValueFactory.get_factory(orb)
|
59
|
+
OBV_TruncatableTest::TValue1Factory.get_factory(orb)
|
60
|
+
OBV_TruncatableTest::TValue2Factory.get_factory(orb)
|
61
|
+
OBV_TruncatableTest::TValue3Factory.get_factory(orb)
|
62
|
+
OBV_TruncatableTest::TValue4Factory.get_factory(orb)
|
63
|
+
OBV_TruncatableTest::TValue5Factory.get_factory(orb)
|
64
|
+
OBV_TruncatableTest::NestedValueFactory.get_factory(orb)
|
65
|
+
|
66
|
+
obj = orb.string_to_object(OPTIONS[:iorfile])
|
67
|
+
|
68
|
+
tester = OBV_TruncatableTest::Test._narrow(obj)
|
69
|
+
|
70
|
+
assert_not 'Object reference is nil.', CORBA::is_nil(tester)
|
71
|
+
|
72
|
+
if defined?(JRUBY_VERSION)
|
73
|
+
STDERR.puts "Skipping. Value type truncation currently not properly supported by JacORB!"
|
74
|
+
tester.shutdown
|
75
|
+
exit 0
|
76
|
+
end
|
77
|
+
|
78
|
+
# 1.
|
79
|
+
v1 = OBV_TruncatableTest::TValue1.new
|
80
|
+
v1.basic_data = 9
|
81
|
+
v1.data1 = 99
|
82
|
+
|
83
|
+
desc = "A<-tB, truncate B to A"
|
84
|
+
STDERR.print "Case 1: #{desc}: "
|
85
|
+
|
86
|
+
ov1, odesc = tester.op1("case1", v1, desc)
|
87
|
+
|
88
|
+
assert '\nERROR: tester.op1 desc FAILED', odesc == "case1: #{desc}"
|
89
|
+
assert '\nERROR: tester.op1 ov FAILED' , v1.basic_data == ov1.basic_data
|
90
|
+
|
91
|
+
STDERR.puts 'passed'
|
92
|
+
|
93
|
+
# 2.
|
94
|
+
v2 = OBV_TruncatableTest::TValue2.new
|
95
|
+
v2.basic_data = 9
|
96
|
+
v2.data1 = 99
|
97
|
+
v2.data2 = 99 * 2
|
98
|
+
|
99
|
+
desc = "A<-tB<-tC, truncate C to A"
|
100
|
+
STDERR.print "Case 2: #{desc}: "
|
101
|
+
|
102
|
+
ov2, odesc = tester.op1("case2", v2, desc)
|
103
|
+
|
104
|
+
assert '\nERROR: tester.op1 - 2 desc FAILED', odesc == "case2: #{desc}"
|
105
|
+
assert '\nERROR: tester.op1 - 2 ov FAILED' , v2.basic_data == ov2.basic_data
|
106
|
+
STDERR.puts 'passed'
|
107
|
+
|
108
|
+
desc = "A<-tB<-tC, truncate C to B"
|
109
|
+
STDERR.print "Case 2b: #{desc}: "
|
110
|
+
|
111
|
+
otv1, odesc = tester.op2(v2, "case2b", desc)
|
112
|
+
|
113
|
+
assert '\nERROR: tester.op2 - 2b desc FAILED', odesc == "case2b: #{desc}"
|
114
|
+
assert '\nERROR: tester.op2 - 2b otv1 FAILED' , v2.basic_data == otv1.basic_data
|
115
|
+
assert '\nERROR: tester.op2 - 2b otv1 FAILED' , v2.data1 == otv1.data1
|
116
|
+
STDERR.puts 'passed'
|
117
|
+
|
118
|
+
# 3.
|
119
|
+
itv1b = OBV_TruncatableTest::TValue1.new
|
120
|
+
itv1b.basic_data = 7
|
121
|
+
itv1b.data1 = 8
|
122
|
+
|
123
|
+
desc = "A<-tB, truncatable but no truncation"
|
124
|
+
STDERR.print "Case 3: #{desc}: "
|
125
|
+
|
126
|
+
otv1b, odesc = tester.op2(itv1b, "case3", desc)
|
127
|
+
|
128
|
+
assert '\nERROR: tester.op2 - 3 desc FAILED', odesc == "case3: #{desc}"
|
129
|
+
assert '\nERROR: tester.op2 - 3 otv1b FAILED' , itv1b.basic_data == otv1b.basic_data
|
130
|
+
assert '\nERROR: tester.op2 - 3 otv1b FAILED' , itv1b.data1 == otv1b.data1
|
131
|
+
STDERR.puts 'passed'
|
132
|
+
|
133
|
+
# 4.
|
134
|
+
v3 = OBV_TruncatableTest::TValue3.new
|
135
|
+
v3.basic_data = 9
|
136
|
+
v3.data1 = 99
|
137
|
+
v3.data3 = (99 * 3)
|
138
|
+
|
139
|
+
begin
|
140
|
+
desc = "A<-tB<-C, try truncate C to A, MARSHAL exception"
|
141
|
+
STDERR.print "Case 4: #{desc}: "
|
142
|
+
ov3, odesc = tester.op1("case4", v3, desc)
|
143
|
+
STDERR.puts 'failed'
|
144
|
+
rescue CORBA::MARSHAL
|
145
|
+
STDERR.puts 'passed'
|
146
|
+
end
|
147
|
+
|
148
|
+
# 5.
|
149
|
+
nv = OBV_TruncatableTest::NestedValue.new
|
150
|
+
nv.data = 2
|
151
|
+
|
152
|
+
v5 = OBV_TruncatableTest::TValue5.new
|
153
|
+
|
154
|
+
v5.basic_data = 9
|
155
|
+
v5.nv4 = nv
|
156
|
+
v5.data4 = (99 * 4)
|
157
|
+
v5.str1 = "str1"
|
158
|
+
v5.data5 = (99 * 5)
|
159
|
+
v5.nv5 = nv
|
160
|
+
v5.str2 = "str2"
|
161
|
+
|
162
|
+
desc = "A<-tB<-tC, B & C have nested value type, truncate C to A"
|
163
|
+
STDERR.print "Case 5: #{desc}: "
|
164
|
+
ov5, odesc = tester.op1("case5", v5, desc)
|
165
|
+
|
166
|
+
assert '\nERROR: tester.op1 - 5 desc FAILED', odesc == "case5: #{desc}"
|
167
|
+
assert '\nERROR: tester.op1 - 5 ov5 FAILED' , v5.basic_data == ov5.basic_data
|
168
|
+
STDERR.puts 'passed'
|
169
|
+
|
170
|
+
desc = "A<-tB<-tC, B & C have nested value type, truncate C to B"
|
171
|
+
STDERR.print "Case 5b: #{desc}: "
|
172
|
+
otv4, odesc = tester.op3("case5b", v5, desc)
|
173
|
+
|
174
|
+
assert '\nERROR: tester.op3 - 5b desc FAILED', odesc == "case5b: #{desc}"
|
175
|
+
assert '\nERROR: tester.op3 - 5b otv4 FAILED' , v5.basic_data == otv4.basic_data
|
176
|
+
assert '\nERROR: tester.op3 - 5b otv4.nv4 FAILED' , v5.nv4.data == otv4.nv4.data
|
177
|
+
assert '\nERROR: tester.op3 - 5b otv4.data4 FAILED' , v5.data4 == otv4.data4
|
178
|
+
STDERR.puts 'passed'
|
179
|
+
|
180
|
+
# 6.
|
181
|
+
iv = OBV_TruncatableTest::TValue6.new
|
182
|
+
iv.basic_data = 9
|
183
|
+
|
184
|
+
desc = "A<-tB, B has no data, truncate B to A"
|
185
|
+
STDERR.print "Case 6: #{desc}: "
|
186
|
+
ov, odesc = tester.op1("case6", iv, desc)
|
187
|
+
|
188
|
+
assert '\nERROR: tester.op1 - 6 desc FAILED', odesc == "case6: #{desc}"
|
189
|
+
assert '\nERROR: tester.op1 - 6 ov FAILED' , iv.basic_data == ov.basic_data
|
190
|
+
STDERR.puts 'passed'
|
191
|
+
|
192
|
+
# 7.
|
193
|
+
v1 = OBV_TruncatableTest::TValue1.new
|
194
|
+
v1.basic_data = 8
|
195
|
+
v1.data1 = 88
|
196
|
+
|
197
|
+
v4 = OBV_TruncatableTest::TValue1.new
|
198
|
+
v4.basic_data = 9
|
199
|
+
v4.data1 = 99
|
200
|
+
|
201
|
+
nv = OBV_TruncatableTest::NestedValue.new
|
202
|
+
nv.data = 2
|
203
|
+
|
204
|
+
v2 = OBV_TruncatableTest::TValue4.new
|
205
|
+
v2.basic_data = 7
|
206
|
+
v2.nv4 = nv
|
207
|
+
v2.data4 = 77
|
208
|
+
|
209
|
+
v3 = OBV_TruncatableTest::TValue4.new
|
210
|
+
v3.basic_data = 6
|
211
|
+
v3.nv4 = nv
|
212
|
+
v3.data4 = 66
|
213
|
+
|
214
|
+
desc = "multiple IN truncatable valuetype parameters"+
|
215
|
+
" and return truncatable valuetype"
|
216
|
+
STDERR.print "Case 7: #{desc}: "
|
217
|
+
ov, odesc = tester.op4("case7", v1, 5, v2, v3, v4, desc)
|
218
|
+
|
219
|
+
assert '\nERROR: tester.op4 - 7 desc FAILED', odesc == "case7: #{desc}"
|
220
|
+
total = 5 * (v1.basic_data + v2.basic_data +
|
221
|
+
v3.basic_data + v4.basic_data)
|
222
|
+
assert '\nERROR: tester.op4 - 7 ov FAILED' , total == ov.basic_data
|
223
|
+
STDERR.puts 'passed'
|
224
|
+
|
225
|
+
# 8.
|
226
|
+
v1 = OBV_TruncatableTest::Extra1.new
|
227
|
+
v1.basic_data = 9
|
228
|
+
v1.data1 = 99
|
229
|
+
v1.edata1 = 1234
|
230
|
+
|
231
|
+
desc = "A<-tB, truncate unknown B to A"
|
232
|
+
STDERR.print "Case 8: #{desc}: "
|
233
|
+
ov1, odesc = tester.op2(v1, "case8", desc)
|
234
|
+
|
235
|
+
assert '\nERROR: tester.op2 - 8 desc FAILED', odesc == "case8: #{desc}"
|
236
|
+
assert '\nERROR: tester.op2 - 8 ov1 FAILED' , v1.basic_data == ov1.basic_data &&
|
237
|
+
v1.data1 == ov1.data1
|
238
|
+
STDERR.puts 'passed'
|
239
|
+
|
240
|
+
# 9.
|
241
|
+
v1 = OBV_TruncatableTest::TValue1.new
|
242
|
+
v1.basic_data = 9
|
243
|
+
v1.data1 = 99
|
244
|
+
|
245
|
+
a = CORBA::Any.to_any(v1)
|
246
|
+
desc = "A<-tB, known truncatable via Any"
|
247
|
+
STDERR.print "Case 9: #{desc}: "
|
248
|
+
ov1, odesc = tester.op5(a, "case9", desc)
|
249
|
+
|
250
|
+
assert '\nERROR: tester.op5 - 9 desc FAILED', odesc == "case9: #{desc}"
|
251
|
+
assert '\nERROR: tester.op5 - 9 ov1 FAILED' , v1.basic_data == ov1.basic_data &&
|
252
|
+
v1.data1 == ov1.data1
|
253
|
+
STDERR.puts 'passed'
|
254
|
+
|
255
|
+
# 10.
|
256
|
+
v1 = OBV_TruncatableTest::Extra1.new
|
257
|
+
v1.basic_data = 9
|
258
|
+
v1.data1 = 99
|
259
|
+
v1.edata1 = 1234
|
260
|
+
|
261
|
+
a = CORBA::Any.to_any(v1)
|
262
|
+
desc = "A<-tB, unknown truncatable via Any"
|
263
|
+
STDERR.print "Case 10: #{desc}: "
|
264
|
+
ov1, odesc = tester.op5(a, "case10", desc)
|
265
|
+
|
266
|
+
assert '\nERROR: tester.op5 - 10 desc FAILED', odesc == "case10: #{desc}"
|
267
|
+
assert '\nERROR: tester.op5 - 10 ov1 FAILED' , v1.basic_data == ov1.basic_data &&
|
268
|
+
v1.data1 == ov1.data1
|
269
|
+
STDERR.puts 'passed'
|
270
|
+
|
271
|
+
# shutdown tester service
|
272
|
+
|
273
|
+
tester.shutdown()
|
274
|
+
|
275
|
+
ensure
|
276
|
+
|
277
|
+
orb.destroy()
|
278
|
+
|
279
|
+
end
|