You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by va...@apache.org on 2009/08/09 17:31:01 UTC

svn commit: r802551 - in /ode/trunk: bpel-api/src/main/java/org/apache/ode/bpel/extension/ bpel-test/src/main/java/org/apache/ode/test/ bpel-test/src/test/java/org/apache/ode/test/ runtimes/src/main/java/org/apache/ode/bpel/rtrep/common/extension/ runt...

Author: vanto
Date: Sun Aug  9 15:31:00 2009
New Revision: 802551

URL: http://svn.apache.org/viewvc?rev=802551&view=rev
Log:
Merge branch 'ODE-606' into trunk

Modified:
    ode/trunk/bpel-api/src/main/java/org/apache/ode/bpel/extension/ExtensionOperation.java
    ode/trunk/bpel-test/src/main/java/org/apache/ode/test/MockExtensionContext.java
    ode/trunk/bpel-test/src/test/java/org/apache/ode/test/ExtensibilityTest.java
    ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/common/extension/AbstractAsyncExtensionOperation.java
    ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/common/extension/AbstractSyncExtensionOperation.java
    ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/common/extension/ExtensionContext.java
    ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/v2/ASSIGN.java
    ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/v2/EXTENSIONACTIVITY.java
    ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/v2/ExtensionContextImpl.java
    ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/v2/OdeInternalInstance.java
    ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/v2/RuntimeInstanceImpl.java
    ode/trunk/runtimes/src/test/java/org/apache/ode/bpel/rtrep/v2/CoreBpelTest.java

Modified: ode/trunk/bpel-api/src/main/java/org/apache/ode/bpel/extension/ExtensionOperation.java
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-api/src/main/java/org/apache/ode/bpel/extension/ExtensionOperation.java?rev=802551&r1=802550&r2=802551&view=diff
==============================================================================
--- ode/trunk/bpel-api/src/main/java/org/apache/ode/bpel/extension/ExtensionOperation.java (original)
+++ ode/trunk/bpel-api/src/main/java/org/apache/ode/bpel/extension/ExtensionOperation.java Sun Aug  9 15:31:00 2009
@@ -44,10 +44,11 @@
      * access to <code>element</code> if necessary. 
      * 
      * @param context injected ExtensionContext
+     * @param cid channel id (needed for async completion)
      * @param element the extension element (child of <code>extensionActivity</code> 
      * or <code>extensionAssignOperation</code> 
      * @throws FaultException
      */
-    void run(Object context, Element element) throws FaultException;
+    void run(Object context, String cid, Element element) throws FaultException;
     
 }

Modified: ode/trunk/bpel-test/src/main/java/org/apache/ode/test/MockExtensionContext.java
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-test/src/main/java/org/apache/ode/test/MockExtensionContext.java?rev=802551&r1=802550&r2=802551&view=diff
==============================================================================
--- ode/trunk/bpel-test/src/main/java/org/apache/ode/test/MockExtensionContext.java (original)
+++ ode/trunk/bpel-test/src/main/java/org/apache/ode/test/MockExtensionContext.java Sun Aug  9 15:31:00 2009
@@ -100,16 +100,16 @@
 		throw new UnsupportedOperationException("This method is not available in this mock implementation.");
 	}
 
