From f1be5149f7d25786e4e4e931260e20e8b84d24e4 Mon Sep 17 00:00:00 2001 From: stvort Date: Mon, 7 Mar 2022 20:47:47 +0400 Subject: [PATCH] some small fixes in 2022-02 spring-00 --- .../src/main/java/ru/otus/Main.java | 4 +++- .../src/main/java/ru/otus/Main.java | 2 +- .../src/main/java/ru/otus/Main.java | 24 ++++++++++--------- .../menu/MenuOptionsRegistryImplTest.java | 1 + .../AddNewNoteSingleCommandProcessorTest.java | 1 - 5 files changed, 18 insertions(+), 14 deletions(-) diff --git a/2022-02/spring-00/architecture-origins/solution03_kiss/src/main/java/ru/otus/Main.java b/2022-02/spring-00/architecture-origins/solution03_kiss/src/main/java/ru/otus/Main.java index 2364709c..5365056a 100644 --- a/2022-02/spring-00/architecture-origins/solution03_kiss/src/main/java/ru/otus/Main.java +++ b/2022-02/spring-00/architecture-origins/solution03_kiss/src/main/java/ru/otus/Main.java @@ -6,7 +6,9 @@ import java.util.List; import java.util.Scanner; import java.util.stream.IntStream; -// Вынос печати меню, чтения пункта меню и выполнения команд в методы +// Вынос печати меню, чтения пункта меню и выполнения команд в методы. +// - Убрали один уровень вложенности +// - Отделили что делает приложение от того, как оно это делает public class Main { private static final int MENU_OPTION_SHOW_ALL_NOTES = 1; diff --git a/2022-02/spring-00/architecture-origins/solution09_dip/src/main/java/ru/otus/Main.java b/2022-02/spring-00/architecture-origins/solution09_dip/src/main/java/ru/otus/Main.java index 248c3e5b..a27f1448 100644 --- a/2022-02/spring-00/architecture-origins/solution09_dip/src/main/java/ru/otus/Main.java +++ b/2022-02/spring-00/architecture-origins/solution09_dip/src/main/java/ru/otus/Main.java @@ -3,7 +3,7 @@ package ru.otus; import ru.otus.config.AppSettings; import ru.otus.services.*; -// +AppSettings +// +AppSettings, +ApplicationStopService, IOService стал Streams, методы MenuCommandsProcessor очистились от IOService public class Main { public static void main(String[] args) { var appSettings = new AppSettings(true, "dd.mm.YYYY HH:mm:ss"); diff --git a/2022-02/spring-00/architecture-origins/solution10_ocp_isp/src/main/java/ru/otus/Main.java b/2022-02/spring-00/architecture-origins/solution10_ocp_isp/src/main/java/ru/otus/Main.java index fa64a163..46efea5d 100644 --- a/2022-02/spring-00/architecture-origins/solution10_ocp_isp/src/main/java/ru/otus/Main.java +++ b/2022-02/spring-00/architecture-origins/solution10_ocp_isp/src/main/java/ru/otus/Main.java @@ -11,6 +11,7 @@ import java.util.List; // OCP + ISP (AppSettings + IOService) + тесты public class Main { + public static void main(String[] args) { var appSettings = new AppSettings(true, "dd.mm.YYYY HH:mm:ss"); var ioService = new IOServiceStreams(System.out, System.in); @@ -18,22 +19,23 @@ public class Main { var notesService = new NotesServiceImpl(); var noteConverter = new NoteConverterImpl(appSettings); - var menuOptions = List.of( - new MenuOption(1, "Вывести все заметки"), - new MenuOption(2, "Добавить заметку"), - new MenuOption(3, "Изменить заметку"), - new MenuOption(4, "Удалить заметку"), - new MenuOption(5, "Выйти") + var showAllNotesMenuOption = new MenuOption(1, "Вывести все заметки"); + var addNewNoteMenuOption = new MenuOption(2, "Добавить заметку"); + var updateNoteMenuOption = new MenuOption(3, "Изменить заметку"); + var deleteNoteMenuOption = new MenuOption(4, "Удалить заметку"); + var stopApplicationMenuOption = new MenuOption(5, "Выйти"); + var menuOptions = List.of(showAllNotesMenuOption, addNewNoteMenuOption, + updateNoteMenuOption, deleteNoteMenuOption, stopApplicationMenuOption ); var menuOptionsRegistry = new MenuOptionsRegistryImpl(menuOptions); var processors = List.of( - new ShowAllNotesSingleCommandProcessor(ioService, notesService, noteConverter, menuOptions.get(0)), - new AddNewNoteSingleCommandProcessor(ioService, notesService, menuOptions.get(1)), - new UpdateNoteSingleCommandProcessor(ioService, notesService, menuOptions.get(2)), - new DeleteNoteSingleCommandProcessor(ioService, notesService, menuOptions.get(3)), - new StopApplicationSingleCommandProcessor(applicationStopService, menuOptions.get(4)) + new ShowAllNotesSingleCommandProcessor(ioService, notesService, noteConverter, showAllNotesMenuOption), + new AddNewNoteSingleCommandProcessor(ioService, notesService, addNewNoteMenuOption), + new UpdateNoteSingleCommandProcessor(ioService, notesService, updateNoteMenuOption), + new DeleteNoteSingleCommandProcessor(ioService, notesService, deleteNoteMenuOption), + new StopApplicationSingleCommandProcessor(applicationStopService, stopApplicationMenuOption) ); var menuCommandsProcessor = new MenuCommandsProcessorImpl(processors); diff --git a/2022-02/spring-00/architecture-origins/solution10_ocp_isp/src/test/java/ru/otus/services/menu/MenuOptionsRegistryImplTest.java b/2022-02/spring-00/architecture-origins/solution10_ocp_isp/src/test/java/ru/otus/services/menu/MenuOptionsRegistryImplTest.java index a9265ae6..3908d2e1 100644 --- a/2022-02/spring-00/architecture-origins/solution10_ocp_isp/src/test/java/ru/otus/services/menu/MenuOptionsRegistryImplTest.java +++ b/2022-02/spring-00/architecture-origins/solution10_ocp_isp/src/test/java/ru/otus/services/menu/MenuOptionsRegistryImplTest.java @@ -30,6 +30,7 @@ class MenuOptionsRegistryImplTest { .containsExactlyInAnyOrderElementsOf(options); } + // Обратить внимание на работу с Optional @DisplayName("должен корректно возвращать опцию меню по ее идентификатору ") @Test void shouldReturnExpectedMenuOptionById() { diff --git a/2022-02/spring-00/architecture-origins/solution10_ocp_isp/src/test/java/ru/otus/services/processors/AddNewNoteSingleCommandProcessorTest.java b/2022-02/spring-00/architecture-origins/solution10_ocp_isp/src/test/java/ru/otus/services/processors/AddNewNoteSingleCommandProcessorTest.java index bfd50831..6084dc2f 100644 --- a/2022-02/spring-00/architecture-origins/solution10_ocp_isp/src/test/java/ru/otus/services/processors/AddNewNoteSingleCommandProcessorTest.java +++ b/2022-02/spring-00/architecture-origins/solution10_ocp_isp/src/test/java/ru/otus/services/processors/AddNewNoteSingleCommandProcessorTest.java @@ -49,7 +49,6 @@ class AddNewNoteSingleCommandProcessorTest { verify(notesService).save(captor.capture()); var actualNote = captor.getValue(); assertThat(actualNote).extracting(Note::getText).isEqualTo(expectedNoteText); - } @DisplayName("должен возвращает ожидаемый тип обрабатываемой команды")