From e9d1e3f675a89cc1c9fc575389b83a4afae374e5 Mon Sep 17 00:00:00 2001
From: Tor-Einar Skog <tor-einar.skog@nibio.no>
Date: Wed, 15 Apr 2020 14:56:26 +0200
Subject: [PATCH] Bugfix: Avoiding double entries of weather stations when user
 has one or more private weather stations

---
 .../logic/controller/session/PointOfInterestBean.java | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/main/java/no/nibio/vips/logic/controller/session/PointOfInterestBean.java b/src/main/java/no/nibio/vips/logic/controller/session/PointOfInterestBean.java
index 0ae305bf..60e491bd 100755
--- a/src/main/java/no/nibio/vips/logic/controller/session/PointOfInterestBean.java
+++ b/src/main/java/no/nibio/vips/logic/controller/session/PointOfInterestBean.java
@@ -33,6 +33,7 @@ import java.util.List;
 import java.util.Objects;
 import java.util.ResourceBundle;
 import java.util.Set;
+import java.util.stream.Collectors;
 import javax.ejb.LocalBean;
 import javax.ejb.Stateless;
 import javax.persistence.EntityManager;
@@ -410,8 +411,14 @@ public class PointOfInterestBean {
                 }
             }
             catch(NoResultException ex) {}
-            // Getting all weather stations for user's organization
-            retVal.addAll(this.getWeatherstationsForOrganization(user.getOrganizationId(), Boolean.TRUE));
+            // Getting all weather stations for user's organization. Need to avoid
+            // double catching of privately owned weather station
+            retVal.addAll(this.getWeatherstationsForOrganization(user.getOrganizationId(), Boolean.TRUE)
+                    .stream()
+                    .filter(weatherStation -> ! weatherStation.getUserId().getUserId().equals(user.getUserId()))
+                    .collect(Collectors.toList())
+            );
+            
         }
         Collections.sort(retVal);
         return retVal;
-- 
GitLab