From b67f610270862cef37f4cf61bacabf4cff2320d1 Mon Sep 17 00:00:00 2001
From: Piotr Gawron <piotr.gawron@uni.lu>
Date: Mon, 3 Jul 2017 17:23:18 +0200
Subject: [PATCH] AliasMarker takes dict as an argument

---
 frontend-js/src/main/js/map/CustomMap.js          |  5 ++++-
 frontend-js/src/main/js/map/marker/AliasMarker.js | 10 ++--------
 .../src/test/js/map/AbstractCustomMap-test.js     |  7 +++++--
 .../src/test/js/map/marker/AliasMarker-test.js    | 15 ++++++++++++---
 4 files changed, 23 insertions(+), 14 deletions(-)

diff --git a/frontend-js/src/main/js/map/CustomMap.js b/frontend-js/src/main/js/map/CustomMap.js
index b97c0e3844..c631256305 100644
--- a/frontend-js/src/main/js/map/CustomMap.js
+++ b/frontend-js/src/main/js/map/CustomMap.js
@@ -1258,7 +1258,10 @@ CustomMap.prototype.createMarkerForDbOverlay = function(element, dbOverlay) {
 
   var submap = self.getSubmapById(element.getModelId());
   if (element.getType() === "ALIAS") {
-    var marker = new AliasMarker(element, submap);
+    var marker = new AliasMarker({
+      element : element,
+      map : submap
+    });
     return marker.init().then(function() {
       dbOverlay.markers[element.getType()][element.getId()] = marker;
       return marker;
diff --git a/frontend-js/src/main/js/map/marker/AliasMarker.js b/frontend-js/src/main/js/map/marker/AliasMarker.js
index 982cd13fd6..5114b278fe 100644
--- a/frontend-js/src/main/js/map/marker/AliasMarker.js
+++ b/frontend-js/src/main/js/map/marker/AliasMarker.js
@@ -7,14 +7,8 @@ var IdentifiedElement = require('../data/IdentifiedElement');
  * This class describes Google maps marker (connected to {@link Alias}) that is
  * visualized on the map.
  */
-function AliasMarker(element, map) {
-  if (!(element instanceof IdentifiedElement)) {
-    throw new Error("First argument must be of IdentifiedElement class");
-  }
-  AbstractMarker.call(this, {
-    element : element,
-    map : map
-  });
+function AliasMarker(params) {
+  AbstractMarker.call(this, params);
 }
 AliasMarker.prototype = Object.create(AbstractMarker.prototype);
 AliasMarker.prototype.constructor = AliasMarker;
diff --git a/frontend-js/src/test/js/map/AbstractCustomMap-test.js b/frontend-js/src/test/js/map/AbstractCustomMap-test.js
index 6a828aa632..4ce13da097 100644
--- a/frontend-js/src/test/js/map/AbstractCustomMap-test.js
+++ b/frontend-js/src/test/js/map/AbstractCustomMap-test.js
@@ -302,7 +302,10 @@ describe('AbstractCustomMap', function() {
         var identifiedElement = new IdentifiedElement(alias);
         identifiedElement.setIcon("empty.png");
 
-        marker = new AliasMarker(identifiedElement, map);
+        marker = new AliasMarker({
+          element : identifiedElement,
+          map : map
+        });
 
         return marker.init();
       }).then(function() {
@@ -347,7 +350,7 @@ describe('AbstractCustomMap', function() {
       var pointMarker = new PointMarker(pointData, "empty.png", mockObject);
 
       assert.equal(null, mockObject.getPointInfoWindowById(pointData.getId()));
-      return mockObject._openInfoWindowForIdentifiedElement(pointMarker.getIdentifiedElement()).then(function(){
+      return mockObject._openInfoWindowForIdentifiedElement(pointMarker.getIdentifiedElement()).then(function() {
         assert.ok(mockObject.getPointInfoWindowById(pointData.getId()));
       });
     });
diff --git a/frontend-js/src/test/js/map/marker/AliasMarker-test.js b/frontend-js/src/test/js/map/marker/AliasMarker-test.js
index 64b8934aa6..1422885568 100644
--- a/frontend-js/src/test/js/map/marker/AliasMarker-test.js
+++ b/frontend-js/src/test/js/map/marker/AliasMarker-test.js
@@ -28,7 +28,10 @@ describe('AliasMarker', function() {
       var identifiedElement = new IdentifiedElement(alias);
       identifiedElement.setIcon("empty.png");
 
-      marker = new AliasMarker(identifiedElement, map);
+      marker = new AliasMarker({
+        element : identifiedElement,
+        map : map
+      });
 
       assert.equal(alias.getId(), marker.getId());
       assert.equal(map, marker.getCustomMap());
@@ -51,7 +54,10 @@ describe('AliasMarker', function() {
 
       var identifiedElement = new IdentifiedElement(alias);
 
-      marker = new AliasMarker(identifiedElement, map);
+      marker = new AliasMarker({
+        element : identifiedElement,
+        map : map
+      });
       return marker.init();
     }).then(function() {
       return google.maps.event.trigger(marker.getGoogleMarker(), "click");
@@ -73,7 +79,10 @@ describe('AliasMarker', function() {
     }).then(function(alias) {
       var identifiedElement = new IdentifiedElement(alias);
 
-      marker = new AliasMarker(identifiedElement, map);
+      marker = new AliasMarker({
+        element : identifiedElement,
+        map : map
+      });
       return marker.init();
     }).then(function() {
 
-- 
GitLab