You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by an...@apache.org on 2003/06/02 19:34:59 UTC
cvs commit: cocoon-lenya/src/java/org/apache/lenya/workflow/impl WorkflowImpl.java
andreas 2003/06/02 10:34:59
Modified: src/java/org/apache/lenya/workflow/impl WorkflowImpl.java
Log:
added event + variable handling
Revision Changes Path
1.2 +52 -16 cocoon-lenya/src/java/org/apache/lenya/workflow/impl/WorkflowImpl.java
Index: WorkflowImpl.java
===================================================================
RCS file: /home/cvs/cocoon-lenya/src/java/org/apache/lenya/workflow/impl/WorkflowImpl.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- WorkflowImpl.java 30 May 2003 19:32:43 -0000 1.1
+++ WorkflowImpl.java 2 Jun 2003 17:34:58 -0000 1.2
@@ -10,9 +10,11 @@
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
+
import org.apache.lenya.workflow.State;
import org.apache.lenya.workflow.Transition;
import org.apache.lenya.workflow.Workflow;
+import org.apache.lenya.workflow.WorkflowException;
/**
*
@@ -21,7 +23,7 @@
public class WorkflowImpl implements Workflow {
/** Creates a new instance of WorkflowImpl */
- protected WorkflowImpl(State initialState) {
+ protected WorkflowImpl(StateImpl initialState) {
this.initialState = initialState;
addState(initialState);
}
@@ -38,9 +40,9 @@
private Set transitions = new HashSet();
private Map states = new HashMap();
-
- private void addState(State state) {
- states.put(((StateImpl) state).getId(), state);
+
+ private void addState(StateImpl state) {
+ states.put(state.getId(), state);
}
/**
@@ -54,8 +56,7 @@
}
protected TransitionImpl[] getTransitions() {
- return (TransitionImpl[]) transitions.toArray(
- new TransitionImpl[transitions.size()]);
+ return (TransitionImpl[]) transitions.toArray(new TransitionImpl[transitions.size()]);
}
/** Returns the destination state of a transition.
@@ -81,8 +82,7 @@
leavingTransitions.add(transitions[i]);
}
}
- return (Transition[]) leavingTransitions.toArray(
- new Transition[leavingTransitions.size()]);
+ return (Transition[]) leavingTransitions.toArray(new Transition[leavingTransitions.size()]);
}
/**
@@ -93,13 +93,49 @@
protected boolean containsState(State state) {
return states.containsValue(state);
}
-
- protected State[] getStates() {
- return (State[]) states.values().toArray(new State[states.size()]);
- }
-
- protected State getState(String name) {
- return (State) states.get(name);
+
+ protected StateImpl[] getStates() {
+ return (StateImpl[]) states.values().toArray(new StateImpl[states.size()]);
+ }
+
+ protected StateImpl getState(String name) throws WorkflowException {
+ if (!states.containsKey(name)) {
+ throw new WorkflowException("Workflow does not contain the state '" + name + "'!");
+ }
+ return (StateImpl) states.get(name);
}
-
+
+ private Map events = new HashMap();
+
+ protected void addEvent(EventImpl event) {
+ assert event != null;
+ events.put(event.getName(), event);
+ }
+
+ public EventImpl getEvent(String name) throws WorkflowException {
+ if (!events.containsKey(name)) {
+ throw new WorkflowException("Workflow does not contain the event '" + name + "'!");
+ }
+ return (EventImpl) events.get(name);
+ }
+
+ private Map variables = new HashMap();
+
+ protected void addVariable(BooleanVariableImpl variable) {
+ assert variable != null;
+ variables.put(variable.getName(), variable);
+ }
+
+ public BooleanVariableImpl getVariable(String name) throws WorkflowException {
+ if (!variables.containsKey(name)) {
+ throw new WorkflowException("Workflow does not contain the variable '" + name + "'!");
+ }
+ return (BooleanVariableImpl) variables.get(name);
+ }
+
+ protected BooleanVariableImpl[] getVariables() {
+ return (BooleanVariableImpl[]) variables.values().toArray(
+ new BooleanVariableImpl[variables.size()]);
+ }
+
}
---------------------------------------------------------------------
To unsubscribe, e-mail: lenya-cvs-unsubscribe@cocoon.apache.org
For additional commands, e-mail: lenya-cvs-help@cocoon.apache.org