public Todo create(CreateTodoRequest createTodoRequest) { Todo todo = new Todo(createTodoRequest.getTitle(), createTodoRequest.isCompleted(), createTodoRequest.getOrder()); todo = todoRepository.save(todo); domainEventPublisher.publish(Todo.class, todo.getId(), Collections.singletonList(new TodoCreated(todo.getTitle(), todo.isCompleted(), todo.getExecutionOrder()))); return todo; }
public void update(Long id, UpdateTodoRequest updateTodoRequest) { Todo todo = todoRepository.findOne(id); if (todo == null) { throw new TodoNotFoundException(id); } todo.setTitle(updateTodoRequest.getTitle()); todo.setCompleted(updateTodoRequest.isCompleted()); todo.setExecutionOrder(updateTodoRequest.getOrder()); todoRepository.save(todo); publishTodoEvent(todo, new TodoUpdated(todo.getTitle(), todo.isCompleted(), todo.getExecutionOrder())); }
@Test public void testUpdate() { Todo todo = todoRepository.save(new Todo(Utils.generateUniqueString(), false, 9)); String title = Utils.generateUniqueString(); todoCommandService.update(todo.getId(), new UpdateTodoRequest(title, false, 0)); todo = todoRepository.findOne(todo.getId()); Assert.assertNotNull(todo); Assert.assertEquals(title, todo.getTitle()); }
private void publishTodoEvent(Todo todo, DomainEvent... domainEvents) { domainEventPublisher.publish(Todo.class, todo.getId(), asList(domainEvents)); }
@Test public void testUpdate() { Todo todo = todoRepository.save(new Todo(Utils.generateUniqueString(), false, 9)); String title = Utils.generateUniqueString(); todoCommandService.update(todo.getId(), new UpdateTodoRequest(title, false, 0)); todo = todoRepository.findOne(todo.getId()); Assert.assertNotNull(todo); Assert.assertEquals(title, todo.getTitle()); }
@RequestMapping(method = RequestMethod.POST) public CreateTodoResponse create(@RequestBody CreateTodoRequest createTodoRequest) { Todo todo = todoCommandService.create(createTodoRequest); return new CreateTodoResponse(todo.getId()); }
public Todo create(CreateTodoRequest createTodoRequest) { Todo todo = new Todo(createTodoRequest.getTitle(), createTodoRequest.isCompleted(), createTodoRequest.getOrder()); todo = todoRepository.save(todo); publishTodoEvent(todo, new TodoCreated(todo.getTitle(), todo.isCompleted(), todo.getExecutionOrder())); return todo; }
public void update(Long id, UpdateTodoRequest updateTodoRequest) { Todo todo = todoRepository.findOne(id); if (todo == null) { throw new TodoNotFoundException(id); } todo.setTitle(updateTodoRequest.getTitle()); todo.setCompleted(updateTodoRequest.isCompleted()); todo.setExecutionOrder(updateTodoRequest.getOrder()); todoRepository.save(todo); domainEventPublisher.publish(Todo.class, id, Collections.singletonList(new TodoUpdated(todo.getTitle(), todo.isCompleted(), todo.getExecutionOrder()))); }
@RequestMapping(method = RequestMethod.POST) public CreateTodoResponse create(@RequestBody CreateTodoRequest createTodoRequest) { Todo todo = todoCommandService.create(createTodoRequest); return new CreateTodoResponse(todo.getId()); }