Another patch for the renaming and more unit tests..
asankha
Index: modules/core/src/org/apache/synapse/api/FilterMediator.java
===================================================================
--- modules/core/src/org/apache/synapse/api/FilterMediator.java (revision
405304)
+++ modules/core/src/org/apache/synapse/api/FilterMediator.java (working copy)
@@ -1,12 +1,12 @@
package org.apache.synapse.api;
-import org.apache.synapse.SynapseContext;
+import org.apache.synapse.SynapseMessageContext;
/**
* The filter mediator is a list mediator, which executes the given (sub) list
of mediators
* if the specified condition is satisfied
*
- * @see FilterMediator#test(org.apache.synapse.SynapseContext)
+ * @see FilterMediator#test(org.apache.synapse.SynapseMessageContext)
*/
public interface FilterMediator extends ListMediator {
@@ -16,5 +16,5 @@
* @param synCtx
* @return true if the configured filter condition evaluates to true
*/
- public boolean test(SynapseContext synCtx);
+ public boolean test(SynapseMessageContext synCtx);
}
Index: modules/core/src/org/apache/synapse/api/Mediator.java
===================================================================
--- modules/core/src/org/apache/synapse/api/Mediator.java (revision
405304)
+++ modules/core/src/org/apache/synapse/api/Mediator.java (working copy)
@@ -15,8 +15,7 @@
*/
package org.apache.synapse.api;
-import org.apache.synapse.SynapseMessage;
-import org.apache.synapse.SynapseContext;
+import org.apache.synapse.SynapseMessageContext;
/**
* All Synapse mediators must implement this Mediator interface. As a message
passes
@@ -33,7 +32,7 @@
* @param synCtx the current message for mediation
* @return true if further mediation should continue
*/
- public boolean mediate(SynapseContext synCtx);
+ public boolean mediate(SynapseMessageContext synCtx);
/**
* This is used for debugging purposes and exposes the type of the current
Index: modules/core/src/org/apache/synapse/config/xml/Constants.java
===================================================================
--- modules/core/src/org/apache/synapse/config/xml/Constants.java
(revision 405304)
+++ modules/core/src/org/apache/synapse/config/xml/Constants.java
(working copy)
@@ -29,7 +29,7 @@
public static final QName RULES_ELT = new QName("rules");
- public static final String SYNAPSE_NAMESPACE =
"http://ws.apache.org/ns/synapse";
+ public static final String SYNAPSE_NAMESPACE =
org.apache.synapse.Constants.SYNAPSE_NAMESPACE;
public static final String SYNAPSE = "synapse";
public static final String NULL_NAMESPACE = "";
}
Index: modules/core/src/org/apache/synapse/config/xml/MediatorFactory.java
===================================================================
--- modules/core/src/org/apache/synapse/config/xml/MediatorFactory.java
(revision 405304)
+++ modules/core/src/org/apache/synapse/config/xml/MediatorFactory.java
(working copy)
@@ -18,8 +18,6 @@
import javax.xml.namespace.QName;
-import org.apache.synapse.SynapseContext;
-import org.apache.synapse.config.SynapseConfiguration;
import org.apache.synapse.api.Mediator;
import org.apache.axiom.om.OMElement;
Index: modules/core/src/org/apache/synapse/Constants.java
===================================================================
--- modules/core/src/org/apache/synapse/Constants.java (revision 405304)
+++ modules/core/src/org/apache/synapse/Constants.java (working copy)
@@ -22,6 +22,8 @@
*/
public interface Constants {
+ public static final String SYNAPSE_NAMESPACE =
"http://ws.apache.org/ns/synapse";
+
String CLASSMEDIATOR = "classmediator";
QName MEDIATE_OPERATION_NAME = new QName("mediate");
Index: modules/core/src/org/apache/synapse/core/axis2/Axis2Sender.java
===================================================================
--- modules/core/src/org/apache/synapse/core/axis2/Axis2Sender.java
(revision 405304)
+++ modules/core/src/org/apache/synapse/core/axis2/Axis2Sender.java
(working copy)
@@ -22,8 +22,7 @@
import org.apache.axis2.engine.AxisEngine;
import org.apache.synapse.Constants;
import org.apache.synapse.SynapseException;
-import org.apache.synapse.SynapseMessage;
-import org.apache.synapse.SynapseContext;
+import org.apache.synapse.SynapseMessageContext;
/**
@@ -31,7 +30,7 @@
*/
public class Axis2Sender {
- public static void sendOn(SynapseContext smc) {
+ public static void sendOn(SynapseMessageContext smc) {
try {
@@ -81,7 +80,7 @@
}
}
- public static void sendBack(SynapseContext smc) {
+ public static void sendBack(SynapseMessageContext smc) {
MessageContext messageContext = ((Axis2SynapseMessage)
smc.getSynapseMessage()).getMessageContext();
AxisEngine ae =
new AxisEngine(messageContext.getConfigurationContext());
Index:
modules/core/src/org/apache/synapse/core/axis2/Axis2SynapseContextFinder.java
===================================================================
---
modules/core/src/org/apache/synapse/core/axis2/Axis2SynapseContextFinder.java
(revision 405304)
+++
modules/core/src/org/apache/synapse/core/axis2/Axis2SynapseContextFinder.java
(working copy)
@@ -23,7 +23,7 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.synapse.Constants;
-import org.apache.synapse.SynapseContext;
+import org.apache.synapse.SynapseMessageContext;
import org.apache.synapse.SynapseException;
import org.apache.synapse.core.SynapseEnvironment;
import org.apache.synapse.config.xml.SynapseConfigurationBuilder;
@@ -33,14 +33,14 @@
/**
* <p/>
- * The SynapseContext needs to be set up and then is used by the
SynapseMessageReceiver to inject messages.
+ * The SynapseMessageContext needs to be set up and then is used by the
SynapseMessageReceiver to inject messages.
* This class is used by the SynapseMessageReceiver to find the environment.
The env is stored in a Parameter to the Axis2 config
*/
public class Axis2SynapseContextFinder implements Constants {
private static Log log =
LogFactory.getLog(Axis2SynapseContextFinder.class);
- public static synchronized SynapseContext getSynapseContext(MessageContext
mc) {
+ public static synchronized SynapseMessageContext
getSynapseContext(MessageContext mc) {
SynapseConfiguration synCfg = getSynapseConfig(mc);
SynapseEnvironment synEnv = getSynapseEnvironment(mc);
@@ -57,7 +57,7 @@
throw new SynapseException(msg);
}
- SynapseContext synCtx = new Axis2SynapseMessageContext();
+ SynapseMessageContext synCtx = new Axis2SynapseMessageContext();
synCtx.setSynapseEnvironment(synEnv);
synCtx.setConfiguration(synCfg);
synCtx.setSynapseMessage(new Axis2SynapseMessage(mc, synCtx));
Index:
modules/core/src/org/apache/synapse/core/axis2/Axis2SynapseEnvironment.java
===================================================================
--- modules/core/src/org/apache/synapse/core/axis2/Axis2SynapseEnvironment.java
(revision 405304)
+++ modules/core/src/org/apache/synapse/core/axis2/Axis2SynapseEnvironment.java
(working copy)
@@ -18,11 +18,11 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.synapse.SynapseContext;
+import org.apache.synapse.SynapseMessageContext;
import org.apache.synapse.core.SynapseEnvironment;
/**
- * <p> This is the Axis2 implementation of the SynapseContext
+ * <p> This is the Axis2 implementation of the SynapseMessageContext
*/
public class Axis2SynapseEnvironment implements SynapseEnvironment {
@@ -34,12 +34,12 @@
this.cl = cl;
}
- public void injectMessage(SynapseContext synCtx) {
+ public void injectMessage(SynapseMessageContext synCtx) {
synCtx.setSynapseEnvironment(this);
synCtx.getConfiguration().getMainMediator().mediate(synCtx);
}
- public void send(SynapseContext synCtx) {
+ public void send(SynapseMessageContext synCtx) {
if (synCtx.getSynapseMessage().isResponse())
Axis2Sender.sendBack(synCtx);
else
Index: modules/core/src/org/apache/synapse/core/axis2/Axis2SynapseMessage.java
===================================================================
--- modules/core/src/org/apache/synapse/core/axis2/Axis2SynapseMessage.java
(revision 405304)
+++ modules/core/src/org/apache/synapse/core/axis2/Axis2SynapseMessage.java
(working copy)
@@ -22,13 +22,9 @@
import org.apache.axis2.addressing.RelatesTo;
import org.apache.axis2.context.MessageContext;
import org.apache.synapse.Constants;
-import org.apache.synapse.SynapseContext;
+import org.apache.synapse.SynapseMessageContext;
import org.apache.synapse.SynapseMessage;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
/**
* <p/>
* A wrapper on Axis2's Message Context that implements the SynapseMessage
interface
@@ -39,13 +35,13 @@
private MessageContext mc = null;
/** The Synapse Context reference*/
- private SynapseContext synCtx = null;
+ private SynapseMessageContext synCtx = null;
private boolean response = false;
private boolean faultResponse = false;
- public Axis2SynapseMessage(MessageContext mc, SynapseContext synCtx) {
+ public Axis2SynapseMessage(MessageContext mc, SynapseMessageContext
synCtx) {
setMessageContext(mc);
setSynapseContext(synCtx);
}
@@ -167,11 +163,11 @@
return this.faultResponse;
}
- public SynapseContext getSynapseContext() {
+ public SynapseMessageContext getSynapseContext() {
return synCtx;
}
- public void setSynapseContext(SynapseContext synCtx) {
+ public void setSynapseContext(SynapseMessageContext synCtx) {
this.synCtx = synCtx;
}
Index:
modules/core/src/org/apache/synapse/core/axis2/Axis2SynapseMessageContext.java
===================================================================
---
modules/core/src/org/apache/synapse/core/axis2/Axis2SynapseMessageContext.java
(revision 405304)
+++
modules/core/src/org/apache/synapse/core/axis2/Axis2SynapseMessageContext.java
(working copy)
@@ -15,7 +15,7 @@
*/
package org.apache.synapse.core.axis2;
-import org.apache.synapse.SynapseContext;
+import org.apache.synapse.SynapseMessageContext;
import org.apache.synapse.SynapseMessage;
import org.apache.synapse.core.SynapseEnvironment;
import org.apache.synapse.config.SynapseConfiguration;
@@ -23,7 +23,7 @@
import java.util.Map;
import java.util.HashMap;
-public class Axis2SynapseMessageContext implements SynapseContext {
+public class Axis2SynapseMessageContext implements SynapseMessageContext {
private SynapseConfiguration cfg = null;
private SynapseEnvironment env = null;
@@ -55,7 +55,14 @@
}
public Object getProperty(String key) {
- return properties.get(key);
+ Object ret = properties.get(key);
+ if (ret != null) {
+ return ret;
+ } else if (getConfiguration() != null) {
+ return getConfiguration().getProperty(key);
+ } else {
+ return null;
+ }
}
public void setProperty(String key, Object value) {
Index:
modules/core/src/org/apache/synapse/core/axis2/SynapseMessageReceiver.java
===================================================================
--- modules/core/src/org/apache/synapse/core/axis2/SynapseMessageReceiver.java
(revision 405304)
+++ modules/core/src/org/apache/synapse/core/axis2/SynapseMessageReceiver.java
(working copy)
@@ -21,7 +21,7 @@
import org.apache.axis2.engine.MessageReceiver;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.synapse.SynapseContext;
+import org.apache.synapse.SynapseMessageContext;
import org.apache.synapse.SynapseMessage;
/**
@@ -36,9 +36,9 @@
public void receive(MessageContext mc) throws AxisFault {
log.debug("Synapse received message");
- SynapseContext synCtx =
Axis2SynapseContextFinder.getSynapseContext(mc);
+ SynapseMessageContext synCtx =
Axis2SynapseContextFinder.getSynapseContext(mc);
////////////////////////////////////////////////////////////////////////
- // SynapseContext is set as a property in MessageContext. This is due
+ // SynapseMessageContext is set as a property in MessageContext. This
is due
// use we can expect in ServiceMediatorProcessor and many extensions
yet to come
// So it a mediator uses EnvironmentAware, that mediator will be
injected with the correct environment
Index: modules/core/src/org/apache/synapse/core/SynapseEnvironment.java
===================================================================
--- modules/core/src/org/apache/synapse/core/SynapseEnvironment.java
(revision 405304)
+++ modules/core/src/org/apache/synapse/core/SynapseEnvironment.java
(working copy)
@@ -15,7 +15,7 @@
*/
package org.apache.synapse.core;
-import org.apache.synapse.SynapseContext;
+import org.apache.synapse.SynapseMessageContext;
/**
* The SynapseEnvironment allows access into the the host SOAP engine. It
allows
@@ -28,7 +28,7 @@
* the underlying SOAP engine to inject messages into Synapse for
mediation.
* e.g. The SynapseMessageReceiver used by Axis2 invokes this to inject
new messages
*/
- public void injectMessage(SynapseContext smc);
+ public void injectMessage(SynapseMessageContext smc);
/**
* Mediators may get access to the relevant classloader through this
@@ -40,5 +40,5 @@
* <p/>
* This will send request messages on (forward), and send the response
messages back to the client
*/
- public void send(SynapseContext smc);
+ public void send(SynapseMessageContext smc);
}
Index: modules/core/src/org/apache/synapse/mediators/AbstractListMediator.java
===================================================================
--- modules/core/src/org/apache/synapse/mediators/AbstractListMediator.java
(revision 405304)
+++ modules/core/src/org/apache/synapse/mediators/AbstractListMediator.java
(working copy)
@@ -16,7 +16,7 @@
package org.apache.synapse.mediators;
-import org.apache.synapse.SynapseContext;
+import org.apache.synapse.SynapseMessageContext;
import org.apache.synapse.api.Mediator;
import org.apache.synapse.api.ListMediator;
import org.apache.commons.logging.LogFactory;
@@ -37,7 +37,7 @@
protected List mediators = new ArrayList();
- public boolean mediate(SynapseContext synCtx) {
+ public boolean mediate(SynapseMessageContext synCtx) {
log.debug(getType() + " mediate()");
Iterator it = mediators.iterator();
Index: modules/core/src/org/apache/synapse/mediators/base/SequenceMediator.java
===================================================================
--- modules/core/src/org/apache/synapse/mediators/base/SequenceMediator.java
(revision 405304)
+++ modules/core/src/org/apache/synapse/mediators/base/SequenceMediator.java
(working copy)
@@ -16,7 +16,7 @@
package org.apache.synapse.mediators.base;
import org.apache.synapse.SynapseException;
-import org.apache.synapse.SynapseContext;
+import org.apache.synapse.SynapseMessageContext;
import org.apache.synapse.api.Mediator;
import org.apache.synapse.mediators.AbstractListMediator;
import org.apache.commons.logging.Log;
@@ -43,7 +43,7 @@
* @param synCtx the synapse message
* @return as per standard mediator result
*/
- public boolean mediate(SynapseContext synCtx) {
+ public boolean mediate(SynapseMessageContext synCtx) {
log.debug(getType() + " mediate()");
if (ref == null) {
return super.mediate(synCtx);
Index: modules/core/src/org/apache/synapse/mediators/builtin/DropMediator.java
===================================================================
--- modules/core/src/org/apache/synapse/mediators/builtin/DropMediator.java
(revision 405304)
+++ modules/core/src/org/apache/synapse/mediators/builtin/DropMediator.java
(working copy)
@@ -16,7 +16,7 @@
package org.apache.synapse.mediators.builtin;
-import org.apache.synapse.SynapseContext;
+import org.apache.synapse.SynapseMessageContext;
import org.apache.synapse.mediators.AbstractMediator;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -33,7 +33,7 @@
* @param synCtx the current message
* @return false always
*/
- public boolean mediate(SynapseContext synCtx) {
+ public boolean mediate(SynapseMessageContext synCtx) {
log.debug(getType() + " mediate()");
if (synCtx.getSynapseMessage().getTo() == null) {
return false;
Index: modules/core/src/org/apache/synapse/mediators/builtin/LogMediator.java
===================================================================
--- modules/core/src/org/apache/synapse/mediators/builtin/LogMediator.java
(revision 405304)
+++ modules/core/src/org/apache/synapse/mediators/builtin/LogMediator.java
(working copy)
@@ -18,7 +18,7 @@
import org.apache.axiom.soap.SOAPHeader;
import org.apache.synapse.SynapseMessage;
-import org.apache.synapse.SynapseContext;
+import org.apache.synapse.SynapseMessageContext;
import org.apache.synapse.mediators.AbstractMediator;
import org.apache.synapse.mediators.MediatorProperty;
import org.apache.commons.logging.Log;
@@ -54,13 +54,13 @@
* @param synCtx (current) message to be logged
* @return true always
*/
- public boolean mediate(SynapseContext synCtx) {
+ public boolean mediate(SynapseMessageContext synCtx) {
log.debug(getType() + " mediate()");
log.info(getLogMessage(synCtx));
return true;
}
- private String getLogMessage(SynapseContext synCtx) {
+ private String getLogMessage(SynapseMessageContext synCtx) {
switch (logLevel) {
case CUSTOM:
return getCustomLogMessage(synCtx);
@@ -75,13 +75,13 @@
}
}
- private String getCustomLogMessage(SynapseContext synCtx) {
+ private String getCustomLogMessage(SynapseMessageContext synCtx) {
StringBuffer sb = new StringBuffer();
setCustomProperties(sb, synCtx);
return sb.toString();
}
- private String getSimpleLogMessage(SynapseContext synCtx) {
+ private String getSimpleLogMessage(SynapseMessageContext synCtx) {
SynapseMessage synMsg = synCtx.getSynapseMessage();
StringBuffer sb = new StringBuffer();
if (synMsg.getTo() != null)
@@ -100,7 +100,7 @@
return sb.toString();
}
- private String getHeadersLogMessage(SynapseContext synCtx) {
+ private String getHeadersLogMessage(SynapseMessageContext synCtx) {
SynapseMessage synMsg = synCtx.getSynapseMessage();
StringBuffer sb = new StringBuffer();
Iterator iter =
synMsg.getEnvelope().getHeader().examineAllHeaderBlocks();
@@ -112,7 +112,7 @@
return sb.toString();
}
- private String getFullLogMessage(SynapseContext synCtx) {
+ private String getFullLogMessage(SynapseMessageContext synCtx) {
SynapseMessage synMsg = synCtx.getSynapseMessage();
StringBuffer sb = new StringBuffer();
sb.append(getSimpleLogMessage(synCtx));
@@ -122,7 +122,7 @@
return sb.toString();
}
- private void setCustomProperties(StringBuffer sb, SynapseContext synCtx) {
+ private void setCustomProperties(StringBuffer sb, SynapseMessageContext
synCtx) {
if (properties != null && !properties.isEmpty()) {
Iterator iter = properties.iterator();
while (iter.hasNext()) {
Index:
modules/core/src/org/apache/synapse/mediators/builtin/PropertyMediator.java
===================================================================
--- modules/core/src/org/apache/synapse/mediators/builtin/PropertyMediator.java
(revision 405304)
+++ modules/core/src/org/apache/synapse/mediators/builtin/PropertyMediator.java
(working copy)
@@ -16,7 +16,7 @@
package org.apache.synapse.mediators.builtin;
import org.apache.synapse.mediators.AbstractMediator;
-import org.apache.synapse.SynapseContext;
+import org.apache.synapse.SynapseMessageContext;
import org.apache.synapse.Util;
import org.apache.axiom.om.xpath.AXIOMXPath;
@@ -36,7 +36,7 @@
* @param smc the message context
* @return true always
*/
- public boolean mediate(SynapseContext smc) {
+ public boolean mediate(SynapseMessageContext smc) {
smc.setProperty(getName(),
(value != null ? getValue() : Util.getStringValue(getExpression(),
smc)));
return true;
Index: modules/core/src/org/apache/synapse/mediators/builtin/SendMediator.java
===================================================================
--- modules/core/src/org/apache/synapse/mediators/builtin/SendMediator.java
(revision 405304)
+++ modules/core/src/org/apache/synapse/mediators/builtin/SendMediator.java
(working copy)
@@ -16,7 +16,7 @@
package org.apache.synapse.mediators.builtin;
-import org.apache.synapse.SynapseContext;
+import org.apache.synapse.SynapseMessageContext;
import org.apache.synapse.mediators.AbstractMediator;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -38,7 +38,7 @@
* @param synCtx the current message to be sent
* @return false always as this is a leaf mediator
*/
- public boolean mediate(SynapseContext synCtx) {
+ public boolean mediate(SynapseMessageContext synCtx) {
log.debug(getType() + " mediate()");
log.debug("Sending To: " + (synCtx.getSynapseMessage().getTo() != null
?
synCtx.getSynapseMessage().getTo().getAddress() : "null"));
Index:
modules/core/src/org/apache/synapse/mediators/builtin/ValidateMediator.java
===================================================================
--- modules/core/src/org/apache/synapse/mediators/builtin/ValidateMediator.java
(revision 405304)
+++ modules/core/src/org/apache/synapse/mediators/builtin/ValidateMediator.java
(working copy)
@@ -15,9 +15,8 @@
*/
package org.apache.synapse.mediators.builtin;
-import org.apache.synapse.mediators.AbstractMediator;
import org.apache.synapse.mediators.AbstractListMediator;
-import org.apache.synapse.SynapseContext;
+import org.apache.synapse.SynapseMessageContext;
import org.apache.synapse.SynapseException;
import org.apache.synapse.SynapseMessage;
import org.apache.axiom.om.xpath.AXIOMXPath;
@@ -40,7 +39,6 @@
import java.io.ByteArrayOutputStream;
import java.io.ByteArrayInputStream;
import java.util.List;
-import java.util.ArrayList;
import java.util.Iterator;
/**
@@ -106,7 +104,7 @@
}
}
- public boolean mediate(SynapseContext synCtx) {
+ public boolean mediate(SynapseMessageContext synCtx) {
ByteArrayInputStream baisFromSource = null;
StringBuffer nsLocations = new StringBuffer();
Index: modules/core/src/org/apache/synapse/mediators/ext/ClassMediator.java
===================================================================
--- modules/core/src/org/apache/synapse/mediators/ext/ClassMediator.java
(revision 405304)
+++ modules/core/src/org/apache/synapse/mediators/ext/ClassMediator.java
(working copy)
@@ -17,7 +17,7 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.synapse.SynapseContext;
+import org.apache.synapse.SynapseMessageContext;
import org.apache.synapse.SynapseException;
import org.apache.synapse.Util;
import org.apache.synapse.api.Mediator;
@@ -47,7 +47,7 @@
* @param synCtx the message context
* @return as per standard semantics
*/
- public boolean mediate(SynapseContext synCtx) {
+ public boolean mediate(SynapseMessageContext synCtx) {
log.debug(getType() + " mediate()");
Mediator m = null;
@@ -69,7 +69,7 @@
* Only String properties are supported
* @param m the mediator
*/
- private void setProperties(Mediator m, SynapseContext synCtx) {
+ private void setProperties(Mediator m, SynapseMessageContext synCtx) {
Iterator iter = properties.iterator();
while (iter.hasNext()) {
MediatorProperty mProp = (MediatorProperty) iter.next();
Index: modules/core/src/org/apache/synapse/mediators/filters/FilterMediator.java
===================================================================
--- modules/core/src/org/apache/synapse/mediators/filters/FilterMediator.java
(revision 405304)
+++ modules/core/src/org/apache/synapse/mediators/filters/FilterMediator.java
(working copy)
@@ -18,7 +18,7 @@
import org.apache.axiom.om.xpath.AXIOMXPath;
import org.apache.synapse.Util;
-import org.apache.synapse.SynapseContext;
+import org.apache.synapse.SynapseMessageContext;
import org.apache.synapse.mediators.AbstractListMediator;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -42,7 +42,7 @@
* @param synCtx the current message
* @return true if filter condition fails. else returns as per List
mediator semantics
*/
- public boolean mediate(SynapseContext synCtx) {
+ public boolean mediate(SynapseMessageContext synCtx) {
log.debug(getType() + " mediate()");
if (test(synCtx)) {
return super.mediate(synCtx);
@@ -59,7 +59,7 @@
* @param synCtx the current message for evaluation of the test condition
* @return true if evaluation of the XPath/Regex results in true
*/
- public boolean test(SynapseContext synCtx) {
+ public boolean test(SynapseMessageContext synCtx) {
try {
if (xpath != null) {
return
xpath.booleanValueOf(synCtx.getSynapseMessage().getEnvelope());
Index: modules/core/src/org/apache/synapse/mediators/filters/SwitchMediator.java
===================================================================
--- modules/core/src/org/apache/synapse/mediators/filters/SwitchMediator.java
(revision 405304)
+++ modules/core/src/org/apache/synapse/mediators/filters/SwitchMediator.java
(working copy)
@@ -16,15 +16,12 @@
package org.apache.synapse.mediators.filters;
import org.apache.synapse.mediators.AbstractMediator;
-import org.apache.synapse.mediators.AbstractListMediator;
-import org.apache.synapse.SynapseContext;
+import org.apache.synapse.SynapseMessageContext;
import org.apache.synapse.Util;
-import org.apache.synapse.api.Mediator;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.axiom.om.xpath.AXIOMXPath;
-import java.util.regex.Pattern;
import java.util.List;
import java.util.ArrayList;
import java.util.Iterator;
@@ -48,7 +45,7 @@
* @param synCtx current context
* @return as per standard semantics
*/
- public boolean mediate(SynapseContext synCtx) {
+ public boolean mediate(SynapseMessageContext synCtx) {
String sourceText = Util.getStringValue(source, synCtx);
Iterator iter = cases.iterator();
Index: modules/core/src/org/apache/synapse/mediators/GetPropertyFunction.java
===================================================================
--- modules/core/src/org/apache/synapse/mediators/GetPropertyFunction.java
(revision 0)
+++ modules/core/src/org/apache/synapse/mediators/GetPropertyFunction.java
(revision 0)
@@ -0,0 +1,67 @@
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package org.apache.synapse.mediators;
+
+import org.jaxen.Function;
+import org.jaxen.Context;
+import org.jaxen.FunctionCallException;
+import org.jaxen.Navigator;
+import org.jaxen.function.StringFunction;
+import org.apache.synapse.SynapseMessageContext;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import java.util.List;
+import java.util.Iterator;
+
+/**
+ * Implements the XPath extension function synapse:get-property(prop-name)
+ */
+public class GetPropertyFunction implements Function {
+
+ private static final Log log =
LogFactory.getLog(GetPropertyFunction.class);
+
+ private SynapseMessageContext synCtx = null;
+
+ public SynapseMessageContext getSynCtx() {
+ return synCtx;
+ }
+
+ public void setSynCtx(SynapseMessageContext synCtx) {
+ this.synCtx = synCtx;
+ }
+
+ public Object call(Context context, List args) throws
FunctionCallException {
+ if (args.isEmpty()) {
+ log.warn("Property key value for lookup was not specified");
+ return null;
+ } else if (synCtx == null) {
+ log.warn("Synapse context has not been set for the XPath extension
function" +
+ "'synapse:get-property(prop-name)'");
+ return null;
+
+ } else {
+ Navigator navigator = context.getNavigator();
+ Iterator iter = args.iterator();
+ while (iter.hasNext()) {
+ String key = StringFunction.evaluate(iter.next(), navigator);
+ // ignore if more than one argument has been specified
+ return synCtx.getProperty(key);
+ }
+ }
+ return null;
+ }
+}
Index: modules/core/src/org/apache/synapse/mediators/MediatorProperty.java
===================================================================
--- modules/core/src/org/apache/synapse/mediators/MediatorProperty.java
(revision 405304)
+++ modules/core/src/org/apache/synapse/mediators/MediatorProperty.java
(working copy)
@@ -17,7 +17,7 @@
import org.apache.synapse.config.xml.Constants;
import org.apache.synapse.Util;
-import org.apache.synapse.SynapseContext;
+import org.apache.synapse.SynapseMessageContext;
import org.apache.axiom.om.xpath.AXIOMXPath;
import javax.xml.namespace.QName;
@@ -64,7 +64,7 @@
this.expression = expression;
}
- public String getEvaluatedExpression(SynapseContext synCtx) {
+ public String getEvaluatedExpression(SynapseMessageContext synCtx) {
return Util.getStringValue(expression, synCtx);
}
Index:
modules/core/src/org/apache/synapse/mediators/transform/FaultMediator.java
===================================================================
--- modules/core/src/org/apache/synapse/mediators/transform/FaultMediator.java
(revision 405304)
+++ modules/core/src/org/apache/synapse/mediators/transform/FaultMediator.java
(working copy)
@@ -24,7 +24,7 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.synapse.SynapseException;
-import org.apache.synapse.SynapseContext;
+import org.apache.synapse.SynapseMessageContext;
import org.apache.synapse.SynapseMessage;
import org.apache.synapse.mediators.AbstractMediator;
@@ -50,7 +50,7 @@
//TODO support SOAP 1.2 fault stuff..
//Node, Role, detail etc
- public boolean mediate(SynapseContext synCtx) {
+ public boolean mediate(SynapseMessageContext synCtx) {
log.debug(getType() + " mediate()");
SynapseMessage synMsg = synCtx.getSynapseMessage();
SOAPEnvelope envelop = synMsg.getEnvelope();
Index:
modules/core/src/org/apache/synapse/mediators/transform/HeaderMediator.java
===================================================================
--- modules/core/src/org/apache/synapse/mediators/transform/HeaderMediator.java
(revision 405304)
+++ modules/core/src/org/apache/synapse/mediators/transform/HeaderMediator.java
(working copy)
@@ -18,7 +18,7 @@
import org.apache.synapse.mediators.AbstractMediator;
import org.apache.synapse.HeaderType;
import org.apache.synapse.Util;
-import org.apache.synapse.SynapseContext;
+import org.apache.synapse.SynapseMessageContext;
import org.apache.axiom.om.xpath.AXIOMXPath;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -52,7 +52,7 @@
* @param synCtx the current message which is altered as necessary
* @return true always
*/
- public boolean mediate(SynapseContext synCtx) {
+ public boolean mediate(SynapseMessageContext synCtx) {
log.debug(getType() + " mediate()");
if (action == ACTION_SET) {
Index:
modules/core/src/org/apache/synapse/mediators/transform/TransformMediator.java
===================================================================
---
modules/core/src/org/apache/synapse/mediators/transform/TransformMediator.java
(revision 405304)
+++
modules/core/src/org/apache/synapse/mediators/transform/TransformMediator.java
(working copy)
@@ -10,7 +10,7 @@
import org.apache.axiom.soap.SOAP11Constants;
import org.apache.synapse.SynapseException;
import org.apache.synapse.SynapseMessage;
-import org.apache.synapse.SynapseContext;
+import org.apache.synapse.SynapseMessageContext;
import org.apache.synapse.mediators.AbstractMediator;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -49,7 +49,7 @@
* @param synCtx the current message where the transformation will apply
* @return true always
*/
- public boolean mediate(SynapseContext synCtx) {
+ public boolean mediate(SynapseMessageContext synCtx) {
log.debug(getType() + " mediate()");
if (xsltUrl != null) {
Index: modules/core/src/org/apache/synapse/SynapseContext.java
===================================================================
--- modules/core/src/org/apache/synapse/SynapseContext.java (revision
405304)
+++ modules/core/src/org/apache/synapse/SynapseContext.java (working copy)
@@ -1,85 +0,0 @@
-/*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.synapse;
-
-
-import org.apache.synapse.config.SynapseConfiguration;
-import org.apache.synapse.core.SynapseEnvironment;
-
-
-/**
- * The Synapse Context is available to mediators through the SynapseMessage. It
- * allows one to call to the underlying SynapseEnvironment (i.e. the SOAP
engine
- * - such as Axis2 - where required. It also allows one to access the current
- * SynapseConfiguration. Additionally it holds per message properties (i.e.
local
- * properties valid for the lifetime of the message)
- */
-public interface SynapseContext {
-
- /**
- * Get a reference to the current SynapseConfiguration
- *
- * @return the current synapse configuration
- */
- public SynapseConfiguration getConfiguration();
-
- /**
- * Set or replace the Synapse Configuration instance to be used. May be
used to
- * programatically change the configuration at runtime etc.
- *
- * @param cfg The new synapse configuration instance
- */
- public void setConfiguration(SynapseConfiguration cfg);
-
- /**
- * Returns a reference to the host Synapse Environment
- * @return the Synapse Environment
- */
- public SynapseEnvironment getSynapseEnvironment();
-
- /**
- * Sets the SynapseEnvironment reference to this context
- * @param se the reference to the Synapse Environment
- */
- public void setSynapseEnvironment(SynapseEnvironment se);
-
- /**
- * Sets the associated Synapse message
- * @param sm the synapse message associated with this context
- */
- public void setSynapseMessage(SynapseMessage sm);
-
- /**
- * Return the associated SynapseMessage
- * @return the associated Synapse message
- */
- public SynapseMessage getSynapseMessage();
-
- /**
- * Get the value of a custom (local) property set on the message instance
- * @param key key to look up property
- * @return value for the given key
- */
- public Object getProperty(String key);
-
- /**
- * Set a custom (local) property with the given name on the message
instance
- * @param key key to be used
- * @param value value to be saved
- */
- public void setProperty(String key, Object value);
-
-}
Index: modules/core/src/org/apache/synapse/SynapseMessage.java
===================================================================
--- modules/core/src/org/apache/synapse/SynapseMessage.java (revision
405304)
+++ modules/core/src/org/apache/synapse/SynapseMessage.java (working copy)
@@ -163,14 +163,14 @@
public boolean isFaultResponse();
/**
- * Return a reference to the SynapseContext
- * @return the SynapseContext
+ * Return a reference to the SynapseMessageContext
+ * @return the SynapseMessageContext
*/
- public SynapseContext getSynapseContext();
+ public SynapseMessageContext getSynapseContext();
/**
- * Set the reference to the SynapseContext
- * @param env the SynapseContext
+ * Set the reference to the SynapseMessageContext
+ * @param env the SynapseMessageContext
*/
- public void setSynapseContext(SynapseContext env);
+ public void setSynapseContext(SynapseMessageContext env);
}
Index: modules/core/src/org/apache/synapse/SynapseMessageContext.java
===================================================================
--- modules/core/src/org/apache/synapse/SynapseMessageContext.java
(revision 405304)
+++ modules/core/src/org/apache/synapse/SynapseMessageContext.java
(working copy)
@@ -27,7 +27,7 @@
* SynapseConfiguration. Additionally it holds per message properties (i.e.
local
* properties valid for the lifetime of the message)
*/
-public interface SynapseContext {
+public interface SynapseMessageContext {
/**
* Get a reference to the current SynapseConfiguration
Index: modules/core/src/org/apache/synapse/Util.java
===================================================================
--- modules/core/src/org/apache/synapse/Util.java (revision 405304)
+++ modules/core/src/org/apache/synapse/Util.java (working copy)
@@ -20,7 +20,10 @@
import org.apache.axiom.om.impl.llom.OMTextImpl;
import org.apache.commons.logging.LogFactory;
import org.apache.commons.logging.Log;
+import org.apache.synapse.mediators.GetPropertyFunction;
import org.jaxen.JaxenException;
+import org.jaxen.SimpleFunctionContext;
+import org.jaxen.XPathFunctionContext;
import java.util.Iterator;
import java.util.List;
@@ -39,8 +42,29 @@
* @param synCtx the source message which holds the SOAP envelope
* @return a String representation of the result of evaluation
*/
- public static String getStringValue(AXIOMXPath xpath, SynapseContext
synCtx) {
+ public static String getStringValue(AXIOMXPath xpath,
SynapseMessageContext synCtx) {
+ if (xpath != null) {
+ try {
+ // create an instance of a synapse:get-property() function and
set it to the xpath
+ GetPropertyFunction getPropertyFunc = new
GetPropertyFunction();
+ getPropertyFunc.setSynCtx(synCtx);
+
+ // set function context into XPath
+ SimpleFunctionContext fc = new XPathFunctionContext();
+ fc.registerFunction(Constants.SYNAPSE_NAMESPACE,
"get-property", getPropertyFunc);
+ xpath.setFunctionContext(fc);
+
+ // register namespace for XPath extension function
+ xpath.addNamespace("synapse", Constants.SYNAPSE_NAMESPACE);
+
+ } catch (JaxenException je) {
+ String msg = "Error setting up the Synapse XPath extension
function for XPath : " + xpath;
+ log.error(msg, je);
+ throw new SynapseException(msg, je);
+ }
+ }
+
try {
Object result =
xpath.evaluate(synCtx.getSynapseMessage().getEnvelope());
StringBuffer textValue = new StringBuffer();
@@ -62,8 +86,8 @@
} catch (JaxenException je) {
String msg = "Evaluation of the XPath expression " +
xpath.toString() + " resulted in an error";
- log.error(msg);
- throw new SynapseException(msg);
+ log.error(msg, je);
+ throw new SynapseException(msg, je);
}
}
Index:
modules/core/test/org/apache/synapse/mediators/builtin/PropertyMediatorTest.java
===================================================================
---
modules/core/test/org/apache/synapse/mediators/builtin/PropertyMediatorTest.java
(revision 0)
+++
modules/core/test/org/apache/synapse/mediators/builtin/PropertyMediatorTest.java
(revision 0)
@@ -0,0 +1,87 @@
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package org.apache.synapse.mediators.builtin;
+
+import junit.framework.TestCase;
+import org.apache.synapse.SynapseMessageContext;
+import org.apache.synapse.Util;
+import org.apache.synapse.config.SynapseConfiguration;
+import org.apache.synapse.mediators.TestUtils;
+import org.apache.synapse.mediators.MediatorProperty;
+import org.apache.axiom.om.xpath.AXIOMXPath;
+
+public class PropertyMediatorTest extends TestCase {
+
+ public void testSetAndReadContextProperty() throws Exception {
+
+ PropertyMediator propMediator = new PropertyMediator();
+ propMediator.setName("name");
+ propMediator.setValue("value");
+
+ SynapseMessageContext synCtx = TestUtils.getTestContext("<empty/>");
+ propMediator.mediate(synCtx);
+
+ assertTrue(
+ "value".equals(Util.getStringValue(
+ new AXIOMXPath("synapse:get-property('name')"), synCtx)));
+ }
+
+ /**
+ * property being searched does not exist in context, and lookup should go
up into the config
+ * @throws Exception
+ */
+ public void testSetAndReadGlobalProperty() throws Exception {
+
+ SynapseMessageContext synCtx = TestUtils.getTestContext("<empty/>");
+
+ SynapseConfiguration synCfg = new SynapseConfiguration();
+ synCfg.addProperty("name", "value");
+ synCtx.setConfiguration(synCfg);
+
+ assertTrue(
+ "value".equals(Util.getStringValue(
+ new AXIOMXPath("synapse:get-property('name')"), synCtx)));
+ }
+
+ public void testMediatorPropertiesLiteral() throws Exception {
+
+ MediatorProperty medProp = new MediatorProperty();
+ medProp.setName("name");
+ medProp.setValue("value");
+ assertTrue("value".equals(medProp.getValue()));
+ }
+
+ public void testMediatorPropertiesExpression() throws Exception {
+
+ // set a local property to the synapse context
+ PropertyMediator propMediator = new PropertyMediator();
+ propMediator.setName("name");
+ propMediator.setValue("value");
+
+ SynapseMessageContext synCtx = TestUtils.getTestContext("<empty/>");
+ propMediator.mediate(synCtx);
+
+ // read property through a mediator property
+ MediatorProperty medProp = new MediatorProperty();
+ medProp.setExpression(new AXIOMXPath("synapse:get-property('name')"));
+
+ assertTrue(
+ "value".equals(medProp.getEvaluatedExpression(synCtx)));
+ }
+
+}
+
+
Index:
modules/core/test/org/apache/synapse/mediators/builtin/ValidateMediatorTest.java
===================================================================
---
modules/core/test/org/apache/synapse/mediators/builtin/ValidateMediatorTest.java
(revision 405304)
+++
modules/core/test/org/apache/synapse/mediators/builtin/ValidateMediatorTest.java
(working copy)
@@ -16,22 +16,12 @@
package org.apache.synapse.mediators.builtin;
import junit.framework.TestCase;
-import org.apache.axiom.om.*;
-import org.apache.axiom.om.impl.builder.StAXOMBuilder;
import org.apache.axiom.om.xpath.AXIOMXPath;
-import org.apache.axiom.soap.SOAPEnvelope;
-import org.apache.synapse.SynapseContext;
-import org.apache.synapse.TestSynapseMessage;
-import org.apache.synapse.TestSynapseMessageContext;
+import org.apache.synapse.SynapseMessageContext;
import org.apache.synapse.mediators.TestMediateHandler;
import org.apache.synapse.mediators.TestMediator;
import org.apache.synapse.mediators.TestUtils;
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLStreamReader;
-import java.io.StringReader;
-import java.io.File;
-
public class ValidateMediatorTest extends TestCase {
private static final String VALID_ENVELOPE =
@@ -61,7 +51,7 @@
testMediator = new TestMediator();
testMediator.setHandler(
new TestMediateHandler() {
- public void handle(SynapseContext synCtx) {
+ public void handle(SynapseMessageContext synCtx) {
setOnFailInvoked(true);
}
});
Index:
modules/core/test/org/apache/synapse/mediators/ext/ClassMediatorTestMediator.java
===================================================================
---
modules/core/test/org/apache/synapse/mediators/ext/ClassMediatorTestMediator.java
(revision 405304)
+++
modules/core/test/org/apache/synapse/mediators/ext/ClassMediatorTestMediator.java
(working copy)
@@ -16,7 +16,7 @@
package org.apache.synapse.mediators.ext;
import org.apache.synapse.api.Mediator;
-import org.apache.synapse.SynapseContext;
+import org.apache.synapse.SynapseMessageContext;
/**
* Since the class mediator always "instantiates" a new instance of a class
@@ -29,7 +29,7 @@
public static String testProp = null;
- public boolean mediate(SynapseContext synCtx) {
+ public boolean mediate(SynapseMessageContext synCtx) {
invoked = true;
return false;
}
Index:
modules/core/test/org/apache/synapse/mediators/filters/FilterMediatorTest.java
===================================================================
---
modules/core/test/org/apache/synapse/mediators/filters/FilterMediatorTest.java
(revision 405304)
+++
modules/core/test/org/apache/synapse/mediators/filters/FilterMediatorTest.java
(working copy)
@@ -19,7 +19,7 @@
import org.apache.synapse.mediators.TestMediateHandler;
import org.apache.synapse.mediators.TestMediator;
import org.apache.synapse.mediators.TestUtils;
-import org.apache.synapse.SynapseContext;
+import org.apache.synapse.SynapseMessageContext;
import org.apache.axiom.om.xpath.AXIOMXPath;
import java.util.regex.Pattern;
@@ -38,7 +38,7 @@
testMediator = new TestMediator();
testMediator.setHandler(
new TestMediateHandler() {
- public void handle(SynapseContext synCtx) {
+ public void handle(SynapseMessageContext synCtx) {
setFilterConditionPassed(true);
}
});
Index:
modules/core/test/org/apache/synapse/mediators/filters/SwitchMediatorTest.java
===================================================================
---
modules/core/test/org/apache/synapse/mediators/filters/SwitchMediatorTest.java
(revision 405304)
+++
modules/core/test/org/apache/synapse/mediators/filters/SwitchMediatorTest.java
(working copy)
@@ -19,12 +19,11 @@
import org.apache.synapse.mediators.TestMediateHandler;
import org.apache.synapse.mediators.TestMediator;
import org.apache.synapse.mediators.TestUtils;
-import org.apache.synapse.SynapseContext;
+import org.apache.synapse.SynapseMessageContext;
import org.apache.synapse.api.Mediator;
import org.apache.axiom.om.xpath.AXIOMXPath;
import java.util.regex.Pattern;
-import java.util.ArrayList;
import java.util.Arrays;
public class SwitchMediatorTest extends TestCase {
@@ -53,7 +52,7 @@
ibmMediator = new TestMediator();
ibmMediator.setHandler(
new TestMediateHandler() {
- public void handle(SynapseContext synCtx) {
+ public void handle(SynapseMessageContext synCtx) {
setExecutedCase("IBM");
}
});
@@ -61,7 +60,7 @@
msftMediator = new TestMediator();
msftMediator.setHandler(
new TestMediateHandler() {
- public void handle(SynapseContext synCtx) {
+ public void handle(SynapseMessageContext synCtx) {
setExecutedCase("MSFT");
}
});
@@ -69,7 +68,7 @@
defaultMediator = new TestMediator();
defaultMediator.setHandler(
new TestMediateHandler() {
- public void handle(SynapseContext synCtx) {
+ public void handle(SynapseMessageContext synCtx) {
setExecutedCase("DEFAULT");
}
});
Index: modules/core/test/org/apache/synapse/mediators/TestMediateHandler.java
===================================================================
--- modules/core/test/org/apache/synapse/mediators/TestMediateHandler.java
(revision 405304)
+++ modules/core/test/org/apache/synapse/mediators/TestMediateHandler.java
(working copy)
@@ -15,9 +15,9 @@
*/
package org.apache.synapse.mediators;
-import org.apache.synapse.SynapseContext;
+import org.apache.synapse.SynapseMessageContext;
public interface TestMediateHandler {
- public void handle(SynapseContext synCtx);
+ public void handle(SynapseMessageContext synCtx);
}
Index: modules/core/test/org/apache/synapse/mediators/TestMediator.java
===================================================================
--- modules/core/test/org/apache/synapse/mediators/TestMediator.java
(revision 405304)
+++ modules/core/test/org/apache/synapse/mediators/TestMediator.java
(working copy)
@@ -16,7 +16,7 @@
package org.apache.synapse.mediators;
import org.apache.synapse.api.Mediator;
-import org.apache.synapse.SynapseContext;
+import org.apache.synapse.SynapseMessageContext;
/**
* Test mediator class.
@@ -28,7 +28,7 @@
public TestMediator() {
}
- public boolean mediate(SynapseContext synCtx) {
+ public boolean mediate(SynapseMessageContext synCtx) {
if (handlerTest != null) {
handlerTest.handle(synCtx);
}
Index:
modules/core/test/org/apache/synapse/mediators/transform/TransformMediatorTest.java
===================================================================
---
modules/core/test/org/apache/synapse/mediators/transform/TransformMediatorTest.java
(revision 405304)
+++
modules/core/test/org/apache/synapse/mediators/transform/TransformMediatorTest.java
(working copy)
@@ -20,7 +20,7 @@
import org.apache.axiom.om.OMContainer;
import org.apache.axiom.om.OMElement;
import org.apache.synapse.mediators.TestUtils;
-import org.apache.synapse.SynapseContext;
+import org.apache.synapse.SynapseMessageContext;
import java.net.URL;
import java.io.File;
@@ -56,7 +56,7 @@
new URL("file:///" + new File(".").getAbsolutePath() +
"/test-resources/misc/transform.xslt"));
// invoke transformation, with static enveope
- SynapseContext synCtx = TestUtils.getTestContext(SOURCE);
+ SynapseMessageContext synCtx = TestUtils.getTestContext(SOURCE);
transformMediator.mediate(synCtx);
// validate result
@@ -91,7 +91,7 @@
new URL("file:///" + new File(".").getAbsolutePath() +
"/test-resources/misc/transform.xslt"));
// invoke transformation, with static enveope
- SynapseContext synCtx = TestUtils.getTestContext(SOURCE);
+ SynapseMessageContext synCtx = TestUtils.getTestContext(SOURCE);
transformMediator.mediate(synCtx);
// validate result
@@ -127,7 +127,7 @@
new URL("file:///" + new File(".").getAbsolutePath() +
"/test-resources/misc/transform.xslt"));
// invoke transformation, with static enveope
- SynapseContext synCtx = TestUtils.getTestContext(ENCLOSING_SOURCE);
+ SynapseMessageContext synCtx =
TestUtils.getTestContext(ENCLOSING_SOURCE);
transformMediator.mediate(synCtx);
// validate result
Index: modules/core/test/org/apache/synapse/TestSynapseMessage.java
===================================================================
--- modules/core/test/org/apache/synapse/TestSynapseMessage.java
(revision 405304)
+++ modules/core/test/org/apache/synapse/TestSynapseMessage.java
(working copy)
@@ -16,7 +16,6 @@
package org.apache.synapse;
import org.apache.axiom.soap.SOAPEnvelope;
-import org.apache.axiom.soap.SOAPFactory;
import org.apache.axiom.soap.SOAP11Constants;
import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axis2.AxisFault;
@@ -133,10 +132,10 @@
return false;
}
- public SynapseContext getSynapseContext() {
+ public SynapseMessageContext getSynapseContext() {
return null;
}
- public void setSynapseContext(SynapseContext env) {
+ public void setSynapseContext(SynapseMessageContext env) {
}
}
Index: modules/core/test/org/apache/synapse/TestSynapseMessageContext.java
===================================================================
--- modules/core/test/org/apache/synapse/TestSynapseMessageContext.java
(revision 405304)
+++ modules/core/test/org/apache/synapse/TestSynapseMessageContext.java
(working copy)
@@ -18,15 +18,23 @@
import org.apache.synapse.config.SynapseConfiguration;
import org.apache.synapse.core.SynapseEnvironment;
-public class TestSynapseMessageContext implements SynapseContext {
+import java.util.Map;
+import java.util.HashMap;
+public class TestSynapseMessageContext implements SynapseMessageContext {
+
+ private Map properties = new HashMap();
+
private SynapseMessage synMsg = null;
+ private SynapseConfiguration synCfg = null;
+
public SynapseConfiguration getConfiguration() {
- return null;
+ return synCfg;
}
public void setConfiguration(SynapseConfiguration cfg) {
+ this.synCfg = cfg;
}
public SynapseEnvironment getSynapseEnvironment() {
@@ -48,9 +56,16 @@
}
public Object getProperty(String key) {
- return null;
+ Object ret = properties.get(key);
+ if (ret != null) {
+ return ret;
+ } else if (getConfiguration() != null) {
+ return getConfiguration().getProperty(key);
+ } else {
+ return null;
+ }
}
public void setProperty(String key, Object value) {
- }
-}
+ properties.put(key, value);
+ }}
Index: modules/samples/src/sampleMediators/InjectRedirect.java
===================================================================
--- modules/samples/src/sampleMediators/InjectRedirect.java (revision
405304)
+++ modules/samples/src/sampleMediators/InjectRedirect.java (working copy)
@@ -16,7 +16,7 @@
package sampleMediators;
import org.apache.axis2.addressing.EndpointReference;
-import org.apache.synapse.SynapseContext;
+import org.apache.synapse.SynapseMessageContext;
import org.apache.synapse.mediators.AbstractMediator;
public class InjectRedirect extends AbstractMediator {
@@ -26,7 +26,7 @@
this.uri = uri;
}
- public boolean mediate(SynapseContext mc) {
+ public boolean mediate(SynapseMessageContext mc) {
System.out.println("Redirect.mediate: " + uri);
Index: modules/samples/src/sampleMediators/Logger.java
===================================================================
--- modules/samples/src/sampleMediators/Logger.java (revision 405304)
+++ modules/samples/src/sampleMediators/Logger.java (working copy)
@@ -15,7 +15,7 @@
*/
package sampleMediators;
-import org.apache.synapse.SynapseContext;
+import org.apache.synapse.SynapseMessageContext;
import org.apache.synapse.SynapseMessage;
import org.apache.synapse.mediators.AbstractMediator;
import org.apache.axiom.soap.SOAPEnvelope;
@@ -33,7 +33,7 @@
*
* @see
org.apache.synapse.mediator.Mediator#mediate(org.apache.axis2.context.MessageContext)
*/
- public boolean mediate(SynapseContext mctx) {
+ public boolean mediate(SynapseMessageContext mctx) {
SynapseMessage mc = mctx.getSynapseMessage();
System.out.println("Logger.mediate:");
if (mc.getTo() != null && mc.getTo().getAddress() != null)
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]