Package org.activiti.engine

Examples of org.activiti.engine.TaskService


    variableMap.put("name", "Activiti");
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("Unclaim", variableMap);
    assertNotNull(processInstance.getId());
    System.out.println("id " + processInstance.getId() + " " + processInstance.getProcessDefinitionId());

    TaskService taskService = activitiRule.getTaskService();
    assertEquals(taskService.createTaskQuery().taskCandidateUser("user1").count(), 1);
    assertEquals(taskService.createTaskQuery().taskCandidateUser("user2").count(), 1);
    assertEquals(taskService.createTaskQuery().taskCandidateUser("user3").count(), 1);

    Task task = taskService.createTaskQuery().singleResult();
    taskService.claim(task.getId(), "user1");

    assertEquals(taskService.createTaskQuery().taskCandidateUser("user1").count(), 0);
    assertEquals(taskService.createTaskQuery().taskCandidateUser("user2").count(), 0);
    assertEquals(taskService.createTaskQuery().taskCandidateUser("user3").count(), 0);

    ManagementService managementService = activitiRule.getManagementService();
    TablePage listPage = managementService.createTablePageQuery().tableName(managementService.getTableName(IdentityLinkEntity.class)).listPage(0, 100);
    List<Map<String, Object>> rows = listPage.getRows();
    for (Map<String, Object> map : rows) {
      Set<Entry<String, Object>> entrySet = map.entrySet();
      for (Entry<String, Object> entry : entrySet) {
        // System.out.println("key=" + entry.getKey() + ", value=" +
        if (entry.getKey().equals("TYPE_")) {
          assertTrue(ArrayUtils.contains(new String[] { "user1", "user2", "user3" }, map.get("USER_ID_").toString()));
        }
      }
    }

    // unclaim
    taskService.setAssignee(task.getId(), null);
    assertEquals(taskService.createTaskQuery().taskCandidateUser("user1").count(), 1);
    assertEquals(taskService.createTaskQuery().taskCandidateUser("user2").count(), 1);
    assertEquals(taskService.createTaskQuery().taskCandidateUser("user3").count(), 1);
  }
View Full Code Here


    // Link
    Link link = null;
    if(attachment.getUrl() != null) {
      link = new Link(attachment.getUrl(), new ExternalResource(attachment.getUrl()));
    } else {
      TaskService taskService = ProcessEngines.getDefaultProcessEngine().getTaskService();
      Resource res = new StreamResource(new InputStreamStreamSource(taskService.getAttachmentContent(attachment.getId())),
              attachment.getName() + extractExtention(attachment.getType()),ExplorerApp.get());
     
      link = new Link(attachment.getName(), res);
    }
   
View Full Code Here

    Label description = new Label(attachment.getDescription());
    description.setSizeUndefined();
    verticalLayout.addComponent(description);
   
    // Image
    TaskService taskService = ProcessEngines.getDefaultProcessEngine().getTaskService();
   
    String mimeType = extractMineType(attachment.getType());
   
    InputStream imageStream = ImageUtil.smallify(taskService.getAttachmentContent(attachment.getId()), mimeType, 900, 550);
    Resource resource = new StreamResource(new InputStreamStreamSource(imageStream),
            attachment.getName() + extractExtention(attachment.getType()),ExplorerApp.get());
    Embedded image = new Embedded(null, resource);
    verticalLayout.addComponent(image);
   
    // Linke
    HorizontalLayout LinkLayout = new HorizontalLayout();
    LinkLayout.setSpacing(true);
    verticalLayout.addComponent(LinkLayout);
    verticalLayout.setComponentAlignment(LinkLayout, Alignment.MIDDLE_CENTER);
   
    Label fullSizeLabel = new Label(ExplorerApp.get().getI18nManager().getMessage(Messages.RELATED_CONTENT_SHOW_FULL_SIZE));
    LinkLayout.addComponent(fullSizeLabel);
   
    Link link = null;
    if(attachment.getUrl() != null) {
      link = new Link(attachment.getUrl(), new ExternalResource(attachment.getUrl()));
    } else {
      taskService = ProcessEngines.getDefaultProcessEngine().getTaskService();
      Resource res = new StreamResource(new InputStreamStreamSource(taskService.getAttachmentContent(attachment.getId())),
              attachment.getName() + extractExtention(attachment.getType()),ExplorerApp.get());
     
      link = new Link(attachment.getName(), res);
    }
   
