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 2008/02/27 23:00:24 UTC

svn commit: r631747 - in /ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler: CommonCompilationMessages.java SequenceGenerator.java

Author: mriou
Date: Wed Feb 27 14:00:23 2008
New Revision: 631747

URL: http://svn.apache.org/viewvc?rev=631747&view=rev
Log:
Static check to forbid empty sequences.

Modified:
    ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/CommonCompilationMessages.java
    ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/SequenceGenerator.java

Modified: ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/CommonCompilationMessages.java
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/CommonCompilationMessages.java?rev=631747&r1=631746&r2=631747&view=diff
==============================================================================
--- ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/CommonCompilationMessages.java (original)
+++ ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/CommonCompilationMessages.java Wed Feb 27 14:00:23 2008
@@ -471,4 +471,8 @@
         return this.formatCompilationMessage("Empty scopes are forbidden.");
     }
 
+	public CompilationMessage errEmptySequence() {
+		return this.formatCompilationMessage("Empty sequences are forbidden.");
+	}
+
 }

Modified: ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/SequenceGenerator.java
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/SequenceGenerator.java?rev=631747&r1=631746&r2=631747&view=diff
==============================================================================
--- ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/SequenceGenerator.java (original)
+++ ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/SequenceGenerator.java Wed Feb 27 14:00:23 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);