Author: ruwan
Date: Tue Jan 13 13:05:58 2009
New Revision: 28730
URL: http://wso2.org/svn/browse/wso2?view=rev&revision=28730

Log:
Synapse as a handler to axis2 service in-progress (handlers implemented)

Added:
   
branches/synapse/1.2.wso2v1/modules/handler/src/main/java/org/apache/synapse/handler/HandlerConstants.java
Modified:
   
branches/synapse/1.2.wso2v1/modules/handler/src/main/java/org/apache/synapse/handler/SynapseInHandler.java
   
branches/synapse/1.2.wso2v1/modules/handler/src/main/java/org/apache/synapse/handler/SynapseOutHandler.java

Added: 
branches/synapse/1.2.wso2v1/modules/handler/src/main/java/org/apache/synapse/handler/HandlerConstants.java
URL: 
http://wso2.org/svn/browse/wso2/branches/synapse/1.2.wso2v1/modules/handler/src/main/java/org/apache/synapse/handler/HandlerConstants.java?pathrev=28730
==============================================================================
--- (empty file)
+++ 
branches/synapse/1.2.wso2v1/modules/handler/src/main/java/org/apache/synapse/handler/HandlerConstants.java
  Tue Jan 13 13:05:58 2009
@@ -0,0 +1,11 @@
+package org.apache.synapse.handler;
+
+/**
+ * 
+ */
+public class HandlerConstants {
+
+    public static final String IN_SEQUENCE_PARAM_NAME = 
"mediation-in-sequence";
+    public static final String OUT_SEQUENCE_PARAM_NAME = 
"mediation-out-sequence";
+    public static final String FAULT_SEQUENCE_PARAM_NAME = 
"mediation-fault-sequence";
+}

Modified: 
branches/synapse/1.2.wso2v1/modules/handler/src/main/java/org/apache/synapse/handler/SynapseInHandler.java
URL: 
http://wso2.org/svn/browse/wso2/branches/synapse/1.2.wso2v1/modules/handler/src/main/java/org/apache/synapse/handler/SynapseInHandler.java?rev=28730&r1=28729&r2=28730&view=diff
==============================================================================
--- 
branches/synapse/1.2.wso2v1/modules/handler/src/main/java/org/apache/synapse/handler/SynapseInHandler.java
  (original)
+++ 
branches/synapse/1.2.wso2v1/modules/handler/src/main/java/org/apache/synapse/handler/SynapseInHandler.java
  Tue Jan 13 13:05:58 2009
@@ -62,30 +62,35 @@
         if (!messageContext.isServerSide()) {
             synCtx.setProperty(SynapseConstants.RESPONSE, Boolean.TRUE);
             synCtx.setResponse(true);
+            try {
+                // if synapse says ok let the message to flow through
+                if (HandlerUtil.mediateOutMessage(log, messageContext, 
synCtx)) {
+                    return InvocationResponse.CONTINUE;
+                } else {
+                    // if not abort the further processings
+                    log.debug("Synapse has decided to abort the message:\n" + 
synCtx);
+                    return InvocationResponse.ABORT;
+                }
+            } catch (SynapseException syne) {
+                // todo : invoke the fault sequence
+            }
         } else {
             synCtx.setProperty(SynapseConstants.RESPONSE, Boolean.FALSE);
             synCtx.setResponse(false);
-        }
-
-        try {
-            // if synapse says ok let the message to flow through
-            if (synCtx.getEnvironment().injectMessage(synCtx)) {
-                return InvocationResponse.CONTINUE;
-            } else {
-                // if not abort the further processings
-                log.debug("Synapse has decided to abort the message:\n" + 
synCtx.getEnvelope());
-                return InvocationResponse.ABORT;
-            }
-        } catch (SynapseException syne) {
-            if (!synCtx.getFaultStack().isEmpty()) {
-                ((FaultHandler) 
synCtx.getFaultStack().pop()).handleFault(synCtx, syne);
-            } else {
-                log.error("Synapse encountered an exception, " +
-                        "No error handlers found.\n" + syne.getMessage());
-                throw new AxisFault("Synapse encountered an error." + syne);
+            try {
+                // if synapse says ok let the message to flow through
+                if (HandlerUtil.mediateInMessage(log, messageContext, synCtx)) 
{
+                    return InvocationResponse.CONTINUE;
+                } else {
+                    // if not abort the further processings
+                    log.debug("Synapse has decided to abort the message:\n" + 
synCtx);
+                    return InvocationResponse.ABORT;
+                }
+            } catch (SynapseException syne) {
+                // todo : invoke the fault sequence
             }
         }
-
+        
         // general case should let the message flow
         return InvocationResponse.CONTINUE;
     }

Modified: 
branches/synapse/1.2.wso2v1/modules/handler/src/main/java/org/apache/synapse/handler/SynapseOutHandler.java
URL: 
http://wso2.org/svn/browse/wso2/branches/synapse/1.2.wso2v1/modules/handler/src/main/java/org/apache/synapse/handler/SynapseOutHandler.java?rev=28730&r1=28729&r2=28730&view=diff
==============================================================================
--- 
branches/synapse/1.2.wso2v1/modules/handler/src/main/java/org/apache/synapse/handler/SynapseOutHandler.java
 (original)
+++ 
branches/synapse/1.2.wso2v1/modules/handler/src/main/java/org/apache/synapse/handler/SynapseOutHandler.java
 Tue Jan 13 13:05:58 2009
@@ -62,9 +62,35 @@
         if (messageContext.isServerSide()) {
             synCtx.setProperty(SynapseConstants.RESPONSE, Boolean.TRUE);
             synCtx.setResponse(true);
+            synCtx.setProperty(SynapseConstants.RESPONSE, Boolean.TRUE);
+            synCtx.setResponse(true);
+            try {
+                // if synapse says ok let the message to flow through
+                if (HandlerUtil.mediateOutMessage(log, messageContext, 
synCtx)) {
+                    return InvocationResponse.CONTINUE;
+                } else {
+                    // if not abort the further processings
+                    log.debug("Synapse has decided to abort the message:\n" + 
synCtx);
+                    return InvocationResponse.ABORT;
+                }
+            } catch (SynapseException syne) {
+                // todo : invoke the fault sequence
+            }
         } else {
             synCtx.setProperty(SynapseConstants.RESPONSE, Boolean.FALSE);
             synCtx.setResponse(false);
+            try {
+                // if synapse says ok let the message to flow through
+                if (HandlerUtil.mediateInMessage(log, messageContext, synCtx)) 
{
+                    return InvocationResponse.CONTINUE;
+                } else {
+                    // if not abort the further processings
+                    log.debug("Synapse has decided to abort the message:\n" + 
synCtx);
+                    return InvocationResponse.ABORT;
+                }
+            } catch (SynapseException syne) {
+                // todo : invoke the fault sequence
+            }
         }
 
         try {

_______________________________________________
Esb-java-dev mailing list
[email protected]
https://wso2.org/cgi-bin/mailman/listinfo/esb-java-dev

Reply via email to