Author: isudana
Date: Sun Dec 25 17:12:21 2016
New Revision: 1776017

URL: http://svn.apache.org/viewvc?rev=1776017&view=rev
Log:
Avoid get-property() function in default scope look for entries from remote 
registry

Modified:
    
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/MessageContext.java
    
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfiguration.java
    
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2MessageContext.java
    
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/GetPropertyFunction.java
    
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/TestMessageContext.java
    
synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/ScriptMessageContext.java

Modified: 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/MessageContext.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/MessageContext.java?rev=1776017&r1=1776016&r2=1776017&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/MessageContext.java
 (original)
+++ 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/MessageContext.java
 Sun Dec 25 17:12:21 2016
@@ -156,6 +156,14 @@ public interface MessageContext {
     public Object getEntry(String key);
 
     /**
+     * Get the value of a property set on the message instance or from the 
local registry
+     *
+     * @param key key to look up property
+     * @return value for the given key
+     */
+    public Object getLocalEntry(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

Modified: 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfiguration.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfiguration.java?rev=1776017&r1=1776016&r2=1776017&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfiguration.java
 (original)
+++ 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfiguration.java
 Sun Dec 25 17:12:21 2016
@@ -676,6 +676,23 @@ public class SynapseConfiguration implem
     }
 
     /**
+     * Get the resource from local registry
+     *
+     * @param key the key of the resource required
+     * @return value for the key
+     */
+    public Object getLocalRegistryEntry(String key) {
+        Object o = localRegistry.get(key);
+        if (o != null && o instanceof Entry) {
+            Entry entry = (Entry) o;
+            if (!entry.isDynamic()) {  // Skip dynamic entries
+                return entry.getValue();
+            }
+        }
+        return null;
+    }
+
+    /**
      * Get the resource with the given key
      *
      * @param key

Modified: 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2MessageContext.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2MessageContext.java?rev=1776017&r1=1776016&r2=1776017&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2MessageContext.java
 (original)
+++ 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2MessageContext.java
 Sun Dec 25 17:12:21 2016
@@ -199,6 +199,20 @@ public class Axis2MessageContext impleme
         }
     }
 
+    public Object getLocalEntry(String key) {
+        Object o = localEntries.get(key);
+        if (o != null && o instanceof Entry) {
+            return ((Entry) o).getValue();
+        } else {
+            Object e = getConfiguration().getLocalRegistryEntry(key);
+            if (e != null) {
+                localEntries.put(key, e);
+                return e;
+            }
+        }
+        return null;
+    }
+
     /**
      * Get a read-only view of all the properties currently set on this
      * message context

Modified: 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/GetPropertyFunction.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/GetPropertyFunction.java?rev=1776017&r1=1776016&r2=1776017&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/GetPropertyFunction.java
 (original)
+++ 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/GetPropertyFunction.java
 Sun Dec 25 17:12:21 2016
@@ -267,7 +267,7 @@ public class GetPropertyFunction impleme
                 if (result != null) {
                     return result;
                 } else {
-                    return synCtx.getEntry(key);
+                    return synCtx.getLocalEntry(key);
                 }
             }
         } else if (XMLConfigConstants.SCOPE_AXIS2.equals(scope)

Modified: 
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/TestMessageContext.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/TestMessageContext.java?rev=1776017&r1=1776016&r2=1776017&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/TestMessageContext.java
 (original)
+++ 
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/TestMessageContext.java
 Sun Dec 25 17:12:21 2016
@@ -95,6 +95,17 @@ public class TestMessageContext implemen
         }
     }
 
+    public Object getLocalEntry(String key) {
+        Object ret = properties.get(key);
+        if (ret != null) {
+            return ret;
+        } else if (getConfiguration() != null) {
+            return getConfiguration().getLocalRegistryEntry(key);
+        } else {
+            return null;
+        }
+    }
+
     public void setProperty(String key, Object value) {
         properties.put(key, value);
     }

Modified: 
synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/ScriptMessageContext.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/ScriptMessageContext.java?rev=1776017&r1=1776016&r2=1776017&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/ScriptMessageContext.java
 (original)
+++ 
synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/ScriptMessageContext.java
 Sun Dec 25 17:12:21 2016
@@ -187,6 +187,10 @@ public class ScriptMessageContext implem
         return mc.getEntry(key);
     }
 
+    public Object getLocalEntry(String key) {
+        return mc.getLocalEntry(key);
+    }
+
     public void setProperty(String key, Object value) {
         if (value instanceof XMLObject) {
             OMElement omElement = null;


Reply via email to