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 3753e25ee8b99ec7b09999a453dea6b3b70a1382..5a019c5d7611641952e684919ec07a2bb68124a9 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 3c250d0889643152650d36d32b25f3bbe71a873e..dc2aa0e64b9dd06d5f22013ff74a62e169cfdf46 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; }