You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@synapse.apache.org by as...@apache.org on 2007/09/25 11:02:10 UTC

svn commit: r579139 - in /webservices/synapse/trunk/java/modules: core/src/main/java/org/apache/synapse/core/axis2/ core/src/main/java/org/apache/synapse/mediators/base/ core/src/main/java/org/apache/synapse/mediators/builtin/ core/src/test/java/org/ap...

Author: asankha
Date: Tue Sep 25 02:02:09 2007
New Revision: 579139

URL: http://svn.apache.org/viewvc?rev=579139&view=rev
Log:
fix NPE and undo wrong refactoring of popping the fault handler in a SequenceMediator when an exception is encountered

Modified:
    webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2MessageContext.java
    webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/base/SequenceMediator.java
    webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/base/SynapseMediator.java
    webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/DropMediator.java
    webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/LogMediator.java
    webservices/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/TestMessageContext.java
    webservices/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/ScriptMessageContext.java
    webservices/synapse/trunk/java/modules/extensions/src/test/java/org/apache/synapse/TestMessageContext.java

Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2MessageContext.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2MessageContext.java?rev=579139&r1=579138&r2=579139&view=diff
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2MessageContext.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2MessageContext.java Tue Sep 25 02:02:09 2007
@@ -346,7 +346,7 @@
         if (serviceName != null && synCfg.getProxyService(serviceName) != null) {
             return LogFactory.getLog(SynapseConstants.SERVICE_LOGGER_PREFIX + serviceName);
         } else {
-            return null;
+            return LogFactory.getLog(Axis2MessageContext.class);
         }
     }
 

Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/base/SequenceMediator.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/base/SequenceMediator.java?rev=579139&r1=579138&r2=579139&view=diff
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/base/SequenceMediator.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/base/SequenceMediator.java Tue Sep 25 02:02:09 2007
@@ -74,6 +74,10 @@
 
         if (traceOrDebugOn) {
             traceOrDebug(traceOn, "Start : Sequence <" + (name == null ? "anonymous" : name) + ">");
+
+            if (traceOn && trace.isTraceEnabled()) {
+                trace.trace("Message : " + synCtx);
+            }
         }
 
         if (key == null) {
@@ -114,11 +118,10 @@
                     }
                 }
 
-                return super.mediate(synCtx);
+                boolean result = super.mediate(synCtx);
 
