Compare commits

..

4 Commits
main ... dev

3 changed files with 18 additions and 8 deletions

View File

@ -1,14 +1,12 @@
package ru.kamask.pet.todo; package ru.kamask.pet.todo;
import java.io.IOException;
import ru.kamask.pet.todo.cli.CliEngine; import ru.kamask.pet.todo.cli.CliEngine;
import ru.kamask.pet.todo.model.SimpleTask; import ru.kamask.pet.todo.model.SimpleTask;
import ru.kamask.pet.todo.repo.InMemoryRepository; import ru.kamask.pet.todo.repo.InMemoryRepository;
import ru.kamask.pet.todo.service.TaskService; import ru.kamask.pet.todo.service.TaskService;
public class TodoApp { public class TodoApp {
public static void main(String[] args) throws IOException { public static void main(String[] args) {
var service = new TaskService(new InMemoryRepository<SimpleTask>()); var service = new TaskService(new InMemoryRepository<SimpleTask>());
var cli = new CliEngine(service); var cli = new CliEngine(service);

View File

@ -21,13 +21,22 @@ public class CliEngine {
initializeCommands(); initializeCommands();
} }
public void start() throws IOException { public void start() {
System.out.println("\обро пожаловать в Список задач 2.2!"); System.out.println("\обро пожаловать в Список задач 2.2!");
System.out.println("Введите help для просмтора доступных команд или exit для выхода."); System.out.println("Введите help для просмтора доступных команд или exit для выхода.");
while (true) { while (true) {
System.out.print("\ntodo> "); System.out.print("\ntodo> ");
var input = reader.readLine().trim();
System.out.println(); System.out.println();
String input = "";
try {
input.concat(reader.readLine().trim());
} catch (IOException e) {
System.out.println("Произошла ошибка ввода-вывода. Программа будет завершена.\n");
System.out.println(e.getMessage());
System.exit(1);
}
switch (input) { switch (input) {
case "help" -> handleHelp(); case "help" -> handleHelp();
case "exit" -> System.exit(0); case "exit" -> System.exit(0);

View File

@ -1,6 +1,7 @@
package ru.kamask.pet.todo.service; package ru.kamask.pet.todo.service;
import java.util.List; import java.util.List;
import java.util.function.Predicate;
import ru.kamask.pet.todo.model.SimpleTask; import ru.kamask.pet.todo.model.SimpleTask;
import ru.kamask.pet.todo.repo.Repository; import ru.kamask.pet.todo.repo.Repository;
@ -25,10 +26,12 @@ public class TaskService extends EntityService<SimpleTask> {
return false; return false;
} }
public List<SimpleTask> getTasks(Predicate<SimpleTask.Data> filter){
return super.getAll().stream().filter(t -> filter.test(t.data())).toList();
}
public List<SimpleTask> search(String query) { public List<SimpleTask> search(String query) {
return super.getAll().stream() return getTasks(taskData -> taskData.title().contains(query));
.filter(task -> task.data().title().contains(query))
.toList();
} }
} }