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