-	public void complete() {
+	public void complete(String cid) {
 		this.completed = true;
 	}
 
-	public void completeWithFault(Throwable t) {
+	public void completeWithFault(String cid, Throwable t) {
 		this.completed = true;
 		this.faulted = true;
 	}
 
-	public void completeWithFault(FaultException fault) {
+	public void completeWithFault(String cid, FaultException fault) {
 		this.completed = true;
 		this.faulted = true;
 		this.fault = fault;

Modified: ode/trunk/bpel-test/src/test/java/org/apache/ode/test/ExtensibilityTest.java
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-test/src/test/java/org/apache/ode/test/ExtensibilityTest.java?rev=802551&r1=802550&r2=802551&view=diff
==============================================================================
--- ode/trunk/bpel-test/src/test/java/org/apache/ode/test/ExtensibilityTest.java (original)
+++ ode/trunk/bpel-test/src/test/java/org/apache/ode/test/ExtensibilityTest.java Sun Aug  9 15:31:00 2009
@@ -122,17 +122,17 @@
 	public static class TestExtensionActivity implements ExtensionOperation {
 		private static final long serialVersionUID = 1L;
 
-		public void run(Object context,
+		public void run(Object context, String cid,
 				Element element) throws FaultException {
 			TestExtensionBundle.wasExecuted = true;
-			((ExtensionContext)context).complete();
+			((ExtensionContext)context).complete(cid);
 		}
 	}
 	
 	public static class TestExtensionAssignOperation implements ExtensionOperation {
 		private static final long serialVersionUID = 1L;
 
-		public void run(Object contexto, Element element)
+		public void run(Object contexto, String cid, Element element)
 				throws FaultException {
             ExtensionContext context = (ExtensionContext) contexto;
 			//Node val = context.readVariable("myVar");
@@ -144,7 +144,7 @@
 				e.printStackTrace();
 				Assert.fail();
 			} finally {
-				context.complete();
+				context.complete(cid);
 			}
 		}
 	}
@@ -152,10 +152,10 @@
 	public static class TestExtensionValidatorActivity extends AbstractAsyncExtensionOperation {
 		private static final long serialVersionUID = 1L;
 
-		public void run(Object context,
+		public void run(Object context, String cid,
 				Element element) throws FaultException {
 			TestExtensionBundle.wasExecuted = true;
-			((ExtensionContext)context).complete();
+			((ExtensionContext)context).complete(cid);
 		}
 
 		public void validate(CompilerContext context, ExtensibleElement element)

Modified: ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/common/extension/AbstractAsyncExtensionOperation.java
URL: http://svn.apache.org/viewvc/ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/common/extension/AbstractAsyncExtensionOperation.java?rev=802551&r1=802550&r2=802551&view=diff
==============================================================================
--- ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/common/extension/AbstractAsyncExtensionOperation.java (original)
+++ ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/common/extension/AbstractAsyncExtensionOperation.java Sun Aug  9 15:31:00 2009
@@ -29,7 +29,7 @@
  */
 public abstract class AbstractAsyncExtensionOperation implements ExtensionOperation {
 
-	public abstract void run(Object context, Element element)
+	public abstract void run(Object context, String cid, Element element)
 			throws FaultException;
 	
 }

Modified: ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/common/extension/AbstractSyncExtensionOperation.java
URL: http://svn.apache.org/viewvc/ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/common/extension/AbstractSyncExtensionOperation.java?rev=802551&r1=802550&r2=802551&view=diff
==============================================================================
--- ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/common/extension/AbstractSyncExtensionOperation.java (original)
+++ ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/common/extension/AbstractSyncExtensionOperation.java Sun Aug  9 15:31:00 2009
@@ -31,16 +31,16 @@
 
 	protected abstract void runSync(ExtensionContext context, Element element) throws FaultException;
 	
-	public void run(Object contexto, Element element)
+	public void run(Object contexto, String cid, Element element)
 			throws FaultException {
         ExtensionContext context = (ExtensionContext) contexto;
 		try {
 			runSync(context, element);
-			context.complete();
+			context.complete(cid);
 		} catch (FaultException f) {
-			context.completeWithFault(f);
+			context.completeWithFault(cid, f);
 		} catch (Exception e) {
-			context.completeWithFault(e);
+			context.completeWithFault(cid, e);
 		}
 	}
 }

Modified: ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/common/extension/ExtensionContext.java
URL: http://svn.apache.org/viewvc/ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/common/extension/ExtensionContext.java?rev=802551&r1=802550&r2=802551&view=diff
==============================================================================
--- ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/common/extension/ExtensionContext.java (original)
+++ ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/common/extension/ExtensionContext.java Sun Aug  9 15:31:00 2009
@@ -139,19 +139,19 @@
     /**
      * Marks the currently executed activity as successfully completed.
      */
-    void complete();
+    void complete(String cid);
     
     /**
      * Marks the currently executed activity as faulted.
      * @param t an exception to be reported as the fault cause.
      */
-    void completeWithFault(Throwable t);
+    void completeWithFault(String cid, Throwable t);
 
     /**
      * Marks the currently executed activity as faulted.
      * @param fault a fault.
      */
-    void completeWithFault(FaultException fault);
+    void completeWithFault(String cid, FaultException fault);
 
     /*
      * Low-level-methods

Modified: ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/v2/ASSIGN.java
URL: http://svn.apache.org/viewvc/ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/v2/ASSIGN.java?rev=802551&r1=802550&r2=802551&view=diff
==============================================================================
--- ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/v2/ASSIGN.java (original)
+++ ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/v2/ASSIGN.java Sun Aug  9 15:31:00 2009
@@ -18,26 +18,25 @@
  */
 package org.apache.ode.bpel.rtrep.v2;
 
-import java.util.List;
 import java.net.URI;
 
 import javax.xml.namespace.QName;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.ode.bpel.common.FaultException;
 import org.apache.ode.bpel.common.CorrelationKey;
+import org.apache.ode.bpel.common.FaultException;
+import org.apache.ode.bpel.evar.ExternalVariableModuleException;
+import org.apache.ode.bpel.evt.CorrelationSetWriteEvent;
 import org.apache.ode.bpel.evt.PartnerLinkModificationEvent;
 import org.apache.ode.bpel.evt.ScopeEvent;
 import org.apache.ode.bpel.evt.VariableModificationEvent;
-import org.apache.ode.bpel.evt.CorrelationSetWriteEvent;
-import org.apache.ode.bpel.rtrep.v2.channels.FaultData;
-import org.apache.ode.bpel.rtrep.common.extension.ExtensionContext;
-import org.apache.ode.bpel.rtrep.common.extension.ExtensibilityQNames;
 import org.apache.ode.bpel.extension.ExtensionOperation;
+import org.apache.ode.bpel.rtrep.common.extension.ExtensibilityQNames;
+import org.apache.ode.bpel.rtrep.common.extension.ExtensionContext;
+import org.apache.ode.bpel.rtrep.v2.channels.FaultData;
 import org.apache.ode.utils.DOMUtils;
 import org.apache.ode.utils.Namespaces;
-import org.apache.ode.bpel.evar.ExternalVariableModuleException;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
@@ -330,14 +329,14 @@
                     }
                 }
                 // act like <empty> - do nothing
-                context.complete();
+                context.complete(_self.parent.export());
                 return;
             }
 
-            ea.run(context, eao.nestedElement.getElement());
+            ea.run(context, _self.parent.export(), eao.nestedElement.getElement());
         } catch (FaultException fault) {
             __log.error(fault);
-            context.completeWithFault(fault);
+            context.completeWithFault(_self.parent.export(), fault);
         }
     }
 

