diff --git a/spring-webflow/src/main/java/org/springframework/webflow/engine/TransitionSet.java b/spring-webflow/src/main/java/org/springframework/webflow/engine/TransitionSet.java index 458bad82..b942b0e0 100644 --- a/spring-webflow/src/main/java/org/springframework/webflow/engine/TransitionSet.java +++ b/spring-webflow/src/main/java/org/springframework/webflow/engine/TransitionSet.java @@ -85,6 +85,14 @@ public class TransitionSet { return transitions.size(); } + /** + * Returns an iterator over this transition set. + * @return an iterator + */ + public Iterator iterator() { + return transitions.iterator(); + } + /** * Convert this set to a typed transition array. * @return the transition set as a typed array diff --git a/spring-webflow/src/main/java/org/springframework/webflow/engine/TransitionableState.java b/spring-webflow/src/main/java/org/springframework/webflow/engine/TransitionableState.java index 0b8b9fd9..050e54c3 100644 --- a/spring-webflow/src/main/java/org/springframework/webflow/engine/TransitionableState.java +++ b/spring-webflow/src/main/java/org/springframework/webflow/engine/TransitionableState.java @@ -15,6 +15,8 @@ */ package org.springframework.webflow.engine; +import java.util.Iterator; + import org.springframework.core.style.StylerUtils; import org.springframework.core.style.ToStringCreator; import org.springframework.webflow.definition.TransitionDefinition; @@ -62,6 +64,12 @@ public abstract class TransitionableState extends State implements Transitionabl } public TransitionDefinition getTransition(String eventId) { + for (Iterator it = transitions.iterator(); it.hasNext();) { + Transition transition = (Transition) it.next(); + if (transition.getId().equals(eventId)) { + return transition; + } + } return null; }