[
https://issues.apache.org/jira/browse/SYNAPSE-295?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ruwan Linton updated SYNAPSE-295:
---------------------------------
Fix Version/s: 1.2
Assignee: Ruwan Linton
Need to fix this for the 1.2 release
> The clonePartially() method of org.apache.synapse.util.MessageHelper does not
> copy properties.
> ----------------------------------------------------------------------------------------------
>
> Key: SYNAPSE-295
> URL: https://issues.apache.org/jira/browse/SYNAPSE-295
> Project: Synapse
> Issue Type: Bug
> Components: Core
> Affects Versions: 1.1
> Environment: Windows XP
> Reporter: Rod Burgett
> Assignee: Ruwan Linton
> Fix For: 1.2
>
>
> The clonePartially() method of org.apache.synapse.util.MessageHelper does not
> copy properties to the new MessageContext. The for-loop that walks through
> 'ori.getProperties().keySet()' should be replaced with a while loop over the
> Iterator returned by 'ori.getPropertyNames()'.
> You might expect these two iterations to be identical, especially when you
> see that 'getPropertyNames()' returns 'properties.keySet().iterator()'. But
> it's not that simple. The Axis2 MessageContext class extends AbstractContext
> and overrides 'getProperties()' with an implementation that doesn't actually
> use the properties map. So, 'getProperties()' and 'getPropertyNames()' work
> from two different underlying maps.
> The assertion in this code fragment will fail:
> String key = "propKey";
> MessageContext origMc = new MessageContext();
> origMc.setProperty( key, "propValue" );
> MessageContext newMc = MessageHelper.clonePartially( origMc );
> Object result = newMc.getProperty( key );
> assert( result != null );
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]