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
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]