Author: mszefler
Date: Wed Aug 15 10:26:50 2007
New Revision: 566275
URL: http://svn.apache.org/viewvc?view=rev&rev=566275
Log:
BART: Fixed broken recoverActivity.
Modified:
ode/branches/bart/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelProcess.java
Modified:
ode/branches/bart/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelProcess.java
URL:
http://svn.apache.org/viewvc/ode/branches/bart/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelProcess.java?view=diff&rev=566275&r1=566274&r2=566275
==============================================================================
---
ode/branches/bart/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelProcess.java
(original)
+++
ode/branches/bart/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelProcess.java
Wed Aug 15 10:26:50 2007
@@ -174,13 +174,24 @@
return "BpelProcess[" + _pid + "]";
}
- void recoverActivity(ProcessInstanceDAO instanceDAO, String channel, long
activityId, String action, FaultData fault) {
+ void recoverActivity(ProcessInstanceDAO instanceDAO, final String channel,
final long activityId, final String action, final FaultData fault) {
if (__log.isDebugEnabled())
__log.debug("Recovering activity in process " +
instanceDAO.getInstanceId() + " with action " + action);
markused();
- throw new AssertionError("TODO: fixme");// TODO
- // BpelRuntimeContextImpl processInstance =
createRuntimeContext(instanceDAO, null, null);
- // processInstance.recoverActivity(channel, activityId, action, fault);
+ BpelInstanceWorker iworker =
_instanceWorkerCache.get(instanceDAO.getInstanceId());
+ final BpelRuntimeContextImpl processInstance = new
BpelRuntimeContextImpl(iworker,instanceDAO);
+ try {
+ iworker.execInCurrentThread(new Callable<Void> () {
+
+ public Void call() throws Exception {
+ processInstance.recoverActivity(channel, activityId,
action, fault);
+ return null;
+ }
+
+ });
+ } catch (Exception e) {
+ throw new BpelEngineException(e);
+ }
}
/**