From 8b7b02c10e8c3f238d4a7da96e82c46f8fb94caa Mon Sep 17 00:00:00 2001 From: Piotr Gawron <piotr.gawron@uni.lu> Date: Fri, 25 Aug 2017 17:29:44 +0200 Subject: [PATCH] GuiConnector is not stored as global anymore --- frontend-js/.jshintrc | 1 - frontend-js/src/main/js/ServerConnector.js | 1 - frontend-js/src/main/js/gui/ContextMenu.js | 1 + .../src/main/js/gui/admin/MapsAdminPanel.js | 2 +- .../main/js/gui/export/GraphicsExportPanel.js | 1 + .../main/js/gui/leftPanel/AbstractDbPanel.js | 1 + .../main/js/gui/leftPanel/ProjectInfoPanel.js | 1 + .../js/gui/leftPanel/PublicationListDialog.js | 1 + .../src/main/js/gui/topMenu/TopMenu.js | 1 + .../src/main/js/map/AbstractCustomMap.js | 1 + frontend-js/src/main/js/map/CustomMap.js | 1 + .../src/main/js/map/marker/AbstractMarker.js | 63 ++++++++++--------- .../main/js/map/window/AbstractInfoWindow.js | 1 + frontend-js/src/main/js/minerva.js | 9 ++- .../src/test/js/ServerConnector-test.js | 2 +- frontend-js/src/test/js/map/CustomMap-test.js | 1 - frontend-js/src/test/js/map/Submap-test.js | 1 - .../js/map/data/TargettingStructure-test.js | 1 - .../test/js/map/marker/AliasMarker-test.js | 1 - .../test/js/map/overlay/DrugDbOverlay-test.js | 1 - frontend-js/src/test/js/mocha-config.js | 3 +- 21 files changed, 50 insertions(+), 45 deletions(-) diff --git a/frontend-js/.jshintrc b/frontend-js/.jshintrc index a37287075c..7f86e754b7 100644 --- a/frontend-js/.jshintrc +++ b/frontend-js/.jshintrc @@ -42,7 +42,6 @@ "afterEach" : false, /* minerva globals */ - "GuiConnector" : false, "ServerConnector" : false, "google" : false, diff --git a/frontend-js/src/main/js/ServerConnector.js b/frontend-js/src/main/js/ServerConnector.js index d96f861c4c..ebd00ccc7f 100644 --- a/frontend-js/src/main/js/ServerConnector.js +++ b/frontend-js/src/main/js/ServerConnector.js @@ -712,7 +712,6 @@ ServerConnector.removeProject = function (projectId) { if (self._projectsById[project.getProjectId()] !== undefined) { self._projectsById[project.getProjectId()].update(project); } else { - throw new Error(); self._projectsById[project.getProjectId()] = project; } return self._projectsById[project.getProjectId()]; diff --git a/frontend-js/src/main/js/gui/ContextMenu.js b/frontend-js/src/main/js/gui/ContextMenu.js index 420598dfe7..aa908487f6 100644 --- a/frontend-js/src/main/js/gui/ContextMenu.js +++ b/frontend-js/src/main/js/gui/ContextMenu.js @@ -3,6 +3,7 @@ /* exported logger */ var AbstractGuiElement = require('./AbstractGuiElement'); +var GuiConnector = require('../GuiConnector'); var SubMenu = require('./SubMenu'); var Functions = require('../Functions'); diff --git a/frontend-js/src/main/js/gui/admin/MapsAdminPanel.js b/frontend-js/src/main/js/gui/admin/MapsAdminPanel.js index 7bc7d1d163..05cc7467e2 100644 --- a/frontend-js/src/main/js/gui/admin/MapsAdminPanel.js +++ b/frontend-js/src/main/js/gui/admin/MapsAdminPanel.js @@ -140,7 +140,7 @@ MapsAdminPanel.prototype.projectToTableRow = function (project, row) { if (project.getStatus().toLowerCase() === "ok") { formattedProjectId = "<a href='" + "index.xhtml?id=" + projectId + "' target='" + projectId + "'>" + projectId + "</a>"; } else { - formattedProjectId = projectId + formattedProjectId = projectId; } row[0] = formattedProjectId; diff --git a/frontend-js/src/main/js/gui/export/GraphicsExportPanel.js b/frontend-js/src/main/js/gui/export/GraphicsExportPanel.js index 545d312a1a..21b5445168 100644 --- a/frontend-js/src/main/js/gui/export/GraphicsExportPanel.js +++ b/frontend-js/src/main/js/gui/export/GraphicsExportPanel.js @@ -4,6 +4,7 @@ var AbstractExportPanel = require('./AbstractExportPanel'); var Functions = require('../../Functions'); +var GuiConnector = require('../../GuiConnector'); var logger = require('../../logger'); diff --git a/frontend-js/src/main/js/gui/leftPanel/AbstractDbPanel.js b/frontend-js/src/main/js/gui/leftPanel/AbstractDbPanel.js index 1e27b92747..2cb3751678 100644 --- a/frontend-js/src/main/js/gui/leftPanel/AbstractDbPanel.js +++ b/frontend-js/src/main/js/gui/leftPanel/AbstractDbPanel.js @@ -4,6 +4,7 @@ var Promise = require("bluebird"); +var GuiConnector = require('../../GuiConnector'); var Panel = require('../Panel'); var PanelControlElementType = require('../PanelControlElementType'); diff --git a/frontend-js/src/main/js/gui/leftPanel/ProjectInfoPanel.js b/frontend-js/src/main/js/gui/leftPanel/ProjectInfoPanel.js index 0867db4f5c..02a6ba3c99 100644 --- a/frontend-js/src/main/js/gui/leftPanel/ProjectInfoPanel.js +++ b/frontend-js/src/main/js/gui/leftPanel/ProjectInfoPanel.js @@ -3,6 +3,7 @@ /* exported logger */ var ConfigurationType = require('../../ConfigurationType'); +var GuiConnector = require('../../GuiConnector'); var Panel = require('../Panel'); var PanelControlElementType = require('../PanelControlElementType'); var PublicationListDialog = require('./PublicationListDialog'); diff --git a/frontend-js/src/main/js/gui/leftPanel/PublicationListDialog.js b/frontend-js/src/main/js/gui/leftPanel/PublicationListDialog.js index 0250e411b1..df3a82c994 100644 --- a/frontend-js/src/main/js/gui/leftPanel/PublicationListDialog.js +++ b/frontend-js/src/main/js/gui/leftPanel/PublicationListDialog.js @@ -6,6 +6,7 @@ var Promise = require("bluebird"); var AbstractGuiElement = require('../AbstractGuiElement'); var Alias = require('../../map/data/Alias'); +var GuiConnector = require('../../GuiConnector'); var IdentifiedElement = require('../../map/data/IdentifiedElement'); var Reaction = require('../../map/data/Reaction'); diff --git a/frontend-js/src/main/js/gui/topMenu/TopMenu.js b/frontend-js/src/main/js/gui/topMenu/TopMenu.js index 062a1d4cae..724a7391d3 100644 --- a/frontend-js/src/main/js/gui/topMenu/TopMenu.js +++ b/frontend-js/src/main/js/gui/topMenu/TopMenu.js @@ -5,6 +5,7 @@ var Promise = require("bluebird"); /* exported logger */ var AbstractGuiElement = require('../AbstractGuiElement'); +var GuiConnector = require('../../GuiConnector'); var OverviewDialog = require('../OverviewDialog'); var PanelControlElementType = require('../PanelControlElementType'); diff --git a/frontend-js/src/main/js/map/AbstractCustomMap.js b/frontend-js/src/main/js/map/AbstractCustomMap.js index 4aa5ab3a45..cca342d9d8 100644 --- a/frontend-js/src/main/js/map/AbstractCustomMap.js +++ b/frontend-js/src/main/js/map/AbstractCustomMap.js @@ -7,6 +7,7 @@ var functions = require('../Functions'); var AliasInfoWindow = require('./window/AliasInfoWindow'); var AliasSurface = require('./surface/AliasSurface'); +var GuiConnector = require('../GuiConnector'); var IdentifiedElement = require('./data/IdentifiedElement'); var ObjectWithListeners = require('../ObjectWithListeners'); var PointInfoWindow = require('./window/PointInfoWindow'); diff --git a/frontend-js/src/main/js/map/CustomMap.js b/frontend-js/src/main/js/map/CustomMap.js index e25f8985da..2225dc615c 100644 --- a/frontend-js/src/main/js/map/CustomMap.js +++ b/frontend-js/src/main/js/map/CustomMap.js @@ -14,6 +14,7 @@ var Alias = require('./data/Alias'); var CommentDialog = require('../gui/CommentDialog'); var ControlType = require('./ControlType'); var CustomMapOptions = require('./CustomMapOptions'); +var GuiConnector = require('../GuiConnector'); var IdentifiedElement = require('./data/IdentifiedElement'); var LayoutData = require('./data/LayoutData'); var PointData = require('./data/PointData'); diff --git a/frontend-js/src/main/js/map/marker/AbstractMarker.js b/frontend-js/src/main/js/map/marker/AbstractMarker.js index 32ce5d05b2..87ffe92ab7 100644 --- a/frontend-js/src/main/js/map/marker/AbstractMarker.js +++ b/frontend-js/src/main/js/map/marker/AbstractMarker.js @@ -1,9 +1,12 @@ "use strict"; +var GuiConnector = require('../../GuiConnector'); + var logger = require('../../logger'); var Promise = require("bluebird"); var ObjectWithListeners = require('../../ObjectWithListeners'); + /** * Class representing Marker (called sometimes bubble) that we visualize on the * map. @@ -35,23 +38,23 @@ AbstractMarker.prototype.constructor = AbstractMarker; /** * Returns identifier of this object. - * + * * @returns identifier of this object */ -AbstractMarker.prototype.getId = function() { +AbstractMarker.prototype.getId = function () { return this.getIdentifiedElement().getId(); }; /** * Returns icon of the marker. - * + * * @returns icon of the marker */ -AbstractMarker.prototype.getIcon = function() { +AbstractMarker.prototype.getIcon = function () { return this._icon; }; -AbstractMarker.prototype.setIcon = function(icon) { +AbstractMarker.prototype.setIcon = function (icon) { var self = this; self._icon = icon; var googleMarker = self.getGoogleMarker(); @@ -63,7 +66,7 @@ AbstractMarker.prototype.setIcon = function(icon) { /** * Shows marker on the map. */ -AbstractMarker.prototype.show = function() { +AbstractMarker.prototype.show = function () { if (this.getGoogleMarker() === undefined) { logger.warn("Cannot show marker. Marker not initialized"); return; @@ -75,7 +78,7 @@ AbstractMarker.prototype.show = function() { return; } }; -AbstractMarker.prototype.hide = function() { +AbstractMarker.prototype.hide = function () { if (this.getGoogleMarker() === undefined) { logger.warn("Cannot hide marker. Marker not initialized"); return; @@ -90,25 +93,25 @@ AbstractMarker.prototype.hide = function() { /** * Returns {@link AbstractCustomMap} where marker is located. - * + * * @returns {@link AbstractCustomMap} where marker is located */ -AbstractMarker.prototype.getCustomMap = function() { +AbstractMarker.prototype.getCustomMap = function () { return this._map; }; -AbstractMarker.prototype.setCustomMap = function(map) { +AbstractMarker.prototype.setCustomMap = function (map) { this._map = map; }; /** * Returns {@link google.maps.Bounds bounds} of the marker (it's a single * point). - * + * * @returns {@link google.maps.Bounds bounds} of the marker (it's a single * point) */ -AbstractMarker.prototype.getBounds = function() { +AbstractMarker.prototype.getBounds = function () { var marker = this.getGoogleMarker(); if (marker === undefined || marker === null) { logger.warn("Marker not initialized"); @@ -122,76 +125,76 @@ AbstractMarker.prototype.getBounds = function() { /** * Set map where the marker should be visualized. - * + * * @param map * {@link google.maps.Map} where the marker should be visualized. */ -AbstractMarker.prototype.setMap = function(map) { +AbstractMarker.prototype.setMap = function (map) { if (this.getGoogleMarker() !== undefined) { this.getGoogleMarker().setMap(map); } else { logger.warn("[" + this.constructor.name + "] Cannot setup map. Marker wasn't initialized. Marker id: " - + this.getId()); + + this.getId()); } }; /** * Initializes google.maps.Marker object connected to this object. */ -AbstractMarker.prototype._init = function() { +AbstractMarker.prototype._init = function () { var self = this; var point = this.getCoordinates(); var latLng = this.getCustomMap().fromPointToLatLng(point); this._marker = new google.maps.Marker({ - position : latLng, - icon : GuiConnector.getImgPrefix() + self.getIcon(), - optimized : self.getCustomMap().isMarkerOptimization(), - id : self.getId() + position: latLng, + icon: GuiConnector.getImgPrefix() + self.getIcon(), + optimized: self.getCustomMap().isMarkerOptimization(), + id: self.getId() }); - var onclick = function() { + var onclick = function () { return self.onClickHandler().then(null, GuiConnector.alert); }; google.maps.event.addListener(this.getGoogleMarker(), 'click', onclick); return Promise.resolve(); }; -AbstractMarker.prototype.onClickHandler = function() { +AbstractMarker.prototype.onClickHandler = function () { return this.callListeners("onClick"); }; /** * Returns {google.maps.Marker} connected to this object. - * + * * @returns {google.maps.Marker} connected to this object */ -AbstractMarker.prototype.getGoogleMarker = function() { +AbstractMarker.prototype.getGoogleMarker = function () { return this._marker; }; /** * Abstract function returning string marker type. - * + * * @returns string marker type */ -AbstractMarker.prototype.getType = function() { +AbstractMarker.prototype.getType = function () { return this.getIdentifiedElement().getType(); }; -AbstractMarker.prototype.getModelId = function() { +AbstractMarker.prototype.getModelId = function () { return this.getIdentifiedElement().getModelId(); }; -AbstractMarker.prototype.getIdentifiedElement = function() { +AbstractMarker.prototype.getIdentifiedElement = function () { return this._identifiedElement; }; -AbstractMarker.prototype.updateIdentifiedElement = function(identifiedElement) { +AbstractMarker.prototype.updateIdentifiedElement = function (identifiedElement) { this.setIcon(identifiedElement.getIcon()); }; -AbstractMarker.prototype.setIdentifiedElement = function(identifiedElement) { +AbstractMarker.prototype.setIdentifiedElement = function (identifiedElement) { this._identifiedElement = identifiedElement; }; diff --git a/frontend-js/src/main/js/map/window/AbstractInfoWindow.js b/frontend-js/src/main/js/map/window/AbstractInfoWindow.js index e807019a6f..a9cb40dcbc 100644 --- a/frontend-js/src/main/js/map/window/AbstractInfoWindow.js +++ b/frontend-js/src/main/js/map/window/AbstractInfoWindow.js @@ -6,6 +6,7 @@ var logger = require('../../logger'); var Functions = require('../../Functions'); var Comment = require('../data/Comment'); +var GuiConnector = require('../../GuiConnector'); var GuiUtils = require('../../gui/leftPanel/GuiUtils'); var IdentifiedElement = require('../data/IdentifiedElement'); var ObjectWithListeners = require('../../ObjectWithListeners'); diff --git a/frontend-js/src/main/js/minerva.js b/frontend-js/src/main/js/minerva.js index aff5e13e93..914330c165 100644 --- a/frontend-js/src/main/js/minerva.js +++ b/frontend-js/src/main/js/minerva.js @@ -19,7 +19,7 @@ var Legend = require('./gui/Legend'); var MapContextMenu = require('./gui/MapContextMenu'); var SelectionContextMenu = require('./gui/SelectionContextMenu'); -var OriginalGuiConnector = require('./GuiConnector'); +var GuiConnector = require('./GuiConnector'); var OriginalServerConnector = require('./ServerConnector'); var Promise = require("bluebird"); @@ -432,8 +432,7 @@ function createResult(customMap) { } function initGlobals(params) { - if (global.GuiConnector === undefined) { - global.GuiConnector = OriginalGuiConnector; + if (global.ServerConnector === undefined) { global.ServerConnector = OriginalServerConnector; if (params.isDebug()) { logger.setLevel("debug"); @@ -445,7 +444,7 @@ function initGlobals(params) { logger.setLevel("debug"); } } else { - logger.warn("global GuiConnector found"); + logger.warn("global ServerConnector found"); } } @@ -653,7 +652,7 @@ var minerva = { createExport: createExport, createAdmin: createAdmin, ServerConnector: OriginalServerConnector, - GuiConnector: OriginalGuiConnector, + GuiConnector: GuiConnector, DualListbox: require('dual-listbox').DualListbox, }; diff --git a/frontend-js/src/test/js/ServerConnector-test.js b/frontend-js/src/test/js/ServerConnector-test.js index d5f88e3e4e..8adb10b29f 100644 --- a/frontend-js/src/test/js/ServerConnector-test.js +++ b/frontend-js/src/test/js/ServerConnector-test.js @@ -86,7 +86,7 @@ describe('ServerConnector', function() { }); it('getProjectId from GET params', function() { - GuiConnector.getParams['id'] = "test"; + helper.setUrl("http://test/?id=test"); return ServerConnector.getProjectId().then(function(result) { assert.equal(result, "test"); }); diff --git a/frontend-js/src/test/js/map/CustomMap-test.js b/frontend-js/src/test/js/map/CustomMap-test.js index 0a8be442dd..fcba29e81a 100644 --- a/frontend-js/src/test/js/map/CustomMap-test.js +++ b/frontend-js/src/test/js/map/CustomMap-test.js @@ -155,7 +155,6 @@ describe('CustomMap', function () { it("with submaps", function () { var projectId = "complex_model_with_submaps"; helper.setUrl("http://test/?id=" + projectId); - GuiConnector.getParams["id"] = projectId; var customMap; var emptySubmodelId = 16730; var filledSubmodelId = 16731; diff --git a/frontend-js/src/test/js/map/Submap-test.js b/frontend-js/src/test/js/map/Submap-test.js index e9d9929767..2adb8b24ec 100644 --- a/frontend-js/src/test/js/map/Submap-test.js +++ b/frontend-js/src/test/js/map/Submap-test.js @@ -55,7 +55,6 @@ describe('Submap', function() { var marker; var projectId = "complex_model_with_submaps"; helper.setUrl("http://test/?id=" + projectId); - GuiConnector.getParams["id"] = projectId; return ServerConnector.getProject(projectId).then(function(project) { map = helper.createCustomMap(project); submap = map.getSubmapById(16729); diff --git a/frontend-js/src/test/js/map/data/TargettingStructure-test.js b/frontend-js/src/test/js/map/data/TargettingStructure-test.js index a0f0471036..66a2c48169 100644 --- a/frontend-js/src/test/js/map/data/TargettingStructure-test.js +++ b/frontend-js/src/test/js/map/data/TargettingStructure-test.js @@ -12,7 +12,6 @@ var assert = chai.assert; describe('TargettingStructure', function() { it("getTargetsForIdentifiedElement", function() { helper.setUrl("http://test/?id=drug_target_sample"); - GuiConnector.init(); var map, searchDb; return ServerConnector.getProject("drug_target_sample").then(function(project) { 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 f4c8968743..a9cad50e05 100644 --- a/frontend-js/src/test/js/map/marker/AliasMarker-test.js +++ b/frontend-js/src/test/js/map/marker/AliasMarker-test.js @@ -61,7 +61,6 @@ describe('AliasMarker', function() { it("click on marker when chemical is not available", function() { var projectId = "complex_model_with_submaps"; helper.setUrl("http://test/?id=" + projectId); - GuiConnector.getParams["id"] = projectId; var map; var marker; return ServerConnector.getProject(projectId).then(function(project) { diff --git a/frontend-js/src/test/js/map/overlay/DrugDbOverlay-test.js b/frontend-js/src/test/js/map/overlay/DrugDbOverlay-test.js index f546259925..da99679c85 100644 --- a/frontend-js/src/test/js/map/overlay/DrugDbOverlay-test.js +++ b/frontend-js/src/test/js/map/overlay/DrugDbOverlay-test.js @@ -22,7 +22,6 @@ describe('DrugDbOverlay', function() { it("searchByQuery", function() { helper.setUrl("http://test/?id=drug_target_sample"); - GuiConnector.init(); var map, searchDb; return ServerConnector.getProject("drug_target_sample").then(function(project) { diff --git a/frontend-js/src/test/js/mocha-config.js b/frontend-js/src/test/js/mocha-config.js index be219d23ce..846fc0db75 100644 --- a/frontend-js/src/test/js/mocha-config.js +++ b/frontend-js/src/test/js/mocha-config.js @@ -5,6 +5,8 @@ var Cookies = require('js-cookie'); var Helper = require('./helper'); +var GuiConnector = require('./GuiConnector-mock'); + // ----------------------------- var logger = require('./logger'); @@ -93,7 +95,6 @@ global.window.$ = $; global.google = require('./google-map-mock'); - global.GuiConnector = require('./GuiConnector-mock'); global.ServerConnector = require('./ServerConnector-mock'); Promise.longStackTraces(); -- GitLab