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