Author: mriou
Date: Wed Feb 27 13:59:26 2008
New Revision: 631745
URL: http://svn.apache.org/viewvc?rev=631745&view=rev
Log:
Static check to forbid empty sequences.
Modified:
ode/branches/APACHE_ODE_1.1/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/CommonCompilationMessages.java
ode/branches/APACHE_ODE_1.1/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/SequenceGenerator.java
Modified:
ode/branches/APACHE_ODE_1.1/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/CommonCompilationMessages.java
URL:
http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.1/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/CommonCompilationMessages.java?rev=631745&r1=631744&r2=631745&view=diff
==============================================================================
---
ode/branches/APACHE_ODE_1.1/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/CommonCompilationMessages.java
(original)
+++
ode/branches/APACHE_ODE_1.1/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/CommonCompilationMessages.java
Wed Feb 27 13:59:26 2008
@@ -475,4 +475,8 @@
return this.formatCompilationMessage("The external variable
declaration for \"{0}\" must specify an external variable identifier.", name);
}
+ public CompilationMessage errEmptySequence() {
+ return this.formatCompilationMessage("Empty sequences are
forbidden.");
+ }
+
}
Modified:
ode/branches/APACHE_ODE_1.1/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/SequenceGenerator.java
URL:
http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.1/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/SequenceGenerator.java?rev=631745&r1=631744&r2=631745&view=diff
==============================================================================
---
ode/branches/APACHE_ODE_1.1/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/SequenceGenerator.java
(original)
+++
ode/branches/APACHE_ODE_1.1/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/SequenceGenerator.java
Wed Feb 27 13:59:26 2008
@@ -24,6 +24,7 @@
import org.apache.ode.bpel.compiler.bom.SequenceActivity;
import org.apache.ode.bpel.o.OActivity;
import org.apache.ode.bpel.o.OSequence;
+import org.apache.ode.utils.msg.MessageBundle;
/**
@@ -32,6 +33,9 @@
class SequenceGenerator extends DefaultActivityGenerator {
+ private static final CommonCompilationMessages __cmsgs =
+ MessageBundle.getMessages(CommonCompilationMessages.class);
+
public OActivity newInstance(Activity src) {
return new OSequence(_context.getOProcess(), _context.getCurrent());
}
@@ -42,6 +46,9 @@
}
protected void compileChildren(OSequence dest, CompositeActivity src) {
+ if (src.getActivities().size() == 0)
+ throw new
CompilationException(__cmsgs.errEmptySequence().setSource(src));
+
for (Activity child : src.getActivities()) {
try {
OActivity compiledChild = _context.compile(child);