Package org.drools.process.instance.impl

Examples of org.drools.process.instance.impl.WorkItemImpl


    assertTrue(manager.waitTillAborted(MANAGER_ABORT_WAIT_TIME));
  }

  public void testTaskAbortSkippable() throws Exception {
    TestWorkItemManager manager = new TestWorkItemManager();
    WorkItemImpl workItem = new WorkItemImpl();
    workItem.setName("Human Task");
    workItem.setParameter("TaskName", "TaskName");
    workItem.setParameter("Comment", "Comment");
    workItem.setParameter("Priority", "10");
    workItem.setParameter("ActorId", "Darth Vader");
    getHandler().executeWorkItem(workItem, manager);

    Thread.sleep(500);

    getHandler().abortWorkItem(workItem, manager);
View Full Code Here


    assertEquals(0, tasks.size());
  }

  public void testTaskAbortNotSkippable() throws Exception {
    TestWorkItemManager manager = new TestWorkItemManager();
    WorkItemImpl workItem = new WorkItemImpl();
    workItem.setName("Human Task");
    workItem.setParameter("TaskName", "TaskName");
    workItem.setParameter("Comment", "Comment");
    workItem.setParameter("Priority", "10");
    workItem.setParameter("ActorId", "Darth Vader");
    workItem.setParameter("Skippable", "false");
    getHandler().executeWorkItem(workItem, manager);

    Thread.sleep(500);

    BlockingTaskSummaryResponseHandler responseHandler = new BlockingTaskSummaryResponseHandler();
View Full Code Here

    assertEquals(1, tasks.size());
  }

  public void testTaskData() throws Exception {
    TestWorkItemManager manager = new TestWorkItemManager();
    WorkItemImpl workItem = new WorkItemImpl();
    workItem.setName("Human Task");
    workItem.setParameter("TaskName", "TaskName");
    workItem.setParameter("Comment", "Comment");
    workItem.setParameter("Priority", "10");
    workItem.setParameter("ActorId", "Darth Vader");
    workItem.setParameter("Content", "This is the content");
    getHandler().executeWorkItem(workItem, manager);

    Thread.sleep(500);

    BlockingTaskSummaryResponseHandler responseHandler = new BlockingTaskSummaryResponseHandler();
View Full Code Here

  public void TODOtestOnAllSubTasksEndParentEndStrategy() throws Exception {

    TestWorkItemManager manager = new TestWorkItemManager();
    //Create the parent task
    WorkItemImpl workItem = new WorkItemImpl();
    workItem.setName("Human Task");
    workItem.setParameter("TaskName", "TaskNameParent");
    workItem.setParameter("Comment", "CommentParent");
    workItem.setParameter("Priority", "10");
    workItem.setParameter("ActorId", "Darth Vader");
    //Set the subtask policy
    workItem.setParameter("SubTaskStrategies", "OnAllSubTasksEndParentEnd");
    getHandler().executeWorkItem(workItem, manager);


    Thread.sleep(500);

    //Test if the task is succesfully created
    BlockingTaskSummaryResponseHandler responseHandler = new BlockingTaskSummaryResponseHandler();
    getClient().getTasksAssignedAsPotentialOwner("Darth Vader", "en-UK", responseHandler);
    List<TaskSummary> tasks = responseHandler.getResults();
    assertEquals(1, tasks.size());
    TaskSummary task = tasks.get(0);
    assertEquals("TaskNameParent", task.getName());
    assertEquals(10, task.getPriority());
    assertEquals("CommentParent", task.getDescription());
    assertEquals(Status.Reserved, task.getStatus());
    assertEquals("Darth Vader", task.getActualOwner().getId());

    //Create the child task
    workItem = new WorkItemImpl();
    workItem.setName("Human Task");
    workItem.setParameter("TaskName", "TaskNameChild1");
    workItem.setParameter("Comment", "CommentChild1");
    workItem.setParameter("Priority", "10");
    workItem.setParameter("ActorId", "Darth Vader");
    workItem.setParameter("ParentId", task.getId());
    getHandler().executeWorkItem(workItem, manager);

    Thread.sleep(500);

    //Create the child task2
    workItem = new WorkItemImpl();
    workItem.setName("Human Task2");
    workItem.setParameter("TaskName", "TaskNameChild2");
    workItem.setParameter("Comment", "CommentChild2");
    workItem.setParameter("Priority", "10");
    workItem.setParameter("ActorId", "Darth Vader");
    workItem.setParameter("ParentId", task.getId());
    getHandler().executeWorkItem(workItem, manager);

    Thread.sleep(500);

    //Start the parent task
View Full Code Here

  public void TODOtestOnParentAbortAllSubTasksEndStrategy() throws Exception {

    TestWorkItemManager manager = new TestWorkItemManager();
    //Create the parent task
    WorkItemImpl workItem = new WorkItemImpl();
    workItem.setName("Human Task");
    workItem.setParameter("TaskName", "TaskNameParent");
    workItem.setParameter("Comment", "CommentParent");
    workItem.setParameter("Priority", "10");
    workItem.setParameter("ActorId", "Darth Vader");
    //Set the subtask policy
    workItem.setParameter("SubTaskStrategies", "OnParentAbortAllSubTasksEnd");
    getHandler().executeWorkItem(workItem, manager);


    Thread.sleep(500);

    //Test if the task is succesfully created
    BlockingTaskSummaryResponseHandler responseHandler = new BlockingTaskSummaryResponseHandler();
    getClient().getTasksAssignedAsPotentialOwner("Darth Vader", "en-UK", responseHandler);
    List<TaskSummary> tasks = responseHandler.getResults();
    assertEquals(1, tasks.size());
    TaskSummary task = tasks.get(0);
    assertEquals("TaskNameParent", task.getName());
    assertEquals(10, task.getPriority());
    assertEquals("CommentParent", task.getDescription());
    assertEquals(Status.Reserved, task.getStatus());
    assertEquals("Darth Vader", task.getActualOwner().getId());

    //Create the child task
    workItem = new WorkItemImpl();
    workItem.setName("Human Task");
    workItem.setParameter("TaskName", "TaskNameChild1");
    workItem.setParameter("Comment", "CommentChild1");
    workItem.setParameter("Priority", "10");
    workItem.setParameter("ActorId", "Darth Vader");
    workItem.setParameter("ParentId", task.getId());
    getHandler().executeWorkItem(workItem, manager);

    Thread.sleep(500);

    //Create the child task2
    workItem = new WorkItemImpl();
    workItem.setName("Human Task2");
    workItem.setParameter("TaskName", "TaskNameChild2");
    workItem.setParameter("Comment", "CommentChild2");
    workItem.setParameter("Priority", "10");
    workItem.setParameter("ActorId", "Darth Vader");
    workItem.setParameter("ParentId", task.getId());
    getHandler().executeWorkItem(workItem, manager);

    Thread.sleep(500);

    //Start the parent task
View Full Code Here

public class WorkItemMarshallingTest {

    private WorkItem createWorkItem(Object [] input ) {
        int i = 0;
        WorkItemImpl impl = new WorkItemImpl();
        impl.setId((Long) input[i++]);
        impl.setName((String) input[i++]);
        impl.setParameter((String) input[i++], input[i++] );
        impl.setParameter((String) input[i++], input[i++] );
        impl.setParameter((String) input[i++], input[i++] );
       
        impl.setProcessInstanceId((Long) input[i++]);
        impl.setState((Integer) input[i++]);
       
        return (WorkItem) impl;
    }
View Full Code Here

    }

    public static WorkItem readWorkItem( MarshallerReaderContext context ) throws IOException {
        ObjectInputStream stream = context.stream;

        WorkItemImpl workItem = new WorkItemImpl();
        workItem.setId( stream.readLong() );
        workItem.setProcessInstanceId( stream.readLong() );
        workItem.setName( stream.readUTF() );
        workItem.setState( stream.readInt() );

        //WorkItem Paramaters
        int nbVariables = stream.readInt();
        if (nbVariables > 0) {

            for (int i = 0; i < nbVariables; i++) {
                String name = stream.readUTF();
                try {
                    int index = stream.readInt();
                    ObjectMarshallingStrategy strategy = null;
                    // Old way of retrieving strategy objects
                    if (index >= 0) {
                        strategy = context.resolverStrategyFactory.getStrategy( index );
                        if (strategy == null) {
                            throw new IllegalStateException( "No strategy of with index " + index + " available." );
                        }
                    }
                    // New way
                    else if (index == -2) {
                        String strategyClassName = stream.readUTF();
                        strategy = context.resolverStrategyFactory.getStrategyObject( strategyClassName );
                        if (strategy == null) {
                            throw new IllegalStateException( "No strategy of type " + strategyClassName + " available." );
                        }
                    }

                    Object value = strategy.read( stream );
                    workItem.setParameter( name,
                                           value );
                } catch (ClassNotFoundException e) {
                    throw new IllegalArgumentException(
                                                        "Could not reload variable " + name );
                }
View Full Code Here

 
  private TaskUtils() {
  }
 
  public static WorkItem createWorkItem(Task task, JpdlNodeInstance nodeInstance) {
    WorkItemImpl workItem = new WorkItemImpl();
    workItem.setName("JpdlTask");
    workItem.setProcessInstanceId(nodeInstance.getProcessInstance().getId());
    workItem.setParameter("name", task.getName());
    String description = task.getDescription();
    workItem.setParameter("signalling", task.isSignalling());
    workItem.setParameter("blocking", task.isBlocking());
    if ((description != null) && (description.indexOf("#{") != -1)) {
      Object result = JbpmExpressionEvaluator.evaluate(
        description, nodeInstance.new JpdlExecutionContext());
      if (result != null) {
        description = result.toString();
      }
    }
    workItem.setParameter("Description", description);
    initializeVariables(workItem, task, nodeInstance);
    if (task.getDueDate() != null) {
        BusinessCalendar businessCalendar = new BusinessCalendar();
        workItem.setParameter("dueDate",
              businessCalendar.add(new Date(), new Duration(task.getDueDate())));
      }
    if (task.getSwimlane() != null) {
        String swimlaneName = task.getSwimlane().getName();
        SwimlaneContextInstance swimlaneContextInstance = (SwimlaneContextInstance)
            nodeInstance.resolveContextInstance(SwimlaneContext.SWIMLANE_SCOPE, swimlaneName);
        String actorId = swimlaneContextInstance.getActorId(swimlaneName);
        if (actorId == null) {
            actorId = assignTask(task, nodeInstance);
        }
        workItem.setParameter("ActorId", actorId);
    }
    Event event = task.getEvent(Event.EVENTTYPE_TASK_CREATE);
        if (event != null) {
            // TODO this doesn't take event handlers of task itself
            // into account
View Full Code Here

  }

  public void execute(NodeInstance from, String type) {
    MailNode mailNode = getMailNode();
    WorkItemManager workItemManager = getProcessInstance().getWorkingMemory().getWorkItemManager();
    WorkItemImpl workItem = new WorkItemImpl();
    workItem.setName("JpdlEmail");
    workItem.setProcessInstanceId(getProcessInstance().getId());
    workItem.setParameter("template", mailNode.getTemplate());
        workItem.setParameter("actors", mailNode.getActors());
        workItem.setParameter("to", mailNode.getTo());
        workItem.setParameter("subject", mailNode.getSubject());
        workItem.setParameter("text", mailNode.getText());
    workItemManager.internalExecuteWorkItem(workItem);
    leave();
  }
View Full Code Here

    Set<Task> tasks = getTaskNode().getTasks();
    if ((getTaskNode().isCreateTasks()) && (tasks != null)) {
      addEventListeners();
      for (Task task: tasks) {
        if (evaluateTaskCondition(task.getCondition())) {
          WorkItemImpl workItem = (WorkItemImpl) TaskUtils.createWorkItem(task, this);
          workItems.add(workItem);
              getProcessInstance().getWorkingMemory()
                .getWorkItemManager().internalExecuteWorkItem(workItem);
        }
      }
View Full Code Here

TOP

Related Classes of org.drools.process.instance.impl.WorkItemImpl

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.