You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yoko-commits@incubator.apache.org by ri...@apache.org on 2007/07/12 18:36:21 UTC

svn commit: r555715 [4/4] - in /incubator/yoko/trunk: core/src/main/java/org/apache/yoko/orb/CORBA/ core/src/main/java/org/apache/yoko/orb/CosNaming/tnaming/ core/src/main/java/org/apache/yoko/orb/DynamicAny/ core/src/main/java/org/apache/yoko/orb/IMR/...

Modified: incubator/yoko/trunk/rmi-impl/src/main/java/org/apache/yoko/rmi/impl/ValueDescriptor.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/rmi-impl/src/main/java/org/apache/yoko/rmi/impl/ValueDescriptor.java?view=diff&rev=555715&r1=555714&r2=555715
==============================================================================
--- incubator/yoko/trunk/rmi-impl/src/main/java/org/apache/yoko/rmi/impl/ValueDescriptor.java (original)
+++ incubator/yoko/trunk/rmi-impl/src/main/java/org/apache/yoko/rmi/impl/ValueDescriptor.java Thu Jul 12 11:36:16 2007
@@ -35,6 +35,7 @@
 import java.util.HashSet;
 import java.util.Set;
 import java.util.logging.Logger;
+import java.util.logging.Level;
 
 import org.omg.CORBA.MARSHAL;
 import org.omg.CORBA.TypeCode;
@@ -145,11 +146,9 @@
             }
 
         } catch (RuntimeException ex) {
-            // ex.printStackTrace();
-            logger.fine("runtime error in ValueDescriptor.init " + ex);
+            logger.log(Level.FINE, "runtime error in ValueDescriptor.init " + ex.getMessage(), ex);
         } catch (Error ex) {
-            // ex.printStackTrace();
-            logger.fine("runtime error in ValueDescriptor.init " + ex);
+            logger.log(Level.FINE, "runtime error in ValueDescriptor.init " + ex.getMessage(), ex);
         }
     }
 
@@ -303,9 +302,9 @@
                                 _constructor.setAccessible(true);
 
                             } catch (NoSuchMethodException ex) {
-                                logger.warning("Class " + type.getName()
+                                logger.log(Level.WARNING, "Class " + type.getName()
                                         + " is not properly externalizable.  "
-                                        + "It has not default constructor.");
+                                        + "It has not default constructor.", ex);
                             }
 
                         } else if (_is_serializable && !type.isInterface()) {
@@ -360,13 +359,13 @@
                                     }
 
                                 } catch (NoSuchMethodException ex) {
-                                    logger
-                                            .warning("Class "
+                                    logger.log(Level.WARNING, 
+                                                     "Class "
                                                     + type.getName()
                                                     + " is not properly serializable.  "
                                                     + "First non-serializable super-class ("
                                                     + initClass.getName()
-                                                    + ") has not default constructor.");
+                                                    + ") has not default constructor.", ex);
                                 }
                             }
                         }
@@ -511,10 +510,10 @@
                         NO_ARGS);
 
             } catch (java.lang.IllegalAccessException ex) {
-                throw new MARSHAL("cannot call " + _write_replace_method);
+                throw (MARSHAL)new MARSHAL("cannot call " + _write_replace_method).initCause(ex);
 
             } catch (IllegalArgumentException ex) {
-                throw new MARSHAL(ex.getMessage());
+                throw (MARSHAL)new MARSHAL(ex.getMessage()).initCause(ex);
 
             } catch (InvocationTargetException ex) {
                 throw new org.omg.CORBA.portable.UnknownException(ex
@@ -533,10 +532,10 @@
                         NO_ARGS);
 
             } catch (java.lang.IllegalAccessException ex) {
-                throw new MARSHAL("cannot call " + _read_resolve_method);
+                throw (MARSHAL)new MARSHAL("cannot call " + _read_resolve_method).initCause(ex);
 
             } catch (IllegalArgumentException ex) {
-                throw new MARSHAL(ex.getMessage());
+                throw (MARSHAL)new MARSHAL(ex.getMessage()).initCause(ex);
 
             } catch (InvocationTargetException ex) {
                 throw new org.omg.CORBA.portable.UnknownException(ex
@@ -558,7 +557,7 @@
                             try {
                                 return new CorbaObjectWriter(out, value);
                             } catch (java.io.IOException ex) {
-                                throw new MARSHAL(ex.toString());
+                                throw (MARSHAL)new MARSHAL(ex.getMessage()).initCause(ex);
                             }
                         }
                     });
