From abe64fbe11d4b24ce47aa14e5de30b64cac4f3f6 Mon Sep 17 00:00:00 2001 From: Tor-Einar Skog <tor-einar.skog@nibio.no> Date: Fri, 9 Aug 2024 09:19:59 +0200 Subject: [PATCH] Remove duplicate observations in result list --- .../no/nibio/vips/logic/service/ObservationService.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/no/nibio/vips/logic/service/ObservationService.java b/src/main/java/no/nibio/vips/logic/service/ObservationService.java index 57382908..daf35925 100755 --- a/src/main/java/no/nibio/vips/logic/service/ObservationService.java +++ b/src/main/java/no/nibio/vips/logic/service/ObservationService.java @@ -803,8 +803,10 @@ public class ObservationService { LOGGER.info("Return {} masked public observations for unregistered user", retVal.size()); return sortObservationsByDateAndId(retVal); } - // Else: This is a registered user without special privileges. Show public observations + user's own - retVal.addAll(observationBean.getObservationsForUser(user)); + // Else: This is a registered user without special privileges. Show public observations + user's own + // Making sure we don't add duplicates + Set<Integer> obsIds = retVal.stream().map(o->o.getObservationId()).collect(Collectors.toSet()); + retVal.addAll(observationBean.getObservationsForUser(user).stream().filter(o->!obsIds.contains(o.getObservationId())).collect(Collectors.toList())); LOGGER.info("Return {} masked public observations and user's own observations for registered user {}", retVal.size(), user.getUserId()); return sortObservationsByDateAndId(retVal); } -- GitLab