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]

Reply via email to