@@ -566,7 +565,7 @@
             writeValue(writer, value);
 
         } catch (java.io.IOException ex) {
-            throw new MARSHAL(ex.getMessage());
+            throw (MARSHAL)new MARSHAL(ex.getMessage()).initCause(ex);
         }
     }
 
@@ -605,10 +604,10 @@
                 writer.invokeWriteObject(this, val, _write_object_method);
 
             } catch (IllegalAccessException ex) {
-                throw new MARSHAL(ex.getMessage());
+                throw (MARSHAL)new MARSHAL(ex.getMessage()).initCause(ex);
 
             } catch (IllegalArgumentException ex) {
-                throw new MARSHAL(ex.getMessage());
+                throw (MARSHAL)new MARSHAL(ex.getMessage()).initCause(ex);
 
             } catch (InvocationTargetException ex) {
 
@@ -630,22 +629,21 @@
                         .newInstance(new Object[0]);
 
             } catch (java.lang.IllegalAccessException ex) {
-                throw new MARSHAL("cannot call " + _constructor);
+                throw (MARSHAL)new MARSHAL("cannot call " + _constructor).initCause(ex);
 
             } catch (IllegalArgumentException ex) {
-                throw new MARSHAL(ex.getMessage());
+                throw (MARSHAL)new MARSHAL(ex.getMessage()).initCause(ex);
 
             } catch (InstantiationException ex) {
-                throw new MARSHAL(ex.getMessage());
+                throw (MARSHAL)new MARSHAL(ex.getMessage()).initCause(ex);
 
             } catch (InvocationTargetException ex) {
                 throw new org.omg.CORBA.portable.UnknownException(ex
                         .getTargetException());
 
             } catch (NullPointerException ex) {
-                logger
-                        .warning("unable to create instance of "
-                                + getJavaClass());
+                logger.log(Level.WARNING, 
+                    "unable to create instance of " + getJavaClass(), ex);
                 logger.warning("constructor => " + _constructor);
 
                 throw ex;
@@ -671,7 +669,7 @@
                                 return new CorbaObjectReader(in, offsetMap,
                                         value);
                             } catch (java.io.IOException ex) {
-                                throw new MARSHAL(ex.getMessage());
+                                throw (MARSHAL)new MARSHAL(ex.getMessage()).initCause(ex);
                             }
                         }
                     });
@@ -681,7 +679,7 @@
             return readResolve(value);
 
         } catch (java.io.IOException ex) {
-            throw new MARSHAL(ex.getMessage());
+            throw (MARSHAL)new MARSHAL(ex.getMessage()).initCause(ex);
         }
 
     }
@@ -839,9 +837,9 @@
                 reader.setCurrentValueDescriptor(null);
 
             } catch (IllegalAccessException ex) {
-                throw new MARSHAL(ex.getMessage());
+                throw (MARSHAL)new MARSHAL(ex.getMessage()).initCause(ex);
             } catch (IllegalArgumentException ex) {
-                throw new MARSHAL(ex.getMessage());
+                throw (MARSHAL)new MARSHAL(ex.getMessage()).initCause(ex);
             } catch (InvocationTargetException ex) {
                 throw new org.omg.CORBA.portable.UnknownException(ex
                         .getTargetException());
@@ -1101,7 +1099,7 @@
             return writer;
 
         } catch (java.io.IOException ex) {
-            throw new MARSHAL(ex.getMessage());
+            throw (MARSHAL)new MARSHAL(ex.getMessage()).initCause(ex);
         }
     }
 

Modified: incubator/yoko/trunk/rmi-impl/src/main/java/org/apache/yoko/rmi/impl/ValueHandlerImpl.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/rmi-impl/src/main/java/org/apache/yoko/rmi/impl/ValueHandlerImpl.java?view=diff&rev=555715&r1=555714&r2=555715
==============================================================================
--- incubator/yoko/trunk/rmi-impl/src/main/java/org/apache/yoko/rmi/impl/ValueHandlerImpl.java (original)
+++ incubator/yoko/trunk/rmi-impl/src/main/java/org/apache/yoko/rmi/impl/ValueHandlerImpl.java Thu Jul 12 11:36:16 2007
@@ -26,6 +26,7 @@
 
 import org.omg.CORBA.CompletionStatus;
 import org.omg.CORBA.MARSHAL;
