From dcf82c169addf09f0027ec0d05d6237d67b352c9 Mon Sep 17 00:00:00 2001
From: Piotr Gawron <piotr.gawron@uni.lu>
Date: Wed, 23 Nov 2016 15:50:53 +0100
Subject: [PATCH] force identifier to be int when possible

---
 frontend-js/src/main/js/map/data/IdentifiedElement.js | 6 ++++++
 frontend-js/src/main/js/map/data/LayoutAlias.js       | 2 +-
 frontend-js/src/main/js/map/data/LayoutData.js        | 2 +-
 frontend-js/src/main/js/map/data/LayoutReaction.js    | 2 +-
 frontend-js/src/main/js/map/data/Project.js           | 2 +-
 frontend-js/src/main/js/map/data/Reaction.js          | 2 +-
 6 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/frontend-js/src/main/js/map/data/IdentifiedElement.js b/frontend-js/src/main/js/map/data/IdentifiedElement.js
index e3e2e27cfa..c2b830640d 100644
--- a/frontend-js/src/main/js/map/data/IdentifiedElement.js
+++ b/frontend-js/src/main/js/map/data/IdentifiedElement.js
@@ -97,6 +97,12 @@ IdentifiedElement.prototype.getId = function() {
 };
 
 IdentifiedElement.prototype.setId = function(id) {
+
+  // some elements are identfied by id that is not a number (like point on the
+  // map)
+  if (!isNaN(id)) {
+    id = parseInt(id);
+  }
   this.id = id;
 };
 
diff --git a/frontend-js/src/main/js/map/data/LayoutAlias.js b/frontend-js/src/main/js/map/data/LayoutAlias.js
index 57874d5831..5313a35e12 100644
--- a/frontend-js/src/main/js/map/data/LayoutAlias.js
+++ b/frontend-js/src/main/js/map/data/LayoutAlias.js
@@ -41,7 +41,7 @@ LayoutAlias.prototype.getId = function() {
 };
 
 LayoutAlias.prototype.setId = function(id) {
-  this.id = id;
+  this.id = parseInt(id);
 };
 
 LayoutAlias.prototype.getValue = function() {
diff --git a/frontend-js/src/main/js/map/data/LayoutData.js b/frontend-js/src/main/js/map/data/LayoutData.js
index 8c9936f26c..8211340a08 100644
--- a/frontend-js/src/main/js/map/data/LayoutData.js
+++ b/frontend-js/src/main/js/map/data/LayoutData.js
@@ -43,7 +43,7 @@ LayoutData.prototype.getName = function() {
 };
 
 LayoutData.prototype.setId = function(id) {
-  this.id = id;
+  this.id = parseInt(id);
 };
 
 LayoutData.prototype.setName = function(name) {
diff --git a/frontend-js/src/main/js/map/data/LayoutReaction.js b/frontend-js/src/main/js/map/data/LayoutReaction.js
index ea55cdbf43..ebfbc08248 100644
--- a/frontend-js/src/main/js/map/data/LayoutReaction.js
+++ b/frontend-js/src/main/js/map/data/LayoutReaction.js
@@ -18,7 +18,7 @@ LayoutReaction.prototype.getId = function() {
 };
 
 LayoutReaction.prototype.setId = function(id) {
-  this.id = id;
+  this.id = parseInt(id);
 };
 
 LayoutReaction.prototype.getWidth = function() {
diff --git a/frontend-js/src/main/js/map/data/Project.js b/frontend-js/src/main/js/map/data/Project.js
index 2e0397c01b..e96da041ba 100644
--- a/frontend-js/src/main/js/map/data/Project.js
+++ b/frontend-js/src/main/js/map/data/Project.js
@@ -42,7 +42,7 @@ Project.prototype.getId = function() {
 };
 
 Project.prototype.setId = function(id) {
-  this._id = id;
+  this._id = parseInt(id);
 };
 Project.prototype.getProjectId = function() {
   return this._projectId;
diff --git a/frontend-js/src/main/js/map/data/Reaction.js b/frontend-js/src/main/js/map/data/Reaction.js
index e99d7c09e9..a115842c7a 100644
--- a/frontend-js/src/main/js/map/data/Reaction.js
+++ b/frontend-js/src/main/js/map/data/Reaction.js
@@ -45,7 +45,7 @@ Reaction.prototype.getId = function() {
 };
 
 Reaction.prototype.setId = function(id) {
-  this.id = id;
+  this.id = parseInt(id);
 };
 
 Reaction.prototype.getCenter = function() {
-- 
GitLab