From 49ac82884744adeac9b9c3a29eb357a91b6a480f Mon Sep 17 00:00:00 2001 From: Tor-Einar Skog <tor-einar.skog@nibio.no> Date: Mon, 26 Mar 2018 13:17:33 +0200 Subject: [PATCH] Fixing JSON recursivity Fixing date handling --- .../logic/entity/OrganismExternalResource.java | 2 ++ src/main/webapp/js/observationMap.js | 2 +- src/main/webapp/js/util.js | 17 +++++++++++++++++ 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/src/main/java/no/nibio/vips/logic/entity/OrganismExternalResource.java b/src/main/java/no/nibio/vips/logic/entity/OrganismExternalResource.java index 24c191b4..d88fe971 100755 --- a/src/main/java/no/nibio/vips/logic/entity/OrganismExternalResource.java +++ b/src/main/java/no/nibio/vips/logic/entity/OrganismExternalResource.java @@ -19,6 +19,7 @@ package no.nibio.vips.logic.entity; +import com.fasterxml.jackson.annotation.JsonIgnore; import java.io.Serializable; import javax.persistence.Column; import javax.persistence.EmbeddedId; @@ -54,6 +55,7 @@ public class OrganismExternalResource implements Serializable { private String resourceIdentifier; @JoinColumn(name = "organism_id", referencedColumnName = "organism_id", insertable = false, updatable = false) @ManyToOne(optional = false) + @JsonIgnore private Organism organism; @JoinColumn(name = "external_resource_id", referencedColumnName = "external_resource_id", insertable = false, updatable = false) @ManyToOne(optional = false) diff --git a/src/main/webapp/js/observationMap.js b/src/main/webapp/js/observationMap.js index c704064f..5a132bb7 100755 --- a/src/main/webapp/js/observationMap.js +++ b/src/main/webapp/js/observationMap.js @@ -415,5 +415,5 @@ var getObservationRelativeAge = function(feature) console.info("No obs with id=" + feature.get("observationId")); return null; // Means invisible } - return Math.floor((currentDateInMillis - observation.timeOfObservation) / (1000 * 60 * 60 * 24)) + 1; + return Math.floor((currentDateInMillis - getUnixTimestampFromJSON(observation.timeOfObservation)) / (1000 * 60 * 60 * 24)) + 1; }; \ No newline at end of file diff --git a/src/main/webapp/js/util.js b/src/main/webapp/js/util.js index 8e485f92..382314a0 100755 --- a/src/main/webapp/js/util.js +++ b/src/main/webapp/js/util.js @@ -146,3 +146,20 @@ function getLocalizedCropCategoryName(cropCategory) return "Unnamed"; } +/** Ensure that we're able to handle both a unix timestamp and an ISO timestamp + * + * @param {type} ambiguousValue + * @returns {Number} + */ +function getUnixTimestampFromJSON(ambiguousValue) +{ + var possibleDateObject = new Date(ambiguousValue); + if(possibleDateObject.getTime() === NaN && typeof parseInt(ambiguousValue) === "number") + { + return parseInt(ambiguousValue); + } + else + { + return possibleDateObject.getTime(); + } +} \ No newline at end of file -- GitLab