You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by va...@apache.org on 2014/07/23 16:57:21 UTC

git commit: allow the replacement of non-serializable objects.

Repository: ode-jacob
Updated Branches:
  refs/heads/master 4dbf78cc1 -> 5eeed6214


allow the replacement of non-serializable objects.


Project: http://git-wip-us.apache.org/repos/asf/ode-jacob/repo
Commit: http://git-wip-us.apache.org/repos/asf/ode-jacob/commit/5eeed621
Tree: http://git-wip-us.apache.org/repos/asf/ode-jacob/tree/5eeed621
Diff: http://git-wip-us.apache.org/repos/asf/ode-jacob/diff/5eeed621

Branch: refs/heads/master
Commit: 5eeed6214c03ac7c8ac6d003233003ed2958fc07
Parents: 4dbf78c
Author: Tammo van Lessen <va...@apache.org>
Authored: Wed Jul 23 16:51:48 2014 +0200
Committer: Tammo van Lessen <va...@apache.org>
Committed: Wed Jul 23 16:56:20 2014 +0200

----------------------------------------------------------------------
 src/main/java/org/apache/ode/jacob/vpu/ExecutionQueueImpl.java | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ode-jacob/blob/5eeed621/src/main/java/org/apache/ode/jacob/vpu/ExecutionQueueImpl.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/ode/jacob/vpu/ExecutionQueueImpl.java b/src/main/java/org/apache/ode/jacob/vpu/ExecutionQueueImpl.java
index 42393f8..ce872fa 100644
--- a/src/main/java/org/apache/ode/jacob/vpu/ExecutionQueueImpl.java
+++ b/src/main/java/org/apache/ode/jacob/vpu/ExecutionQueueImpl.java
@@ -641,8 +641,9 @@ public class ExecutionQueueImpl implements ExecutionQueue {
          * @throws IOException
          */
         protected Object replaceObject(Object obj) throws IOException {
-            if (!Serializable.class.isAssignableFrom(obj.getClass())) {
-                throw new IllegalArgumentException("Cannot replace non Serializable instance of " + obj.getClass());
+            if (!Serializable.class.isAssignableFrom(obj.getClass()) &&
+                    !(_replacementMap != null && _replacementMap.isReplaceable(obj))) {
+                throw new IllegalArgumentException("Cannot replace non-serializable or non-replacable instance of " + obj.getClass());
             }
 
             if (obj instanceof org.apache.ode.jacob.oo.ChannelProxy) {