Modified: ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/v2/EXTENSIONACTIVITY.java
URL: http://svn.apache.org/viewvc/ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/v2/EXTENSIONACTIVITY.java?rev=802551&r1=802550&r2=802551&view=diff
==============================================================================
--- ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/v2/EXTENSIONACTIVITY.java (original)
+++ ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/v2/EXTENSIONACTIVITY.java Sun Aug  9 15:31:00 2009
@@ -55,14 +55,14 @@
                     }
                 }
                 // act like <empty> - do nothing
-                context.complete();
+                context.complete(_self.parent.export());
                 return;
             }
 
-            ea.run(context, oea.nestedElement.getElement());
+            ea.run(context, _self.parent.export(), oea.nestedElement.getElement());
         } catch (FaultException fault) {
             __log.error(fault);
-            context.completeWithFault(fault);
+            context.completeWithFault(_self.parent.export(), fault);
         }
 
     }

Modified: ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/v2/ExtensionContextImpl.java
URL: http://svn.apache.org/viewvc/ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/v2/ExtensionContextImpl.java?rev=802551&r1=802550&r2=802551&view=diff
==============================================================================
--- ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/v2/ExtensionContextImpl.java (original)
+++ ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/v2/ExtensionContextImpl.java Sun Aug  9 15:31:00 2009
@@ -142,9 +142,9 @@
         _context.sendEvent(event);
 	}
 	
