Search in sources :

Example 1 with Event

use of org.activiti.engine.task.Event in project Activiti by Activiti.

the class RestResponseFactory method createEventResponseList.

public List<EventResponse> createEventResponseList(List<Event> events) {
    RestUrlBuilder urlBuilder = createUrlBuilder();
    List<EventResponse> responseList = new ArrayList<EventResponse>();
    for (Event instance : events) {
        responseList.add(createEventResponse(instance, urlBuilder));
    }
    return responseList;
}
Also used : EventResponse(org.activiti.rest.service.api.engine.EventResponse) ArrayList(java.util.ArrayList) Event(org.activiti.engine.task.Event)

Example 2 with Event

use of org.activiti.engine.task.Event in project Activiti by Activiti.

the class TaskEventResourceTest method testDeleteEvent.

/**
   * Test delete event for a task.
   * DELETE runtime/tasks/{taskId}/events/{eventId}
   */
public void testDeleteEvent() throws Exception {
    try {
        Task task = taskService.newTask();
        taskService.saveTask(task);
        taskService.setAssignee(task.getId(), "kermit");
        taskService.addUserIdentityLink(task.getId(), "gonzo", "someType");
        List<Event> events = taskService.getTaskEvents(task.getId());
        assertEquals(2, events.size());
        for (Event event : events) {
            HttpDelete httpDelete = new HttpDelete(SERVER_URL_PREFIX + RestUrls.createRelativeResourceUrl(RestUrls.URL_TASK_EVENT, task.getId(), event.getId()));
            closeResponse(executeRequest(httpDelete, HttpStatus.SC_NO_CONTENT));
        }
        events = taskService.getTaskEvents(task.getId());
        assertEquals(0, events.size());
    } finally {
        // Clean adhoc-tasks even if test fails
        List<Task> tasks = taskService.createTaskQuery().list();
        for (Task task : tasks) {
            taskService.deleteTask(task.getId(), true);
        }
    }
}
Also used : Task(org.activiti.engine.task.Task) HttpDelete(org.apache.http.client.methods.HttpDelete) Event(org.activiti.engine.task.Event)

Example 3 with Event

use of org.activiti.engine.task.Event in project Activiti by Activiti.

the class TaskEventResourceTest method testGetEvent.

/**
   * Test getting a single event for a task.
   * GET runtime/tasks/{taskId}/events/{eventId}
   */
public void testGetEvent() throws Exception {
    try {
        Calendar now = Calendar.getInstance();
        now.set(Calendar.MILLISECOND, 0);
        processEngineConfiguration.getClock().setCurrentTime(now.getTime());
        Task task = taskService.newTask();
        taskService.saveTask(task);
        taskService.addUserIdentityLink(task.getId(), "gonzo", "someType");
        Event event = taskService.getTaskEvents(task.getId()).get(0);
        HttpGet httpGet = new HttpGet(SERVER_URL_PREFIX + RestUrls.createRelativeResourceUrl(RestUrls.URL_TASK_EVENT, task.getId(), event.getId()));
        CloseableHttpResponse response = executeRequest(httpGet, HttpStatus.SC_OK);
        JsonNode responseNode = objectMapper.readTree(response.getEntity().getContent());
        closeResponse(response);
        assertNotNull(responseNode);
        assertEquals(event.getId(), responseNode.get("id").textValue());
        assertEquals(event.getAction(), responseNode.get("action").textValue());
        assertEquals(event.getUserId(), responseNode.get("userId").textValue());
        assertTrue(responseNode.get("url").asText().endsWith(RestUrls.createRelativeResourceUrl(RestUrls.URL_TASK_EVENT, task.getId(), event.getId())));
        assertTrue(responseNode.get("taskUrl").asText().endsWith(RestUrls.createRelativeResourceUrl(RestUrls.URL_TASK, task.getId())));
        assertEquals(now.getTime(), getDateFromISOString(responseNode.get("time").textValue()));
    } finally {
        // Clean adhoc-tasks even if test fails
        List<Task> tasks = taskService.createTaskQuery().list();
        for (Task task : tasks) {
            taskService.deleteTask(task.getId(), true);
        }
    }
}
Also used : Task(org.activiti.engine.task.Task) Calendar(java.util.Calendar) HttpGet(org.apache.http.client.methods.HttpGet) CloseableHttpResponse(org.apache.http.client.methods.CloseableHttpResponse) Event(org.activiti.engine.task.Event) JsonNode(com.fasterxml.jackson.databind.JsonNode)

Example 4 with Event

use of org.activiti.engine.task.Event in project Activiti by Activiti.

the class TaskEventResource method getEvent.

@RequestMapping(value = "/runtime/tasks/{taskId}/events/{eventId}", method = RequestMethod.GET, produces = "application/json")
public EventResponse getEvent(@PathVariable("taskId") String taskId, @PathVariable("eventId") String eventId, HttpServletRequest request) {
    HistoricTaskInstance task = getHistoricTaskFromRequest(taskId);
    Event event = taskService.getEvent(eventId);
    if (event == null || !task.getId().equals(event.getTaskId())) {
        throw new ActivitiObjectNotFoundException("Task '" + task.getId() + "' doesn't have an event with id '" + eventId + "'.", Event.class);
    }
    return restResponseFactory.createEventResponse(event);
}
Also used : HistoricTaskInstance(org.activiti.engine.history.HistoricTaskInstance) Event(org.activiti.engine.task.Event) ActivitiObjectNotFoundException(org.activiti.engine.ActivitiObjectNotFoundException) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Example 5 with Event

use of org.activiti.engine.task.Event in project Activiti by Activiti.

the class TaskEventResource method deleteEvent.

@RequestMapping(value = "/runtime/tasks/{taskId}/events/{eventId}", method = RequestMethod.DELETE)
public void deleteEvent(@PathVariable("taskId") String taskId, @PathVariable("eventId") String eventId, HttpServletResponse response) {
    // Check if task exists
    Task task = getTaskFromRequest(taskId);
    Event event = taskService.getEvent(eventId);
    if (event == null || event.getTaskId() == null || !event.getTaskId().equals(task.getId())) {
        throw new ActivitiObjectNotFoundException("Task '" + task.getId() + "' doesn't have an event with id '" + event + "'.", Event.class);
    }
    taskService.deleteComment(eventId);
    response.setStatus(HttpStatus.NO_CONTENT.value());
}
Also used : Task(org.activiti.engine.task.Task) Event(org.activiti.engine.task.Event) ActivitiObjectNotFoundException(org.activiti.engine.ActivitiObjectNotFoundException) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Aggregations

Event (org.activiti.engine.task.Event)9 Task (org.activiti.engine.task.Task)5 ActivitiObjectNotFoundException (org.activiti.engine.ActivitiObjectNotFoundException)2 Comment (org.activiti.engine.task.Comment)2 IdentityLink (org.activiti.engine.task.IdentityLink)2 Deployment (org.activiti.engine.test.Deployment)2 RequestMapping (org.springframework.web.bind.annotation.RequestMapping)2 JsonNode (com.fasterxml.jackson.databind.JsonNode)1 ArrayList (java.util.ArrayList)1 Calendar (java.util.Calendar)1 HistoricTaskInstance (org.activiti.engine.history.HistoricTaskInstance)1 EventResponse (org.activiti.rest.service.api.engine.EventResponse)1 CloseableHttpResponse (org.apache.http.client.methods.CloseableHttpResponse)1 HttpDelete (org.apache.http.client.methods.HttpDelete)1 HttpGet (org.apache.http.client.methods.HttpGet)1