+import org.omg.CORBA.OBJECT_NOT_EXIST;
 import org.omg.CORBA.ValueDefPackage.FullValueDescription;
 import org.omg.SendingContext.RunTime;
 
@@ -145,7 +146,7 @@
         } catch (org.omg.PortableServer.POAPackage.ServantNotActive ex) {
             // ignore //
         } catch (org.omg.PortableServer.POAPackage.WrongPolicy ex) {
-            throw new org.omg.CORBA.INTERNAL("should not happen");
+            throw (org.omg.CORBA.INTERNAL)new org.omg.CORBA.INTERNAL("should not happen").initCause(ex);
         }
 
         try {
@@ -153,11 +154,11 @@
             org.omg.CORBA.Object ref = poa.id_to_reference(id);
             return org.omg.SendingContext.CodeBaseHelper.narrow(ref);
         } catch (org.omg.PortableServer.POAPackage.ServantAlreadyActive ex) {
-            throw new org.omg.CORBA.INTERNAL("should not happen");
+            throw (org.omg.CORBA.INTERNAL)new org.omg.CORBA.INTERNAL("should not happen").initCause(ex);
         } catch (org.omg.PortableServer.POAPackage.ObjectNotActive ex) {
-            throw new org.omg.CORBA.INTERNAL("should not happen");
+            throw (org.omg.CORBA.INTERNAL)new org.omg.CORBA.INTERNAL("should not happen").initCause(ex);
         } catch (org.omg.PortableServer.POAPackage.WrongPolicy ex) {
-            throw new org.omg.CORBA.INTERNAL("should not happen");
+            throw (org.omg.CORBA.INTERNAL)new org.omg.CORBA.INTERNAL("should not happen").initCause(ex);
         }
     }
 
@@ -222,6 +223,7 @@
             ClassLoader loader = RMIState.current().getClassLoader();
             return loader.loadClass(className);
         } catch (Throwable ex) {
+            logger.log(Level.FINE, "error resolving class from id", ex); 
             return null;
         }
     }
@@ -247,6 +249,7 @@
 
             return result;
         } catch (RuntimeException ex) {
+            logger.log(Level.FINE, "error implementation class from id", ex); 
             throw ex;
         }
     }
@@ -287,7 +290,8 @@
         } catch (Throwable ex) {
             logger.log(Level.WARNING, "exception in meta", ex);
 
-            throw new org.omg.CORBA.OBJECT_NOT_EXIST();
+            throw (org.omg.CORBA.OBJECT_NOT_EXIST)new org.omg.CORBA.OBJECT_NOT_EXIST()
+                .initCause(ex);
         }
     }
 

Modified: incubator/yoko/trunk/rmi-impl/src/main/java/org/apache/yoko/rmi/util/corba/Field.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/rmi-impl/src/main/java/org/apache/yoko/rmi/util/corba/Field.java?view=diff&rev=555715&r1=555714&r2=555715
==============================================================================
--- incubator/yoko/trunk/rmi-impl/src/main/java/org/apache/yoko/rmi/util/corba/Field.java (original)
+++ incubator/yoko/trunk/rmi-impl/src/main/java/org/apache/yoko/rmi/util/corba/Field.java Thu Jul 12 11:36:16 2007
@@ -20,6 +20,9 @@
 
 import java.lang.reflect.Modifier;
 
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
 import sun.misc.Unsafe;
 
 public class Field {
@@ -27,6 +30,9 @@
 
     // static final Category log = Category.getInstance(Field.class);
     static final Unsafe unsafe = getUnsafe();
+    
+    static final Logger logger = Logger.getLogger(Field.class
+            .getName());
 
     private static Unsafe getUnsafe() {
         Unsafe unsafe = null;
@@ -41,7 +47,7 @@
                 }
             }
         } catch (Exception ignore) {
-            ignore.printStackTrace();
+            logger.log(Level.FINE, "exception getting unsafe", ignore); 
         }
         return unsafe;
     }

