org.openorb.orb.test.rmi.complex
Interface RemoteComplex

All Superinterfaces:
java.rmi.Remote

public interface RemoteComplex
extends java.rmi.Remote

This interface provides complex test operations.

Author:
Jerome Daniel, Michael Rumpf

Method Summary
 org.omg.CORBA.Any echo_any(org.omg.CORBA.Any any)
           
 org.omg.CORBA.Any[] echo_any(org.omg.CORBA.Any[] any)
          JavaToIdl failed passing objects derived from IDLEntity.
 java.math.BigDecimal echo_bigdecimal(java.math.BigDecimal bd)
          The Throwable was causing problems with the RMI-IIOP serialization engine starting from JDK1.4 because the new implementation class uses some backward compatibility mode.
 java.util.BitSet echo_bitset(java.util.BitSet bs)
          Test whether BitSet can be marshaled correctly.
 java.lang.Class echo_class0(java.lang.Class val)
          Echo a Class.
 java.util.ArrayList echo_collection(java.util.ArrayList val)
          When passing an instance of SubArrayList to the method getSizeOfArrayList() a CORBA MARSHAL exception was received.
 org.omg.CORBA.Object echo_corbaobject(org.omg.CORBA.Object obj)
          The following method signature created a stack overflow exception for Java2Idl in version 1.2.0: org.omg.CORBA.Object getObject() throws RemoteException; The Java2IDL spec says that org.omg.CORBA.Object should be mapped to the IDL type Object.
 java.lang.Double echo_double(java.lang.Double val)
          Echo a Double.
 IDLStruct echo_entity(IDLStruct ent)
          JavaToIdl failed passing objects derived from IDLEntity other than org.omg.CORBA.Any and org.omg.CORBA.TypeCode.
 IDLStruct[] echo_entity(IDLStruct[] ents)
           
 java.lang.Float echo_float(java.lang.Float val)
          Echo a Float.
 java.lang.Integer echo_int(java.lang.Integer val)
          Echo an Integer.
 java.lang.Long echo_long(java.lang.Long val)
          Echo a Long.
 java.lang.Object echo_object(java.lang.Object val)
          Echo an Object.
 PutFieldTest echo_pft(PutFieldTest pft)
          Test various serialization mechanisms.
 java.rmi.Remote echo_remote0()
          Return the Remote object.
 RemoteComplex echo_remote1(RemoteComplex val)
          Return the RemoteComplex object.
 RemoteComplex echo_remote2()
          Return the RemoteComplex object.
 void echo_remote3(RemoteComplex val)
          Return the RemoteComplex object.
 java.rmi.Remote[] echo_remotearray0(java.rmi.Remote[] val)
          The marshalling of more complex objects does not work in RMIoverIIIOP version 1.2.0.
 RemoteComplex[] echo_remotearray1(RemoteComplex[] val)
          Echo an array of more special Remote types.
 RemoteComplex[] echo_remotearray2()
          Return an array of more special Remote types.
 void echo_remotearray3(RemoteComplex[] val)
          Send an array of more special Remote types.
 java.lang.Object[] echo_remoteobjectarray(java.lang.Object[] val)
          This test case is to check whether the RMIoverIIOP serialization engine does not stumble over a java.lang.Object array with remote references.
 SerialItf echo_serialitf(SerialItf si)
          Test whether we can marshal a Serializable interface.
 SerialPersistentFieldsTest echo_spft(SerialPersistentFieldsTest spft)
          Test various serialization mechanisms.
 java.lang.String echo_string(java.lang.String val)
          Echo a String.
 java.lang.Throwable echo_throwable(java.lang.Throwable th)
          The Throwable was causing problems with the RMI-IIOP serialization engine starting from JDK1.4 because the new implementation class uses its own serialization mechanism.
 java.sql.Timestamp echo_timestamp(java.sql.Timestamp ts)
          Test whether Timestamp can be marshaled correctly.
 org.omg.CORBA.TypeCode echo_typecode(org.omg.CORBA.TypeCode tc)
          JavaToIdl failed passing objects derived from IDLEntity.
 org.omg.CORBA.TypeCode[] echo_typecode(org.omg.CORBA.TypeCode[] tc)
           
 TypeHolder echo_typeholder(TypeHolder th)
          Echo a lot of different types.
 java.util.Vector echo_vector(java.util.Vector val)
          Echo a Vector.
 java.lang.Object return_object()
          Return an Object.
 

Method Detail

echo_string

java.lang.String echo_string(java.lang.String val)
                             throws java.rmi.RemoteException
Echo a String.

Parameters:
val - The String to be echoed.
Returns:
The String instance.
Throws:
java.rmi.RemoteException - When an error occurs.

echo_float

java.lang.Float echo_float(java.lang.Float val)
                           throws java.rmi.RemoteException
Echo a Float.

Parameters:
val - The Float to be echoed.
Returns:
The Float instance.
Throws:
java.rmi.RemoteException - When an error occurs.

echo_double

java.lang.Double echo_double(java.lang.Double val)
                             throws java.rmi.RemoteException
