fixed an infinite loop when runing ActivityRecoveryTest

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

Branch: refs/heads/ODE-912
Commit: 4638e1e9bd2d760dccec77f604d5b96932316517
Parents: e25f35b
Author: fangzhen <[email protected]>
Authored: Wed Jul 23 16:06:37 2014 +0800
Committer: fangzhen <[email protected]>
Committed: Wed Jul 23 16:06:37 2014 +0800

----------------------------------------------------------------------
 Rakefile                                                       | 3 ++-
 bpel-nobj/src/main/java/org/apache/ode/bpel/obj/OActivity.java | 5 +++--
 2 files changed, 5 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ode/blob/4638e1e9/Rakefile
----------------------------------------------------------------------
diff --git a/Rakefile b/Rakefile
index 5b96e8f..f115323 100644
--- a/Rakefile
+++ b/Rakefile
@@ -443,7 +443,8 @@ define "ode" do
       SLF4J,
       LOG4J,
       DOM4J,
-      HIBERNATE
+      HIBERNATE,
+         JACKSON
       test.setup 
unzip(_("target/test/smx/ode")=>project("dao-jpa-ojpa-derby").package(:zip))
       test.setup 
unzip(_("target/test/smx/ode")=>project("dao-hibernate-db").package(:zip))
       test.setup task(:prepare_jbi_tests) do |task|

http://git-wip-us.apache.org/repos/asf/ode/blob/4638e1e9/bpel-nobj/src/main/java/org/apache/ode/bpel/obj/OActivity.java
----------------------------------------------------------------------
diff --git a/bpel-nobj/src/main/java/org/apache/ode/bpel/obj/OActivity.java 
b/bpel-nobj/src/main/java/org/apache/ode/bpel/obj/OActivity.java
index 29616ce..03d4fb8 100644
--- a/bpel-nobj/src/main/java/org/apache/ode/bpel/obj/OActivity.java
+++ b/bpel-nobj/src/main/java/org/apache/ode/bpel/obj/OActivity.java
@@ -91,7 +91,7 @@ public abstract class OActivity extends OAgent {
                        OActivity parent = this.getParent();
                        while (parent != null && handling == null) {
                                handling = parent.getFailureHandling();
-                               parent = getParent().getParent();
+                               parent = parent.getParent();
                        }
                }
                return handling;
@@ -174,7 +174,8 @@ public abstract class OActivity extends OAgent {
 
        @JsonIgnore
        public OActivity getParent() {
-               return (OActivity) fieldContainer.get(PARENT);
+               Object o = fieldContainer.get(PARENT);
+               return o == null ? null : (OActivity)o;
        }
 
        private void setParent(OActivity parent) {

Reply via email to