You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by ms...@apache.org on 2006/07/27 23:14:24 UTC
svn commit: r426244 -
/incubator/ode/scratch/pxe-iapi/bpel-dd/src/main/java/com/fs/pxe/bpel/dd/EventFilterValidator.java
Author: mszefler
Date: Thu Jul 27 14:14:23 2006
New Revision: 426244
URL: http://svn.apache.org/viewvc?rev=426244&view=rev
Log:
Added missing file: EventFilterValidator.java
Added:
incubator/ode/scratch/pxe-iapi/bpel-dd/src/main/java/com/fs/pxe/bpel/dd/EventFilterValidator.java
Added: incubator/ode/scratch/pxe-iapi/bpel-dd/src/main/java/com/fs/pxe/bpel/dd/EventFilterValidator.java
URL: http://svn.apache.org/viewvc/incubator/ode/scratch/pxe-iapi/bpel-dd/src/main/java/com/fs/pxe/bpel/dd/EventFilterValidator.java?rev=426244&view=auto
==============================================================================
--- incubator/ode/scratch/pxe-iapi/bpel-dd/src/main/java/com/fs/pxe/bpel/dd/EventFilterValidator.java (added)
+++ incubator/ode/scratch/pxe-iapi/bpel-dd/src/main/java/com/fs/pxe/bpel/dd/EventFilterValidator.java Thu Jul 27 14:14:23 2006
@@ -0,0 +1,34 @@
+package com.fs.pxe.bpel.dd;
+
+import com.fs.pxe.bpel.o.OBase;
+import com.fs.pxe.bpel.o.OProcess;
+import com.fs.pxe.bpel.o.OScope;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Validates event filters declared on scopes.
+ */
+public class EventFilterValidator implements DDValidator {
+
+ public void validate(TDeploymentDescriptor dd, OProcess process) throws DDValidationException {
+ List<String> scopeNames = getProcessScopeNames(process);
+ if (dd.getProcessEvents() != null && dd.getProcessEvents().getScopeEventsList().size() > 0) {
+ for (TDeploymentDescriptor.ProcessEvents.ScopeEvents scopeEvents : dd.getProcessEvents().getScopeEventsList()) {
+ if (!scopeNames.contains(scopeEvents.getName()))
+ throw new DDValidationException("Event filters are declared for scope " +
+ scopeEvents.getName() + " in your deployment descriptor but this scope " +
+ "can't be found in the process definition.");
+ }
+ }
+ }
+
+ private List<String> getProcessScopeNames(OProcess process) {
+ ArrayList<String> names = new ArrayList<String>();
+ for (OBase oBase : process.getChildren()) {
+ if (oBase instanceof OScope) names.add(((OScope)oBase).name);
+ }
+ return names;
+ }
+}