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 2007/05/11 20:30:38 UTC
svn commit: r537260 -
/incubator/ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/InvokeGenerator.java
Author: mriou
Date: Fri May 11 11:30:37 2007
New Revision: 537260
URL: http://svn.apache.org/viewvc?view=rev&rev=537260
Log:
The compiler should allow no input var if the operation input has no part.
Modified:
incubator/ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/InvokeGenerator.java
Modified: incubator/ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/InvokeGenerator.java
URL: http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/InvokeGenerator.java?view=diff&rev=537260&r1=537259&r2=537260
==============================================================================
--- incubator/ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/InvokeGenerator.java (original)
+++ incubator/ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/InvokeGenerator.java Fri May 11 11:30:37 2007
@@ -19,10 +19,6 @@
package org.apache.ode.bpel.compiler;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
import org.apache.ode.bpel.compiler.api.CompilationException;
import org.apache.ode.bpel.compiler.bom.Activity;
import org.apache.ode.bpel.compiler.bom.Correlation;
@@ -35,6 +31,10 @@
import org.apache.ode.utils.stl.CollectionsX;
import org.apache.ode.utils.stl.MemberOfFunction;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
/**
* Generates code for <code><invoke></code> activities.
*/
@@ -63,10 +63,13 @@
// throw new CompilationException(CMSGSG.errPortTypeMismatch(portType,
// onMessage.partnerLink.myRolePortType.getQName()));
if (oinvoke.operation.getInput() != null && oinvoke.operation.getInput().getMessage() != null) {
- if (src.getInputVar() == null)
- throw new CompilationException(__imsgs.errInvokeNoInputMessageForInputOp(oinvoke.operation.getName()));
- oinvoke.inputVar = _context.resolveMessageVariable(src.getInputVar(), oinvoke.operation.getInput()
- .getMessage().getQName());
+ // Input var can be omitted if input message has no part
+ if (oinvoke.operation.getInput().getMessage().getParts().size() > 0) {
+ if (src.getInputVar() == null)
+ throw new CompilationException(__imsgs.errInvokeNoInputMessageForInputOp(oinvoke.operation.getName()));
+ oinvoke.inputVar = _context.resolveMessageVariable(src.getInputVar(), oinvoke.operation.getInput()
+ .getMessage().getQName());
+ }
}
if (oinvoke.operation.getOutput() != null && oinvoke.operation.getOutput().getMessage() != null) {
if (src.getOutputVar() == null)