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
+       }
 }


Reply via email to