Modified: incubator/yoko/trunk/rmi-impl/src/main/java/org/apache/yoko/rmi/util/corba/POAObject.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/rmi-impl/src/main/java/org/apache/yoko/rmi/util/corba/POAObject.java?view=diff&rev=555715&r1=555714&r2=555715
==============================================================================
--- incubator/yoko/trunk/rmi-impl/src/main/java/org/apache/yoko/rmi/util/corba/POAObject.java (original)
+++ incubator/yoko/trunk/rmi-impl/src/main/java/org/apache/yoko/rmi/util/corba/POAObject.java Thu Jul 12 11:36:16 2007
@@ -78,13 +78,13 @@
             return (org.omg.CORBA.portable.ObjectImpl) poa.id_to_reference(id);
 
         } catch (org.omg.PortableServer.POAPackage.ServantAlreadyActive ex) {
-            throw new Error(ex.toString());
+            throw new Error(ex.getMessage(), ex);
 
         } catch (org.omg.PortableServer.POAPackage.ObjectNotActive ex) {
-            throw new Error(ex.toString());
+            throw new Error(ex.getMessage(), ex);
 
         } catch (org.omg.PortableServer.POAPackage.WrongPolicy ex) {
-            throw new Error(ex.toString());
+            throw new Error(ex.getMessage(), ex);
         }
     }
 
@@ -98,9 +98,11 @@
             id = null;
 
         } catch (org.omg.PortableServer.POAPackage.ObjectNotActive ex) {
-            throw new org.omg.CORBA.INTERNAL("ObjectNotActive::" + ex);
+            throw (org.omg.CORBA.INTERNAL)new 
+                org.omg.CORBA.INTERNAL("ObjectNotActive::" + ex.getMessage()).initCause(ex);
         } catch (org.omg.PortableServer.POAPackage.WrongPolicy ex) {
-            throw new org.omg.CORBA.INTERNAL("WrongPolicy::" + ex);
+            throw (org.omg.CORBA.INTERNAL)new 
+                org.omg.CORBA.INTERNAL("WrongPolicy::" + ex.getMessage()).initCause(ex);
         }
     }
 }

Modified: incubator/yoko/trunk/rmi-impl/src/main/java/org/apache/yoko/rmi/util/stub/BCELClassBuilder.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/rmi-impl/src/main/java/org/apache/yoko/rmi/util/stub/BCELClassBuilder.java?view=diff&rev=555715&r1=555714&r2=555715
==============================================================================
--- incubator/yoko/trunk/rmi-impl/src/main/java/org/apache/yoko/rmi/util/stub/BCELClassBuilder.java (original)
+++ incubator/yoko/trunk/rmi-impl/src/main/java/org/apache/yoko/rmi/util/stub/BCELClassBuilder.java Thu Jul 12 11:36:16 2007
@@ -200,7 +200,7 @@
                                         + interfaceNames[0]
                                         + (interfaceNames.length > 2 ? " (among others) "
                                                 : ""), ex);
-                throw new Error("internal error!");
+                throw new Error("internal error!", ex);
             }
         }
 
@@ -211,7 +211,7 @@
             f.setAccessible(true);
             f.set(null, initializer);
         } catch (NoSuchFieldException ex) {
-            throw new Error("internal error!");
+            throw new Error("internal error!", ex);
         }
 
         return proxyClass;
@@ -504,7 +504,7 @@
             getStubHandlerRef = new MethodRef(StubInitializer.class
                     .getDeclaredMethod("getStubHandler", new Class[0]));
         } catch (NoSuchMethodException ex) {
-            throw new Error(ex.getMessage());
+            throw new Error(ex.getMessage(), ex);
         }
     }
 

Modified: incubator/yoko/trunk/rmi-impl/src/main/java/org/apache/yoko/rmi/util/stub/Util.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/rmi-impl/src/main/java/org/apache/yoko/rmi/util/stub/Util.java?view=diff&rev=555715&r1=555714&r2=555715
==============================================================================
--- incubator/yoko/trunk/rmi-impl/src/main/java/org/apache/yoko/rmi/util/stub/Util.java (original)
+++ incubator/yoko/trunk/rmi-impl/src/main/java/org/apache/yoko/rmi/util/stub/Util.java Thu Jul 12 11:36:16 2007
@@ -61,7 +61,7 @@
         } catch (RuntimeException ex) {
             throw ex;
         } catch (Throwable ex) {
-            throw new Error("unexpected exception: " + ex);
+            throw new Error("unexpected exception: " + ex.getMessage(), ex);
         }
     }
 
