You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@synapse.apache.org by ru...@apache.org on 2007/03/06 13:45:01 UTC

svn commit: r515105 - in /webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse: FaultHandler.java mediators/MediatorFaultHandler.java

Author: ruwan
Date: Tue Mar  6 04:45:00 2007
New Revision: 515105

URL: http://svn.apache.org/viewvc?view=rev&rev=515105
Log:
formated the Fault handlers for mediator

Modified:
    webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/FaultHandler.java
    webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/MediatorFaultHandler.java

Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/FaultHandler.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/FaultHandler.java?view=diff&rev=515105&r1=515104&r2=515105
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/FaultHandler.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/FaultHandler.java Tue Mar  6 04:45:00 2007
@@ -19,7 +19,18 @@
 
 package org.apache.synapse;
 
+/**
+ * This is the generic interface for the fault handlers in synapse. In the synapse message context
+ * it has a stck of fault handlers and when ever a Synapse (Runtime) Exception has thrown this stack
+ * will be examined by one of the SynapseMR, ProxyServiceMR, or CallbackReceiver and faultStack
+ * will be poped to get the most relevant FaultHandler and execute the handleFault method.
+ */
 public interface FaultHandler {
 
+    /**
+     * This will be executed to handle any Exceptions occured within the Synapse environment.
+     * @param synCtx SynapseMessageContext of which the fault occured message comprises
+     * @throws SynapseException in case there is a failure in the fault execution
+     */
     public void handleFault(MessageContext synCtx) throws SynapseException;
 }

Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/MediatorFaultHandler.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/MediatorFaultHandler.java?view=diff&rev=515105&r1=515104&r2=515105
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/MediatorFaultHandler.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/MediatorFaultHandler.java Tue Mar  6 04:45:00 2007
@@ -23,24 +23,73 @@
 import org.apache.synapse.SynapseException;
 import org.apache.synapse.Mediator;
 import org.apache.synapse.MessageContext;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 
+/**
+ * This implements the FaultHandler interface as a mediator fault handler. That is the fault handler is
+ * specified by a sequence and this handler implements the logic of handling the fault through the set
+ * of mediators present in the sequence.
+ *
+ * @see org.apache.synapse.FaultHandler
+ */
 public class MediatorFaultHandler implements FaultHandler {
 
+    private static final Log log = LogFactory.getLog(MediatorFaultHandler.class);
+
+    /**
+     * Thsi holds the fault sequence for the mediator fault handler
+     */
     private Mediator faultMediator = null;
 
+    /**
+     * Constructs the FaultHandler object for handling mediator faults
+     * 
+     * @param faultMediator Mediator in which fault sequence is specified
+     */
     public MediatorFaultHandler(Mediator faultMediator) {
+        
         this.faultMediator = faultMediator;
     }
 
+    /**
+     * Implements the fault handling method for the mediators (basically sequences)
+     *
+     * @param synCtx Synapse Message Context of which mediation occurs
+     * @throws SynapseException in case there is a failure in the fault execution
+     * @see org.apache.synapse.FaultHandler#handleFault(org.apache.synapse.MessageContext) 
+     */
     public void handleFault(MessageContext synCtx) throws SynapseException {
-        this.faultMediator.mediate(synCtx);
+        
+        try {
+            
+            log.debug("MediatorFaultHandler :: handleFault");
+            
+            this.faultMediator.mediate(synCtx);
+            
+        } catch (SynapseException syne) {
+            
+            ((FaultHandler)(synCtx.getFaultStack().pop())).handleFault(synCtx);
+        }
     }
 
+    /**
+     * Getter for the mediator describing the fault sequence
+     * 
+     * @return Mediator specifying the fault sequence for mediator fault handler
+     */
     public Mediator getFaultMediator() {
+        
         return faultMediator;
     }
 
+    /**
+     * Setter of the mediator describing the fault sequence
+     * 
+     * @param faultMediator Mediator specifying the fault sequence to be used by the handler
+     */
     public void setFaultMediator(Mediator faultMediator) {
+        
         this.faultMediator = faultMediator;
     }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: synapse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: synapse-dev-help@ws.apache.org