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/03/08 19:05:34 UTC
svn commit: r516123 - in /webservices/synapse/trunk/java/modules:
core/src/main/java/org/apache/synapse/mediators/base/
core/src/test/java/org/apache/synapse/
core/src/test/java/org/apache/synapse/mediators/base/
extensions/src/test/java/org/apache/syn...
Author: asankha
Date: Thu Mar 8 10:05:33 2007
New Revision: 516123
URL: http://svn.apache.org/viewvc?view=rev&rev=516123
Log:
fix build break for sequence mediator error handling test
Modified:
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/base/SequenceMediator.java
webservices/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/TestMessageContext.java
webservices/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/base/SequenceMediatorTest.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/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?view=diff&rev=516123&r1=516122&r2=516123
==============================================================================
--- 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 Thu Mar 8 10:05:33 2007
@@ -95,16 +95,22 @@
new MediatorFaultHandler(synCtx.getSequence(errorHandler)));
}
- return super.mediate(synCtx);
+ boolean ret = super.mediate(synCtx);
- } finally {
-
- // pop our error handler from the fault stack if we pushed it
+ // pop our error handler from the fault stack before we exit, if we have pushed it
Stack faultStack = synCtx.getFaultStack();
- if (errorHandler != null && !faultStack.isEmpty() &&
- synCtx.getSequence(errorHandler).equals(faultStack.peek())) {
- faultStack.pop();
+ if (errorHandler != null && !faultStack.isEmpty()) {
+ Object o = faultStack.peek();
+ if (o instanceof MediatorFaultHandler &&
+ synCtx.getSequence(errorHandler).equals(
+ ((MediatorFaultHandler) o).getFaultMediator())) {
+ faultStack.pop();
+ }
}
+
+ return ret;
+
+ } finally {
//If this sequence is finished it's task normally
if (isStatisticsEnable) {
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?view=diff&rev=516123&r1=516122&r2=516123
==============================================================================
--- 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 Thu Mar 8 10:05:33 2007
@@ -40,6 +40,8 @@
private Map localEntries = new HashMap();
+ private Stack faultStack = new Stack();
+
private SynapseConfiguration synCfg = null;
SOAPEnvelope envelope = null;
@@ -253,10 +255,11 @@
}
public Stack getFaultStack() {
- return null;
+ return faultStack;
}
public void pushFaultHandler(FaultHandler fault) {
+ faultStack.push(fault);
}
public MessageContext getSynapseContext() {
Modified: webservices/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/base/SequenceMediatorTest.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/base/SequenceMediatorTest.java?view=diff&rev=516123&r1=516122&r2=516123
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/base/SequenceMediatorTest.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/base/SequenceMediatorTest.java Thu Mar 8 10:05:33 2007
@@ -23,6 +23,11 @@
import org.apache.synapse.Constants;
import org.apache.synapse.MessageContext;
import org.apache.synapse.SynapseException;
+import org.apache.synapse.config.SynapseConfiguration;
+import org.apache.synapse.core.axis2.SynapseMessageReceiver;
+import org.apache.synapse.core.axis2.Axis2MessageContext;
+import org.apache.synapse.core.axis2.MessageContextCreatorForAxis2;
+import org.apache.synapse.core.axis2.Axis2SynapseEnvironment;
import org.apache.synapse.mediators.TestMediateHandler;
import org.apache.synapse.mediators.TestMediator;
import org.apache.synapse.mediators.TestUtils;
@@ -96,6 +101,7 @@
new TestMediateHandler() {
public void handle(MessageContext synCtx) {
result.append("T4");
+ assertEquals("test", synCtx.getProperty(Constants.ERROR_MESSAGE));
}
});
@@ -110,13 +116,18 @@
seqErr.addChild(t4);
// invoke transformation, with static enveope
- MessageContext synCtx = TestUtils.getTestContext("<empty/>");
- synCtx.getConfiguration().addSequence("myErrorHandler", seqErr);
+ SynapseConfiguration synConfig = new SynapseConfiguration();
+ synConfig.addSequence("myErrorHandler", seqErr);
+ synConfig.addSequence(Constants.MAIN_SEQUENCE_KEY, seq);
+
+ MessageContextCreatorForAxis2.setSynConfig(synConfig);
+ MessageContextCreatorForAxis2.setSynEnv(new Axis2SynapseEnvironment());
+ org.apache.axis2.context.MessageContext mc =
+ new org.apache.axis2.context.MessageContext();
+ mc.setEnvelope(TestUtils.getTestContext("<empty/>").getEnvelope());
- seq.mediate(synCtx);
+ new SynapseMessageReceiver().receive(mc);
assertTrue("T1.T2.T4".equals(result.toString()));
-
- assertEquals("test", synCtx.getProperty(Constants.ERROR_MESSAGE));
}
}
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?view=diff&rev=516123&r1=516122&r2=516123
==============================================================================
--- 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 Thu Mar 8 10:05:33 2007
@@ -40,6 +40,8 @@
private Map localEntries = new HashMap();
+ private Stack faultStack = new Stack();
+
private SynapseConfiguration synCfg = null;
SOAPEnvelope envelope = null;
@@ -267,10 +269,10 @@
}
public Stack getFaultStack() {
- return null;
+ return faultStack;
}
public void pushFaultHandler(FaultHandler fault) {
- return;
+ faultStack.push(fault);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: synapse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: synapse-dev-help@ws.apache.org