Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package br.com.tasknoteapp.server.service;

import br.com.tasknoteapp.server.response.NoteResponse;
import br.com.tasknoteapp.server.response.TaskResponse;
import java.util.HashSet;
import java.util.List;
Expand All @@ -16,10 +17,11 @@ public class HomeService {

private final TaskService taskService;

private static final String N_TASKS_FOUND = "%d tasks found!";
private final NoteService noteService;

public HomeService(TaskService taskService) {
public HomeService(TaskService taskService, NoteService noteService) {
this.taskService = taskService;
this.noteService = noteService;
}

/**
Expand All @@ -28,20 +30,24 @@ public HomeService(TaskService taskService) {
* @return List of String with the tags.
*/
public List<String> getTopTasksTag() {
logger.info("Getting all tags for the tasks");
logger.info("Getting all tags for tasks and notes");

List<TaskResponse> tasks = taskService.getTasksByFilter("all");
logger.info(String.format(N_TASKS_FOUND, tasks.size()));
List<NoteResponse> notes = noteService.getAllNotes();

Set<String> tags = new HashSet<>();
for (TaskResponse task : tasks) {
String tag = task.tag();
if (tag.isBlank()) {
tag = "untagged";
}
tags.add(tag);
tags.addAll(tasks.stream().map(TaskResponse::tag).filter(tag -> !tag.isBlank()).toList());
tags.addAll(notes.stream().map(NoteResponse::tag).filter(tag -> !tag.isBlank()).toList());

boolean hasBlankTags =
tasks.stream().anyMatch(task -> task.tag().isBlank())
|| notes.stream().anyMatch(note -> note.tag().isBlank());
if (hasBlankTags) {
tags.add("untagged");
}

logger.info("Found {} tags", tags.size());

return tags.stream().sorted().toList();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ class HomeServiceTest {

@BeforeEach
void setUp() {
homeService = new HomeService(taskService);
homeService = new HomeService(taskService, noteService);
}

@Test
Expand Down
Loading