-            } finally {
-
-                // if we pushed an error handler, pop it from the fault stack before we exit
+                // if we pushed an error handler, pop it from the fault stack
+                // before we exit normally without an exception
                 if (errorHandlerMediator != null) {
                     Stack faultStack = synCtx.getFaultStack();
                     if (faultStack != null && !faultStack.isEmpty()) {
@@ -132,6 +135,10 @@
                     }
                 }
 
+                return result;
+
+            } finally {
+
                 //If this sequence is finished it's task normally
                 if (statsOn) {
                     StatisticsUtils.processSequenceStatistics(synCtx);
@@ -140,6 +147,10 @@
                 StatisticsUtils.processProxyServiceStatistics(synCtx);
 
                 if (traceOrDebugOn) {
+                    if (traceOn && trace.isTraceEnabled()) {
+                        trace.trace("Message : " + synCtx);
+                    }
+
                     traceOrDebug(traceOn,
                         "End : Sequence <" + (name == null ? "anonymous" : name) + ">");
                 }

Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/base/SynapseMediator.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/base/SynapseMediator.java?rev=579139&r1=579138&r2=579139&view=diff
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/base/SynapseMediator.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/base/SynapseMediator.java Tue Sep 25 02:02:09 2007
@@ -47,18 +47,24 @@
      */
     public boolean mediate(MessageContext synCtx) {
 
-        if (log.isDebugEnabled()) {
-            log.debug("Synapse main mediator :: mediate()");
+        boolean traceOn = isTraceOn(synCtx);
+        boolean traceOrDebugOn = isTraceOrDebugOn(traceOn);
+
+        if (traceOrDebugOn) {
+            traceOrDebug(traceOn, "Start : Mediation using '" + SynapseConstants.MAIN_SEQUENCE_KEY +
+                "' sequence Message is a : " + (synCtx.isResponse() ? "response" : "request"));
+
+            if (traceOn && trace.isTraceEnabled()) {
+                trace.trace("Message : " + synCtx);
+            }
         }
-        boolean shouldTrace = shouldTrace(synCtx.getTracingState());
+
         try {
-            if (shouldTrace) {
-                trace.trace("Start : Synapse main mediator");
-            }
             // If the message flow path is OUT, then process the satatistics
             if (synCtx.isResponse()) {
                 StatisticsUtils.processAllSequenceStatistics(synCtx);
             }
+
             //put the required property for the collecttng statistics for the message mediation
             StatisticsStack sequenceStack = (StatisticsStack) synCtx.getProperty(
                     SynapseConstants.SEQUENCE_STATISTICS_STACK);
@@ -69,10 +75,16 @@
             String seqName = "MainSequence";
             boolean isFault = synCtx.getEnvelope().getBody().hasFault();
             sequenceStack.put(seqName,System.currentTimeMillis(),!synCtx.isResponse(),true,isFault);
+
             return super.mediate(synCtx);
+
         } finally {
-            if (shouldTrace) {
-                trace.trace("End : Synapse main mediator");
+            if (traceOrDebugOn) {
+                if (traceOn && trace.isTraceEnabled()) {
+                    trace.trace("Message : " + synCtx);
+                }
+                traceOrDebug(traceOn, "End : Mediation using '" +
+                    SynapseConstants.MAIN_SEQUENCE_KEY + "' sequence");
             }
         }
     }

Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/DropMediator.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/DropMediator.java?rev=579139&r1=579138&r2=579139&view=diff
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/DropMediator.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/DropMediator.java Tue Sep 25 02:02:09 2007
@@ -39,29 +39,27 @@
      */
     public boolean mediate(MessageContext synCtx) {
 
-        if (log.isDebugEnabled()) {
-            log.debug("Drop mediator :: mediate()");
-        }
-        boolean shouldTrace = shouldTrace(synCtx.getTracingState());
-        if (shouldTrace) {
-            trace.trace("Start : Drop mediator");
+        boolean traceOn = isTraceOn(synCtx);
+        boolean traceOrDebugOn = isTraceOrDebugOn(traceOn);
+
+        if (traceOrDebugOn) {
+            traceOrDebug(traceOn, "Start : Drop mediator");
+
+            if (traceOn && trace.isTraceEnabled()) {
+                trace.trace("Message : " + synCtx);
+            }
         }
+
         //If drop mediator is a child of a sequence
         // and if this sequence is a IN or OUT sequence of a proxy service
         StatisticsUtils.processProxyServiceStatistics(synCtx);
         //If this a sequence is not  a IN or OUT sequence of a proxy service
         StatisticsUtils.processAllSequenceStatistics(synCtx);
-        if (synCtx.getTo() == null) {
-            if (shouldTrace) {
-                trace.trace("End : Drop mediator");
-            }
-            return false;
-        } else {
-            synCtx.setTo(null);
-            if (shouldTrace) {
-                trace.trace("End : Drop mediator");
-            }
-            return false;
+
+        if (traceOrDebugOn) {
+            traceOrDebug(traceOn, "End : Drop mediator");
         }
+        synCtx.setTo(null);
+        return false;
     }
 }

Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/LogMediator.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/LogMediator.java?rev=579139&r1=579138&r2=579139&view=diff
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/LogMediator.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/LogMediator.java Tue Sep 25 02:02:09 2007
@@ -43,16 +43,17 @@
  */
 public class LogMediator extends AbstractMediator {
 
-    /** Log levels ,according to the  log level ,the information going to log  will  be changed */
-    public static final int CUSTOM = 0;
-    public static final int SIMPLE = 1;
+    /** Log levels, according to the log level selected, the information logged will change */
+    public static final int CUSTOM  = 0;
+    public static final int SIMPLE  = 1;
     public static final int HEADERS = 2;
-    public static final int FULL = 3;
+    public static final int FULL    = 3;
 
-    /** The default log level has set to SIMPLE */
+    public static final String DEFAULT_SEP = ", ";
+
+    /** The default log level is set to SIMPLE */
     private int logLevel = SIMPLE;
     /** The separator for which used to separate logging information */
-    public static final String DEFAULT_SEP = ", ";
     private String separator = DEFAULT_SEP;
     /** The holder for the custom properties */
     private List properties = new ArrayList();
@@ -65,20 +66,24 @@
      */
     public boolean mediate(MessageContext synCtx) {
 
-        if (log.isDebugEnabled()) {
-            log.debug("Log mediator :: mediate()");
-        }
-        boolean shouldTrace = shouldTrace(synCtx.getTracingState());
-        if (shouldTrace) {
-            trace.trace("Start : Log mediator");
+        boolean traceOn = isTraceOn(synCtx);
+        boolean traceOrDebugOn = isTraceOrDebugOn(traceOn);
+
+        if (traceOrDebugOn) {
+            traceOrDebug(traceOn, "Start : Log mediator");
+
+            if (traceOn && trace.isTraceEnabled()) {
+                trace.trace("Message : " + synCtx);
+            }
         }
-        String logMessage = getLogMessage(synCtx);
+
         if (log.isInfoEnabled()) {
-            log.info(logMessage);
+            String logMessage = getLogMessage(synCtx);
         }
-        if (shouldTrace) {
-            trace.trace(logMessage);
-            trace.trace("End : Log mediator");
+
+
+        if (traceOrDebugOn) {
+            traceOrDebug(traceOn, "End : Log mediator");
         }
         return true;
     }

Modified: webservices/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/TestMessageContext.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/TestMessageContext.java?rev=579139&r1=579138&r2=579139&view=diff
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/TestMessageContext.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/TestMessageContext.java Tue Sep 25 02:02:09 2007
@@ -29,6 +29,7 @@
 import org.apache.synapse.core.SynapseEnvironment;
 import org.apache.synapse.endpoints.Endpoint;
 import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 
 import java.util.HashMap;
 import java.util.Map;
@@ -264,7 +265,7 @@
     }
 
     public Log getServiceLog() {
-        return null;
+        return LogFactory.getLog(TestMessageContext.class);
     }
 
     public MessageContext getSynapseContext() {

Modified: webservices/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/ScriptMessageContext.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/ScriptMessageContext.java?rev=579139&r1=579138&r2=579139&view=diff
==============================================================================
--- webservices/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/ScriptMessageContext.java (original)
+++ webservices/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/ScriptMessageContext.java Tue Sep 25 02:02:09 2007
@@ -38,6 +38,7 @@
 import org.apache.synapse.core.SynapseEnvironment;
 import org.apache.synapse.endpoints.Endpoint;
 import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 
 /**
  * ScriptMessageContext decorates the Synapse MessageContext adding methods to use the
@@ -295,6 +296,6 @@
     }
 
     public Log getServiceLog() {
-        return null;
+        return LogFactory.getLog(ScriptMessageContext.class);
     }
 }

Modified: webservices/synapse/trunk/java/modules/extensions/src/test/java/org/apache/synapse/TestMessageContext.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/extensions/src/test/java/org/apache/synapse/TestMessageContext.java?rev=579139&r1=579138&r2=579139&view=diff
==============================================================================
--- webservices/synapse/trunk/java/modules/extensions/src/test/java/org/apache/synapse/TestMessageContext.java (original)
+++ webservices/synapse/trunk/java/modules/extensions/src/test/java/org/apache/synapse/TestMessageContext.java Tue Sep 25 02:02:09 2007
@@ -29,6 +29,7 @@
 import org.apache.synapse.core.SynapseEnvironment;
 import org.apache.synapse.endpoints.Endpoint;
 import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 
 import java.util.HashMap;
 import java.util.Map;
@@ -278,6 +279,6 @@
     }
 
     public Log getServiceLog() {
-        return null;
+        return LogFactory.getLog(TestMessageContext.class);
     }
 }



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