1 7 package org.exoplatform.services.wsrp.exceptions; 8 9 import java.rmi.RemoteException ; 10 11 import javax.xml.namespace.QName ; 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 ; 17 import org.w3c.dom.Element ; 18 19 20 24 public class Exception2Fault { 25 26 public static void handleException(WSRPException e) throws RemoteException { 27 AxisFault fault = new AxisFault(); 28 QName qname = new QName (Fault.getTypeDesc().getXmlType().getNamespaceURI(), 29 e.getFault()); 30 fault.setFaultCode(qname); 31 fault.setFaultString(e.getMessage()); 32 33 try { 34 Document doc = XMLUtils.newDocument(); 35 Element element = doc.createElementNS(getNameSpace(e.getFault()), e.getFault()); 36 fault.clearFaultDetails(); 37 fault.setFaultDetail(new Element [] { element }); 38 39 } catch (Exception ex){ 40 ex.printStackTrace(); 41 } 42 throw fault; 43 } 44 45 public static String getNameSpace(String 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 |