KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > exoplatform > services > wsrp > exceptions > Exception2Fault


1 /*
2  * Copyright 2001-2003 The eXo platform SARL All rights reserved.
3  * Please look at license.txt in info directory for more license detail.
4  *
5  * Created on 14 janv. 2004
6  */

7 package org.exoplatform.services.wsrp.exceptions;
8
9 import java.rmi.RemoteException JavaDoc;
10
11 import javax.xml.namespace.QName JavaDoc;
12
13 import org.apache.axis.AxisFault;
14 import org.apache.axis.utils.XMLUtils;
15 import org.exoplatform.services.wsrp.type.*;
16 import org.w3c.dom.Document JavaDoc;
17 import org.w3c.dom.Element JavaDoc;
18
19
20 /**
21  * @author Mestrallet Benjamin
22  * benjmestrallet@users.sourceforge.net
23  */

24 public class Exception2Fault {
25   
26   public static void handleException(WSRPException e) throws RemoteException JavaDoc{
27     AxisFault fault = new AxisFault();
28     QName JavaDoc qname = new QName JavaDoc(Fault.getTypeDesc().getXmlType().getNamespaceURI(),
29                             e.getFault());
30     fault.setFaultCode(qname);
31     fault.setFaultString(e.getMessage());
32
33     try {
34       Document JavaDoc doc = XMLUtils.newDocument();
35       Element JavaDoc element = doc.createElementNS(getNameSpace(e.getFault()), e.getFault());
36       fault.clearFaultDetails();
37       fault.setFaultDetail(new Element JavaDoc[] { element });
38
39     } catch (Exception JavaDoc ex){
40       ex.printStackTrace();
41     }
42     throw fault;
43   }
44   
45   public static String JavaDoc getNameSpace(String JavaDoc fault){
46     if(Faults.ACCESS_DENIED_FAULT.equals(fault))
47       return AccessDeniedFault.getTypeDesc().getXmlType().getNamespaceURI();
48     else if(Faults.INCONSISTENT_PARAMETERS_FAULT.equals(fault))
49       return InconsistentParametersFault.getTypeDesc().getXmlType().getNamespaceURI();
50     else if(Faults.INVALID_COOKIE_FAULT.equals(fault))
51       return InvalidCookieFault.getTypeDesc().getXmlType().getNamespaceURI();
52     else if(Faults.INVALID_HANDLE_FAULT.equals(fault))
53       return InvalidHandleFault.getTypeDesc().getXmlType().getNamespaceURI();
54     else if(Faults.INVALID_REGISTRATION_FAULT.equals(fault))
55       return InvalidRegistrationFault.getTypeDesc().getXmlType().getNamespaceURI();
56     else if(Faults.INVALID_SESSION_FAULT.equals(fault))
57       return InvalidSessionFault.getTypeDesc().getXmlType().getNamespaceURI();
58     else if(Faults.INVALID_USER_CATEGORY_FAULT.equals(fault))
59       return InvalidUserCategoryFault.getTypeDesc().getXmlType().getNamespaceURI();
60     else if(Faults.MISSING_PARAMETERS_FAULT.equals(fault))
61       return MissingParametersFault.getTypeDesc().getXmlType().getNamespaceURI();
62     else if(Faults.OPERATION_FAILED_FAULT.equals(fault))
63       return OperationFailedFault.getTypeDesc().getXmlType().getNamespaceURI();
64     else if(Faults.PORTLET_STATE_CHANGE_REQUIRED_FAULT.equals(fault))
65       return PortletStateChangeRequiredFault.getTypeDesc().getXmlType().getNamespaceURI();
66     else if(Faults.UNSUPPORTED_LOCALE_FAULT.equals(fault))
67       return UnsupportedLocaleFault.getTypeDesc().getXmlType().getNamespaceURI();
68     else if(Faults.UNSUPPORTED_MIME_TYPE_FAULT.equals(fault))
69       return UnsupportedMimeTypeFault.getTypeDesc().getXmlType().getNamespaceURI();
70     else if(Faults.UNSUPPORTED_MODE_FAULT.equals(fault))
71       return UnsupportedModeFault.getTypeDesc().getXmlType().getNamespaceURI();
72     else if(Faults.UNSUPPORTED_WINDOW_STATE_FAULT.equals(fault))
73       return UnsupportedWindowStateFault.getTypeDesc().getXmlType().getNamespaceURI();
74                                         
75     return null;
76   }
77
78 }
79
Popular Tags