You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by su...@apache.org on 2011/02/09 09:31:15 UTC

svn commit: r1068789 - in /synapse/trunk/java/modules/core/src/main/java/org/apache/synapse: ./ config/xml/ mediators/ mediators/base/ mediators/builtin/ mediators/transform/

Author: supun
Date: Wed Feb  9 08:31:14 2011
New Revision: 1068789

URL: http://svn.apache.org/viewvc?rev=1068789&view=rev
Log:
making the Value generic for using with all the places where static and dynamic values are required

Modified:
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/SynapseConstants.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/SendMediatorFactory.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/SendMediatorSerializer.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/SequenceMediatorFactory.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/SequenceMediatorSerializer.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ValidateMediatorFactory.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ValidateMediatorSerializer.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ValueFactory.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ValueSerializer.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/XMLConfigConstants.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/XSLTMediatorFactory.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/XSLTMediatorSerializer.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/Value.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/base/SequenceMediator.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/SendMediator.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/ValidateMediator.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/transform/XSLTMediator.java

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/SynapseConstants.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/SynapseConstants.java?rev=1068789&r1=1068788&r2=1068789&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/SynapseConstants.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/SynapseConstants.java Wed Feb  9 08:31:14 2011
@@ -103,6 +103,7 @@ public final class SynapseConstants {
 	public static final String SANDESHA_POLICY = "sandeshaPolicy";
     /** ServerManager MBean category and id */
     public static final String SERVER_MANAGER_MBEAN = "ServerManager";
+    public static final String RECEIVING_SEQUENCE = "RECEIVING_SEQUENCE";
 
     /** Parameter names in the axis2.xml that can be used to configure the synapse */
     public static final class Axis2Param {

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/SendMediatorFactory.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/SendMediatorFactory.java?rev=1068789&r1=1068788&r2=1068789&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/SendMediatorFactory.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/SendMediatorFactory.java Wed Feb  9 08:31:14 2011
@@ -19,10 +19,12 @@
 
 package org.apache.synapse.config.xml;
 
+import org.apache.axiom.om.OMAttribute;
 import org.apache.axiom.om.OMElement;
 import org.apache.synapse.Mediator;
 import org.apache.synapse.config.xml.endpoints.EndpointFactory;
 import org.apache.synapse.endpoints.Endpoint;
+import org.apache.synapse.mediators.Value;
 import org.apache.synapse.mediators.builtin.SendMediator;
 
 import javax.xml.namespace.QName;
@@ -76,6 +78,7 @@ public class SendMediatorFactory extends
 
     private static final QName SEND_Q = new QName(XMLConfigConstants.SYNAPSE_NAMESPACE, "send");
     private static final QName ENDPOINT_Q = new QName(XMLConfigConstants.SYNAPSE_NAMESPACE, "endpoint");
+    private static final QName RECEIVING_SEQUENCE = new QName(XMLConfigConstants.RECEIVE);
 
     public Mediator createSpecificMediator(OMElement elem, Properties properties) {
 
@@ -94,6 +97,14 @@ public class SendMediatorFactory extends
             }
         }
 
+        String receivingSequence = elem.getAttributeValue(RECEIVING_SEQUENCE);
+        if (receivingSequence != null) {
+            ValueFactory valueFactory = new ValueFactory();
+            Value value = valueFactory.createValue(XMLConfigConstants.RECEIVE, elem);
+
+            sm.setReceivingSequence(value);
+        }
+
         return sm;
     }
 

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/SendMediatorSerializer.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/SendMediatorSerializer.java?rev=1068789&r1=1068788&r2=1068789&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/SendMediatorSerializer.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/SendMediatorSerializer.java Wed Feb  9 08:31:14 2011
@@ -22,6 +22,7 @@ package org.apache.synapse.config.xml;
 import org.apache.axiom.om.OMElement;
 import org.apache.synapse.Mediator;
 import org.apache.synapse.config.xml.endpoints.EndpointSerializer;
+import org.apache.synapse.mediators.Value;
 import org.apache.synapse.mediators.builtin.SendMediator;
 import org.apache.synapse.endpoints.Endpoint;
 
@@ -47,6 +48,12 @@ public class SendMediatorSerializer exte
             send.addChild(EndpointSerializer.getElementFromEndpoint(activeEndpoint));
         }
 
