Author: uswick
Date: Tue Jul 30 09:27:10 2013
New Revision: 1508356
URL: http://svn.apache.org/r1508356
Log:
fixing https://issues.apache.org/jira/browse/SYNAPSE-924
Modified:
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/template/TemplateContext.java
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=1508356&r1=1508355&r2=1508356&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
Tue Jul 30 09:27:10 2013
@@ -188,6 +188,31 @@ public class Value {
public boolean hasExprTypeKey() {
return keyValue != null && keyValue.startsWith("{") &&
keyValue.endsWith("}");
}
+
+ public boolean hasPropertyEvaluateExpr(){
+ return keyValue != null && keyValue.contains("get-property");
+ }
+
+ public Object evalutePropertyExpression(MessageContext synCtx) {
+ SynapseXPath expr = null;
+ try {
+ expr = new SynapseXPath(this.keyValue.substring(1,
keyValue.length() - 1));
+ for (OMNamespace aNamespaceList : namespaceList) {
+ expr.addNamespace(aNamespaceList);
+ }
+
+ String result = expr.stringValueOf(synCtx);
+ SynapseXPath expression = new SynapseXPath(result);
+ for (OMNamespace aNamespaceList : namespaceList) {
+ expression.addNamespace(aNamespaceList);
+ }
+ return expression;
+ } catch (Exception e) {
+ handleException("Can not evaluate escaped expression : " +
expr.toString());
+ }
+ return this.expression;
+
+ }
public void setNamespaces(OMElement elem){
Iterator namespaces = elem.getNamespacesInScope();
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/template/TemplateContext.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/template/TemplateContext.java?rev=1508356&r1=1508355&r2=1508356&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/template/TemplateContext.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/template/TemplateContext.java
Tue Jul 30 09:27:10 2013
@@ -91,6 +91,11 @@ public class TemplateContext {
if (expression != null) {
if (expression.getExpression() != null) {
if(expression.hasExprTypeKey()){
+ if(expression.hasPropertyEvaluateExpr()){
+ //TODO:evalute the string expression get the
value
+ //String evaluatedPath
="{//m0:getQuote/m0:request}";
+ return
expression.evalutePropertyExpression(synCtx);
+ }
return expression.getExpression();
} else {
return expression.evaluateValue(synCtx);