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);