Echo a Double.

Parameters:
val - The Double to be echoed.
Returns:
The Double instance.
Throws:
java.rmi.RemoteException - When an error occurs.

echo_int

java.lang.Integer echo_int(java.lang.Integer val)
                           throws java.rmi.RemoteException
Echo an Integer.

Parameters:
val - The Integer to be echoed.
Returns:
The Integer instance.
Throws:
java.rmi.RemoteException - When an error occurs.

echo_long

java.lang.Long echo_long(java.lang.Long val)
                         throws java.rmi.RemoteException
Echo a Long.

Parameters:
val - The Long to be echoed.
Returns:
The Long instance.
Throws:
java.rmi.RemoteException - When an error occurs.

echo_vector

java.util.Vector echo_vector(java.util.Vector val)
                             throws java.rmi.RemoteException
Echo a Vector.

Parameters:
val - The Vector to be echoed.
Returns:
The Vector instance.
Throws:
java.rmi.RemoteException - When an error occurs.

echo_object

java.lang.Object echo_object(java.lang.Object val)
                             throws java.rmi.RemoteException
Echo an Object.

Parameters:
val - The Object to be echoed.
Returns:
The Object instance.
Throws:
java.rmi.RemoteException - When an error occurs.

return_object

java.lang.Object return_object()
                               throws java.rmi.RemoteException
Return an Object.

Returns:
The Object instance.
Throws:
java.rmi.RemoteException - When an error occurs.

echo_class0

java.lang.Class echo_class0(java.lang.Class val)
                            throws java.rmi.RemoteException
Echo a Class.

Parameters:
val - The Class to be echoed.
Returns:
The Class instance.
Throws:
java.rmi.RemoteException - When an error occurs.

echo_typeholder

TypeHolder echo_typeholder(TypeHolder th)
                           throws java.rmi.RemoteException
Echo a lot of different types.

Parameters:
th - The holder of different types.
Returns:
The TypeHolder instance.
Throws:
java.rmi.RemoteException - When an error occurs.

echo_remote0

java.rmi.Remote echo_remote0()
                             throws java.rmi.RemoteException
Return the Remote object.

Returns:
The Remote instance.
Throws:
java.rmi.RemoteException - When an error occurs.

echo_remote1

RemoteComplex echo_remote1(RemoteComplex val)
                           throws java.rmi.RemoteException
Return the RemoteComplex object.

Parameters:
val - A RemoteComplex instance.
Returns:
The RemoteComplex instance.
Throws:
java.rmi.RemoteException - When an error occurs.

echo_remote2

RemoteComplex echo_remote2()
                           throws java.rmi.RemoteException
Return the RemoteComplex object.

Returns:
The RemoteComplex instance.
Throws:
java.rmi.RemoteException - When an error occurs.

echo_remote3

void echo_remote3(RemoteComplex val)
                  throws java.rmi.RemoteException
Return the RemoteComplex object.

Parameters:
val - A RemoteComplex instance.
Throws:
java.rmi.RemoteException - When an error occurs.

echo_remotearray0

java.rmi.Remote[] echo_remotearray0(java.rmi.Remote[] val)
                                    throws java.rmi.RemoteException
The marshalling of more complex objects does not work in RMIoverIIIOP version 1.2.0. When passing an array of strings or a list of strings only the array and the list are passed but not the elements in the array/list. This bug was twofold, first simple array components and complex array components.

Parameters:
val - The array of Remote objects to be echoed.
Returns:
The Remote object array.
Throws:
java.rmi.RemoteException - When an error occurs.

echo_remotearray1

RemoteComplex[] echo_remotearray1(RemoteComplex[] val)
                                  throws java.rmi.RemoteException
Echo an array of more special Remote types.

Parameters:
val - The array of Remote objects to be echoed.
Returns:
The RemoteComplex object array.
Throws:
java.rmi.RemoteException - When an error occurs.

echo_remotearray2

RemoteComplex[] echo_remotearray2()
                                  throws java.rmi.RemoteException
Return an array of more special Remote types.

Returns:
The array of more special Remote types.
Throws:
java.rmi.RemoteException - When an error occurs.

echo_remotearray3

void echo_remotearray3(RemoteComplex[] val)
                       throws java.rmi.RemoteException
Send an array of more special Remote types.

Parameters:
val - The array of Remote objects send.
Throws:
java.rmi.RemoteException - When an error occurs.

echo_corbaobject

org.omg.CORBA.Object echo_corbaobject(org.omg.CORBA.Object obj)
                                      throws java.rmi.RemoteException
The following method signature created a stack overflow exception for Java2Idl in version 1.2.0: org.omg.CORBA.Object getObject() throws RemoteException; The Java2IDL spec says that org.omg.CORBA.Object should be mapped to the IDL type Object.

Parameters:
obj - The CORBA object to be echoed.
Returns:
The CORBA object instance.
Throws:
java.rmi.RemoteException - When an error occurs.

echo_collection

java.util.ArrayList echo_collection(java.util.ArrayList val)
                                    throws java.rmi.RemoteException