@@ -76,7 +76,7 @@
             args[3] = new Integer(len);
             args[4] = new CodeSource(new URL("file:stub"), new Certificate[0]);
         } catch (java.net.MalformedURLException ex) {
-            throw new Error(ex.toString());
+            throw new Error(ex.getMessage(), ex);
         }
         return (Class) AccessController.doPrivileged(new PrivilegedAction() {
             public Object run() {
@@ -102,7 +102,7 @@
                     } else if (th instanceof RuntimeException) {
                         throw (RuntimeException) th;
                     } else {
-                        throw new Error("unexpected exception: " + ex);
+                        throw new Error("unexpected exception: " + ex.getMessage(), ex);
                     }
                 }
             }

Modified: incubator/yoko/trunk/rmi-spec/src/main/java/javax/rmi/CORBA/Stub.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/rmi-spec/src/main/java/javax/rmi/CORBA/Stub.java?view=diff&rev=555715&r1=555714&r2=555715
==============================================================================
--- incubator/yoko/trunk/rmi-spec/src/main/java/javax/rmi/CORBA/Stub.java (original)
+++ incubator/yoko/trunk/rmi-spec/src/main/java/javax/rmi/CORBA/Stub.java Thu Jul 12 11:36:16 2007
@@ -94,7 +94,8 @@
             try {
                 delegate = (StubDelegate)delegateClass.newInstance();
             } catch (Exception e) {
-                throw new org.omg.CORBA.INITIALIZE("Can not create Stub delegate: " + delegateClass.getName());
+                throw (org.omg.CORBA.INITIALIZE)new org.omg.CORBA.INITIALIZE(
+                    "Can not create Stub delegate: " + delegateClass.getName()).initCause(e);
             }
         }
     }

Modified: incubator/yoko/trunk/rmi-spec/src/main/java/org/apache/yoko/rmispec/util/UtilLoader.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/rmi-spec/src/main/java/org/apache/yoko/rmispec/util/UtilLoader.java?view=diff&rev=555715&r1=555714&r2=555715
==============================================================================
--- incubator/yoko/trunk/rmi-spec/src/main/java/org/apache/yoko/rmispec/util/UtilLoader.java (original)
+++ incubator/yoko/trunk/rmi-spec/src/main/java/org/apache/yoko/rmispec/util/UtilLoader.java Thu Jul 12 11:36:16 2007
@@ -25,6 +25,7 @@
 import java.security.PrivilegedAction;
 import java.security.PrivilegedActionException;
 import java.util.logging.Logger;