-	public void complete() {
+	public void complete(String cid) {
 		if (!hasCompleted) {
-			_activityInfo.parent.completed(null, CompensationHandler.emptySet());
+			_context.completeExtensionActivity(cid, null);
 			hasCompleted = true;
 		} else {
 			if (__log.isWarnEnabled()) {
@@ -153,13 +153,13 @@
 		}
 	}
 	
-	public void completeWithFault(Throwable t) {
+	public void completeWithFault(String cid, Throwable t) {
 		if (!hasCompleted) {
 			StringWriter sw = new StringWriter();
 			t.printStackTrace(new PrintWriter(sw));
 			FaultData fault = new FaultData(new QName(Namespaces.WSBPEL2_0_FINAL_EXEC, "subLanguageExecutionFault"),
                     _activityInfo.o, sw.getBuffer().toString());
-	        _activityInfo.parent.completed(fault, CompensationHandler.emptySet());
+			_context.completeExtensionActivity(cid, fault);
 			hasCompleted = true;
 		} else {
 			if (__log.isWarnEnabled()) {
@@ -168,10 +168,10 @@
 		}
 	}
 	
-	public void completeWithFault(FaultException ex) {
+	public void completeWithFault(String cid, FaultException ex) {
 		if (!hasCompleted) {
 			FaultData fault = new FaultData(ex.getQName(), _activityInfo.o, ex.getMessage());
-			_activityInfo.parent.completed(fault, CompensationHandler.emptySet());
+			_context.completeExtensionActivity(cid, fault);
 			hasCompleted = true;
 		} else {
 			if (__log.isWarnEnabled()) {

Modified: ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/v2/OdeInternalInstance.java
URL: http://svn.apache.org/viewvc/ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/v2/OdeInternalInstance.java?rev=802551&r1=802550&r2=802551&view=diff
==============================================================================
--- ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/v2/OdeInternalInstance.java (original)
+++ ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/v2/OdeInternalInstance.java Sun Aug  9 15:31:00 2009
@@ -129,6 +129,8 @@
     Node fetchVariableData(VariableInstance variable, ScopeFrame scopeFrame, boolean forWriting) throws FaultException;
 
     ExtensionOperation createExtensionActivityImplementation(QName name);
+    
+    void completeExtensionActivity(String channelId, FaultData faultData);
 
     void terminate();
 

Modified: ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/v2/RuntimeInstanceImpl.java
URL: http://svn.apache.org/viewvc/ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/v2/RuntimeInstanceImpl.java?rev=802551&r1=802550&r2=802551&view=diff
==============================================================================
--- ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/v2/RuntimeInstanceImpl.java (original)
+++ ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/v2/RuntimeInstanceImpl.java Sun Aug  9 15:31:00 2009
@@ -415,6 +415,20 @@
             }
         }
     }
+    
+    public void completeExtensionActivity(final String channelId, final FaultData faultData) {
+        _vpu.inject(new JacobRunnable() {
+			private static final long serialVersionUID = 5198590543947804763L;
+
+            public void run() {
+                ParentScopeChannel channel = importChannel(channelId, ParentScopeChannel.class);
+                if (channel == null) {
+                	throw new RuntimeException("Could not resolve channel ID (" + channelId + ") for extension activity.");
+                }
+                channel.completed(faultData, CompensationHandler.emptySet());
+            }
+        });
+    }
 
     /**
      * Proxy to {@link ProcessControlContext# }.

Modified: ode/trunk/runtimes/src/test/java/org/apache/ode/bpel/rtrep/v2/CoreBpelTest.java
URL: http://svn.apache.org/viewvc/ode/trunk/runtimes/src/test/java/org/apache/ode/bpel/rtrep/v2/CoreBpelTest.java?rev=802551&r1=802550&r2=802551&view=diff
==============================================================================
--- ode/trunk/runtimes/src/test/java/org/apache/ode/bpel/rtrep/v2/CoreBpelTest.java (original)
+++ ode/trunk/runtimes/src/test/java/org/apache/ode/bpel/rtrep/v2/CoreBpelTest.java Sun Aug  9 15:31:00 2009
@@ -544,4 +544,8 @@
 		// TODO Auto-generated method stub
 		return null;
 	}
+
+	public void completeExtensionActivity(String channelId, FaultData faultData) {
+		// TODO Auto-generated method stub
+	}
 }