When passing an instance of SubArrayList to the method getSizeOfArrayList() a CORBA MARSHAL exception was received. The reason was that UtilDelegateImpl tried the different class loaders available and in one case (RMIClassloader) it did not return the class when the loading was successful. Instead it run to the end of the method where a ClassNotFoundException was thrown.

Parameters:
val - An Arraylist to be echoed.
Returns:
The ArrayList instance.
Throws:
java.rmi.RemoteException - When an error occurs.

echo_any

org.omg.CORBA.Any[] echo_any(org.omg.CORBA.Any[] any)
                             throws java.rmi.RemoteException
JavaToIdl failed passing objects derived from IDLEntity.

Parameters:
any - The CORBA Any type to be echoed.
Returns:
The Any instance.
Throws:
java.rmi.RemoteException - When an error occurs.

echo_any

org.omg.CORBA.Any echo_any(org.omg.CORBA.Any any)
                           throws java.rmi.RemoteException
Throws:
java.rmi.RemoteException

echo_typecode

org.omg.CORBA.TypeCode echo_typecode(org.omg.CORBA.TypeCode tc)
                                     throws java.rmi.RemoteException
JavaToIdl failed passing objects derived from IDLEntity.

Parameters:
tc - The CORBA TypeCode type to be echoed.
Returns:
The TypeCode instance.
Throws:
java.rmi.RemoteException - When an error occurs.

echo_typecode

org.omg.CORBA.TypeCode[] echo_typecode(org.omg.CORBA.TypeCode[] tc)
                                       throws java.rmi.RemoteException
Throws:
java.rmi.RemoteException

echo_entity

IDLStruct echo_entity(IDLStruct ent)
                      throws java.rmi.RemoteException
JavaToIdl failed passing objects derived from IDLEntity other than org.omg.CORBA.Any and org.omg.CORBA.TypeCode.

Parameters:
ent - The CORBA IDLEntity type to be echoed.
Returns:
The IDLEntity instance.
Throws:
java.rmi.RemoteException - When an error occurs.

echo_entity

IDLStruct[] echo_entity(IDLStruct[] ents)
                        throws java.rmi.RemoteException
Throws:
java.rmi.RemoteException

echo_pft

PutFieldTest echo_pft(PutFieldTest pft)
                      throws java.rmi.RemoteException
Test various serialization mechanisms.

Parameters:
pft - A class using the PutField mechanism.
Returns:
The class using the PutField mechanism.
Throws:
java.rmi.RemoteException - When an error occurs.

echo_spft

SerialPersistentFieldsTest echo_spft(SerialPersistentFieldsTest spft)
                                     throws java.rmi.RemoteException
Test various serialization mechanisms.

Parameters:
spft - A class using the SerialPersistentField mechanism.
Returns:
The class using the SerialPersistentField mechanism.
Throws:
java.rmi.RemoteException - When an error occurs.

echo_throwable

java.lang.Throwable echo_throwable(java.lang.Throwable th)
                                   throws java.rmi.RemoteException
The Throwable was causing problems with the RMI-IIOP serialization engine starting from JDK1.4 because the new implementation class uses its own serialization mechanism. Therefore custom read/write methods guarantee some backward compatibility to the serial stream format of eralier JDKs. The problem here was that the class Throwable has only a writeObject() method, but the RMIoverIIOP serialization engine needs both methods readObject and writeObject.

Throws:
java.rmi.RemoteException

echo_bigdecimal

java.math.BigDecimal echo_bigdecimal(java.math.BigDecimal bd)
                                     throws java.rmi.RemoteException
The Throwable was causing problems with the RMI-IIOP serialization engine starting from JDK1.4 because the new implementation class uses some backward compatibility mode. Internally a BigInteger is used. The BigInteger's implementation has changed between JDK 1.3 and 1.4. In order to keep the serialized format equal the JDK1.4 read/writeObject() methods do a conversion of the new internal member to keep the serialized stream format equal to former JDKs. This was causing problems with the RMIoverIIOP serialization engine.

Throws:
java.rmi.RemoteException

echo_remoteobjectarray

java.lang.Object[] echo_remoteobjectarray(java.lang.Object[] val)
                                          throws java.rmi.RemoteException
This test case is to check whether the RMIoverIIOP serialization engine does not stumble over a java.lang.Object array with remote references. The problem is that these object references are untyped, which results in a special handling when marshaling/demarshaling.

Throws:
java.rmi.RemoteException

echo_serialitf

SerialItf echo_serialitf(SerialItf si)
                         throws java.rmi.RemoteException
Test whether we can marshal a Serializable interface.

Throws:
java.rmi.RemoteException

echo_bitset

java.util.BitSet echo_bitset(java.util.BitSet bs)
                             throws java.rmi.RemoteException
Test whether BitSet can be marshaled correctly.

Throws:
java.rmi.RemoteException

echo_timestamp

java.sql.Timestamp echo_timestamp(java.sql.Timestamp ts)
                                  throws java.rmi.RemoteException
Test whether Timestamp can be marshaled correctly.

Throws:
java.rmi.RemoteException