+import java.util.logging.Level;
 
 public class UtilLoader {
     static final Logger logger = Logger.getLogger(UtilLoader.class.getName());
@@ -40,6 +41,7 @@
 
         if (loader != null) {
             try {
+                logger.finer("trying provided class loader");
                 result = loader.loadClass(name);
             } catch (ClassNotFoundException ex) {
                 // skip //
@@ -63,6 +65,7 @@
 
         if (stackLoader != null) {
             try {
+                logger.finer("trying stack loader");
                 result = stackLoader.loadClass(name);
             } catch (ClassNotFoundException ex) {
                 // skip //
@@ -77,6 +80,7 @@
         // using the same classloader the delegate is in.
         if (thisLoader != null) {
             try {
+                logger.finer("trying UtilLoader loader");
                 result = thisLoader.loadClass(name);
             } catch (ClassNotFoundException ex) {
                 // skip //
@@ -101,23 +105,23 @@
                 // new Throwable("TRACE"));
 
             } catch (ClassNotFoundException ex) {
-                logger.finer("RMIClassLoader says " + ex);
+                logger.log(Level.FINER, "RMIClassLoader says " + ex.getMessage(), ex);
 
                 // log.info("FAILED class download "+name+" from "+codebase,
                 // ex);
 
                 // skip //
             } catch (MalformedURLException ex) {
-                logger.finer("RMIClassLoader says " + ex);
+                logger.log(Level.FINER, "RMIClassLoader says " + ex.getMessage(), ex);
 
                 logger.finer("FAILED class download " + name + " from "
-                        + codebase + " " + ex);
+                        + codebase + " " + ex.getMessage());
 
                 // skip //
             } catch (RuntimeException ex) {
 
-                logger.finer("FAILED class download " + name + " from "
-                        + codebase + " " + ex);
+                logger.log(Level.FINER, "FAILED class download " + name + " from "
+                        + codebase + " " + ex.getMessage(), ex);
 
             }
 
@@ -150,9 +154,10 @@
         }
 
         try {
+            logger.finer("trying local loader");
             result = loader.loadClass(name);
         } catch (ClassNotFoundException ex) {
-            logger.finer("LocalLoader says " + ex);
+            logger.log(Level.FINER, "LocalLoader says " + ex.getMessage(), ex);
         }
 
         if (result != null) {

Modified: incubator/yoko/trunk/yoko-spec-corba/src/main/java/org/omg/CORBA/ORB.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/yoko-spec-corba/src/main/java/org/omg/CORBA/ORB.java?view=diff&rev=555715&r1=555714&r2=555715
==============================================================================
--- incubator/yoko/trunk/yoko-spec-corba/src/main/java/org/omg/CORBA/ORB.java (original)
+++ incubator/yoko/trunk/yoko-spec-corba/src/main/java/org/omg/CORBA/ORB.java Thu Jul 12 11:36:16 2007
@@ -188,8 +188,8 @@
             ClassLoader loader = Thread.currentThread().getContextClassLoader();
             orb = (ORB) loader.loadClass(orbClassName).newInstance();
         } catch (Throwable ex) {
-            throw new org.omg.CORBA.INITIALIZE("Invalid ORB class: "
-                    + orbClassName);
+            throw (org.omg.CORBA.INITIALIZE)new org.omg.CORBA.INITIALIZE("Invalid ORB class: "
+                    + orbClassName).initCause(ex);
         }
 
         ORBSingleton_ = orb;
@@ -222,8 +222,8 @@
             ClassLoader loader = Thread.currentThread().getContextClassLoader();
             orb = (ORB) loader.loadClass(orbClassName).newInstance();
         } catch (Throwable ex) {
-            throw new org.omg.CORBA.INITIALIZE("Invalid ORB class: "
-                    + orbClassName);
+            throw (org.omg.CORBA.INITIALIZE)new org.omg.CORBA.INITIALIZE("Invalid ORB class: "
+                    + orbClassName).initCause(ex);
         }
 
         ORBSingleton_ = orb;
@@ -248,8 +248,8 @@
                 ClassLoader loader = Thread.currentThread().getContextClassLoader();
                 orb = (ORB) loader.loadClass(orbClassName).newInstance();
             } catch (Throwable ex) {
-                throw new org.omg.CORBA.INITIALIZE(
-                        "Invalid ORB singleton class: " + orbClassName);
+                throw (org.omg.CORBA.INITIALIZE)new org.omg.CORBA.INITIALIZE(
+                        "Invalid ORB singleton class: " + orbClassName).initCause(ex);
             }
 
             ORBSingleton_ = orb;

Modified: incubator/yoko/trunk/yoko-spec-corba/src/main/java/org/omg/PortableServer/Servant.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/yoko-spec-corba/src/main/java/org/omg/PortableServer/Servant.java?view=diff&rev=555715&r1=555714&r2=555715
==============================================================================
--- incubator/yoko/trunk/yoko-spec-corba/src/main/java/org/omg/PortableServer/Servant.java (original)
+++ incubator/yoko/trunk/yoko-spec-corba/src/main/java/org/omg/PortableServer/Servant.java Thu Jul 12 11:36:16 2007
@@ -32,8 +32,8 @@
         try {
             ((org.omg.CORBA_2_3.ORB) orb).set_delegate(this);
         } catch (ClassCastException ex) {
-            throw new org.omg.CORBA.BAD_PARAM(
-                    "POA servant requires an instance of org.omg.CORBA_2_3.ORB");
+            throw (org.omg.CORBA.BAD_PARAM)new org.omg.CORBA.BAD_PARAM(
+                    "POA servant requires an instance of org.omg.CORBA_2_3.ORB").initCause(ex);
         }
 
         return _this_object();