From 03fad8ff96a5a1e3eb5783012d16f47a2722293d Mon Sep 17 00:00:00 2001 From: Piotr Dec Date: Fri, 19 Jul 2024 01:11:03 +0200 Subject: [PATCH] fix: Map key comparison, preventing NPE --- .../java/eu/ztsh/lfr/core/impl/TemperaturesServiceImpl.java | 2 +- .../java/eu/ztsh/lfr/core/impl/files/FileLoadingService.java | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/eu/ztsh/lfr/core/impl/TemperaturesServiceImpl.java b/src/main/java/eu/ztsh/lfr/core/impl/TemperaturesServiceImpl.java index fa350fa..e3c608c 100644 --- a/src/main/java/eu/ztsh/lfr/core/impl/TemperaturesServiceImpl.java +++ b/src/main/java/eu/ztsh/lfr/core/impl/TemperaturesServiceImpl.java @@ -30,7 +30,7 @@ public class TemperaturesServiceImpl implements TemperaturesService { Thread.currentThread().interrupt(); } } - return averages.get().get(city); + return averages.get().getOrDefault(city.toLowerCase(), List.of()); } @EventListener(FileProcessedEvent.class) diff --git a/src/main/java/eu/ztsh/lfr/core/impl/files/FileLoadingService.java b/src/main/java/eu/ztsh/lfr/core/impl/files/FileLoadingService.java index 31c124d..500d03f 100644 --- a/src/main/java/eu/ztsh/lfr/core/impl/files/FileLoadingService.java +++ b/src/main/java/eu/ztsh/lfr/core/impl/files/FileLoadingService.java @@ -79,7 +79,9 @@ public class FileLoadingService { .map(line -> { try { var parts = line.split(";"); - return new DataRow(parts[0], Integer.parseInt(parts[1].split("-")[0]), Double.parseDouble(parts[2])); + return new DataRow(parts[0].toLowerCase(), + Integer.parseInt(parts[1].split("-")[0]), + Double.parseDouble(parts[2])); } catch (Exception e) { throw new FileProcessingException("Error in line %s".formatted(line), e); }