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 a259508d363e7ad2880d85421e7dccd33cde6c1d..d10dc8103cc7a311b0a2254754e7d9719716ff91 100755 --- a/src/main/java/no/nibio/vips/logic/entity/Observation.java +++ b/src/main/java/no/nibio/vips/logic/entity/Observation.java @@ -629,7 +629,7 @@ public class Observation implements Serializable, no.nibio.vips.observation.Obse * @param locale * @return */ - public ObservationListItem getListItem(String locale) + public ObservationListItem getListItem(String locale, ObservationDataSchema observationDataSchema) { // If geoInfo is from POI, need to add observationId if(this.location != null) @@ -649,7 +649,9 @@ public class Observation implements Serializable, no.nibio.vips.observation.Obse this.location != null && this.geoinfo == null ? this.location.getGeoJSON() : this.getGeoinfo(), this.getObservationHeading(), this.getBroadcastMessage(), - this.getLocationIsPrivate() + this.getLocationIsPrivate(), + this.getObservationData(), + observationDataSchema ); } diff --git a/src/main/java/no/nibio/vips/logic/entity/rest/ObservationListItem.java b/src/main/java/no/nibio/vips/logic/entity/rest/ObservationListItem.java index 41e9b94094b7ab2998f1f77f5c7c8f120feb4df0..1e64b78a4c1fd52a10e11650c67ccc55e80632da 100644 --- a/src/main/java/no/nibio/vips/logic/entity/rest/ObservationListItem.java +++ b/src/main/java/no/nibio/vips/logic/entity/rest/ObservationListItem.java @@ -20,6 +20,7 @@ package no.nibio.vips.logic.entity.rest; import java.util.Date; +import no.nibio.vips.observationdata.ObservationDataSchema; /** * A JSON friendly, public representation of the Observation @@ -32,6 +33,8 @@ public class ObservationListItem { private String organismName, cropOrganismName; private String geoInfo; private String observationHeading; + private String observationData; + private ObservationDataSchema observationDataSchema; private Boolean broadcastMessage, locationIsPrivate; public ObservationListItem( @@ -44,7 +47,9 @@ public class ObservationListItem { String geoinfo, String observationHeading, Boolean broadcastMessage, - Boolean locationIsPrivate + Boolean locationIsPrivate, + String observationData, + ObservationDataSchema observationDataSchema ){ this.observationId = observationId; this.timeOfObservation = timeOfObservation; @@ -56,6 +61,8 @@ public class ObservationListItem { this.observationHeading = observationHeading; this.broadcastMessage = broadcastMessage; this.locationIsPrivate = locationIsPrivate; + this.observationData = observationData; + this.observationDataSchema = observationDataSchema; } /** @@ -197,4 +204,32 @@ public class ObservationListItem { public void setLocationIsPrivate(Boolean locationIsPrivate) { this.locationIsPrivate = locationIsPrivate; } + + /** + * @return the observationDataSchema + */ + public ObservationDataSchema getObservationDataSchema() { + return observationDataSchema; + } + + /** + * @param observationDataSchema the observationDataSchema to set + */ + public void setObservationDataSchema(ObservationDataSchema observationDataSchema) { + this.observationDataSchema = observationDataSchema; + } + + /** + * @return the observationData + */ + public String getObservationData() { + return observationData; + } + + /** + * @param observationData the observationData to set + */ + public void setObservationData(String observationData) { + this.observationData = observationData; + } } 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 42cb7c3fbccdf9c66e1e05583b62b31de1fcf2d4..a448d6f7f302b7f9dea0ca55daec854172f2c035 100755 --- a/src/main/java/no/nibio/vips/logic/service/ObservationService.java +++ b/src/main/java/no/nibio/vips/logic/service/ObservationService.java @@ -59,6 +59,7 @@ import no.nibio.vips.logic.entity.Observation; import no.nibio.vips.logic.entity.PolygonService; import no.nibio.vips.logic.entity.VipsLogicRole; import no.nibio.vips.logic.entity.VipsLogicUser; +import no.nibio.vips.logic.entity.rest.ObservationListItem; import no.nibio.vips.logic.entity.rest.PointMappingResponse; import no.nibio.vips.logic.entity.rest.ReferencedPoint; import no.nibio.vips.logic.util.GISEntityUtil; @@ -155,8 +156,8 @@ public class ObservationService { String locale = localeStr != null ? localeStr : user != null ? user.getOrganizationId().getDefaultLocale() : SessionControllerGetter.getUserBean().getOrganization(organizationId).getDefaultLocale(); - return Response.ok().entity( - getFilteredObservationsFromBackend( + + List<ObservationListItem> observations = getFilteredObservationsFromBackend( organizationId, pestId, cropId, @@ -164,8 +165,12 @@ public class ObservationService { fromStr, toStr, user - ).stream().map(obs -> obs.getListItem(locale)).collect(Collectors.toList()) - ).build(); + ).stream().map(obs -> { + return obs.getListItem(locale, SessionControllerGetter.getObservationBean().getObservationDataSchema(organizationId, obs.getOrganismId())); + }).collect(Collectors.toList()); + + //o.setObservationDataSchema(SessionControllerGetter.getObservationBean().getObservationDataSchema(observer.getOrganizationId().getOrganizationId(), o.getOrganismId())); + return Response.ok().entity(observations).build(); }