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);


Reply via email to