From f4483ff951c6c4c35817f9b7dec77141119305c7 Mon Sep 17 00:00:00 2001 From: KamaSK Date: Mon, 26 May 2025 22:38:16 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A0=D0=B5=D0=B0=D0=BB=D0=B8=D0=B7=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD=D1=8B=20=D0=BC=D0=B5=D1=82=D0=BE=D0=B4=D1=8B?= =?UTF-8?q?=20=D1=81=D0=BE=D0=B7=D0=B4=D0=B0=D0=BD=D0=B8=D1=8F,=20=D0=B7?= =?UTF-8?q?=D0=B0=D0=B2=D0=B5=D1=80=D1=88=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B8?= =?UTF-8?q?=20=D1=83=D0=B4=D0=B0=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B7?= =?UTF-8?q?=D0=B0=D0=B4=D0=B0=D1=87=20=D1=87=D0=B5=D1=80=D0=B5=D0=B7=20?= =?UTF-8?q?=D1=81=D0=B5=D1=80=D0=B2=D0=B8=D1=81.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/ru/kamask/pet/todo/TodoApp.java | 26 +++++------- .../kamask/pet/todo/service/TaskService.java | 41 +++++++++++++++++++ 2 files changed, 52 insertions(+), 15 deletions(-) create mode 100644 todo/src/main/java/ru/kamask/pet/todo/service/TaskService.java diff --git a/todo/src/main/java/ru/kamask/pet/todo/TodoApp.java b/todo/src/main/java/ru/kamask/pet/todo/TodoApp.java index e88ab4d..129b22e 100644 --- a/todo/src/main/java/ru/kamask/pet/todo/TodoApp.java +++ b/todo/src/main/java/ru/kamask/pet/todo/TodoApp.java @@ -2,29 +2,25 @@ package ru.kamask.pet.todo; import ru.kamask.pet.todo.model.SimpleTask; import ru.kamask.pet.todo.repo.InMemoryTaskRepository; +import ru.kamask.pet.todo.service.TaskService; public class TodoApp { public static void main(String[] args) { - var repo = new InMemoryTaskRepository(); + var service = new TaskService(new InMemoryTaskRepository()); - repo.save(new SimpleTask("Задача номер один")); - repo.save(new SimpleTask("Задача номер два")); - repo.save(new SimpleTask("Задача номер три")); - repo.save(new SimpleTask("Задача номер четыре")); + service.create("Задача номер один"); + service.create("Задача номер два"); + service.create("Задача номер три"); + service.create("Задача номер четыре"); - System.out.println(repo.findAll()); + System.out.println(service.list()); - var taskOption = repo.findById(2); - if (taskOption.isPresent()) { - SimpleTask task = (SimpleTask) taskOption.get(); - task.markAsCompleted(); - var data = task.data(); - System.out.println(data); - } + service.complete(2); + service.getById(2).ifPresent(task -> System.out.println(((SimpleTask) task).data())); - repo.delete(1); - System.out.println(repo.findAll()); + service.remove(3); + System.out.println(service.list()); } } diff --git a/todo/src/main/java/ru/kamask/pet/todo/service/TaskService.java b/todo/src/main/java/ru/kamask/pet/todo/service/TaskService.java new file mode 100644 index 0000000..5f55928 --- /dev/null +++ b/todo/src/main/java/ru/kamask/pet/todo/service/TaskService.java @@ -0,0 +1,41 @@ +package ru.kamask.pet.todo.service; + +import java.util.List; +import java.util.Optional; + +import ru.kamask.pet.todo.model.Task; +import ru.kamask.pet.todo.model.SimpleTask; +import ru.kamask.pet.todo.repo.TaskRepository; + +public class TaskService { + private final TaskRepository repo; + + public TaskService(TaskRepository repo) { + this.repo = repo; + } + + public void create(String title) { + repo.save(new SimpleTask(title)); + } + + public Optional getById(int id) { + return repo.findById(id); + } + + public boolean complete(int id) { + var taskOpt = repo.findById(id); + if (taskOpt.isPresent()) { + taskOpt.get().markAsCompleted(); + return true; + } + return false; + } + + public List list() { + return repo.findAll(); + } + + public void remove(int id) { + repo.delete(id); + } +} -- 2.47.2