View Full Code Here

   * @param executionId
   *          执行ID
   */
  public void autoClaim(String executionId) {

    TaskService taskService = activitiRule.getTaskService();
    RepositoryService repositoryService = activitiRule.getRepositoryService();
    HistoryService historyService = activitiRule.getHistoryService();

    // 查询最新的任务
    List<Task> newTasks = taskService.createTaskQuery().executionId(executionId).list();
    for (Task task : newTasks) {

      // 查询并验证任务是否已经分配到具体人
      if (task.getAssignee() != null) {
        return;
      }

      // 验证任务是分配到组
      ProcessDefinitionEntity processDefinition = (ProcessDefinitionEntity) ((RepositoryServiceImpl) repositoryService).getDeployedProcessDefinition(task
              .getProcessDefinitionId());

      // 获得当前任务的所有节点
      List<ActivityImpl> activitiList = processDefinition.getActivities();

      for (ActivityImpl activity : activitiList) {
        // 当前节点
        if (task.getTaskDefinitionKey().equals(activity.getId())) {
          ActivityBehavior activityBehavior = activity.getActivityBehavior();

          // 匹配用户任务
          if (activityBehavior instanceof UserTaskActivityBehavior) {
            UserTaskActivityBehavior userTaskActivityBehavior = (UserTaskActivityBehavior) activityBehavior;
            TaskDefinition taskDefinition = userTaskActivityBehavior.getTaskDefinition();
            Set<Expression> candidateUserIdExpressions = taskDefinition.getCandidateUserIdExpressions();
            Set<Expression> candidateGroupIdExpressions = taskDefinition.getCandidateGroupIdExpressions();
            if (!candidateGroupIdExpressions.isEmpty() || !candidateUserIdExpressions.isEmpty()) {

              // 查询历史任务中最新的一条同名记录
              List<HistoricTaskInstance> historicTaskInstances = historyService.createHistoricTaskInstanceQuery()
                      .taskDefinitionKey(task.getTaskDefinitionKey()).executionId(executionId).orderByHistoricTaskInstanceEndTime().desc().list();

              // 没有历史任务时继续下一个循环
              if (historicTaskInstances.isEmpty()) {
                continue;
              }

              // 查询有办理人的历史任务
              HistoricTaskInstance historySameKeyTask = null;
              for (HistoricTaskInstance historicTaskInstance : historicTaskInstances) {
                if (historicTaskInstance.getAssignee() != null) {
                  historySameKeyTask = historicTaskInstance;
                  break;
                }
              }

              // 如果这条任务已经办理过由系统自动签收分配给上一次办理的人
              if (historySameKeyTask != null && StringUtils.isNotBlank(historySameKeyTask.getAssignee())) {
                String lastAssignee = historySameKeyTask.getAssignee();
                taskService.claim(task.getId(), lastAssignee);
              }
             
            }
          }
        }
View Full Code Here

    variableMap.put("name", "Activiti");
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("JumpFree", variableMap);
    assertNotNull(processInstance.getId());
    System.out.println("id " + processInstance.getId() + " " + processInstance.getProcessDefinitionId());
   
    TaskService taskService = activitiRule.getTaskService();
    Task task = taskService.createTaskQuery().singleResult();
    assertNotNull(task);
    assertEquals("usertask1", task.getTaskDefinitionKey());
  }
View Full Code Here

    RuntimeService runtimeService = activitiRule.getRuntimeService();
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("testSubprocessQun");
    assertNotNull(processInstance.getId());
    System.out.println("id " + processInstance.getId() + " " + processInstance.getProcessDefinitionId());

    TaskService taskService = activitiRule.getTaskService();
    Task task = taskService.createTaskQuery().singleResult();

    List<String> users = new ArrayList<String>();
    users.add("user1");
    users.add("user2");
    users.add("user3");

    Map<String, Object> variables = new HashMap<String, Object>();
    variables.put("users", users);

    taskService.complete(task.getId(), variables);

    for (String string : users) {
      assertEquals(1, taskService.createTaskQuery().taskAssignee(string).count());
    }
  }
View Full Code Here

    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("UserTaskBpmnAssignee", variableMap);
    assertNotNull(processInstance.getId());
    System.out.println("id " + processInstance.getId() + " "
        + processInstance.getProcessDefinitionId());
   
    TaskService taskService = activitiRule.getTaskService();
    assertEquals(1, taskService.createTaskQuery().taskCandidateUser("henryyan").count());
    assertEquals(1, taskService.createTaskQuery().taskCandidateGroup("role1").count());
    assertEquals(1, taskService.createTaskQuery().taskCandidateGroup("role2").count());
  }
View Full Code Here

    variableMap.put("name", "Activiti");
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("ReciveTask", variableMap);
    assertNotNull(processInstance.getId());
    System.out.println("id " + processInstance.getId() + " " + processInstance.getProcessDefinitionId());
   
    TaskService taskService = activitiRule.getTaskService();
    List<Task> list = taskService.createTaskQuery().list();
    assertEquals(0, list.size());
   
    HistoryService historyService = activitiRule.getHistoryService();
   
    // 读取所有的activity
View Full Code Here

  @Override
  public void notify(DelegateTask delegateTask) {
    EngineServices engineServices = delegateTask.getExecution()
        .getEngineServices();
    TaskService taskService = engineServices.getTaskService();
    List<IdentityLink> identityLinksForTask = taskService.getIdentityLinksForTask(delegateTask.getId());
    for (IdentityLink identityLink : identityLinksForTask) {
      taskService.deleteCandidateGroup(delegateTask.getId(), identityLink.getGroupId());
    }
    taskService.complete(delegateTask.getId());
  }
View Full Code Here

    identityService.setAuthenticatedUserId("henryyan");
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("CallActivityByExpression", variableMap);
    assertNotNull(processInstance.getId());
    System.out.println("id " + processInstance.getId() + " " + processInstance.getProcessDefinitionId());
   
    TaskService taskService = activitiRule.getTaskService();
    Task singleResult = taskService.createTaskQuery().singleResult();
    identityService.setAuthenticatedUserId("henryyan");
    taskService.complete(singleResult.getId());
   
    long count = activitiRule.getHistoryService().createHistoricProcessInstanceQuery().count();
    assertEquals(2, count);
   
    List<HistoricProcessInstance> list = activitiRule.getHistoryService().createHistoricProcessInstanceQuery().list();
View Full Code Here

TOP

Related Classes of org.activiti.engine.TaskService

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.