From ac7e84f133bb164d13a7157303228683b6f36933 Mon Sep 17 00:00:00 2001 From: KamaSK Date: Wed, 28 May 2025 17:54:47 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=BA=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4=D0=B0=20?= =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=B4=D0=B0=D1=87=D0=B8.=20=D0=9E=D0=B1=D0=BD?= =?UTF-8?q?=D0=BE=D0=B2=D0=BB=D0=B5=D0=BD=D1=8B=20=D0=BC=D0=B5=D1=82=D0=BE?= =?UTF-8?q?=D0=B4=D1=8B=20=D0=BE=D0=B1=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=BA?= =?UTF-8?q?=D0=B8=20=D0=BA=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4=20=D0=B2=20CLI:?= =?UTF-8?q?=20=D0=B7=D0=B0=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D1=8B=20example?= =?UTF-8?q?=20=D0=B8=20description=20=D0=BD=D0=B0=20usage,=20=D0=B4=D0=BE?= =?UTF-8?q?=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=BE=20=D1=88=D0=B0=D0=B1?= =?UTF-8?q?=D0=BB=D0=BE=D0=BD=D0=BD=D0=BE=D0=B5=20=D1=81=D0=BE=D0=BE=D0=B1?= =?UTF-8?q?=D1=89=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BE=D0=B1=20=D0=BE=D1=88?= =?UTF-8?q?=D0=B8=D0=B1=D0=BA=D0=B5.=20=D0=A3=D0=BF=D1=80=D0=BE=D1=89?= =?UTF-8?q?=D0=B5=D0=BD=20=D0=B2=D1=8B=D0=B2=D0=BE=D0=B4=20=D0=B4=D0=BE?= =?UTF-8?q?=D1=81=D1=82=D1=83=D0=BF=D0=BD=D1=8B=D1=85=20=D0=BA=D0=BE=D0=BC?= =?UTF-8?q?=D0=B0=D0=BD=D0=B4.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/ru/kamask/pet/todo/cli/CliEngine.java | 11 +++-------- .../java/ru/kamask/pet/todo/cli/Command.java | 7 ++++--- .../ru/kamask/pet/todo/cli/CreateCommand.java | 17 ++++++++--------- 3 files changed, 15 insertions(+), 20 deletions(-) diff --git a/todo/src/main/java/ru/kamask/pet/todo/cli/CliEngine.java b/todo/src/main/java/ru/kamask/pet/todo/cli/CliEngine.java index c179fa3..7b17ea3 100644 --- a/todo/src/main/java/ru/kamask/pet/todo/cli/CliEngine.java +++ b/todo/src/main/java/ru/kamask/pet/todo/cli/CliEngine.java @@ -47,14 +47,9 @@ public class CliEngine { } void handleHelp() { - var template = " %-30s // %s"; - System.out.println("Доступные команды:\n"); - registry.values().stream() - .map(handler -> String.format(template, handler.example(), handler.description())) - .forEach(System.out::println); - System.out.println(); - System.out.printf(template, "help", "Вот этот список команд\n"); - System.out.printf(template, "exit", "Выход, но лучше не надо)\n"); + registry.values().stream().map(handler -> handler.usage()).forEach(System.out::println); + System.out.printf(Command.templateUsage, "help", "Вот этот список команд\n"); + System.out.printf(Command.templateUsage, "exit", "Выход, но лучше не надо)\n"); } diff --git a/todo/src/main/java/ru/kamask/pet/todo/cli/Command.java b/todo/src/main/java/ru/kamask/pet/todo/cli/Command.java index cb1e6b3..52dde08 100644 --- a/todo/src/main/java/ru/kamask/pet/todo/cli/Command.java +++ b/todo/src/main/java/ru/kamask/pet/todo/cli/Command.java @@ -5,11 +5,12 @@ import java.util.Optional; import ru.kamask.pet.todo.service.TaskService; public interface Command { + String templateUsage = " %-30s // %s"; + String errorMessage = "Не корректно введена команда. Введите help для спарвки."; + Optional handle(String[] args, TaskService service); String name(); - String example(); - - String description(); + String usage(); } diff --git a/todo/src/main/java/ru/kamask/pet/todo/cli/CreateCommand.java b/todo/src/main/java/ru/kamask/pet/todo/cli/CreateCommand.java index 5210c53..6a4e637 100644 --- a/todo/src/main/java/ru/kamask/pet/todo/cli/CreateCommand.java +++ b/todo/src/main/java/ru/kamask/pet/todo/cli/CreateCommand.java @@ -12,17 +12,16 @@ public class CreateCommand implements Command { @Override public Optional handle(String[] args, TaskService service) { - // TODO create new todo - return Optional.of("Добавление новой задачи"); + if (args.length > 0) { + var title = String.join(" ", args); + service.create(title); + return Optional.of(String.format("Задача \"%s\" успешно добавлена!", title)); + } + return Optional.of(Command.errorMessage); } @Override - public String example() { - return name() + " "; - } - - @Override - public String description() { - return "Добавление новой задачи"; + public String usage() { + return String.format(templateUsage, name() + " <название_задачи>", "Добавление новой задачи"); } } -- 2.47.2