From 03fad8ff96a5a1e3eb5783012d16f47a2722293d Mon Sep 17 00:00:00 2001 From: Piotr Dec Date: Fri, 19 Jul 2024 01:11:03 +0200 Subject: [PATCH 1/3] 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); } From 03c8067796e8fca85697fa9323b39240de1468a7 Mon Sep 17 00:00:00 2001 From: Piotr Dec Date: Fri, 19 Jul 2024 01:20:38 +0200 Subject: [PATCH 2/3] feat!: Release 1.0.0 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 40be7ee..9c00eb4 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ eu.ztsh large-file-reading-challenge Large File Reading Challenge - 1.0.0-SNAPSHOT + 1.0.0 From 87d67652926f16f684d0bb6f7fd00f11aa5056d2 Mon Sep 17 00:00:00 2001 From: Piotr Dec Date: Fri, 19 Jul 2024 01:25:57 +0200 Subject: [PATCH 3/3] test: minor fix --- .../eu/ztsh/lfr/core/impl/files/FileLoadingServiceTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/eu/ztsh/lfr/core/impl/files/FileLoadingServiceTest.java b/src/test/java/eu/ztsh/lfr/core/impl/files/FileLoadingServiceTest.java index 8561e2f..86ca75c 100644 --- a/src/test/java/eu/ztsh/lfr/core/impl/files/FileLoadingServiceTest.java +++ b/src/test/java/eu/ztsh/lfr/core/impl/files/FileLoadingServiceTest.java @@ -29,7 +29,7 @@ class FileLoadingServiceTest { .publishEvent(captor.capture()); var averages = captor.getValue().averages(); assertThat(averages).hasSize(1); - var list = averages.get("Warszawa"); + var list = averages.get("warszawa"); assertThat(list).hasSize(1); assertThat(list.getFirst()).satisfies(item -> { assertThat(item.getYear()).isEqualTo("2018");