+        Value receive = mediator.getReceivingSequence();
+        if (receive != null) {
+            ValueSerializer serializer = new ValueSerializer();
+            serializer.serializeValue(receive, XMLConfigConstants.RECEIVE, send);
+        }
+
         return send;
     }
 

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/SequenceMediatorFactory.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/SequenceMediatorFactory.java?rev=1068789&r1=1068788&r2=1068789&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/SequenceMediatorFactory.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/SequenceMediatorFactory.java Wed Feb  9 08:31:14 2011
@@ -90,7 +90,7 @@ public class SequenceMediatorFactory ext
                 // ValueFactory for creating dynamic or static Value
                 ValueFactory keyFac = new ValueFactory();
                 // create dynamic or static key based on OMElement
-                Value generatedKey = keyFac.createValue(elem);
+                Value generatedKey = keyFac.createValue(XMLConfigConstants.KEY, elem);
                 // setKey
                 seqMediator.setKey(generatedKey);
                 if (e != null) {

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/SequenceMediatorSerializer.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/SequenceMediatorSerializer.java?rev=1068789&r1=1068788&r2=1068789&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/SequenceMediatorSerializer.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/SequenceMediatorSerializer.java Wed Feb  9 08:31:14 2011
@@ -72,7 +72,7 @@ public class SequenceMediatorSerializer 
             if (mediator.getKey() != null) {
                 // Serialize Value using ValueSerializer
                 ValueSerializer keySerializer = new ValueSerializer();
-                keySerializer.serializeValue(mediator.getKey(), sequence);
+                keySerializer.serializeValue(mediator.getKey(), XMLConfigConstants.KEY, sequence);
                 
             } else if (mediator.getName() != null) {
                 sequence.addAttribute(fac.createOMAttribute(

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ValidateMediatorFactory.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ValidateMediatorFactory.java?rev=1068789&r1=1068788&r2=1068789&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ValidateMediatorFactory.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ValidateMediatorFactory.java Wed Feb  9 08:31:14 2011
@@ -68,7 +68,7 @@ public class ValidateMediatorFactory ext
                     // ValueFactory for creating dynamic or static Value
                     ValueFactory keyFac = new ValueFactory();
                     // create dynamic or static key based on OMElement
-                    Value generatedKey = keyFac.createValue(omElem);
+                    Value generatedKey = keyFac.createValue(XMLConfigConstants.KEY, omElem);
                     schemaKeys.add(generatedKey);
                 } else {
                     handleException("A 'schema' definition must contain a local property 'key'");

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ValidateMediatorSerializer.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ValidateMediatorSerializer.java?rev=1068789&r1=1068788&r2=1068789&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ValidateMediatorSerializer.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ValidateMediatorSerializer.java Wed Feb  9 08:31:14 2011
@@ -52,7 +52,7 @@ public class ValidateMediatorSerializer 
             OMElement schema = fac.createOMElement("schema", synNS, validate);
             // Serialize Value using ValueSerializer
             ValueSerializer keySerializer =  new ValueSerializer();
-            keySerializer.serializeValue(key, schema);
+            keySerializer.serializeValue(key, XMLConfigConstants.KEY, schema);
         }
 
         ResourceMapSerializer.serializeResourceMap(validate, mediator.getResourceMap());

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ValueFactory.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ValueFactory.java?rev=1068789&r1=1068788&r2=1068789&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ValueFactory.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ValueFactory.java Wed Feb  9 08:31:14 2011
@@ -45,11 +45,11 @@ public class ValueFactory {
      * @param elem OMElement
      * @return Key
      */
-    public Value createValue(OMElement elem) {
+    public Value createValue(String name, OMElement elem) {
 
         Value key = null;
 
-        OMAttribute attKey = elem.getAttribute(ATT_KEY);
+        OMAttribute attKey = elem.getAttribute(new QName(name));
 
         if (attKey != null) {
             String attributeValue = attKey.getAttributeValue();

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ValueSerializer.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ValueSerializer.java?rev=1068789&r1=1068788&r2=1068789&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ValueSerializer.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ValueSerializer.java Wed Feb  9 08:31:14 2011
@@ -40,15 +40,15 @@ public class ValueSerializer {
      * @param elem OMElement
      * @return OMElement
      */
-    public OMElement serializeValue(Value key, OMElement elem) {
+    public OMElement serializeValue(Value key, String name, OMElement elem) {
         if (key != null) {
             if (key.getExpression() == null) {
                 //static key
-                elem.addAttribute(fac.createOMAttribute("key", nullNS, key.getKeyValue()));
+                elem.addAttribute(fac.createOMAttribute(name, nullNS, key.getKeyValue()));
             } else {
                 //dynamic key
                 SynapseXPathSerializer.serializeXPath(key.getExpression(), "{" +
-                        key.getExpression().toString() + "}", elem, "key");
+                        key.getExpression().toString() + "}", elem, name);
             }
         }
         return elem;

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/XMLConfigConstants.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/XMLConfigConstants.java?rev=1068789&r1=1068788&r2=1068789&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/XMLConfigConstants.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/XMLConfigConstants.java Wed Feb  9 08:31:14 2011
@@ -45,6 +45,8 @@ public class XMLConfigConstants {
     public static final String SCOPE_TRANSPORT = "transport";
     /** The scope name for registry properties */
     public static final String SCOPE_REGISTRY = "registry";
+    public static final String KEY = "key";
+    public static final String RECEIVE = "receive";
 
     /** The set of supported data types */
     public static enum DATA_TYPES {

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/XSLTMediatorFactory.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/XSLTMediatorFactory.java?rev=1068789&r1=1068788&r2=1068789&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/XSLTMediatorFactory.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/XSLTMediatorFactory.java Wed Feb  9 08:31:14 2011
@@ -66,12 +66,13 @@ public class XSLTMediatorFactory extends
             // ValueFactory for creating dynamic or static Value
             ValueFactory keyFac = new ValueFactory();
             // create dynamic or static key based on OMElement
-            Value generatedKey = keyFac.createValue(elem);
+            Value generatedKey = keyFac.createValue(XMLConfigConstants.KEY, elem);
 
             // set generated key as the Value
             transformMediator.setXsltKey(generatedKey);
         } else {
-            handleException("The 'key' attribute is required for the XSLT mediator");
+            handleException("The '" + XMLConfigConstants.KEY + "' " +
+                    "attribute is required for the XSLT mediator");
         }
 
         if (attSource != null) {

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/XSLTMediatorSerializer.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/XSLTMediatorSerializer.java?rev=1068789&r1=1068788&r2=1068789&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/XSLTMediatorSerializer.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/XSLTMediatorSerializer.java Wed Feb  9 08:31:14 2011
@@ -49,7 +49,7 @@ public class XSLTMediatorSerializer exte
         if (mediator.getXsltKey() != null) {
             // Serialize Value using ValueSerializer
             ValueSerializer keySerializer =  new ValueSerializer();
-            keySerializer.serializeValue(mediator.getXsltKey(), xslt);
+            keySerializer.serializeValue(mediator.getXsltKey(), XMLConfigConstants.KEY, xslt);
         } else {
             handleException("Invalid XSLT mediator. XSLT registry key is required");
         }

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/Value.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/Value.java?rev=1068789&r1=1068788&r2=1068789&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/Value.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/Value.java Wed Feb  9 08:31:14 2011
@@ -91,7 +91,7 @@ public class Value {
      * @param synCtx message context
      * @return string value of evaluated key
      */
-    public String evaluateKey(MessageContext synCtx) {
+    public String evaluateValue(MessageContext synCtx) {
         if (keyValue != null) {
             //if static kry: return static key
             return keyValue;

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/base/SequenceMediator.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/base/SequenceMediator.java?rev=1068789&r1=1068788&r2=1068789&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/base/SequenceMediator.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/base/SequenceMediator.java Wed Feb  9 08:31:14 2011
@@ -156,7 +156,7 @@ public class SequenceMediator extends Ab
             }
 
         } else {
-            String sequenceKey = key.evaluateKey(synCtx);
+            String sequenceKey = key.evaluateValue(synCtx);
             //Mediator m = synCtx.getSequence(key);
             Mediator m = synCtx.getSequence(sequenceKey);
             if (m == null) {

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/SendMediator.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/SendMediator.java?rev=1068789&r1=1068788&r2=1068789&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/SendMediator.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/SendMediator.java Wed Feb  9 08:31:14 2011
@@ -20,11 +20,13 @@
 package org.apache.synapse.mediators.builtin;
 
 import org.apache.synapse.MessageContext;
+import org.apache.synapse.SynapseConstants;
 import org.apache.synapse.SynapseLog;
 import org.apache.synapse.ManagedLifecycle;
 import org.apache.synapse.core.SynapseEnvironment;
 import org.apache.synapse.endpoints.Endpoint;
 import org.apache.synapse.mediators.AbstractMediator;
+import org.apache.synapse.mediators.Value;
 
 /**
  * SendMediator sends a message using specified semantics. If it contains an endpoint it will
@@ -36,6 +38,8 @@ public class SendMediator extends Abstra
 
     private Endpoint endpoint = null;
 
+    private Value receivingSequence = null;
+
     /**
      * This will call the send method on the messages with implicit message parameters
      * or else if there is an endpoint, with that endpoint parameters
@@ -52,6 +56,14 @@ public class SendMediator extends Abstra
             synLog.traceTrace("Message : " + synCtx.getEnvelope());
         }
 
+        if (receivingSequence != null) {
+            if (synLog.isTraceOrDebugEnabled()) {
+                synLog.traceOrDebug("Receiving sequence is set to: " + receivingSequence);
+            }
+            synCtx.setProperty(SynapseConstants.RECEIVING_SEQUENCE,
+                    receivingSequence.evaluateValue(synCtx));
+        }
+
         // if no endpoints are defined, send where implicitly stated
         if (endpoint == null) {
 
@@ -88,6 +100,14 @@ public class SendMediator extends Abstra
         this.endpoint = endpoint;
     }
 
+    public Value getReceivingSequence() {
+        return receivingSequence;
+    }
+
+    public void setReceivingSequence(Value receivingSequence) {
+        this.receivingSequence = receivingSequence;
+    }
+
     public void init(SynapseEnvironment synapseEnvironment) {
         if (endpoint != null) {
             endpoint.init(synapseEnvironment);

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/ValidateMediator.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/ValidateMediator.java?rev=1068789&r1=1068788&r2=1068789&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/ValidateMediator.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/ValidateMediator.java Wed Feb  9 08:31:14 2011
@@ -116,7 +116,7 @@ public class ValidateMediator extends Ab
         // if any of the schemas are not loaded, or have expired, load or re-load them
         for (Value schemaKey : schemaKeys) {
             // Derive actual key from message context
-            String propKey = schemaKey.evaluateKey(synCtx);
+            String propKey = schemaKey.evaluateValue(synCtx);
             Entry dp = synCtx.getConfiguration().getEntryDefinition(propKey);
             if (dp != null && dp.isDynamic()) {
                 if (!dp.isCached() || dp.isExpired()) {
@@ -137,7 +137,7 @@ public class ValidateMediator extends Ab
                 int i = 0;
                 for (Value schemaKey : schemaKeys) {
                     // Derive actual key from message context
-                    String propName = schemaKey.evaluateKey(synCtx);
+                    String propName = schemaKey.evaluateValue(synCtx);
                     sources[i++] = SynapseConfigUtils.getStreamSource(synCtx.getEntry(propName));
                 }
 

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/transform/XSLTMediator.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/transform/XSLTMediator.java?rev=1068789&r1=1068788&r2=1068789&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/transform/XSLTMediator.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/transform/XSLTMediator.java Wed Feb  9 08:31:14 2011
@@ -213,7 +213,7 @@ public class XSLTMediator extends Abstra
         boolean isSoapBody = (sourceNode == synCtx.getEnvelope().getBody());
 
         // Derive actual key from message context
-        String generatedXsltKey = xsltKey.evaluateKey(synCtx);
+        String generatedXsltKey = xsltKey.evaluateValue(synCtx);
 
         // get templates from generatedXsltKey
         Templates cachedTemplates = null;
@@ -385,7 +385,7 @@ public class XSLTMediator extends Abstra
     private boolean isCreationOrRecreationRequired(MessageContext synCtx) {
 
         // Derive actual key from message context
-        String generatedXsltKey = xsltKey.evaluateKey(synCtx);
+        String generatedXsltKey = xsltKey.evaluateValue(synCtx);
 
         // if there are no cachedTemplates inside cachedTemplatesMap or
         // if the template related to this generated key is not cached