From 393dd55cc45b6a95594ea0fb31380e297d2d844e Mon Sep 17 00:00:00 2001 From: Nico <5772511+Death111@users.noreply.github.com> Date: Wed, 14 May 2025 11:48:00 +0200 Subject: [PATCH] #178: fix issue when task is no longer available for a present time. showing id instead of friendly project name instead. --- .../keeptime/controller/HeimatController.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/main/java/de/doubleslash/keeptime/controller/HeimatController.java b/src/main/java/de/doubleslash/keeptime/controller/HeimatController.java index cd6f7aaa..5e4555ab 100644 --- a/src/main/java/de/doubleslash/keeptime/controller/HeimatController.java +++ b/src/main/java/de/doubleslash/keeptime/controller/HeimatController.java @@ -193,12 +193,15 @@ public List getTableRows(final LocalDate currentReportDate, final List< long heimatTimeSeconds = times.stream() .reduce(0L, (subtotal, element) -> subtotal + element.durationInMinutes() * 60L, Long::sum); - final HeimatTask heimatTask = heimatTasks.stream() - .filter(t -> t.id() == times.get(0).taskId()) - .findAny() - .orElseThrow(); - final Mapping mapping = new Mapping(id, true, false, - "Not mapped in KeepTime\n\n" + heimatTask.name() + "\n" + heimatTask.taskHolderName(), times, + final Optional optionalHeimatTask = heimatTasks.stream() + .filter(t -> t.id() == id) + .findAny(); + String taskName = "Cannot resolve Heimat Task Id: " + id + " to name\nPlease check in Heimat"; + if (optionalHeimatTask.isPresent()) { + final HeimatTask heimatTask = optionalHeimatTask.get(); + taskName = heimatTask.name() + "\n" + heimatTask.taskHolderName(); + } + final Mapping mapping = new Mapping(id, true, false, "Not mapped in KeepTime\n\n" + taskName, times, new ArrayList<>(0), heimatNotes, "", heimatTimeSeconds, 0); list.add(mapping); });