Author: rr
Date: Mon Mar 15 14:05:10 2010
New Revision: 923235

URL: http://svn.apache.org/viewvc?rev=923235&view=rev
Log:
ODE-744: NPE fix for OutstandingRequestsMigration

Modified:
    
ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/migration/OutstandingRequestsMigration.java

Modified: 
ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/migration/OutstandingRequestsMigration.java
URL: 
http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/migration/OutstandingRequestsMigration.java?rev=923235&r1=923234&r2=923235&view=diff
==============================================================================
--- 
ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/migration/OutstandingRequestsMigration.java
 (original)
+++ 
ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/migration/OutstandingRequestsMigration.java
 Mon Mar 15 14:05:10 2010
@@ -52,21 +52,26 @@ public class OutstandingRequestsMigratio
                 __log.debug("Migrating outstanding requests for for instance " 
+ instance.getInstanceId());
 
                 try {
-                    ExecutionQueueImpl soup = new 
ExecutionQueueImpl(this.getClass().getClassLoader());
-                    
soup.setReplacementMap(process.getReplacementMap(processDao.getProcessId()));
-                    soup.read(new 
ByteArrayInputStream(instance.getExecutionState()));
-                    Object data = soup.getGlobalData();
-                    if (data instanceof OutstandingRequestManager) {
-                        OutstandingRequestManager orm = 
(OutstandingRequestManager) data;
-    
-                        IMAManager imaManager = new IMAManager();
-                        imaManager.migrateRids(orm.getRids());
-                        soup.setGlobalData(imaManager);
-                        
-                        ByteArrayOutputStream bos = new 
ByteArrayOutputStream();
-                        soup.write(bos);
-                        instance.setExecutionState(bos.toByteArray());
-                        __log.debug("Migrated outstanding requests for for 
instance " + instance.getInstanceId());
+                    if (instance.getExecutionState() == null) {
+                        //Completed instance
+                        __log.debug("Skipped");
+                    } else {
+                        ExecutionQueueImpl soup = new 
ExecutionQueueImpl(this.getClass().getClassLoader());
+                        
soup.setReplacementMap(process.getReplacementMap(processDao.getProcessId()));
+                        soup.read(new 
ByteArrayInputStream(instance.getExecutionState()));
+                        Object data = soup.getGlobalData();
+                        if (data instanceof OutstandingRequestManager) {
+                            OutstandingRequestManager orm = 
(OutstandingRequestManager) data;
+        
+                            IMAManager imaManager = new IMAManager();
+                            imaManager.migrateRids(orm.getRids());
+                            soup.setGlobalData(imaManager);
+                            
+                            ByteArrayOutputStream bos = new 
ByteArrayOutputStream();
+                            soup.write(bos);
+                            instance.setExecutionState(bos.toByteArray());
+                            __log.debug("Migrated outstanding requests for for 
instance " + instance.getInstanceId());
+                        }
                     }
                 } catch (Exception e) {
                     __log.debug("", e);


Reply via email to