Package org.jbpm.taskmgmt.exe

Examples of org.jbpm.taskmgmt.exe.TaskInstance


    *
    * @param transitionName the jBPM transition name, or null
    */
   public void endTask(String transitionName)
   {
      TaskInstance task = org.jboss.seam.bpm.TaskInstance.instance();
      if (task==null)
      {
         throw new IllegalStateException( "no task instance associated with context" );
      }
     
      if ( transitionName==null || "".equals(transitionName) )
      {
         transitionName = Transition.instance().getName();
      }
     
      if (transitionName==null)
      {
         task.end();
      }
      else
      {
         task.end(transitionName);
      }
     
      setTaskId(null); //TODO: do I really need this???!
     
      Events.instance().raiseEvent("org.jboss.seam.endTask." + task.getTask().getName());
      ProcessInstance process = org.jboss.seam.bpm.ProcessInstance.instance();
      if ( process.hasEnded() )
      {
         Events.instance().raiseEvent("org.jboss.seam.endProcess." + process.getProcessDefinition().getName());
      }
View Full Code Here


    * @return true if the task was found and was not ended
    */
   public boolean resumeTask(Long taskId)
   {
      setTaskId(taskId);
      TaskInstance task = org.jboss.seam.bpm.TaskInstance.instance();
      if (task==null)
      {
         taskNotFound(taskId);
         return false;
      }
      else if ( task.hasEnded() )
      {
         taskEnded(taskId);
         return false;
      }
      else
      {
         setProcessId( task.getTaskMgmtInstance().getProcessInstance().getId() );
         Events.instance().raiseEvent("org.jboss.seam.initTask." + task.getTask().getName());
         return true;
      }
   }
View Full Code Here

   * @see #loadTaskInstance(long)
   * @see #getTaskInstance(long)
   * @see #getTaskInstanceForUpdate(long)
   */
  public TaskInstance loadTaskInstanceForUpdate(long taskInstanceId) {
    TaskInstance taskInstance = getTaskMgmtSession().loadTaskInstance(taskInstanceId);
    addAutoSaveTaskInstance(taskInstance);
    return taskInstance;
  }
View Full Code Here

   * @see #loadTaskInstance(long)
   * @see #getTaskInstance(long)
   * @see #loadTaskInstanceForUpdate(long)
   */
  public TaskInstance getTaskInstanceForUpdate(long taskInstanceId) {
    TaskInstance taskInstance = getTaskMgmtSession().getTaskInstance(taskInstanceId);
    if (taskInstance!=null) {
      addAutoSaveTaskInstance(taskInstance);
    }
    return taskInstance;
  }
View Full Code Here

  protected void cancelTasks(List tasks) {
    log.info("cancel " + tasks.size() + " tasks");
    if (tasks != null && tasks.size() > 0) {
      for (Iterator it = tasks.iterator(); it.hasNext();) {
        TaskInstance ti = (TaskInstance) it.next();

        // if the process def doesn't set signal="never", we have to
        // manually turn off signaling for all tasks;
        // otherwise, the token will be triggered instead of being
        // ended.
        // Do this until http://jira.jboss.com/jira/browse/JBPM-392 is
        // resolved

        log.info("cancel task " + ti.getId());
        ti.setSignalling(false);
        ti.cancel();
      }
    }
  }
View Full Code Here

        // TODO: Change timers too!

        // change tasks
        Iterator iter = getTasksForToken(token).iterator();
        while (iter.hasNext()) {
            TaskInstance ti = (TaskInstance) iter.next();

            Task oldTask = ti.getTask();
            // find new task
            Query q = jbpmContext.getSession().getNamedQuery("TaskMgmtSession.findTaskForNode");
            q.setString("taskName", oldTask.getName());
            q.setLong("taskNodeId", newNode.getId());
            // TODO: q.setLong("processDefinitionId", newDef.getId());

            Task newTask = (Task) q.uniqueResult();

            if (newTask == null) {
                throw new JbpmException("node '" + newNode.getName() + "' has no Task configured! Check the new process definition");
            }

            ti.setTask(newTask);
            log.debug("change dependent task-instance with id " + oldTask.getId());
        }

        // change childs recursive
        Iterator childIter = token.getChildren().values().iterator();
View Full Code Here

    }

    public Object execute(JbpmContext jbpmContext) throws Exception {

        if (taskInstanceId > 0) {
            TaskInstance taskInstance = jbpmContext.getTaskInstance(taskInstanceId);
            if (taskInstance != null) {
                retrieveTaskInstanceDetails(taskInstance);
            }

            return taskInstance;
        }
        else if (tokenId > 0) {
            List result = jbpmContext.getTaskMgmtSession().findTaskInstancesByToken(tokenId);
            for (Iterator iter = result.iterator(); iter.hasNext();) {
                TaskInstance ti = (TaskInstance) iter.next();
                retrieveTaskInstanceDetails(ti);
            }
            return result;
        }
        else if (processInstanceId > 0) {
            List result = jbpmContext.getTaskMgmtSession().findTaskInstancesByProcessInstance(jbpmContext.getProcessInstance(processInstanceId));
            for (Iterator iter = result.iterator(); iter.hasNext();) {
                TaskInstance ti = (TaskInstance) iter.next();
                retrieveTaskInstanceDetails(ti);
            }
            return result;
        }
        else
View Full Code Here

         @Override
         protected void renderResponse() throws Exception
         {
            List<TaskInstance> tasks = (List<TaskInstance>) getInstance(TaskInstanceList.class);
            assert tasks.size()==1;
            TaskInstance taskInstance = tasks.get(0);
            assert taskInstance.getDescription().equals("Kick Roy out of my office");
            taskId = taskInstance.getId();
         }
        
      }.run();

  
View Full Code Here

   @Override
   public Object getValue()
   {
      ValueBinding valueBinding = getValueBinding("taskInstance");
      if (valueBinding==null) valueBinding = getFacesContext().getApplication().createValueBinding("#{task}");
      TaskInstance taskInstance = (TaskInstance) valueBinding.getValue( getFacesContext() );
      return taskInstance==null ? null : taskInstance.getId();
   }
View Full Code Here

    * @see Actor
    */
   public void startTask()
   {
      String actorId = Actor.instance().getId();
      TaskInstance task = org.jboss.seam.core.TaskInstance.instance();
      if ( actorId != null )
      {
         task.start(actorId);
      }
      else
      {
         task.start();
      }
     
      Events.instance().raiseEvent("org.jboss.seam.startTask." + task.getTask().getName());
   }
View Full Code Here

TOP

Related Classes of org.jbpm.taskmgmt.exe.TaskInstance

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.