Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 4f54a69b68 | |||
| 1383790bff | |||
| a62e4820a3 | |||
| b6b5f1ec57 |
@ -1,14 +1,12 @@
|
||||
package ru.kamask.pet.todo;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import ru.kamask.pet.todo.cli.CliEngine;
|
||||
import ru.kamask.pet.todo.model.SimpleTask;
|
||||
import ru.kamask.pet.todo.repo.InMemoryRepository;
|
||||
import ru.kamask.pet.todo.service.TaskService;
|
||||
|
||||
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 cli = new CliEngine(service);
|
||||
|
||||
|
||||
@ -21,13 +21,22 @@ public class CliEngine {
|
||||
initializeCommands();
|
||||
}
|
||||
|
||||
public void start() throws IOException {
|
||||
public void start() {
|
||||
System.out.println("\nДобро пожаловать в Список задач 2.2!");
|
||||
System.out.println("Введите help для просмтора доступных команд или exit для выхода.");
|
||||
while (true) {
|
||||
System.out.print("\ntodo> ");
|
||||
var input = reader.readLine().trim();
|
||||
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) {
|
||||
case "help" -> handleHelp();
|
||||
case "exit" -> System.exit(0);
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
package ru.kamask.pet.todo.service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
import ru.kamask.pet.todo.model.SimpleTask;
|
||||
import ru.kamask.pet.todo.repo.Repository;
|
||||
@ -25,10 +26,12 @@ public class TaskService extends EntityService<SimpleTask> {
|
||||
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) {
|
||||
return super.getAll().stream()
|
||||
.filter(task -> task.data().title().contains(query))
|
||||
.toList();
|
||||
return getTasks(taskData -> taskData.title().contains(query));
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user