From bf313b375d6053b3ac6c85b6c4e1a1d39b7dc5e7 Mon Sep 17 00:00:00 2001 From: lewa <lene.wasskog@nibio.no> Date: Fri, 12 Apr 2024 11:08:39 +0200 Subject: [PATCH] feat: Add source to time series, fix conversion error --- .../logic/entity/ObservationTimeSeries.java | 24 ++++++++++++++++--- .../service/ObservationTimeSeriesService.java | 8 ++++++- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/src/main/java/no/nibio/vips/logic/entity/ObservationTimeSeries.java b/src/main/java/no/nibio/vips/logic/entity/ObservationTimeSeries.java index 3753e25e..5a019c5d 100644 --- a/src/main/java/no/nibio/vips/logic/entity/ObservationTimeSeries.java +++ b/src/main/java/no/nibio/vips/logic/entity/ObservationTimeSeries.java @@ -50,9 +50,10 @@ public class ObservationTimeSeries implements Serializable, no.nibio.vips.observ private String name; private String description; private Date created; - private Date lastModified; private Integer userId; private VipsLogicUser user; // Transient + private String source; + private Date lastModified; private Integer lastModifiedBy; private VipsLogicUser lastModifiedByUser; // Transient private Integer locationPointOfInterestId; @@ -63,6 +64,10 @@ public class ObservationTimeSeries implements Serializable, no.nibio.vips.observ public ObservationTimeSeries() { } + public ObservationTimeSeries(String source) { + this.source = source; + } + /** * @return the id of the observation time series */ @@ -237,8 +242,20 @@ public class ObservationTimeSeries implements Serializable, no.nibio.vips.observ } /** - * @return the id of the user who last modified the observation time series + * @return from where the observation time series originally was created, either WEB or APP + */ + @Column(name = "source") + public String getSource() { + return source; + } + + /** + * @param source From where the observation time series originally was created */ + public void setSource(String source) { + this.source = source; + } + @Column(name = "last_modified_by") public Integer getLastModifiedBy() { return lastModifiedBy; @@ -353,9 +370,10 @@ public class ObservationTimeSeries implements Serializable, no.nibio.vips.observ ", name='" + name + '\'' + ", description='" + description + '\'' + ", created=" + created + - ", lastModified=" + lastModified + ", userId=" + userId + ", user=" + user + + ", source=" + source + + ", lastModified=" + lastModified + ", lastModifiedBy=" + lastModifiedBy + ", lastModifiedByUser=" + lastModifiedByUser + ", locationPointOfInterestId=" + locationPointOfInterestId + diff --git a/src/main/java/no/nibio/vips/logic/service/ObservationTimeSeriesService.java b/src/main/java/no/nibio/vips/logic/service/ObservationTimeSeriesService.java index 3c250d08..dc2aa0e6 100644 --- a/src/main/java/no/nibio/vips/logic/service/ObservationTimeSeriesService.java +++ b/src/main/java/no/nibio/vips/logic/service/ObservationTimeSeriesService.java @@ -207,7 +207,7 @@ public class ObservationTimeSeriesService { return Response.status(Response.Status.NOT_FOUND).build(); } } else { - otsToSave = new ObservationTimeSeries(); + otsToSave = new ObservationTimeSeries("APP"); otsToSave.setUserId(user.getUserId()); otsToSave.setCreated(currentDate); } @@ -246,6 +246,12 @@ public class ObservationTimeSeriesService { Object value = map.get(key); if (clazz.isInstance(value)) { return clazz.cast(value); + } else if (clazz == Integer.class && value instanceof String) { + try { + return clazz.cast(Integer.parseInt((String) value)); + } catch (NumberFormatException e) { + return null; + } } return clazz == Boolean.class ? clazz.cast(false) : null; } -- GitLab