You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by mr...@apache.org on 2008/08/27 19:11:11 UTC
svn commit: r689531 - in /ode/branches/rtver:
bpel-api/src/main/java/org/apache/ode/bpel/rapi/
bpel-runtime/src/main/java/org/apache/ode/bpel/engine/
bpel-test/src/main/java/org/apache/ode/test/
bpel-test/src/test/java/org/apache/ode/test/ runtime-repo...
Author: mriou
Date: Wed Aug 27 10:11:09 2008
New Revision: 689531
URL: http://svn.apache.org/viewvc?rev=689531&view=rev
Log:
Lots of tests are passing now. But some aren't. And some of those fail randomly. Tough luck.
Modified:
ode/branches/rtver/bpel-api/src/main/java/org/apache/ode/bpel/rapi/CorrelationSetModel.java
ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelInstanceWorker.java
ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/MessageExchangeImpl.java
ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ODEProcess.java
ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/PartnerLinkMyRoleImpl.java
ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/PartnerLinkPartnerRoleImpl.java
ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/UnreliableMyRoleMessageExchangeImpl.java
ode/branches/rtver/bpel-test/src/main/java/org/apache/ode/test/BPELTestAbstract.java
ode/branches/rtver/bpel-test/src/test/java/org/apache/ode/test/ExtensibilityTest.java
ode/branches/rtver/bpel-test/src/test/java/org/apache/ode/test/ExternalVariableTest.java
ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/ACTIVITY.java
ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/ASSIGN.java
ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/BpelJacobRunnable.java
ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/EH_ALARM.java
ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/EH_EVENT.java
ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/EventContextImpl.java
ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/ExprEvaluationContextImpl.java
ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/ExtensionContextImpl.java
ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/OScope.java
ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/RuntimeInstanceImpl.java
ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/SCOPEACT.java
ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/xpath20/JaxpVariableResolver.java
ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/xpath20/WrappedFaultException.java
Modified: ode/branches/rtver/bpel-api/src/main/java/org/apache/ode/bpel/rapi/CorrelationSetModel.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/bpel-api/src/main/java/org/apache/ode/bpel/rapi/CorrelationSetModel.java?rev=689531&r1=689530&r2=689531&view=diff
==============================================================================
--- ode/branches/rtver/bpel-api/src/main/java/org/apache/ode/bpel/rapi/CorrelationSetModel.java (original)
+++ ode/branches/rtver/bpel-api/src/main/java/org/apache/ode/bpel/rapi/CorrelationSetModel.java Wed Aug 27 10:11:09 2008
@@ -1,11 +1,11 @@
package org.apache.ode.bpel.rapi;
import javax.xml.namespace.QName;
-import java.util.Set;
+import java.util.List;
public interface CorrelationSetModel {
int getId();
- Set<PropertyAliasModel> getAliases(QName messageType);
+ List<PropertyAliasModel> getAliases(QName messageType);
}
Modified: ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelInstanceWorker.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelInstanceWorker.java?rev=689531&r1=689530&r2=689531&view=diff
==============================================================================
--- ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelInstanceWorker.java (original)
+++ ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelInstanceWorker.java Wed Aug 27 10:11:09 2008
@@ -56,8 +56,12 @@
_todoQueue.add(runnable);
// We mayh need to reschedule this thread if we've dropped out of the end of the run() method.
if (!_running) {
+ System.out.println("! RUNNING");
_running = true;
_process.enqueueRunnable(this);
+ } else {
+ System.out.println("RUNNING");
+// _process.enqueueRunnable(this);
}
}
Modified: ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/MessageExchangeImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/MessageExchangeImpl.java?rev=689531&r1=689530&r2=689531&view=diff
==============================================================================
--- ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/MessageExchangeImpl.java (original)
+++ ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/MessageExchangeImpl.java Wed Aug 27 10:11:09 2008
@@ -91,7 +91,7 @@
MessageImpl _request;
/** The point at which this message-exchange will time out. */
- long _timeout = 30 * 1000;
+ long _timeout = 90 * 1000;
//
// The following fields need to be volatile, since a random IL thread may set them.
@@ -131,8 +131,6 @@
private AckType _ackType;
-
-
public MessageExchangeImpl(
ODEProcess process,
Long iid,
Modified: ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ODEProcess.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ODEProcess.java?rev=689531&r1=689530&r2=689531&view=diff
==============================================================================
--- ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ODEProcess.java (original)
+++ ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ODEProcess.java Wed Aug 27 10:11:09 2008
@@ -1029,8 +1029,8 @@
// the stack.
if (old == Status.ASYNC) {
MyRoleMessageExchangeImpl mymex = _myRoleMexCache.get(mexdao);
+ System.out.println("ON ASYNC ACK");
mymex.onAsyncAck(mexdao);
-
try {
_contexts.mexContext.onMyRoleMessageExchangeStateChanged(mymex);
} catch (Throwable t) {
Modified: ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/PartnerLinkMyRoleImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/PartnerLinkMyRoleImpl.java?rev=689531&r1=689530&r2=689531&view=diff
==============================================================================
--- ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/PartnerLinkMyRoleImpl.java (original)
+++ ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/PartnerLinkMyRoleImpl.java Wed Aug 27 10:11:09 2008
@@ -153,7 +153,6 @@
if (messageRoute != null) {
if (__log.isDebugEnabled()) {
__log.debug("INPUTMSG: " + correlatorId + ": ckey " + key + " ROUTED TO (grp,index,iid) = (" + messageRoute.getGroupId() + "," + messageRoute.getIndex() + ", " + messageRoute.getTargetInstance().getInstanceId() + ")");
-
}
matchedKey = key;
break;
@@ -281,7 +280,7 @@
}
private CorrelationKey computeCorrelationKey(CorrelationSetModel cset, QName messageName, Element msg) {
- Set<PropertyAliasModel> aliases = cset.getAliases(messageName);
+ List<PropertyAliasModel> aliases = cset.getAliases(messageName);
String[] values = new String[aliases.size()];
int jIdx = 0;
for (PropertyAliasModel alias : aliases) {
@@ -293,7 +292,7 @@
__log.error(emsg, fe);
throw new InvalidMessageException(emsg, fe);
}
- values[jIdx] = value;
+ values[jIdx++] = value;
}
return new CorrelationKey(cset.getId(), values);
Modified: ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/PartnerLinkPartnerRoleImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/PartnerLinkPartnerRoleImpl.java?rev=689531&r1=689530&r2=689531&view=diff
==============================================================================
--- ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/PartnerLinkPartnerRoleImpl.java (original)
+++ ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/PartnerLinkPartnerRoleImpl.java Wed Aug 27 10:11:09 2008
@@ -105,7 +105,7 @@
if (_contexts.eprContext != null)
partnerEpr = _contexts.eprContext.resolveEndpointReference(partnerEprXml);
else
- __log.warn("Partner EPR will not be resolved, no EPR context specified!" );
+ __log.debug("Partner EPR will not be resolved, no EPR context specified!" );
}
EndpointReference myRoleEpr = null;
Modified: ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/UnreliableMyRoleMessageExchangeImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/UnreliableMyRoleMessageExchangeImpl.java?rev=689531&r1=689530&r2=689531&view=diff
==============================================================================
--- ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/UnreliableMyRoleMessageExchangeImpl.java (original)
+++ ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/UnreliableMyRoleMessageExchangeImpl.java Wed Aug 27 10:11:09 2008
@@ -36,7 +36,6 @@
public Future<Status> invokeAsync() {
if (_future != null) return _future;
-
if (_request == null) throw new IllegalStateException("Must call setRequest(...)!");
_future = new ResponseFuture();
@@ -66,6 +65,7 @@
try {
future.get(Math.max(_timeout, 1), TimeUnit.MILLISECONDS);
_done = true;
+ System.out.println("EXIT BLOCKING.");
return getStatus();
} catch (InterruptedException e) {
throw new BpelEngineException(e);
@@ -91,16 +91,14 @@
}
public Status get(long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException {
-
synchronized (this) {
if (_status != null)
return _status;
this.wait(TimeUnit.MILLISECONDS.convert(timeout, unit));
+ System.out.println("EXIT WAIT LOOP.");
- if (_status == null)
- throw new TimeoutException();
-
+ if (_status == null) throw new TimeoutException();
return _status;
}
}
@@ -114,7 +112,9 @@
}
void done(Status status) {
+ System.out.println("DONE1.");
synchronized (this) {
+ System.out.println("DONE2.");
_status = status;
this.notifyAll();
}
@@ -146,6 +146,7 @@
_failureType = failureType;
_explanation = explanation;
ack(ackType);
+ System.out.println("FUTURE DONE.");
_future.done(Status.ACK);
}
Modified: ode/branches/rtver/bpel-test/src/main/java/org/apache/ode/test/BPELTestAbstract.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/bpel-test/src/main/java/org/apache/ode/test/BPELTestAbstract.java?rev=689531&r1=689530&r2=689531&view=diff
==============================================================================
--- ode/branches/rtver/bpel-test/src/main/java/org/apache/ode/test/BPELTestAbstract.java (original)
+++ ode/branches/rtver/bpel-test/src/main/java/org/apache/ode/test/BPELTestAbstract.java Wed Aug 27 10:11:09 2008
@@ -359,7 +359,7 @@
for (Thread testThread : testThreads) {
testThread.start();
- if (testThreads.size() > 0) Thread.sleep(2000);
+ if (testThreads.size() > 0) Thread.sleep(3000);
}
for (Thread testThread : testThreads)
@@ -556,7 +556,9 @@
request.setMessage(_invocation.request);
_invocation.invokeTime = System.currentTimeMillis();
mex.setRequest(request);
+ System.out.println("INVOKE BLCOKING " + _invocation.id);
mex.invokeBlocking();
+ System.out.println("DONE INVOKE BLCOKING " + _invocation.id);
CorrelationStatus cstatus = mex.getCorrelationStatus();
if (_invocation.expectedCorrelationStatus != null && !cstatus.equals(_invocation.expectedCorrelationStatus))
Modified: ode/branches/rtver/bpel-test/src/test/java/org/apache/ode/test/ExtensibilityTest.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/bpel-test/src/test/java/org/apache/ode/test/ExtensibilityTest.java?rev=689531&r1=689530&r2=689531&view=diff
==============================================================================
--- ode/branches/rtver/bpel-test/src/test/java/org/apache/ode/test/ExtensibilityTest.java (original)
+++ ode/branches/rtver/bpel-test/src/test/java/org/apache/ode/test/ExtensibilityTest.java Wed Aug 27 10:11:09 2008
@@ -20,14 +20,11 @@
import org.apache.ode.bpel.common.FaultException;
import org.apache.ode.bpel.compiler.api.CompilationException;
-import org.apache.ode.bpel.compiler.api.CompilationMessage;
-import org.apache.ode.bpel.compiler.v2.CompilerContext;
-import org.apache.ode.bpel.rapi.ExtensibleElement;
import org.apache.ode.bpel.iapi.BpelEngineException;
-import org.apache.ode.bpel.runtime.extension.AbstractAsyncExtensionOperation;
-import org.apache.ode.bpel.runtime.extension.AbstractExtensionBundle;
-import org.apache.ode.bpel.runtime.extension.ExtensionContext;
-import org.apache.ode.bpel.runtime.extension.ExtensionOperation;
+import org.apache.ode.bpel.rtrep.common.extension.AbstractExtensionBundle;
+import org.apache.ode.bpel.rtrep.common.extension.ExtensionOperation;
+import org.apache.ode.bpel.rtrep.common.extension.ExtensionContext;
+import org.apache.ode.bpel.rtrep.common.extension.AbstractAsyncExtensionOperation;
import org.apache.ode.utils.DOMUtils;
import org.junit.Assert;
import org.junit.Before;
@@ -157,13 +154,14 @@
context.complete();
}
- @Override
- public void validate(CompilerContext context, ExtensibleElement element)
- throws CompilationException {
- if (element.getNestedElement().getTextContent().trim().equals(TestExtensionBundle.cmpString)) {
- throw new CompilationException(new CompilationMessage());
- }
- }
+// TODO fix with extensibility validation
+// @Override
+// public void validate(CompilerContext context, ExtensibleElement element)
+// throws CompilationException {
+// if (element.getNestedElement().getTextContent().trim().equals(TestExtensionBundle.cmpString)) {
+// throw new CompilationException(new CompilationMessage());
+// }
+// }
}
}
Modified: ode/branches/rtver/bpel-test/src/test/java/org/apache/ode/test/ExternalVariableTest.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/bpel-test/src/test/java/org/apache/ode/test/ExternalVariableTest.java?rev=689531&r1=689530&r2=689531&view=diff
==============================================================================
--- ode/branches/rtver/bpel-test/src/test/java/org/apache/ode/test/ExternalVariableTest.java (original)
+++ ode/branches/rtver/bpel-test/src/test/java/org/apache/ode/test/ExternalVariableTest.java Wed Aug 27 10:11:09 2008
@@ -17,7 +17,6 @@
public class ExternalVariableTest extends BPELTestAbstract {
private JdbcExternalVariableModule _jdbcext;
-
private DataSource _ds;
public void setUp() throws Exception {
Modified: ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/ACTIVITY.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/ACTIVITY.java?rev=689531&r1=689530&r2=689531&view=diff
==============================================================================
--- ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/ACTIVITY.java (original)
+++ ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/ACTIVITY.java Wed Aug 27 10:11:09 2008
@@ -30,6 +30,7 @@
import org.apache.ode.bpel.evt.ScopeEvent;
import org.apache.ode.bpel.evt.VariableReadEvent;
import org.apache.ode.bpel.common.FaultException;
+import org.apache.ode.bpel.evar.ExternalVariableModuleException;
import org.apache.ode.jacob.IndexedObject;
import org.w3c.dom.Node;
@@ -136,11 +137,11 @@
}
Node fetchVariableData(VariableInstance variable, boolean forWriting) throws FaultException {
- if (variable.declaration.extVar != null) {
- return getBpelRuntime().fetchVariableData(_scopeFrame.resolve(variable.declaration.extVar.related), forWriting);
- } else {
- return getBpelRuntime().fetchVariableData(variable, forWriting);
- }
+ return getBpelRuntime().fetchVariableData(variable, _scopeFrame, forWriting);
+ }
+
+ void commitChanges(VariableInstance var, Node val) throws ExternalVariableModuleException {
+ getBpelRuntime().commitChanges(var, _scopeFrame, val);
}
public static final class Key implements Serializable {
Modified: ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/ASSIGN.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/ASSIGN.java?rev=689531&r1=689530&r2=689531&view=diff
==============================================================================
--- ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/ASSIGN.java (original)
+++ ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/ASSIGN.java Wed Aug 27 10:11:09 2008
@@ -397,7 +397,7 @@
if (__log.isDebugEnabled())
__log.debug("ASSIGN Writing variable '" + lval.declaration.name +
"' value '" + DOMUtils.domToString(lvalue) +"'");
- getBpelRuntime().commitChanges(lval, lvalue);
+ commitChanges(lval, lvalue);
se = new VariableModificationEvent(lval.declaration.name);
((VariableModificationEvent)se).setNewValue(lvalue);
}
Modified: ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/BpelJacobRunnable.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/BpelJacobRunnable.java?rev=689531&r1=689530&r2=689531&view=diff
==============================================================================
--- ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/BpelJacobRunnable.java (original)
+++ ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/BpelJacobRunnable.java Wed Aug 27 10:11:09 2008
@@ -99,13 +99,9 @@
}
Node initializeVariable(VariableInstance var, Node val) throws ExternalVariableModuleException {
- if (var.declaration.extVar != null) /* external variable */ {
- return getBpelRuntime().initializeVariable(_scopeFrame.resolve(var.declaration.extVar.related), val);
- } else /* normal variable */ {
- return getBpelRuntime().initializeVariable(var, val);
- }
+ return getBpelRuntime().initializeVariable(var, _scopeFrame, val);
}
-
+
protected long genMonotonic() {
return getBpelRuntime().genId();
}
Modified: ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/EH_ALARM.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/EH_ALARM.java?rev=689531&r1=689530&r2=689531&view=diff
==============================================================================
--- ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/EH_ALARM.java (original)
+++ ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/EH_ALARM.java Wed Aug 27 10:11:09 2008
@@ -87,7 +87,7 @@
}
// We reduce to waiting for the alarm to be triggered.
- instance(new WAIT(alarm));
+ instance(new WAIT(alarm, _scopeFrame));
}
protected EvaluationContext getEvaluationContext() {
@@ -107,8 +107,9 @@
* Concretion constructor.
* @param alarm date at which time to fire
*/
- WAIT(Calendar alarm) {
+ WAIT(Calendar alarm, ScopeFrame scopeFrame) {
_alarm = alarm;
+ _scopeFrame = scopeFrame;
}
public void run() {
@@ -122,7 +123,7 @@
public void onTimeout() {
// This is what we are waiting for, fire the activity
- instance(new FIRE());
+ instance(new FIRE(_scopeFrame));
}
public void onCancel() {
@@ -144,7 +145,7 @@
})));
} else /* now is later then alarm time */ {
// If the alarm has passed we fire the nested activity
- instance(new FIRE());
+ instance(new FIRE(_scopeFrame));
}
}
@@ -156,13 +157,17 @@
private class FIRE extends BpelJacobRunnable {
private static final long serialVersionUID = -7261315204412433250L;
+ public FIRE(ScopeFrame scopeFrame) {
+ this._scopeFrame = scopeFrame;
+ }
+
public void run() {
// Start the child activity.
ActivityInfo child = new ActivityInfo(genMonotonic(),
_oalarm.activity,
newChannel(TerminationChannel.class), newChannel(ParentScopeChannel.class));
instance(createChild(child, _scopeFrame, new LinkFrame(null) ));
- instance(new ACTIVE(child));
+ instance(new ACTIVE(child, _scopeFrame));
}
}
@@ -177,8 +182,9 @@
/** Indicates whether our parent has requested a stop. */
private boolean _stopped = false;
- ACTIVE(ActivityInfo activity) {
+ ACTIVE(ActivityInfo activity, ScopeFrame scopeFrame) {
_activity = activity;
+ _scopeFrame = scopeFrame;
}
public void run() {
@@ -201,7 +207,7 @@
_psc.completed(createFault(e.getQName(),_oalarm.forExpr), _comps);
return;
}
- instance(new WAIT(next));
+ instance(new WAIT(next, _scopeFrame));
} else {
_psc.completed(faultData, _comps);
}
Modified: ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/EH_EVENT.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/EH_EVENT.java?rev=689531&r1=689530&r2=689531&view=diff
==============================================================================
--- ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/EH_EVENT.java (original)
+++ ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/EH_EVENT.java Wed Aug 27 10:11:09 2008
@@ -82,7 +82,7 @@
public void run() {
- instance(new SELECT());
+ instance(new SELECT(_scopeFrame));
}
/**
@@ -104,6 +104,10 @@
private static final long serialVersionUID = 1L;
+ public SELECT(ScopeFrame scopeFrame) {
+ _scopeFrame = scopeFrame;
+ }
+
/**
* @see org.apache.ode.jacob.JacobRunnable#run()
*/
@@ -127,14 +131,14 @@
selector = new Selector(0,pLinkInstance,_oevent.operation.getName(), _oevent.operation.getOutput() == null, _oevent.messageExchangeId, key);
getBpelRuntime().select(pickResponseChannel, null, false, new Selector[] { selector} );
- instance(new WAITING(pickResponseChannel));
+ instance(new WAITING(pickResponseChannel, _scopeFrame));
} catch(FaultException e){
__log.error(e);
if (_fault == null) {
_fault = createFault(e.getQName(), _oevent);
}
terminateActive();
- instance(new WAITING(null));
+ instance(new WAITING(null, _scopeFrame));
}
}
}
@@ -146,8 +150,9 @@
private static final long serialVersionUID = 1L;
private PickResponseChannel _pickResponseChannel;
- private WAITING(PickResponseChannel pickResponseChannel) {
+ private WAITING(PickResponseChannel pickResponseChannel, ScopeFrame scopeFrame) {
_pickResponseChannel = pickResponseChannel;
+ _scopeFrame = scopeFrame;
}
public void run() {
@@ -275,7 +280,7 @@
_fault = createFault(e.getQName(), _oevent);
terminateActive();
}
- instance(new WAITING(null));
+ instance(new WAITING(null, _scopeFrame));
return;
}
@@ -301,18 +306,18 @@
if (_terminated || _stopped || _fault != null)
- instance(new WAITING(null));
+ instance(new WAITING(null, _scopeFrame));
else
- instance(new SELECT());
+ instance(new SELECT(_scopeFrame));
}
public void onTimeout() {
- instance(new WAITING(null));
+ instance(new WAITING(null, _scopeFrame));
}
public void onCancel() {
- instance(new WAITING(null));
+ instance(new WAITING(null, _scopeFrame));
}
});
Modified: ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/EventContextImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/EventContextImpl.java?rev=689531&r1=689530&r2=689531&view=diff
==============================================================================
--- ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/EventContextImpl.java (original)
+++ ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/EventContextImpl.java Wed Aug 27 10:11:09 2008
@@ -68,7 +68,7 @@
{
OScope.Variable var = __scope.getVisibleVariable(varName);
VariableInstance varInstance = new VariableInstance(__scopeInstanceId, var);
- Node varNode = __runtimeContext.fetchVariableData(varInstance, false);
+ Node varNode = __runtimeContext.fetchVariableData(varInstance, null, false);
value = DOMUtils.domToString(varNode);
}
catch(Throwable e)
Modified: ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/ExprEvaluationContextImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/ExprEvaluationContextImpl.java?rev=689531&r1=689530&r2=689531&view=diff
==============================================================================
--- ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/ExprEvaluationContextImpl.java (original)
+++ ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/ExprEvaluationContextImpl.java Wed Aug 27 10:11:09 2008
@@ -75,7 +75,7 @@
VariableReadEvent vre = new VariableReadEvent();
vre.setVarName(varInstance.declaration.name);
sendEvent(vre);
- ret = _native.fetchVariableData(varInstance, part, false);
+ ret = _native.fetchVariableData(varInstance, _scopeInstance, part, false);
}
return ret;
}
Modified: ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/ExtensionContextImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/ExtensionContextImpl.java?rev=689531&r1=689530&r2=689531&view=diff
==============================================================================
--- ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/ExtensionContextImpl.java (original)
+++ ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/ExtensionContextImpl.java Wed Aug 27 10:11:09 2008
@@ -86,24 +86,24 @@
public Node readVariable(OScope.Variable variable)
throws FaultException {
VariableInstance vi = _scopeFrame.resolve(variable);
- return _context.fetchVariableData(vi, true);
+ return _context.fetchVariableData(vi, _scopeFrame, true);
}
public void writeVariable(String variableName, Node value)
throws FaultException, ExternalVariableModuleException {
VariableInstance vi = _scopeFrame.resolve(getVisibleVariable(variableName));
- _context.commitChanges(vi, value);
+ _context.commitChanges(vi, _scopeFrame, value);
}
public Node readVariable(String variableName) throws FaultException {
VariableInstance vi = _scopeFrame.resolve(getVisibleVariable(variableName));
- return _context.fetchVariableData(vi, true);
+ return _context.fetchVariableData(vi, _scopeFrame, true);
}
public void writeVariable(OScope.Variable variable, Node value)
throws FaultException, ExternalVariableModuleException {
VariableInstance vi = _scopeFrame.resolve(variable);
- _context.commitChanges(vi, value);
+ _context.commitChanges(vi, _scopeFrame, value);
VariableModificationEvent vme = new VariableModificationEvent(variable.name);
vme.setNewValue(value);
sendEvent(vme);
Modified: ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/OScope.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/OScope.java?rev=689531&r1=689530&r2=689531&view=diff
==============================================================================
--- ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/OScope.java (original)
+++ ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/OScope.java Wed Aug 27 10:11:09 2008
@@ -170,8 +170,8 @@
return "{CSet " + name + " " + properties + "}";
}
- public Set<PropertyAliasModel> getAliases(QName messageName) {
- HashSet<PropertyAliasModel> aliases = new HashSet<PropertyAliasModel>();
+ public List<PropertyAliasModel> getAliases(QName messageName) {
+ List<PropertyAliasModel> aliases = new ArrayList<PropertyAliasModel>();
OVarType messageType = getOwner().messageTypes.get(messageName);
for (Object prop : properties) {
OProcess.OProperty property = (OProcess.OProperty) prop;
Modified: ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/RuntimeInstanceImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/RuntimeInstanceImpl.java?rev=689531&r1=689530&r2=689531&view=diff
==============================================================================
--- ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/RuntimeInstanceImpl.java (original)
+++ ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/RuntimeInstanceImpl.java Wed Aug 27 10:11:09 2008
@@ -126,11 +126,11 @@
return _brc.readCorrelation(cset);
}
- public Node fetchVariableData(VariableInstance variable, boolean forWriting) throws FaultException {
+ public Node fetchVariableData(VariableInstance variable, ScopeFrame scopeFrame, boolean forWriting) throws FaultException {
if (variable.declaration.extVar != null) {
// Note, that when using external variables, the database will not contain the value of the
// variable, instead we need to go the external variable subsystems.
- Element reference = (Element) _brc.fetchVariableData(variable, false);
+ Element reference = (Element) _brc.fetchVariableData(scopeFrame.resolve(variable.declaration.extVar.related), false);
try {
Node ret = _brc.readExtVar(variable, reference);
if (ret == null) {
@@ -168,8 +168,9 @@
}
}
- public Node fetchVariableData(VariableInstance var, OMessageVarType.Part part, boolean forWriting) throws FaultException {
- Node val = _brc.fetchVariableData(var, forWriting);
+ public Node fetchVariableData(VariableInstance var, ScopeFrame scopeFrame,
+ OMessageVarType.Part part, boolean forWriting) throws FaultException {
+ Node val = fetchVariableData(var, scopeFrame, forWriting);
if (part != null) return getPartData((Element) val, part);
return val;
}
@@ -235,14 +236,14 @@
/**
* Proxy to {@link OdeRTInstanceContext#initializeVariable(Variable, Node)} then write properties.
*/
- public Node initializeVariable(VariableInstance var, Node val) throws ExternalVariableModuleException {
+ public Node initializeVariable(VariableInstance var, ScopeFrame scopeFrame, Node val) throws ExternalVariableModuleException {
try {
if (var.declaration.extVar != null) /* external variable */ {
if (__log.isDebugEnabled())
__log.debug("Initialize external variable: name=" + var.declaration + " value="+DOMUtils.domToString(val));
Node reference = null;
try {
- reference = fetchVariableData(var, true);
+ reference = fetchVariableData(var, scopeFrame, true);
} catch (FaultException fe) {
// In this context this is not necessarily a problem, since the assignment may re-init the related var
}
@@ -282,14 +283,26 @@
return _brc.convertEndpointReference(epr, lvaluePtr);
}
- /**
- * Proxy to {@link OdeRTInstanceContext#commitChanges(Variable, Node) }, then write variable properties.
- */
- public void commitChanges(VariableInstance lval, Node lvalue) {
- _brc.commitChanges(lval, lvalue);
- writeProperties(lval, lvalue);
+ public void commitChanges(VariableInstance var, ScopeFrame scopeFrame, Node value) throws ExternalVariableModuleException {
+ if (var.declaration.extVar != null) /* external variable */ {
+ __log.debug("Write external variable: name="+var.declaration + " value="+DOMUtils.domToString(value));
+ VariableInstance related = scopeFrame.resolve(var.declaration.extVar.related);
+ Node reference = null;
+ try {
+ reference = fetchVariableData(var, scopeFrame, true);
+ } catch (FaultException fe) {
+ // In this context this is not necessarily a problem, since the assignment may re-init the related var
+ }
+ VariableContext.ValueReferencePair vrp = _brc.writeExtVar(var, reference, value);
+ commitChanges(related, scopeFrame, vrp.reference);
+ } else /* normal variable */ {
+ __log.debug("Write variable: name="+var.declaration + " value="+DOMUtils.domToString(value));
+ _brc.commitChanges(var, value);
+ }
+ writeProperties(var, value);
}
+
/**
* Proxy to {@link BpelRuntimeContext# }.
*/
@@ -403,8 +416,7 @@
* Proxy to {@link IOContext#getPartnerResponseType(String) }.
*/
public QName getPartnerResponseType(String mexId) {
- // TODO Auto-generated method stub
- return null;
+ return _brc.getPartnerResponseType(mexId);
}
/**
Modified: ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/SCOPEACT.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/SCOPEACT.java?rev=689531&r1=689530&r2=689531&view=diff
==============================================================================
--- ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/SCOPEACT.java (original)
+++ ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/SCOPEACT.java Wed Aug 27 10:11:09 2008
@@ -59,7 +59,7 @@
if (((OScope) _self.o).isolatedScope) {
__log.debug("found ISOLATED scope, instance ISOLATEDGUARD");
- instance(new ISOLATEDGUARD(createLockList(), newChannel(SynchChannel.class)));
+ instance(new ISOLATEDGUARD(createLockList(), newChannel(SynchChannel.class), _scopeFrame));
} else {
ScopeFrame newFrame = new ScopeFrame((OScope) _self.o, getBpelRuntime().createScopeInstance(
@@ -224,9 +224,10 @@
final SynchChannel _synchChannel;
- ISOLATEDGUARD(List<IsolationLock> locks, SynchChannel synchChannel) {
+ ISOLATEDGUARD(List<IsolationLock> locks, SynchChannel synchChannel, ScopeFrame scopeFrame) {
_locksNeeded = locks;
_synchChannel = synchChannel;
+ _scopeFrame = scopeFrame;
}
@Override
Modified: ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/xpath20/JaxpVariableResolver.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/xpath20/JaxpVariableResolver.java?rev=689531&r1=689530&r2=689531&view=diff
==============================================================================
--- ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/xpath20/JaxpVariableResolver.java (original)
+++ ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/xpath20/JaxpVariableResolver.java Wed Aug 27 10:11:09 2008
@@ -66,13 +66,12 @@
OXPath10ExpressionBPEL20 expr = _oxpath;
if(expr.isJoinExpression){
OLink olink = _oxpath.links.get(variableName.getLocalPart());
-
try {
return _ectx.isLinkActive(olink) ? Boolean.TRUE : Boolean.FALSE;
} catch (FaultException e) {
throw new WrappedFaultException(e);
}
- }else{
+ } else {
String varName;
String partName;
int dotloc = variableName.getLocalPart().indexOf('.');
@@ -102,7 +101,7 @@
// value
return new SingletonNodeList(variableNode);
- }catch(FaultException e){
+ } catch(FaultException e){
throw new WrappedFaultException(e);
}
}
Modified: ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/xpath20/WrappedFaultException.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/xpath20/WrappedFaultException.java?rev=689531&r1=689530&r2=689531&view=diff
==============================================================================
--- ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/xpath20/WrappedFaultException.java (original)
+++ ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/xpath20/WrappedFaultException.java Wed Aug 27 10:11:09 2008
@@ -12,11 +12,13 @@
}
public WrappedFaultException(FaultException message) {
+ super(message);
_fault = message;
}
public WrappedFaultException(String message, FaultException cause) {
super(message, cause);
+ _fault = cause;
}
}