From 7964ce9067f7a48b1df1a4686ecaf024ac23cdfc Mon Sep 17 00:00:00 2001 From: Tor-Einar Skog <tor-einar.skog@nibio.no> Date: Mon, 20 Sep 2021 15:09:08 +0200 Subject: [PATCH] Added language support for observation list items --- .../java/no/nibio/vips/logic/entity/Observation.java | 4 ++-- .../nibio/vips/logic/service/ObservationService.java | 11 +++++++---- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/main/java/no/nibio/vips/logic/entity/Observation.java b/src/main/java/no/nibio/vips/logic/entity/Observation.java index 594d1975..e87c5a59 100755 --- a/src/main/java/no/nibio/vips/logic/entity/Observation.java +++ b/src/main/java/no/nibio/vips/logic/entity/Observation.java @@ -639,9 +639,9 @@ public class Observation implements Serializable, no.nibio.vips.observation.Obse this.getObservationId(), this.getTimeOfObservation(), this.getOrganismId(), - this.getOrganism().getLocalName(locale), + this.getOrganism().getLocalName(locale).trim() != "" ? this.getOrganism().getLocalName(locale) : this.getOrganism().getLatinName(), this.getCropOrganismId(), - this.getCropOrganism().getLocalName(locale), + this.getCropOrganism().getLocalName(locale).trim() != "" ? this.getCropOrganism().getLocalName(locale) : this.getCropOrganism().getLatinName(), // Specific geoInfo trumps location. This is to be interpreted // as that the observation has been geographically masked by // choice of the observer 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 0fd87b88..03b34a0f 100755 --- a/src/main/java/no/nibio/vips/logic/service/ObservationService.java +++ b/src/main/java/no/nibio/vips/logic/service/ObservationService.java @@ -142,16 +142,19 @@ public class ObservationService { @QueryParam("cropCategoryId") List<Integer> cropCategoryId, @QueryParam("from") String fromStr, @QueryParam("to") String toStr, - @QueryParam("userUUID") String userUUID - + @QueryParam("userUUID") String userUUID, + @QueryParam("locale") String localeStr ) { VipsLogicUser user = (VipsLogicUser) httpServletRequest.getSession().getAttribute("user"); + if(user == null && userUUID != null) { user = SessionControllerGetter.getUserBean().findVipsLogicUser(UUID.fromString(userUUID)); } - //System.out.println("getFilteredObservationListItems"); + String locale = localeStr != null ? localeStr : + user != null ? user.getOrganizationId().getDefaultLocale() : + SessionControllerGetter.getUserBean().getOrganization(organizationId).getDefaultLocale(); return Response.ok().entity( getFilteredObservationsFromBackend( organizationId, @@ -161,7 +164,7 @@ public class ObservationService { fromStr, toStr, user - ).stream().map(obs -> obs.getListItem("nb")).collect(Collectors.toList()) + ).stream().map(obs -> obs.getListItem(locale)).collect(Collectors.toList()) ).build(); } -- GitLab