[jboss-cvs] jboss-seam/src/main/org/jboss/seam/pages ...

Peter Muir peter at bleepbleep.org.uk
Wed Feb 21 13:33:08 EST 2007


  User: pmuir   
  Date: 07/02/21 13:33:08

  Modified:    src/main/org/jboss/seam/pages     Page.java Rule.java
  Added:       src/main/org/jboss/seam/pages     ProcessControl.java
                        TaskControl.java
  Log:
  JBSEAM-891
  
  Revision  Changes    Path
  1.12      +12 -0     jboss-seam/src/main/org/jboss/seam/pages/Page.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: Page.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/pages/Page.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -b -r1.11 -r1.12
  --- Page.java	13 Feb 2007 06:50:45 -0000	1.11
  +++ Page.java	21 Feb 2007 18:33:08 -0000	1.12
  @@ -29,6 +29,8 @@
      private boolean conversationRequired;
      private boolean loginRequired;
      private ConversationControl conversationControl = new ConversationControl();
  +   private TaskControl taskControl = new TaskControl();
  +   private ProcessControl processControl = new ProcessControl();
      
      /**
       * Indicates whether this view id has a security restriction.  
  @@ -166,6 +168,14 @@
      {
         return conversationControl;
      }
  +   public TaskControl getTaskControl()
  +   {
  +      return taskControl;
  +   }
  +   public ProcessControl getProcessControl()
  +   {
  +      return processControl;
  +   }  
      public List<Action> getActions()
      {
         return actions;
  @@ -192,6 +202,8 @@
         boolean result = false;
         
         getConversationControl().beginOrEndConversation();
  +      getTaskControl().beginOrEndTask();
  +      getProcessControl().createOrResumeProcess();
         
         for ( Input in: getInputs() ) in.in();
      
  
  
  
  1.2       +93 -79    jboss-seam/src/main/org/jboss/seam/pages/Rule.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: Rule.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/pages/Rule.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -b -r1.1 -r1.2
  --- Rule.java	19 Dec 2006 21:16:54 -0000	1.1
  +++ Rule.java	21 Feb 2007 18:33:08 -0000	1.2
  @@ -16,6 +16,8 @@
      private ValueBinding condition;
      private List<Output> outputs = new ArrayList<Output>();
      private ConversationControl conversationControl = new ConversationControl();
  +   private TaskControl taskControl = new TaskControl();
  +   private ProcessControl processControl = new ProcessControl();
      private NavigationHandler navigationHandler = new NavigationHandler() { 
         @Override
         public boolean navigate(FacesContext context) 
  @@ -46,6 +48,16 @@
         return conversationControl;
      }
   
  +   public TaskControl getTaskControl()
  +   {
  +      return taskControl;
  +   }
  +   
  +   public ProcessControl getProcessControl()
  +   {
  +      return processControl;
  +   }
  +
      public ValueBinding getCondition()
      {
         return condition;
  @@ -74,6 +86,8 @@
      public boolean execute(FacesContext context)
      {
         getConversationControl().beginOrEndConversation();
  +      getTaskControl().beginOrEndTask();
  +      getProcessControl().createOrResumeProcess();
         for ( Output output: getOutputs() ) output.out();
         return getNavigationHandler().navigate(context);
      }
  
  
  
  1.1      date: 2007/02/21 18:33:08;  author: pmuir;  state: Exp;jboss-seam/src/main/org/jboss/seam/pages/ProcessControl.java
  
  Index: ProcessControl.java
  ===================================================================
  /**
   * 
   */
  package org.jboss.seam.pages;
  
  import org.jboss.seam.core.BusinessProcess;
  import org.jboss.seam.core.Expressions.ValueBinding;
  
  public class ProcessControl
  {
     private boolean isCreateProcess;
     private boolean isResumeProcess;
     private String definition;
     private ValueBinding<Long> processId;
  
     public void createOrResumeProcess()
     {
        if (createProcess())
        {
           BusinessProcess.instance().createProcess(definition);
        }
        if (resumeProcess())
        {
           BusinessProcess.instance().resumeProcess(processId.getValue());
        }
     }
  
     private boolean createProcess()
     {
        return isCreateProcess;
     }
  
     private boolean resumeProcess()
     {
        return isResumeProcess;
     }
  
     public boolean isCreateProcess()
     {
        return isCreateProcess;
     }
     
     public void setCreateProcess(boolean isCreateProcess)
     {
        this.isCreateProcess = isCreateProcess;
     }
     
     public boolean isResumeProcess()
     {
        return isResumeProcess;
     }
     
     public void setResumeProcess(boolean isResumeProcess)
     {
        this.isResumeProcess = isResumeProcess;
     }
     
     public String getDefinition()
     {
        return definition;
     }
     
     public void setDefinition(String definition)
     {
        this.definition = definition;
     }
     
     public ValueBinding<Long> getProcessId()
     {
        return processId;
     }
     
     public void setProcessId(ValueBinding<Long> processId)
     {
        this.processId = processId;
     }
  
  }
  
  
  1.1      date: 2007/02/21 18:33:08;  author: pmuir;  state: Exp;jboss-seam/src/main/org/jboss/seam/pages/TaskControl.java
  
  Index: TaskControl.java
  ===================================================================
  /**
   * 
   */
  package org.jboss.seam.pages;
  
  import org.jboss.seam.core.BusinessProcess;
  import org.jboss.seam.core.Expressions.ValueBinding;
  
  public class TaskControl
  {
  
     private boolean isBeginTask;
  
     private boolean isStartTask;
  
     private boolean isEndTask;
  
     private ValueBinding<String> taskId;
  
     private ValueBinding<String> transition;
  
     public void beginOrEndTask()
     {
        if (endTask())
        {
           String t = null;
           if (transition != null) 
           {
             t =transition.getValue();
           } 
           BusinessProcess.instance().validateTask();
           BusinessProcess.instance().endTask(t);
        }
        if (beginTask() || startTask())
        {
           BusinessProcess.instance().resumeTask(new Long(taskId.getValue()));
        }
        if (startTask())
        {
           BusinessProcess.instance().startTask();
        }
     }
  
     private boolean beginTask()
     {
        return isBeginTask && taskId.getValue() != null;
     }
  
     private boolean startTask()
     {
        return isStartTask && taskId.getValue() != null;
     }
  
     private boolean endTask()
     {
        return isEndTask;
     }
  
     public boolean isBeginTask()
     {
        return isBeginTask;
     }
  
     public void setBeginTask(boolean isBeginTask)
     {
        this.isBeginTask = isBeginTask;
     }
  
     public boolean isEndTask()
     {
        return isEndTask;
     }
  
     public void setEndTask(boolean isEndTask)
     {
        this.isEndTask = isEndTask;
     }
  
     public boolean isStartTask()
     {
        return isStartTask;
     }
  
     public void setStartTask(boolean isStartTask)
     {
        this.isStartTask = isStartTask;
     }
  
     public void setTaskId(ValueBinding<String> taskId)
     {
        this.taskId = taskId;
     }
  
     public ValueBinding<String> getTaskId()
     {
        return taskId;
     }
     
     public ValueBinding<String> getTransition()
     {
        return transition;
     }
     
     public void setTransition(ValueBinding<String> transition)
     {
        this.transition = transition;
     }
  
  }
  
  



More information about the jboss-cvs-commits mailing list