KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > gcc > rmi > iiop > RemoteExceptionFactory


1 /*
2  * Copyright 2004 The Apache Software Foundation or its licensors, as
3  * applicable.
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
14  * implied.
15  *
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  */

19 package gcc.rmi.iiop;
20
21 import gcc.*;
22 import gcc.util.*;
23
24 public abstract class RemoteExceptionFactory
25 {
26     public static java.rmi.RemoteException getException(Exception ex)
27     {
28         if (ex instanceof SystemException)
29         {
30             Throwable cause = ((SystemException)ex).getCause();
31             if (cause instanceof org.omg.CORBA.SystemException)
32             {
33                 org.omg.CORBA.SystemException corbaException = (org.omg.CORBA.SystemException)cause;
34                 if (ex.getMessage() == null)
35                 {
36                     return new java.rmi.ServerException(corbaException.getClass().getName(), corbaException);
37                 }
38                 else
39                 {
40                     return new java.rmi.ServerException(ex.getMessage(), corbaException);
41                 }
42             }
43         }
44         return new java.rmi.RemoteException(ExceptionUtil.getStackTrace(ex));
45     }
46 }
47
Popular Tags