diff options
| author | slewis | 2005-06-14 07:03:58 +0000 |
|---|---|---|
| committer | slewis | 2005-06-14 07:03:58 +0000 |
| commit | e286070f93364ca3867e4f9db8c1c0a8ec599dd1 (patch) | |
| tree | df44d181e1ae638ca4e82c040d360930665c7870 | |
| parent | b9de1efef0f8b938e5bccbcfb06ade615dfd517f (diff) | |
| download | org.eclipse.ecf-e286070f93364ca3867e4f9db8c1c0a8ec599dd1.tar.gz org.eclipse.ecf-e286070f93364ca3867e4f9db8c1c0a8ec599dd1.tar.xz org.eclipse.ecf-e286070f93364ca3867e4f9db8c1c0a8ec599dd1.zip | |
Fixed bug in deserialization of shared object messages where shared object does not yet exist. Deserialization of message only occurs if shared object actually present to receive it
| -rw-r--r-- | framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/generic/SOContainer.java | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/generic/SOContainer.java b/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/generic/SOContainer.java index 33522e5cb..1b949da8a 100644 --- a/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/generic/SOContainer.java +++ b/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/generic/SOContainer.java @@ -740,25 +740,20 @@ public abstract class SOContainer implements ISharedObjectContainer { debug("handleSharedObjectMessage:" + mess); ID fromID = mess.getFromContainerID(); ID toID = mess.getToContainerID(); - long seq = mess.getSequence(); ContainerMessage.SharedObjectMessage resp = (ContainerMessage.SharedObjectMessage) mess .getData(); - // Get bytes from SharedObjectMessage instance - byte [] databytes = (byte []) resp.getData(); - Serializable obj = null; - try { - obj = (Serializable) deserializeSharedObjectMessage(databytes); - } catch (ClassNotFoundException e) { - dumpStack("Classnotfoundexception in handleSharedObjectMessage",e); - e.printStackTrace(System.err); - } synchronized (getGroupMembershipLock()) { if (toID == null || toID.equals(getID())) { SOWrapper sow = getSharedObjectWrapper(resp .getFromSharedObjectID()); if (sow != null) { - sow.deliverSharedObjectMessage(fromID, obj); + try { + sow.deliverSharedObjectMessage(fromID, (Serializable) deserializeSharedObjectMessage((byte []) resp.getData())); + } catch (ClassNotFoundException e) { + dumpStack("Classnotfoundexception in handleSharedObjectMessage",e); + e.printStackTrace(System.err); + } } } forward(fromID, toID, mess); |
