diff --git a/frontend-js/.idea/dictionaries/piotr_gawron.xml b/frontend-js/.idea/dictionaries/piotr_gawron.xml index e16724fb120576f533b3ba793d1ae9d326fc3728..82a73e70bcd41d5649a9df121b6afa8a010e9b1b 100644 --- a/frontend-js/.idea/dictionaries/piotr_gawron.xml +++ b/frontend-js/.idea/dictionaries/piotr_gawron.xml @@ -3,6 +3,7 @@ <words> <w>antisense</w> <w>biocompendium</w> + <w>celldesigner</w> <w>chebi</w> <w>chembl</w> <w>drugbank</w> @@ -16,15 +17,20 @@ <w>kegg</w> <w>lcsb</w> <w>mapviewer</w> + <w>ncbigene</w> <w>omim</w> <w>pubchem</w> <w>pubmed</w> <w>reactome</w> <w>refseq</w> + <w>saccharomyces</w> <w>sbgn</w> + <w>smtp</w> <w>submap</w> <w>submaps</w> + <w>toxicogenomic</w> <w>uniprot</w> + <w>wikipathways</w> </words> </dictionary> </component> \ No newline at end of file diff --git a/frontend-js/.idea/workspace.xml b/frontend-js/.idea/workspace.xml index ee3a8ac97ad4169cb45b7396482bacc67b59449e..1456e2a7dbc1d558ccbabba7e05a777ac2866bb6 100644 --- a/frontend-js/.idea/workspace.xml +++ b/frontend-js/.idea/workspace.xml @@ -6,22 +6,27 @@ </component> <component name="ChangeListManager"> <list default="true" id="c119f0dd-fdda-4d02-a51e-86bc6ef7e50c" name="Default" comment=""> - <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/webResources.xml" /> - <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/testFiles/apiCalls/users/admin.updatePreferences/PATCH_preferences.project-upload.cache-data=false&" /> - <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/testFiles/apiCalls/users/admin.updatePreferences/PATCH_preferences.project-upload.cache-data=true&" /> + <change type="MOVED" beforePath="$PROJECT_DIR$/testFiles/apiCalls/projects/sample/comments/models/all/columns=id,elementId,modelId,type,icon,removed&token=MOCK_TOKEN_ID&" afterPath="$PROJECT_DIR$/testFiles/apiCalls/projects/sample/comments/models/all/columns=elementId,icon,id,modelId,removed,type&token=MOCK_TOKEN_ID&" /> + <change type="MOVED" beforePath="$PROJECT_DIR$/testFiles/apiCalls/projects/sample/comments/models/all/columns=id,elementId,modelId,type,icon,removed,pinned&token=MOCK_TOKEN_ID&" afterPath="$PROJECT_DIR$/testFiles/apiCalls/projects/sample/comments/models/all/columns=elementId,icon,id,modelId,pinned,removed,type&token=MOCK_TOKEN_ID&" /> + <change type="MOVED" beforePath="$PROJECT_DIR$/testFiles/apiCalls/projects/sample/comments/models/all/columns=id,elementId,modelId,type,removed,pinned,author,email&token=MOCK_TOKEN_ID&" afterPath="$PROJECT_DIR$/testFiles/apiCalls/projects/sample/comments/models/all/columns=author,elementId,email,id,modelId,pinned,removed,type&token=MOCK_TOKEN_ID&" /> + <change type="MOVED" beforePath="$PROJECT_DIR$/testFiles/apiCalls/projects/sample/models/15781/bioEntities/elements/columns=id,bounds,modelId&type=Drug,Complex,Phenotype,Gene,RNA,Unknown,Degraded,Antisense RNA,Ion,Simple molecule,Protein,Compartment&token=MOCK_TOKEN_ID&" afterPath="$PROJECT_DIR$/testFiles/apiCalls/projects/sample/models/15781/bioEntities/elements/columns=id,bounds,modelId&type=Antisense RNA,Compartment,Complex,Degraded,Drug,Gene,Ion,Phenotype,Protein,RNA,Simple molecule,Unknown&token=MOCK_TOKEN_ID&" /> + <change type="MOVED" beforePath="$PROJECT_DIR$/testFiles/apiCalls/projects/sample/models/15781/bioEntities/elements/columns=id,modelId&type=Drug,Complex,Phenotype,Gene,RNA,Unknown,Degraded,Antisense RNA,Ion,Simple molecule,Protein,Compartment&token=MOCK_TOKEN_ID&" afterPath="$PROJECT_DIR$/testFiles/apiCalls/projects/sample/models/15781/bioEntities/elements/columns=id,modelId&type=Antisense RNA,Compartment,Complex,Degraded,Drug,Gene,Ion,Phenotype,Protein,RNA,Simple molecule,Unknown&token=MOCK_TOKEN_ID&" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/dictionaries/piotr_gawron.xml" afterPath="$PROJECT_DIR$/.idea/dictionaries/piotr_gawron.xml" /> - <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/frontend-js.iml" afterPath="$PROJECT_DIR$/.idea/frontend-js.iml" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" /> + <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/js/Configuration.js" afterPath="$PROJECT_DIR$/src/main/js/Configuration.js" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/js/ServerConnector.js" afterPath="$PROJECT_DIR$/src/main/js/ServerConnector.js" /> - <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/js/gui/admin/AddProjectDialog.js" afterPath="$PROJECT_DIR$/src/main/js/gui/admin/AddProjectDialog.js" /> - <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/js/map/data/User.js" afterPath="$PROJECT_DIR$/src/main/js/map/data/User.js" /> - <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/js/map/data/UserPreferences.js" afterPath="$PROJECT_DIR$/src/main/js/map/data/UserPreferences.js" /> - <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/js/GuiConnector-mock.js" afterPath="$PROJECT_DIR$/src/test/js/GuiConnector-mock.js" /> - <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/js/gui/Header-test.js" afterPath="$PROJECT_DIR$/src/test/js/gui/Header-test.js" /> - <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/js/gui/admin/AddProjectDialog-test.js" afterPath="$PROJECT_DIR$/src/test/js/gui/admin/AddProjectDialog-test.js" /> - <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/js/gui/admin/EditProjectDialog-test.js" afterPath="$PROJECT_DIR$/src/test/js/gui/admin/EditProjectDialog-test.js" /> - <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/js/map/Submap-test.js" afterPath="$PROJECT_DIR$/src/test/js/map/Submap-test.js" /> + <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/js/gui/export/AbstractExportPanel.js" afterPath="$PROJECT_DIR$/src/main/js/gui/export/AbstractExportPanel.js" /> + <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/js/minerva.js" afterPath="$PROJECT_DIR$/src/main/js/minerva.js" /> + <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/js/gui/export/ElementExportPanel-test.js" afterPath="$PROJECT_DIR$/src/test/js/gui/export/ElementExportPanel-test.js" /> + <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/js/gui/export/NetworkExportPanel-test.js" afterPath="$PROJECT_DIR$/src/test/js/gui/export/NetworkExportPanel-test.js" /> + <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/js/minerva-test.js" afterPath="$PROJECT_DIR$/src/test/js/minerva-test.js" /> + <change type="MODIFICATION" beforePath="$PROJECT_DIR$/testFiles/apiCalls/configuration/token=MOCK_TOKEN_ID&" afterPath="$PROJECT_DIR$/testFiles/apiCalls/configuration/token=MOCK_TOKEN_ID&" /> + <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../model/src/main/java/lcsb/mapviewer/model/user/ConfigurationElementType.java" afterPath="$PROJECT_DIR$/../model/src/main/java/lcsb/mapviewer/model/user/ConfigurationElementType.java" /> + <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../rest-api/src/main/java/lcsb/mapviewer/api/configuration/ConfigurationController.java" afterPath="$PROJECT_DIR$/../rest-api/src/main/java/lcsb/mapviewer/api/configuration/ConfigurationController.java" /> + <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../rest-api/src/main/java/lcsb/mapviewer/api/configuration/ConfigurationRestImpl.java" afterPath="$PROJECT_DIR$/../rest-api/src/main/java/lcsb/mapviewer/api/configuration/ConfigurationRestImpl.java" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../rest-api/src/main/java/lcsb/mapviewer/api/users/UserController.java" afterPath="$PROJECT_DIR$/../rest-api/src/main/java/lcsb/mapviewer/api/users/UserController.java" /> + <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../rest-api/src/test/java/lcsb/mapviewer/api/configuration/ConfigurationRestImplTest.java" afterPath="$PROJECT_DIR$/../rest-api/src/test/java/lcsb/mapviewer/api/configuration/ConfigurationRestImplTest.java" /> + <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../web/src/main/java/lcsb/mapviewer/bean/ConfigurationBean.java" afterPath="$PROJECT_DIR$/../web/src/main/java/lcsb/mapviewer/bean/ConfigurationBean.java" /> </list> <ignored path="$PROJECT_DIR$/.tmp/" /> <ignored path="$PROJECT_DIR$/temp/" /> @@ -35,41 +40,105 @@ </component> <component name="FileEditorManager"> <leaf SIDE_TABS_SIZE_LIMIT_KEY="300"> - <file leaf-file-name="AddProjectDialog-test.js" pinned="false" current-in-tab="true"> + <file leaf-file-name="ServerConnector.js" pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/src/main/js/ServerConnector.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="720"> + <caret line="849" column="18" lean-forward="false" selection-start-line="849" selection-start-column="18" selection-end-line="849" selection-end-column="18" /> + <folding /> + </state> + </provider> + </entry> + </file> + <file leaf-file-name="NetworkExportPanel-test.js" pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/src/test/js/gui/export/NetworkExportPanel-test.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="85"> + <caret line="5" column="0" lean-forward="false" selection-start-line="5" selection-start-column="0" selection-end-line="5" selection-end-column="0" /> + <folding /> + </state> + </provider> + </entry> + </file> + <file leaf-file-name="NetworkExportPanel.js" pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/src/main/js/gui/export/NetworkExportPanel.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="98"> + <caret line="162" column="23" lean-forward="false" selection-start-line="162" selection-start-column="23" selection-end-line="162" selection-end-column="23" /> + <folding /> + </state> + </provider> + </entry> + </file> + <file leaf-file-name="AddProjectDialog-test.js" pinned="false" current-in-tab="false"> <entry file="file://$PROJECT_DIR$/src/test/js/gui/admin/AddProjectDialog-test.js"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="507"> - <caret line="52" column="43" lean-forward="true" selection-start-line="52" selection-start-column="43" selection-end-line="52" selection-end-column="43" /> + <state relative-caret-position="85"> + <caret line="5" column="0" lean-forward="false" selection-start-line="4" selection-start-column="0" selection-end-line="5" selection-end-column="0" /> + <folding /> + </state> + </provider> + </entry> + </file> + <file leaf-file-name="AbstractExportPanel.js" pinned="false" current-in-tab="true"> + <entry file="file://$PROJECT_DIR$/src/main/js/gui/export/AbstractExportPanel.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="234"> + <caret line="97" column="5" lean-forward="true" selection-start-line="97" selection-start-column="5" selection-end-line="97" selection-end-column="5" /> <folding /> </state> </provider> </entry> </file> - <file leaf-file-name="EditProjectDialog-test.js" pinned="false" current-in-tab="false"> - <entry file="file://$PROJECT_DIR$/src/test/js/gui/admin/EditProjectDialog-test.js"> + <file leaf-file-name="ElementExportPanel-test.js" pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/src/test/js/gui/export/ElementExportPanel-test.js"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="0"> - <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> + <state relative-caret-position="234"> + <caret line="31" column="39" lean-forward="false" selection-start-line="31" selection-start-column="39" selection-end-line="31" selection-end-column="39" /> <folding /> </state> </provider> </entry> </file> - <file leaf-file-name="Submap-test.js" pinned="false" current-in-tab="false"> - <entry file="file://$PROJECT_DIR$/src/test/js/map/Submap-test.js"> + <file leaf-file-name="Configuration.js" pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/src/main/js/Configuration.js"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="221"> - <caret line="34" column="0" lean-forward="false" selection-start-line="34" selection-start-column="0" selection-end-line="34" selection-end-column="0" /> + <state relative-caret-position="362"> + <caret line="93" column="16" lean-forward="false" selection-start-line="93" selection-start-column="16" selection-end-line="93" selection-end-column="16" /> <folding /> </state> </provider> </entry> </file> - <file leaf-file-name="AddOverlayDialog-test.js" pinned="false" current-in-tab="false"> - <entry file="file://$PROJECT_DIR$/src/test/js/gui/AddOverlayDialog-test.js"> + <file leaf-file-name="ServerConnector-mock.js" pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/src/test/js/ServerConnector-mock.js"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="0"> - <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> + <state relative-caret-position="720"> + <caret line="76" column="28" lean-forward="false" selection-start-line="71" selection-start-column="0" selection-end-line="82" selection-end-column="0" /> + <folding /> + </state> + </provider> + </entry> + </file> + <file leaf-file-name="minerva.js" pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/src/main/js/minerva.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="243"> + <caret line="338" column="65" lean-forward="false" selection-start-line="338" selection-start-column="65" selection-end-line="338" selection-end-column="65" /> + <folding> + <marker date="1504026137494" expanded="true" signature="16593:16652" ph="..." /> + <marker date="1504026137494" expanded="true" signature="19918:19977" ph="..." /> + <marker date="1504026137494" expanded="true" signature="20785:20844" ph="..." /> + </folding> + </state> + </provider> + </entry> + </file> + <file leaf-file-name="token=MOCK_TOKEN_ID&" pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/testFiles/apiCalls/configuration/token=MOCK_TOKEN_ID&"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="-583"> + <caret line="0" column="10147" lean-forward="false" selection-start-line="0" selection-start-column="10147" selection-end-line="0" selection-end-column="10147" /> <folding /> </state> </provider> @@ -79,10 +148,6 @@ </component> <component name="FindInProjectRecents"> <findStrings> - <find>LEGEND_INDICATIORS_OL</find> - <find>elemnts</find> - <find>creatMapOptions</find> - <find>_directeEvidence</find> <find>changedToCustimzed</find> <find>getParamsgetParams</find> <find>User</find> @@ -109,6 +174,10 @@ <find>getUpdateUserPrivilegesUrl</find> <find>update</find> <find>prefere</find> + <find>seri</find> + <find>Arra</find> + <find>TypeNa</find> + <find>value</find> </findStrings> <replaceStrings> <replace>ValidationError</replace> @@ -132,12 +201,6 @@ <component name="IdeDocumentHistory"> <option name="CHANGED_PATHS"> <list> - <option value="$PROJECT_DIR$/src/main/js/gui/leftPanel/ChemicalPanel.js" /> - <option value="$PROJECT_DIR$/src/main/js/map/CustomMap.js" /> - <option value="$PROJECT_DIR$/src/main/js/map/AbstractCustomMap.js" /> - <option value="$PROJECT_DIR$/src/main/js/map/Submap.js" /> - <option value="$PROJECT_DIR$/src/main/js/map/data/Alias.js" /> - <option value="$PROJECT_DIR$/src/main/js/map/data/Reaction.js" /> <option value="$PROJECT_DIR$/src/main/js/map/data/LayoutData.js" /> <option value="$PROJECT_DIR$/src/main/js/map/data/IdentifiedElement.js" /> <option value="$PROJECT_DIR$/src/main/js/map/data/BioEntity.js" /> @@ -167,7 +230,6 @@ <option value="$PROJECT_DIR$/src/test/js/map/AbstractCustomMap-test.js" /> <option value="$PROJECT_DIR$/src/test/js/map/CustomMap-test.js" /> <option value="$PROJECT_DIR$/src/test/js/map/data/IdentifiedElement-test.js" /> - <option value="$PROJECT_DIR$/src/test/js/minerva-test.js" /> <option value="$PROJECT_DIR$/src/main/js/GuiConnector.js" /> <option value="$PROJECT_DIR$/src/test/js/helper.js" /> <option value="$PROJECT_DIR$/src/test/js/map/data/UserPreferences-test.js" /> @@ -180,9 +242,16 @@ <option value="$PROJECT_DIR$/src/main/js/gui/admin/AddProjectDialog.js" /> <option value="$PROJECT_DIR$/src/test/js/GuiConnector-mock.js" /> <option value="$PROJECT_DIR$/src/main/js/map/data/UserPreferences.js" /> - <option value="$PROJECT_DIR$/src/main/js/ServerConnector.js" /> <option value="$PROJECT_DIR$/testFiles/apiCalls/users/admin.updatePreferences/PATCH_preferences.project-upload.cache-data=true&" /> <option value="$PROJECT_DIR$/testFiles/apiCalls/users/admin.updatePreferences/PATCH_preferences.project-upload.cache-data=false&" /> + <option value="$PROJECT_DIR$/testFiles/apiCalls/configuration/token=MOCK_TOKEN_ID&" /> + <option value="$PROJECT_DIR$/src/test/js/minerva-test.js" /> + <option value="$PROJECT_DIR$/src/main/js/minerva.js" /> + <option value="$PROJECT_DIR$/src/main/js/Configuration.js" /> + <option value="$PROJECT_DIR$/src/main/js/ServerConnector.js" /> + <option value="$PROJECT_DIR$/src/test/js/gui/export/NetworkExportPanel-test.js" /> + <option value="$PROJECT_DIR$/src/test/js/gui/export/ElementExportPanel-test.js" /> + <option value="$PROJECT_DIR$/src/main/js/gui/export/AbstractExportPanel.js" /> </list> </option> </component> @@ -379,31 +448,81 @@ <item name="map" type="462c0819:PsiDirectoryNode" /> <item name="data" type="462c0819:PsiDirectoryNode" /> </path> + <path> + <item name="frontend-js" type="b2602c69:ProjectViewProjectNode" /> + <item name="frontend-js" type="462c0819:PsiDirectoryNode" /> + <item name="src" type="462c0819:PsiDirectoryNode" /> + <item name="test" type="462c0819:PsiDirectoryNode" /> + </path> + <path> + <item name="frontend-js" type="b2602c69:ProjectViewProjectNode" /> + <item name="frontend-js" type="462c0819:PsiDirectoryNode" /> + <item name="src" type="462c0819:PsiDirectoryNode" /> + <item name="test" type="462c0819:PsiDirectoryNode" /> + <item name="js" type="462c0819:PsiDirectoryNode" /> + </path> + <path> + <item name="frontend-js" type="b2602c69:ProjectViewProjectNode" /> + <item name="frontend-js" type="462c0819:PsiDirectoryNode" /> + <item name="testFiles" type="462c0819:PsiDirectoryNode" /> + </path> + <path> + <item name="frontend-js" type="b2602c69:ProjectViewProjectNode" /> + <item name="frontend-js" type="462c0819:PsiDirectoryNode" /> + <item name="testFiles" type="462c0819:PsiDirectoryNode" /> + <item name="apiCalls" type="462c0819:PsiDirectoryNode" /> + </path> + <path> + <item name="frontend-js" type="b2602c69:ProjectViewProjectNode" /> + <item name="frontend-js" type="462c0819:PsiDirectoryNode" /> + <item name="testFiles" type="462c0819:PsiDirectoryNode" /> + <item name="apiCalls" type="462c0819:PsiDirectoryNode" /> + <item name="configuration" type="462c0819:PsiDirectoryNode" /> + </path> <path> <item name="frontend-js" type="b2602c69:ProjectViewProjectNode" /> <item name="frontend-js" type="462c0819:PsiDirectoryNode" /> <item name="testFiles" type="462c0819:PsiDirectoryNode" /> + <item name="apiCalls" type="462c0819:PsiDirectoryNode" /> + <item name="projects" type="462c0819:PsiDirectoryNode" /> + </path> + <path> + <item name="frontend-js" type="b2602c69:ProjectViewProjectNode" /> + <item name="frontend-js" type="462c0819:PsiDirectoryNode" /> + <item name="testFiles" type="462c0819:PsiDirectoryNode" /> + <item name="apiCalls" type="462c0819:PsiDirectoryNode" /> + <item name="projects" type="462c0819:PsiDirectoryNode" /> + <item name="sample" type="462c0819:PsiDirectoryNode" /> </path> <path> <item name="frontend-js" type="b2602c69:ProjectViewProjectNode" /> <item name="frontend-js" type="462c0819:PsiDirectoryNode" /> <item name="testFiles" type="462c0819:PsiDirectoryNode" /> <item name="apiCalls" type="462c0819:PsiDirectoryNode" /> + <item name="projects" type="462c0819:PsiDirectoryNode" /> + <item name="sample" type="462c0819:PsiDirectoryNode" /> + <item name="comments" type="462c0819:PsiDirectoryNode" /> </path> <path> <item name="frontend-js" type="b2602c69:ProjectViewProjectNode" /> <item name="frontend-js" type="462c0819:PsiDirectoryNode" /> <item name="testFiles" type="462c0819:PsiDirectoryNode" /> <item name="apiCalls" type="462c0819:PsiDirectoryNode" /> - <item name="users" type="462c0819:PsiDirectoryNode" /> + <item name="projects" type="462c0819:PsiDirectoryNode" /> + <item name="sample" type="462c0819:PsiDirectoryNode" /> + <item name="comments" type="462c0819:PsiDirectoryNode" /> + <item name="models" type="462c0819:PsiDirectoryNode" /> </path> <path> <item name="frontend-js" type="b2602c69:ProjectViewProjectNode" /> <item name="frontend-js" type="462c0819:PsiDirectoryNode" /> <item name="testFiles" type="462c0819:PsiDirectoryNode" /> <item name="apiCalls" type="462c0819:PsiDirectoryNode" /> - <item name="users" type="462c0819:PsiDirectoryNode" /> - <item name="admin.updatePreferences" type="462c0819:PsiDirectoryNode" /> + <item name="projects" type="462c0819:PsiDirectoryNode" /> + <item name="sample" type="462c0819:PsiDirectoryNode" /> + <item name="comments" type="462c0819:PsiDirectoryNode" /> + <item name="models" type="462c0819:PsiDirectoryNode" /> + <item name="all" type="462c0819:PsiDirectoryNode" /> </path> </expand> <select /> @@ -451,7 +570,7 @@ </list> </option> </component> - <component name="RunManager" selected="Mocha.AddProjectDialog.onUserPreferencesChange"> + <component name="RunManager" selected="npm.build-deploy"> <configuration name="AddProjectDialog.onUserPreferencesChange" type="mocha-javascript-test-runner" factoryName="Mocha" temporary="true" nameIsGenerated="true"> <node-interpreter>project</node-interpreter> <node-options /> @@ -467,37 +586,6 @@ <name value="onUserPreferencesChange" /> </test-names> </configuration> - <configuration name="ServerConnector.removeProject.default" type="mocha-javascript-test-runner" factoryName="Mocha" temporary="true" nameIsGenerated="true"> - <node-interpreter>project</node-interpreter> - <node-options /> - <working-directory>$PROJECT_DIR$</working-directory> - <pass-parent-env>true</pass-parent-env> - <envs /> - <ui>bdd</ui> - <extra-mocha-options /> - <test-kind>TEST</test-kind> - <test-file>$PROJECT_DIR$/src/test/js/ServerConnector-test.js</test-file> - <test-names> - <name value="ServerConnector" /> - <name value="removeProject" /> - <name value="default" /> - </test-names> - </configuration> - <configuration name="TopMenu.toggleLegend" type="mocha-javascript-test-runner" factoryName="Mocha" temporary="true" nameIsGenerated="true"> - <node-interpreter>project</node-interpreter> - <node-options /> - <working-directory>$PROJECT_DIR$</working-directory> - <pass-parent-env>true</pass-parent-env> - <envs /> - <ui>bdd</ui> - <extra-mocha-options /> - <test-kind>TEST</test-kind> - <test-file>$PROJECT_DIR$/src/test/js/gui/topMenu/TopMenu-test.js</test-file> - <test-names> - <name value="TopMenu" /> - <name value="toggleLegend" /> - </test-names> - </configuration> <configuration name="UserPreferences.constructor" type="mocha-javascript-test-runner" factoryName="Mocha" temporary="true" nameIsGenerated="true"> <node-interpreter>project</node-interpreter> <node-options /> @@ -566,6 +654,21 @@ <node-interpreter value="project" /> <envs /> </configuration> + <configuration name="minerva global.getAllBioEntities" type="mocha-javascript-test-runner" factoryName="Mocha" temporary="true" nameIsGenerated="true"> + <node-interpreter>project</node-interpreter> + <node-options /> + <working-directory>$PROJECT_DIR$</working-directory> + <pass-parent-env>true</pass-parent-env> + <envs /> + <ui>bdd</ui> + <extra-mocha-options /> + <test-kind>TEST</test-kind> + <test-file>$PROJECT_DIR$/src/test/js/minerva-test.js</test-file> + <test-names> + <name value="minerva global" /> + <name value="getAllBioEntities" /> + </test-names> + </configuration> <configuration name="profile without coverage" type="NodeJSConfigurationType" factoryName="Node.js" path-to-node="project" path-to-js-file="node_modules/mocha/bin/_mocha" application-parameters="--recursive src/test" working-dir="$PROJECT_DIR$"> <profiling do-profile="true" /> <EXTENSION ID="com.jetbrains.nodejs.remote.docker.NodeJSDockerRunConfigurationExtension"> @@ -604,6 +707,17 @@ <test-kind>TEST_FILE</test-kind> <test-file>$PROJECT_DIR$/src/test/js/gui/admin/AddProjectDialog-test.js</test-file> </configuration> + <configuration name="src\test\js\gui\export\NetworkExportPanel-test.js" type="mocha-javascript-test-runner" factoryName="Mocha" temporary="true" nameIsGenerated="true"> + <node-interpreter>project</node-interpreter> + <node-options /> + <working-directory>$PROJECT_DIR$</working-directory> + <pass-parent-env>true</pass-parent-env> + <envs /> + <ui>bdd</ui> + <extra-mocha-options /> + <test-kind>TEST_FILE</test-kind> + <test-file>$PROJECT_DIR$/src/test/js/gui/export/NetworkExportPanel-test.js</test-file> + </configuration> <configuration name="test without coverage" type="NodeJSConfigurationType" factoryName="Node.js" path-to-node="project" path-to-js-file="node_modules/mocha/bin/_mocha" application-parameters="--recursive src/test" working-dir="$PROJECT_DIR$"> <EXTENSION ID="com.jetbrains.nodejs.remote.docker.NodeJSDockerRunConfigurationExtension"> <option name="envVars"> @@ -641,19 +755,19 @@ <item index="1" class="java.lang.String" itemvalue="Node.js.test without coverage" /> <item index="2" class="java.lang.String" itemvalue="npm.build-deploy" /> <item index="3" class="java.lang.String" itemvalue="npm.test" /> - <item index="4" class="java.lang.String" itemvalue="Mocha.ServerConnector.removeProject.default" /> - <item index="5" class="java.lang.String" itemvalue="Mocha.TopMenu.toggleLegend" /> - <item index="6" class="java.lang.String" itemvalue="Mocha.UserPreferences.constructor" /> - <item index="7" class="java.lang.String" itemvalue="Mocha.src\test\js\gui\admin\AddProjectDialog-test.js" /> - <item index="8" class="java.lang.String" itemvalue="Mocha.AddProjectDialog.onUserPreferencesChange" /> + <item index="4" class="java.lang.String" itemvalue="Mocha.UserPreferences.constructor" /> + <item index="5" class="java.lang.String" itemvalue="Mocha.src\test\js\gui\admin\AddProjectDialog-test.js" /> + <item index="6" class="java.lang.String" itemvalue="Mocha.AddProjectDialog.onUserPreferencesChange" /> + <item index="7" class="java.lang.String" itemvalue="Mocha.minerva global.getAllBioEntities" /> + <item index="8" class="java.lang.String" itemvalue="Mocha.src\test\js\gui\export\NetworkExportPanel-test.js" /> </list> <recent_temporary> <list size="5"> - <item index="0" class="java.lang.String" itemvalue="Mocha.AddProjectDialog.onUserPreferencesChange" /> - <item index="1" class="java.lang.String" itemvalue="Mocha.src\test\js\gui\admin\AddProjectDialog-test.js" /> - <item index="2" class="java.lang.String" itemvalue="Mocha.UserPreferences.constructor" /> - <item index="3" class="java.lang.String" itemvalue="Mocha.TopMenu.toggleLegend" /> - <item index="4" class="java.lang.String" itemvalue="Mocha.ServerConnector.removeProject.default" /> + <item index="0" class="java.lang.String" itemvalue="Mocha.src\test\js\gui\export\NetworkExportPanel-test.js" /> + <item index="1" class="java.lang.String" itemvalue="Mocha.minerva global.getAllBioEntities" /> + <item index="2" class="java.lang.String" itemvalue="Mocha.AddProjectDialog.onUserPreferencesChange" /> + <item index="3" class="java.lang.String" itemvalue="Mocha.src\test\js\gui\admin\AddProjectDialog-test.js" /> + <item index="4" class="java.lang.String" itemvalue="Mocha.UserPreferences.constructor" /> </list> </recent_temporary> </component> @@ -677,54 +791,54 @@ <workItem from="1503648028157" duration="9357000" /> <workItem from="1503673204553" duration="8891000" /> <workItem from="1503992362005" duration="615000" /> - <workItem from="1504003657581" duration="11648000" /> + <workItem from="1504003657581" duration="14917000" /> </task> <servers /> </component> <component name="TestHistory"> - <history-entry file="AddProjectDialog_onUserPreferencesChange - 2017.08.29 at 17h 49m 47s.xml"> - <configuration name="AddProjectDialog.onUserPreferencesChange" configurationId="mocha-javascript-test-runner" /> + <history-entry file="minerva_global_getAllBioEntities - 2017.08.29 at 19h 09m 18s.xml"> + <configuration name="minerva global.getAllBioEntities" configurationId="mocha-javascript-test-runner" /> </history-entry> - <history-entry file="AddProjectDialog_onUserPreferencesChange - 2017.08.29 at 17h 50m 08s.xml"> - <configuration name="AddProjectDialog.onUserPreferencesChange" configurationId="mocha-javascript-test-runner" /> + <history-entry file="minerva_global_getAllBioEntities - 2017.08.29 at 19h 10m 18s.xml"> + <configuration name="minerva global.getAllBioEntities" configurationId="mocha-javascript-test-runner" /> </history-entry> - <history-entry file="AddProjectDialog_onUserPreferencesChange - 2017.08.29 at 17h 55m 59s.xml"> - <configuration name="AddProjectDialog.onUserPreferencesChange" configurationId="mocha-javascript-test-runner" /> + <history-entry file="minerva_global_getAllBioEntities - 2017.08.29 at 19h 11m 53s.xml"> + <configuration name="minerva global.getAllBioEntities" configurationId="mocha-javascript-test-runner" /> </history-entry> - <history-entry file="AddProjectDialog_onUserPreferencesChange - 2017.08.29 at 18h 06m 22s.xml"> - <configuration name="AddProjectDialog.onUserPreferencesChange" configurationId="mocha-javascript-test-runner" /> + <history-entry file="minerva_global_getAllBioEntities - 2017.08.29 at 19h 12m 11s.xml"> + <configuration name="minerva global.getAllBioEntities" configurationId="mocha-javascript-test-runner" /> </history-entry> - <history-entry file="AddProjectDialog_onUserPreferencesChange - 2017.08.29 at 18h 09m 50s.xml"> - <configuration name="AddProjectDialog.onUserPreferencesChange" configurationId="mocha-javascript-test-runner" /> + <history-entry file="minerva_global_getAllBioEntities - 2017.08.29 at 19h 17m 50s.xml"> + <configuration name="minerva global.getAllBioEntities" configurationId="mocha-javascript-test-runner" /> </history-entry> - <history-entry file="AddProjectDialog_onUserPreferencesChange - 2017.08.29 at 18h 12m 14s.xml"> - <configuration name="AddProjectDialog.onUserPreferencesChange" configurationId="mocha-javascript-test-runner" /> + <history-entry file="minerva_global_getAllBioEntities - 2017.08.29 at 19h 21m 45s.xml"> + <configuration name="minerva global.getAllBioEntities" configurationId="mocha-javascript-test-runner" /> </history-entry> - <history-entry file="AddProjectDialog_onUserPreferencesChange - 2017.08.29 at 18h 23m 26s.xml"> - <configuration name="AddProjectDialog.onUserPreferencesChange" configurationId="mocha-javascript-test-runner" /> + <history-entry file="minerva_global_getAllBioEntities - 2017.08.29 at 19h 24m 13s.xml"> + <configuration name="minerva global.getAllBioEntities" configurationId="mocha-javascript-test-runner" /> </history-entry> - <history-entry file="AddProjectDialog_onUserPreferencesChange - 2017.08.29 at 18h 25m 48s.xml"> - <configuration name="AddProjectDialog.onUserPreferencesChange" configurationId="mocha-javascript-test-runner" /> + <history-entry file="minerva_global_getAllBioEntities - 2017.08.29 at 19h 24m 41s.xml"> + <configuration name="minerva global.getAllBioEntities" configurationId="mocha-javascript-test-runner" /> </history-entry> - <history-entry file="AddProjectDialog_onUserPreferencesChange - 2017.08.29 at 18h 27m 32s.xml"> - <configuration name="AddProjectDialog.onUserPreferencesChange" configurationId="mocha-javascript-test-runner" /> + <history-entry file="src_test_js_gui_export_NetworkExportPanel-test_js - 2017.08.29 at 19h 32m 50s.xml"> + <configuration name="src\test\js\gui\export\NetworkExportPanel-test.js" configurationId="mocha-javascript-test-runner" /> </history-entry> - <history-entry file="AddProjectDialog_onUserPreferencesChange - 2017.08.29 at 18h 28m 06s.xml"> - <configuration name="AddProjectDialog.onUserPreferencesChange" configurationId="mocha-javascript-test-runner" /> + <history-entry file="src_test_js_gui_export_NetworkExportPanel-test_js - 2017.08.29 at 19h 34m 04s.xml"> + <configuration name="src\test\js\gui\export\NetworkExportPanel-test.js" configurationId="mocha-javascript-test-runner" /> </history-entry> </component> <component name="TimeTrackingManager"> - <option name="totallyTimeSpent" value="58107000" /> + <option name="totallyTimeSpent" value="61376000" /> </component> <component name="ToolWindowManager"> <frame x="-8" y="-8" width="1936" height="1176" extended-state="6" /> <editor active="true" /> <layout> - <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.18020834" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" /> + <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.20364584" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" /> <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" /> <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.5679475" sideWeight="0.33802083" order="7" side_tool="true" content_ui="tabs" /> <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" /> - <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.33833176" sideWeight="0.49791667" order="10" side_tool="false" content_ui="tabs" x="-170" y="502" width="1920" height="493" /> + <window_info id="Run" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.24554826" sideWeight="0.49791667" order="10" side_tool="false" content_ui="tabs" x="-170" y="502" width="1920" height="493" /> <window_info id="npm" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" /> <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" /> @@ -773,41 +887,6 @@ <watches-manager /> </component> <component name="editorHistoryManager"> - <entry file="file://$PROJECT_DIR$/src/test/js/logger.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="119"> - <caret line="7" column="2" lean-forward="false" selection-start-line="7" selection-start-column="2" selection-end-line="7" selection-end-column="2" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/test/js/Functions-test.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="375"> - <caret line="238" column="19" lean-forward="false" selection-start-line="238" selection-start-column="19" selection-end-line="238" selection-end-column="19" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/test/js/gui/leftPanel/GenericSearchPanel-test.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="323"> - <caret line="111" column="27" lean-forward="false" selection-start-line="111" selection-start-column="27" selection-end-line="111" selection-end-column="27" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/test/js/gui/leftPanel/MiRnaPanel-test.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="272"> - <caret line="37" column="33" lean-forward="false" selection-start-line="37" selection-start-column="33" selection-end-line="37" selection-end-column="33" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/test/js/gui/leftPanel/SubmapPanel-test.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="204"> - <caret line="12" column="10" lean-forward="false" selection-start-line="12" selection-start-column="10" selection-end-line="12" selection-end-column="10" /> - </state> - </provider> - </entry> <entry file="file://$PROJECT_DIR$/src/test/js/gui/leftPanel/PublicationListDialog-test.js"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="204"> @@ -878,13 +957,6 @@ </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/src/test/js/minerva-test.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="297"> - <caret line="22" column="0" lean-forward="false" selection-start-line="22" selection-start-column="0" selection-end-line="22" selection-end-column="0" /> - </state> - </provider> - </entry> <entry file="file://$PROJECT_DIR$/src/main/js/map/marker/AbstractMarker.js"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="467"> @@ -907,18 +979,6 @@ </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/src/main/js/minerva.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="11135"> - <caret line="655" column="28" lean-forward="false" selection-start-line="655" selection-start-column="28" selection-end-line="655" selection-end-column="28" /> - <folding> - <marker date="1503677591650" expanded="true" signature="16592:16651" ph="..." /> - <marker date="1503677591650" expanded="true" signature="19917:19976" ph="..." /> - <marker date="1503677591650" expanded="true" signature="20784:20843" ph="..." /> - </folding> - </state> - </provider> - </entry> <entry file="file://$PROJECT_DIR$/src/main/js/SessionData.js"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="935"> @@ -927,14 +987,6 @@ </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/src/main/js/Configuration.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="0"> - <caret line="41" column="27" lean-forward="false" selection-start-line="41" selection-start-column="27" selection-end-line="41" selection-end-column="27" /> - <folding /> - </state> - </provider> - </entry> <entry file="file://$PROJECT_DIR$/src/main/js/Functions.js"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="1190"> @@ -983,14 +1035,6 @@ </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/src/main/js/gui/export/AbstractExportPanel.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="17"> - <caret line="9" column="42" lean-forward="false" selection-start-line="9" selection-start-column="42" selection-end-line="9" selection-end-column="42" /> - <folding /> - </state> - </provider> - </entry> <entry file="file://$PROJECT_DIR$/src/main/js/gui/OverviewDialog.js"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="0"> @@ -1031,14 +1075,6 @@ </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/src/test/js/gui/AddOverlayDialog-test.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="0"> - <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> - <folding /> - </state> - </provider> - </entry> <entry file="file://$PROJECT_DIR$/src/test/js/gui/LoginDialog-test.js"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="102"> @@ -1103,22 +1139,6 @@ </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/src/test/js/ServerConnector-mock.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="774"> - <caret line="76" column="28" lean-forward="false" selection-start-line="71" selection-start-column="0" selection-end-line="82" selection-end-column="0" /> - <folding /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/main/js/ServerConnector.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="269"> - <caret line="849" column="18" lean-forward="true" selection-start-line="849" selection-start-column="18" selection-end-line="849" selection-end-column="18" /> - <folding /> - </state> - </provider> - </entry> <entry file="file://$PROJECT_DIR$/src/main/js/map/data/UserPreferences.js"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="536"> @@ -1162,10 +1182,110 @@ </state> </provider> </entry> + <entry file="file://$PROJECT_DIR$/src/test/js/mocha-config.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="0"> + <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/test/js/minerva-test.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="34"> + <caret line="2" column="23" lean-forward="false" selection-start-line="2" selection-start-column="23" selection-end-line="2" selection-end-column="23" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/test/js/gui/AddOverlayDialog-test.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="0"> + <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/js/ServerConnector.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="720"> + <caret line="849" column="18" lean-forward="false" selection-start-line="849" selection-start-column="18" selection-end-line="849" selection-end-column="18" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/test/js/ServerConnector-mock.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="720"> + <caret line="76" column="28" lean-forward="false" selection-start-line="71" selection-start-column="0" selection-end-line="82" selection-end-column="0" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/js/Configuration.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="362"> + <caret line="93" column="16" lean-forward="false" selection-start-line="93" selection-start-column="16" selection-end-line="93" selection-end-column="16" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/testFiles/apiCalls/configuration/token=MOCK_TOKEN_ID&"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="-583"> + <caret line="0" column="10147" lean-forward="false" selection-start-line="0" selection-start-column="10147" selection-end-line="0" selection-end-column="10147" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/js/minerva.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="243"> + <caret line="338" column="65" lean-forward="false" selection-start-line="338" selection-start-column="65" selection-end-line="338" selection-end-column="65" /> + <folding> + <marker date="1504026137494" expanded="true" signature="16593:16652" ph="..." /> + <marker date="1504026137494" expanded="true" signature="19918:19977" ph="..." /> + <marker date="1504026137494" expanded="true" signature="20785:20844" ph="..." /> + </folding> + </state> + </provider> + </entry> <entry file="file://$PROJECT_DIR$/src/test/js/gui/admin/AddProjectDialog-test.js"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="507"> - <caret line="52" column="43" lean-forward="true" selection-start-line="52" selection-start-column="43" selection-end-line="52" selection-end-column="43" /> + <state relative-caret-position="85"> + <caret line="5" column="0" lean-forward="false" selection-start-line="4" selection-start-column="0" selection-end-line="5" selection-end-column="0" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/test/js/gui/export/NetworkExportPanel-test.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="85"> + <caret line="5" column="0" lean-forward="false" selection-start-line="5" selection-start-column="0" selection-end-line="5" selection-end-column="0" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/js/gui/export/NetworkExportPanel.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="98"> + <caret line="162" column="23" lean-forward="false" selection-start-line="162" selection-start-column="23" selection-end-line="162" selection-end-column="23" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/test/js/gui/export/ElementExportPanel-test.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="234"> + <caret line="31" column="39" lean-forward="false" selection-start-line="31" selection-start-column="39" selection-end-line="31" selection-end-column="39" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/js/gui/export/AbstractExportPanel.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="234"> + <caret line="97" column="5" lean-forward="true" selection-start-line="97" selection-start-column="5" selection-end-line="97" selection-end-column="5" /> <folding /> </state> </provider> diff --git a/frontend-js/src/main/js/Configuration.js b/frontend-js/src/main/js/Configuration.js index d5d7899ec4a5e39682ae9698bb61bee0331b962f..549b444600c192ca59ed1402cdef2c34be59ac36 100644 --- a/frontend-js/src/main/js/Configuration.js +++ b/frontend-js/src/main/js/Configuration.js @@ -52,51 +52,58 @@ function Configuration(json) { self.setPrivilegeTypes(json.privilegeTypes); } -Configuration.prototype.setOption = function(type, value) { +Configuration.prototype.setOption = function (type, value) { this._options[type] = value; }; -Configuration.prototype.getOption = function(type) { +Configuration.prototype.getOption = function (type) { return this._options[type]; }; -Configuration.prototype.setOverlayTypes = function(overlayTypes) { +Configuration.prototype.setOverlayTypes = function (overlayTypes) { this._overlayTypes = overlayTypes; }; -Configuration.prototype.getOverlayTypes = function() { +Configuration.prototype.getOverlayTypes = function () { return this._overlayTypes; }; -Configuration.prototype.setImageConverters = function(imageConverters) { +Configuration.prototype.setImageConverters = function (imageConverters) { this._imageConverters = imageConverters; }; -Configuration.prototype.getImageConverters = function() { +Configuration.prototype.getImageConverters = function () { return this._imageConverters; }; -Configuration.prototype.setModelConverters = function(modelConverters) { +Configuration.prototype.setModelConverters = function (modelConverters) { this._modelConverters = modelConverters; }; -Configuration.prototype.getModelConverters = function() { +Configuration.prototype.getModelConverters = function () { return this._modelConverters; }; -Configuration.prototype.setElementTypes = function(elementTypes) { +Configuration.prototype.setElementTypes = function (elementTypes) { this._elementTypes = elementTypes; }; -Configuration.prototype.getElementTypes = function() { +Configuration.prototype.getElementTypes = function () { return this._elementTypes; }; +Configuration.prototype.getElementTypeNames = function () { + var result = []; + for (var i = 0; i < this._elementTypes.length; i++) { + result.push(this._elementTypes[i].name); + } + return result; +}; -Configuration.prototype.setReactionTypes = function(reactionTypes) { +Configuration.prototype.setReactionTypes = function (reactionTypes) { this._reactionTypes = reactionTypes; }; -Configuration.prototype.getReactionTypes = function() { +Configuration.prototype.getReactionTypes = function () { return this._reactionTypes; }; -Configuration.prototype.setMiriamTypes = function(miriamTypes) { +Configuration.prototype.setMiriamTypes = function (miriamTypes) { this._miriamTypes = []; - for ( var key in miriamTypes) { + for (var key in miriamTypes) { if (miriamTypes.hasOwnProperty(key)) { var typeData = miriamTypes[key]; this._miriamTypes.push(new MiriamType(typeData, key)); @@ -104,9 +111,9 @@ Configuration.prototype.setMiriamTypes = function(miriamTypes) { } }; -Configuration.prototype.setPrivilegeTypes = function(privilegeTypes) { +Configuration.prototype.setPrivilegeTypes = function (privilegeTypes) { this._privilegeTypes = []; - for ( var key in privilegeTypes) { + for (var key in privilegeTypes) { if (privilegeTypes.hasOwnProperty(key)) { var typeData = privilegeTypes[key]; this._privilegeTypes.push(new PrivilegeType(typeData, key)); @@ -114,11 +121,11 @@ Configuration.prototype.setPrivilegeTypes = function(privilegeTypes) { } }; -Configuration.prototype.getPrivilegeTypes = function() { +Configuration.prototype.getPrivilegeTypes = function () { return this._privilegeTypes; }; -Configuration.prototype.getMiriamTypeByName = function(name) { +Configuration.prototype.getMiriamTypeByName = function (name) { var self = this; for (var i = 0; i < self._miriamTypes.length; i++) { var miriamType = self._miriamTypes[i]; @@ -129,16 +136,16 @@ Configuration.prototype.getMiriamTypeByName = function(name) { return null; }; -Configuration.prototype.setModificationStateTypes = function(modificationStateTypes) { +Configuration.prototype.setModificationStateTypes = function (modificationStateTypes) { this._modificationStateTypes = []; - for ( var key in modificationStateTypes) { + for (var key in modificationStateTypes) { if (modificationStateTypes.hasOwnProperty(key)) { var typeData = modificationStateTypes[key]; this._modificationStateTypes.push(new ModificationStateType(typeData, key)); } } }; -Configuration.prototype.getModificationStateTypeByName = function(name) { +Configuration.prototype.getModificationStateTypeByName = function (name) { var self = this; for (var i = 0; i < self._modificationStateTypes.length; i++) { var modificationStateType = self._modificationStateTypes[i]; diff --git a/frontend-js/src/main/js/ServerConnector.js b/frontend-js/src/main/js/ServerConnector.js index 40964f80951dfca19192107f409f9ce127ea462f..64693d0c5dacadc86daf3c28a7e57ebc4268e9c0 100644 --- a/frontend-js/src/main/js/ServerConnector.js +++ b/frontend-js/src/main/js/ServerConnector.js @@ -425,7 +425,11 @@ ServerConnector.idsToString = function (ids) { var result = ""; if (ids !== undefined) { ids.sort(function (a, b) { - return a - b; + if (typeof a === "string") { + return a.localeCompare(b); + } else { + return a - b; + } }); for (var i = 0; i < ids.length; i++) { if (result !== "") { diff --git a/frontend-js/src/main/js/gui/export/AbstractExportPanel.js b/frontend-js/src/main/js/gui/export/AbstractExportPanel.js index c55f8063bcd6e589b72962ebd8e3cb77c07a7680..1f0cb52ca941f443a321813a5f5cb3c5c4727e6c 100644 --- a/frontend-js/src/main/js/gui/export/AbstractExportPanel.js +++ b/frontend-js/src/main/js/gui/export/AbstractExportPanel.js @@ -19,7 +19,7 @@ function AbstractExportPanel(params) { AbstractExportPanel.prototype = Object.create(Panel.prototype); AbstractExportPanel.prototype.constructor = AbstractExportPanel; -AbstractExportPanel.prototype.init = function() { +AbstractExportPanel.prototype.init = function () { }; @@ -33,21 +33,21 @@ function compareSimple(val1, val2) { } } -AbstractExportPanel.prototype._createMiriamTypeDiv = function(annotations) { +AbstractExportPanel.prototype._createMiriamTypeDiv = function (annotations) { var self = this; var typeDiv = Functions.createElement({ - type : "div", - name : "miriamSelectDiv", - className : "minerva-export-dual-listbox-container", + type: "div", + name: "miriamSelectDiv", + className: "minerva-export-dual-listbox-container", }); typeDiv.appendChild(Functions.createElement({ - type : "h4", - content : " Annotations:", + type: "h4", + content: " Annotations:", })); var selectElement = Functions.createElement({ - type : "select", - className : "minerva-multi-select", + type: "select", + className: "minerva-multi-select", }); typeDiv.appendChild(selectElement); @@ -58,6 +58,7 @@ AbstractExportPanel.prototype._createMiriamTypeDiv = function(annotations) { return compareSimple(-entry1.count, -entry2.count); } } + annotations.sort(compare); for (var i = 0; i < annotations.length; i++) { @@ -68,7 +69,7 @@ AbstractExportPanel.prototype._createMiriamTypeDiv = function(annotations) { option.value = miriamType.getName(); if (count > 0) { option.innerHTML = "<div class='minerva-multi-select-special'>" + miriamType.getCommonName() + " (" + count - + ")</div>"; + + ")</div>"; } else { option.innerHTML = "<div >" + miriamType.getCommonName() + "</div>"; } @@ -79,109 +80,113 @@ AbstractExportPanel.prototype._createMiriamTypeDiv = function(annotations) { return typeDiv; }; -AbstractExportPanel.prototype.createDualListbox = function(selectElement) { +AbstractExportPanel.prototype.createDualListbox = function (selectElement) { return new DualListbox(selectElement, { - availableTitle : 'Available', - selectedTitle : 'Used', - addButtonText : '>', - removeButtonText : '<', - addAllButtonText : '>>', - removeAllButtonText : '<<' + availableTitle: 'Available', + selectedTitle: 'Used', + addButtonText: '>', + removeButtonText: '<', + addAllButtonText: '>>', + removeAllButtonText: '<<' }); }; -AbstractExportPanel.prototype._createSelectTypeDiv = function(elementTypes) { +AbstractExportPanel.prototype._createSelectTypeDiv = function (elementTypes) { var typeDiv = Functions.createElement({ - type : "div", - name : "typeSelectDiv", + type: "div", + name: "typeSelectDiv", }); typeDiv.appendChild(Functions.createElement({ - type : "h4", - content : " TYPE:", + type: "h4", + content: " TYPE:", })); var choicesContainer = Functions.createElement({ - type : "ul", - className : "minerva-checkbox-grid" + type: "ul", + className: "minerva-checkbox-grid" }); typeDiv.appendChild(choicesContainer); + var processedNames = []; for (var i = 0; i < elementTypes.length; i++) { var elementType = elementTypes[i]; - var row = Functions.createElement({ - type : "li", - content : "<div class=\"checkbox\"><label> <input type=\"checkbox\" name=\"" + elementType + "\" value=\"" - + elementType + "\" />" + elementType + "</label></div>" - }); - choicesContainer.appendChild(row); + var name = elementType.name; + if (processedNames[name] === undefined) { + processedNames[name] = true; + var row = Functions.createElement({ + type: "li", + content: "<div class=\"checkbox\"><label> <input type=\"checkbox\" name=\"" + name + "\" value=\"" + name + "\" />" + name + "</label></div>" + }); + choicesContainer.appendChild(row); + } } choicesContainer.appendChild(Functions.createElement({ - type : "li", - content : "<div class=\"checkbox\"><label> <input type=\"checkbox\" name=\"ALL\" value=\"ALL\" />ALL</label></div>" + type: "li", + content: "<div class=\"checkbox\"><label> <input type=\"checkbox\" name=\"ALL\" value=\"ALL\" />ALL</label></div>" })); return typeDiv; }; -AbstractExportPanel.prototype.getSelectedTypes = function() { +AbstractExportPanel.prototype.getSelectedTypes = function () { var self = this; var div = $("div[name='typeSelectDiv']", $(self.getElement()))[0]; var result = []; var selectedAll = false; - $(":checked", $(div)).each(function(index, element) { + $(":checked", $(div)).each(function (index, element) { if (element.value === "ALL") { selectedAll = true; } result.push(element.value); }); if (selectedAll) { - return ServerConnector.getConfiguration().then(function(configuration) { - return configuration.getElementTypes(); + return ServerConnector.getConfiguration().then(function (configuration) { + return configuration.getElementTypeNames(); }); } return Promise.resolve(result); }; -AbstractExportPanel.prototype.setMiriamTypesDualListbox = function(dualListbox) { +AbstractExportPanel.prototype.setMiriamTypesDualListbox = function (dualListbox) { this._miriamTypesDualListbox = dualListbox; }; -AbstractExportPanel.prototype.getMiriamTypesDualListbox = function() { +AbstractExportPanel.prototype.getMiriamTypesDualListbox = function () { return this._miriamTypesDualListbox; }; -AbstractExportPanel.prototype._createSelectColumnDiv = function(columnTypes) { +AbstractExportPanel.prototype._createSelectColumnDiv = function (columnTypes) { var columnDiv = Functions.createElement({ - type : "div", - name : "columnSelectDiv", + type: "div", + name: "columnSelectDiv", }); columnDiv.appendChild(Functions.createElement({ - type : "h4", - content : " COLUMN:", + type: "h4", + content: " COLUMN:", })); var choicesContainer = Functions.createElement({ - type : "ul", - className : "minerva-checkbox-grid" + type: "ul", + className: "minerva-checkbox-grid" }); columnDiv.appendChild(choicesContainer); for (var i = 0; i < columnTypes.length; i++) { var columnType = columnTypes[i]; var row = Functions.createElement({ - type : "li", - content : "<div class=\"checkbox\"><label> <input type=\"checkbox\" name=\"column_" + columnType.columnName - + "\" value=\"" + columnType.columnName + "\" />" + columnType.name + "</label></div>" + type: "li", + content: "<div class=\"checkbox\"><label> <input type=\"checkbox\" name=\"column_" + columnType.columnName + + "\" value=\"" + columnType.columnName + "\" />" + columnType.name + "</label></div>" }); choicesContainer.appendChild(row); } choicesContainer.appendChild(Functions.createElement({ - type : "li", - content : "<div class=\"checkbox\"><label> <input type=\"checkbox\" name=\"ALL\" value=\"ALL\" />ALL</label></div>" + type: "li", + content: "<div class=\"checkbox\"><label> <input type=\"checkbox\" name=\"ALL\" value=\"ALL\" />ALL</label></div>" })); return columnDiv; }; -AbstractExportPanel.prototype.getSelectedMiriamTypes = function() { +AbstractExportPanel.prototype.getSelectedMiriamTypes = function () { var self = this; - return ServerConnector.getConfiguration().then(function(configuration) { + return ServerConnector.getConfiguration().then(function (configuration) { var selected = self.getMiriamTypesDualListbox().selected; var result = []; for (var i = 0; i < selected.length; i++) { @@ -192,13 +197,13 @@ AbstractExportPanel.prototype.getSelectedMiriamTypes = function() { }); }; -AbstractExportPanel.prototype.getSelectedColumns = function() { +AbstractExportPanel.prototype.getSelectedColumns = function () { var self = this; var div = $("div[name='columnSelectDiv']", $(self.getElement()))[0]; var selectedColumnMap = []; var selectedAll = false; - $(":checked", $(div)).each(function(index, element) { + $(":checked", $(div)).each(function (index, element) { if (element.value === "ALL") { selectedAll = true; } @@ -221,10 +226,10 @@ AbstractExportPanel.prototype.getSelectedColumns = function() { return Promise.resolve(result); }; -AbstractExportPanel.prototype._getCompartmentNames = function() { +AbstractExportPanel.prototype._getCompartmentNames = function () { var self = this; var compartments = []; - return self._getAllCompartments().then(function(result) { + return self._getAllCompartments().then(function (result) { var addedNames = []; for (var i = 0; i < result.length; i++) { @@ -238,16 +243,16 @@ AbstractExportPanel.prototype._getCompartmentNames = function() { }); }; -AbstractExportPanel.prototype.getModels = function() { +AbstractExportPanel.prototype.getModels = function () { var self = this; - var models = [ self.getProject().getModel() ]; + var models = [self.getProject().getModel()]; for (var i = 0; i < self.getProject().getModel().getSubmodels().length; i++) { models.push(self.getProject().getModel().getSubmodels()[i]); } return models; }; -AbstractExportPanel.prototype._getAllCompartments = function() { +AbstractExportPanel.prototype._getAllCompartments = function () { var self = this; var compartments = []; @@ -258,7 +263,7 @@ AbstractExportPanel.prototype._getAllCompartments = function() { promises.push(models[i].getCompartments()); } - return Promise.all(promises).then(function(result) { + return Promise.all(promises).then(function (result) { for (var i = 0; i < result.length; i++) { var modelCompartments = result[i]; for (var j = 0; j < modelCompartments.length; j++) { @@ -269,28 +274,28 @@ AbstractExportPanel.prototype._getAllCompartments = function() { }); }; -AbstractExportPanel.prototype._createDownloadButton = function() { +AbstractExportPanel.prototype._createDownloadButton = function () { var self = this; var downloadDiv = Functions.createElement({ - type : "div", - name : "downloadDiv", - style : "clear:both; padding: 10px;", + type: "div", + name: "downloadDiv", + style: "clear:both; padding: 10px;", }); var button = Functions.createElement({ - type : "button", - name : "downloadButton", - content : " Download", - onclick : function() { + type: "button", + name: "downloadButton", + content: " Download", + onclick: function () { GuiConnector.showProcessing(); - return self.createResponseString().then(function(result) { - var blob = new Blob([ result ], { - type : "text/plain;charset=utf-8" + return self.createResponseString().then(function (result) { + var blob = new Blob([result], { + type: "text/plain;charset=utf-8" }); var FileSaver = require("file-saver"); return FileSaver.saveAs(blob, self.getSaveFilename()); - }).then(function() { + }).then(function () { GuiConnector.hideProcessing(); - }, function(error) { + }, function (error) { GuiConnector.hideProcessing(); GuiConnector.alert(error); }); @@ -301,28 +306,28 @@ AbstractExportPanel.prototype._createDownloadButton = function() { return downloadDiv; }; -AbstractExportPanel.prototype.getSaveFilename = function() { +AbstractExportPanel.prototype.getSaveFilename = function () { var self = this; return self.getProject().getProjectId() + "-" + self.getPanelName() + ".txt"; }; -AbstractExportPanel.prototype._createSelectIncludedCompartmentDiv = function() { +AbstractExportPanel.prototype._createSelectIncludedCompartmentDiv = function () { var self = this; var typeDiv = Functions.createElement({ - type : "div", - name : "includedCompartmentSelectDiv", - className : "minerva-export-dual-listbox-container", + type: "div", + name: "includedCompartmentSelectDiv", + className: "minerva-export-dual-listbox-container", }); typeDiv.appendChild(Functions.createElement({ - type : "h4", - content : " Included compartment/pathways:", + type: "h4", + content: " Included compartment/pathways:", })); - return self._getCompartmentNames().then(function(compartmentNames) { + return self._getCompartmentNames().then(function (compartmentNames) { var selectElement = Functions.createElement({ - type : "select", - className : "minerva-multi-select", + type: "select", + className: "minerva-multi-select", }); typeDiv.appendChild(selectElement); @@ -339,23 +344,23 @@ AbstractExportPanel.prototype._createSelectIncludedCompartmentDiv = function() { }); }; -AbstractExportPanel.prototype._createSelectExcludedCompartmentDiv = function() { +AbstractExportPanel.prototype._createSelectExcludedCompartmentDiv = function () { var self = this; var typeDiv = Functions.createElement({ - type : "div", - name : "excludedCompartmentSelectDiv", - className : "minerva-export-dual-listbox-container", + type: "div", + name: "excludedCompartmentSelectDiv", + className: "minerva-export-dual-listbox-container", }); typeDiv.appendChild(Functions.createElement({ - type : "h4", - content : " Excluded compartment/pathways:", + type: "h4", + content: " Excluded compartment/pathways:", })); - return self._getCompartmentNames().then(function(compartmentNames) { + return self._getCompartmentNames().then(function (compartmentNames) { var selectElement = Functions.createElement({ - type : "select", - className : "minerva-multi-select", + type: "select", + className: "minerva-multi-select", }); typeDiv.appendChild(selectElement); @@ -372,14 +377,14 @@ AbstractExportPanel.prototype._createSelectExcludedCompartmentDiv = function() { }); }; -AbstractExportPanel.prototype.setIncludedCompartmentsDualListbox = function(dualListbox) { +AbstractExportPanel.prototype.setIncludedCompartmentsDualListbox = function (dualListbox) { this._includedCompartmentsDualListbox = dualListbox; }; -AbstractExportPanel.prototype.getIncludedCompartmentsDualListbox = function() { +AbstractExportPanel.prototype.getIncludedCompartmentsDualListbox = function () { return this._includedCompartmentsDualListbox; }; -AbstractExportPanel.prototype.getSelectedIncludedCompartments = function() { +AbstractExportPanel.prototype.getSelectedIncludedCompartments = function () { var self = this; var list = self.getIncludedCompartmentsDualListbox().selected; var names = []; @@ -388,7 +393,7 @@ AbstractExportPanel.prototype.getSelectedIncludedCompartments = function() { var element = list[i]; names[element.dataset.id] = true; } - return self._getAllCompartments().then(function(compartments) { + return self._getAllCompartments().then(function (compartments) { for (var i = 0; i < compartments.length; i++) { var compartment = compartments[i]; if (names[compartment.getName()]) { @@ -399,14 +404,14 @@ AbstractExportPanel.prototype.getSelectedIncludedCompartments = function() { }); }; -AbstractExportPanel.prototype.setExcludedCompartmentsDualListbox = function(dualListbox) { +AbstractExportPanel.prototype.setExcludedCompartmentsDualListbox = function (dualListbox) { this._excludedCompartmentsDualListbox = dualListbox; }; -AbstractExportPanel.prototype.getExcludedCompartmentsDualListbox = function() { +AbstractExportPanel.prototype.getExcludedCompartmentsDualListbox = function () { return this._excludedCompartmentsDualListbox; }; -AbstractExportPanel.prototype.getSelectedExcludedCompartments = function() { +AbstractExportPanel.prototype.getSelectedExcludedCompartments = function () { var self = this; var list = self.getExcludedCompartmentsDualListbox().selected; var names = []; @@ -415,7 +420,7 @@ AbstractExportPanel.prototype.getSelectedExcludedCompartments = function() { var element = list[i]; names[element.dataset.id] = true; } - return self._getAllCompartments().then(function(compartments) { + return self._getAllCompartments().then(function (compartments) { for (var i = 0; i < compartments.length; i++) { var compartment = compartments[i]; if (names[compartment.getName()]) { @@ -426,7 +431,7 @@ AbstractExportPanel.prototype.getSelectedExcludedCompartments = function() { }); }; -AbstractExportPanel.prototype.createResponseHeader = function(columns, miriamTypes) { +AbstractExportPanel.prototype.createResponseHeader = function (columns, miriamTypes) { var stringBuilder = []; var i; for (i = 0; i < columns.length; i++) { diff --git a/frontend-js/src/main/js/minerva.js b/frontend-js/src/main/js/minerva.js index deed136a3b0d68743e29305d3b3038694cf32e99..3e3ece2499c8e66f91f8e960b5f6c66503d1e808 100644 --- a/frontend-js/src/main/js/minerva.js +++ b/frontend-js/src/main/js/minerva.js @@ -298,7 +298,7 @@ function createResult(customMap) { options: { icon: identifiedElements[i].getIcon(), color: identifiedElements[i].getColor(), - opacity: identifiedElements[i].getOpacity(), + opacity: identifiedElements[i].getOpacity() } }; result.push(row); @@ -336,8 +336,8 @@ function createResult(customMap) { var promises = []; for (i = 0; i < models.length; i++) { promises.push(models[i].getAliases({ - type: customMap.getConfiguration().getElementTypes(), - complete: true, + type: customMap.getConfiguration().getElementTypeNames(), + complete: true })); } return Promise.all(promises).then(function (aliasesByModel) { @@ -427,7 +427,7 @@ function createResult(customMap) { throw new Error("Unknown modelId: " + params.modelId); } return submap.setZoom(params.zoom); - }, + } }; } diff --git a/frontend-js/src/test/js/gui/export/ElementExportPanel-test.js b/frontend-js/src/test/js/gui/export/ElementExportPanel-test.js index 209fd20b97e369a40fdc584c867db855aa3be2b4..5dd005df320989e2dc61ce82fd67950673784e34 100644 --- a/frontend-js/src/test/js/gui/export/ElementExportPanel-test.js +++ b/frontend-js/src/test/js/gui/export/ElementExportPanel-test.js @@ -43,7 +43,7 @@ describe('ElementExportPanel', function() { return ServerConnector.getConfiguration().then(function(result) { configuration = result; - elementTypes = configuration.getElementTypes(); + elementTypes = configuration.getElementTypeNames(); return ServerConnector.getProject(); }).then(function(result) { project = result; diff --git a/frontend-js/src/test/js/gui/export/NetworkExportPanel-test.js b/frontend-js/src/test/js/gui/export/NetworkExportPanel-test.js index 1badab9af1c93d8f392d50ae969c9e3d34b91b29..814080ba54ae225f5ea084b2b717fef66daa599a 100644 --- a/frontend-js/src/test/js/gui/export/NetworkExportPanel-test.js +++ b/frontend-js/src/test/js/gui/export/NetworkExportPanel-test.js @@ -2,6 +2,8 @@ /* exported logger */ +require("../../mocha-config"); + var NetworkExportPanel = require('../../../../main/js/gui/export/NetworkExportPanel'); var logger = require('../../logger'); diff --git a/frontend-js/src/test/js/minerva-test.js b/frontend-js/src/test/js/minerva-test.js index ace46e3e106afa218f01fb5261f6b27bf1ca8fc8..383ef3a60bc41283be90bdae720702046dd329fd 100644 --- a/frontend-js/src/test/js/minerva-test.js +++ b/frontend-js/src/test/js/minerva-test.js @@ -1,5 +1,7 @@ "use strict"; +require("./mocha-config"); + var Helper = require('./helper'); require("./mocha-config.js"); diff --git a/frontend-js/testFiles/apiCalls/configuration/token=MOCK_TOKEN_ID& b/frontend-js/testFiles/apiCalls/configuration/token=MOCK_TOKEN_ID& index 3021fe2f6d3bd325e8474c00089229085fb61a43..1fd5b097b6c6e6791eb1f3b22f1d66482b974805 100644 --- a/frontend-js/testFiles/apiCalls/configuration/token=MOCK_TOKEN_ID& +++ b/frontend-js/testFiles/apiCalls/configuration/token=MOCK_TOKEN_ID& @@ -1 +1 @@ -{"modelFormats":[{"handler":"lcsb.mapviewer.converter.model.celldesigner.CellDesignerXmlParser","extension":"xml","name":"CellDesigner SBML"},{"handler":"lcsb.mapviewer.converter.model.sbgnml.SbgnmlXmlConverter","extension":"sbgn","name":"SBGN-ML"}],"elementTypes":["Drug","Degraded","Phenotype","Gene","RNA","Unknown","Compartment","Antisense RNA","Ion","Simple molecule","Protein","Complex"],"modificationStateTypes":{"PHOSPHORYLATED":{"commonName":"phosphorylated","abbreviation":"P"},"METHYLATED":{"commonName":"methylated","abbreviation":"Me"},"PALMYTOYLATED":{"commonName":"palmytoylated","abbreviation":"Pa"},"ACETYLATED":{"commonName":"acetylated","abbreviation":"Ac"},"SULFATED":{"commonName":"sulfated","abbreviation":"S"},"GLYCOSYLATED":{"commonName":"glycosylated","abbreviation":"G"},"PRENYLATED":{"commonName":"prenylated","abbreviation":"Pr"},"UBIQUITINATED":{"commonName":"ubiquitinated","abbreviation":"Ub"},"PROTONATED":{"commonName":"protonated","abbreviation":"H"},"HYDROXYLATED":{"commonName":"hydroxylated","abbreviation":"OH"},"MYRISTOYLATED":{"commonName":"myristoylated","abbreviation":"My"},"UNKNOWN":{"commonName":"unknown","abbreviation":"?"},"EMPTY":{"commonName":"empty","abbreviation":""},"DONT_CARE":{"commonName":"don't care","abbreviation":"*"}},"miriamTypes":{"CHEMBL_TARGET":{"commonName":"ChEMBL target","uris":["urn:miriam:chembl.target"],"homepage":"https://www.ebi.ac.uk/chembldb/","registryIdentifier":"MIR:00000085"},"UNIPROT":{"commonName":"Uniprot","uris":["urn:miriam:uniprot"],"homepage":"http://www.uniprot.org/","registryIdentifier":"MIR:00000005"},"MI_R_BASE_MATURE_SEQUENCE":{"commonName":"miRBase Mature Sequence Database","uris":["urn:miriam:mirbase.mature"],"homepage":"http://www.mirbase.org/","registryIdentifier":"MIR:00000235"},"PFAM":{"commonName":"Protein Family Database","uris":["urn:miriam:pfam"],"homepage":"http://pfam.xfam.org//","registryIdentifier":"MIR:00000028"},"ENSEMBL_PLANTS":{"commonName":"Ensembl Plants","uris":["urn:miriam:ensembl.plant"],"homepage":"http://plants.ensembl.org/","registryIdentifier":"MIR:00000205"},"WIKIPEDIA":{"commonName":"Wikipedia (English)","uris":["urn:miriam:wikipedia.en"],"homepage":"http://en.wikipedia.org/wiki/Main_Page","registryIdentifier":"MIR:00000384"},"CHEBI":{"commonName":"Chebi","uris":["urn:miriam:obo.chebi","urn:miriam:chebi"],"homepage":"http://www.ebi.ac.uk/chebi/","registryIdentifier":"MIR:00000002"},"WIKIDATA":{"commonName":"Wikidata","uris":["urn:miriam:wikidata"],"homepage":"https://www.wikidata.org/","registryIdentifier":"MIR:00000549"},"REACTOME":{"commonName":"Reactome","uris":["urn:miriam:reactome"],"homepage":"http://www.reactome.org/","registryIdentifier":"MIR:00000018"},"EC":{"commonName":"Enzyme Nomenclature","uris":["urn:miriam:ec-code"],"homepage":"http://www.enzyme-database.org/","registryIdentifier":"MIR:00000004"},"UNIPROT_ISOFORM":{"commonName":"UniProt Isoform","uris":["urn:miriam:uniprot.isoform"],"homepage":"http://www.uniprot.org/","registryIdentifier":"MIR:00000388"},"OMIM":{"commonName":"Online Mendelian Inheritance in Man","uris":["urn:miriam:omim"],"homepage":"http://omim.org/","registryIdentifier":"MIR:00000016"},"DRUGBANK_TARGET_V4":{"commonName":"DrugBank Target v4","uris":["urn:miriam:drugbankv4.target"],"homepage":"http://www.drugbank.ca/targets","registryIdentifier":"MIR:00000528"},"MIR_TAR_BASE_MATURE_SEQUENCE":{"commonName":"miRTarBase Mature Sequence Database","uris":["urn:miriam:mirtarbase"],"homepage":"http://mirtarbase.mbc.nctu.edu.tw/","registryIdentifier":"MIR:00100739"},"CHEMBL_COMPOUND":{"commonName":"ChEMBL","uris":["urn:miriam:chembl.compound"],"homepage":"https://www.ebi.ac.uk/chembldb/","registryIdentifier":"MIR:00000084"},"KEGG_PATHWAY":{"commonName":"Kegg Pathway","uris":["urn:miriam:kegg.pathway"],"homepage":"http://www.genome.jp/kegg/pathway.html","registryIdentifier":"MIR:00000012"},"CAS":{"commonName":"Chemical Abstracts Service","uris":["urn:miriam:cas"],"homepage":"http://commonchemistry.org","registryIdentifier":"MIR:00000237"},"REFSEQ":{"commonName":"RefSeq","uris":["urn:miriam:refseq"],"homepage":"http://www.ncbi.nlm.nih.gov/projects/RefSeq/","registryIdentifier":"MIR:00000039"},"WORM_BASE":{"commonName":"WormBase","uris":["urn:miriam:wormbase"],"homepage":"http://wormbase.bio2rdf.org/fct","registryIdentifier":"MIR:00000027"},"MI_R_BASE_SEQUENCE":{"commonName":"miRBase Sequence Database","uris":["urn:miriam:mirbase"],"homepage":"http://www.mirbase.org/","registryIdentifier":"MIR:00000078"},"TAIR_LOCUS":{"commonName":"TAIR Locus","uris":["urn:miriam:tair.locus"],"homepage":"http://arabidopsis.org/index.jsp","registryIdentifier":"MIR:00000050"},"PHARM":{"commonName":"PharmGKB Pathways","uris":["urn:miriam:pharmgkb.pathways"],"homepage":"http://www.pharmgkb.org/","registryIdentifier":"MIR:00000089"},"PANTHER":{"commonName":"PANTHER Family","uris":["urn:miriam:panther.family","urn:miriam:panther"],"homepage":"http://www.pantherdb.org/","registryIdentifier":"MIR:00000060"},"TAXONOMY":{"commonName":"Taxonomy","uris":["urn:miriam:taxonomy"],"homepage":"http://www.ncbi.nlm.nih.gov/taxonomy/","registryIdentifier":"MIR:00000006"},"UNIGENE":{"commonName":"UniGene","uris":["urn:miriam:unigene"],"homepage":"http://www.ncbi.nlm.nih.gov/unigene","registryIdentifier":"MIR:00000346"},"HGNC":{"commonName":"HGNC","uris":["urn:miriam:hgnc"],"homepage":"http://www.genenames.org","registryIdentifier":"MIR:00000080"},"HGNC_SYMBOL":{"commonName":"HGNC Symbol","uris":["urn:miriam:hgnc.symbol"],"homepage":"http://www.genenames.org","registryIdentifier":"MIR:00000362"},"COG":{"commonName":"Clusters of Orthologous Groups","uris":["urn:miriam:cogs"],"homepage":"https://www.ncbi.nlm.nih.gov/COG/","registryIdentifier":"MIR:00000296"},"WIKIPATHWAYS":{"commonName":"WikiPathways","uris":["urn:miriam:wikipathways"],"homepage":"http://www.wikipathways.org/","registryIdentifier":"MIR:00000076"},"HMDB":{"commonName":"HMDB","uris":["urn:miriam:hmdb"],"homepage":"http://www.hmdb.ca/","registryIdentifier":"MIR:00000051"},"CHEMSPIDER":{"commonName":"ChemSpider","uris":["urn:miriam:chemspider"],"homepage":"http://www.chemspider.com//","registryIdentifier":"MIR:00000138"},"ENSEMBL":{"commonName":"Ensembl","uris":["urn:miriam:ensembl"],"homepage":"www.ensembl.org","registryIdentifier":"MIR:00000003"},"GO":{"commonName":"Gene Ontology","uris":["urn:miriam:obo.go","urn:miriam:go"],"homepage":"http://amigo.geneontology.org/amigo","registryIdentifier":"MIR:00000022"},"KEGG_REACTION":{"commonName":"Kegg Reaction","uris":["urn:miriam:kegg.reaction"],"homepage":"http://www.genome.jp/kegg/reaction/","registryIdentifier":"MIR:00000014"},"KEGG_ORTHOLOGY":{"commonName":"KEGG Orthology","uris":["urn:miriam:kegg.orthology"],"homepage":"http://www.genome.jp/kegg/ko.html","registryIdentifier":"MIR:00000116"},"PUBCHEM":{"commonName":"PubChem-compound","uris":["urn:miriam:pubchem.compound"],"homepage":"http://pubchem.ncbi.nlm.nih.gov/","registryIdentifier":"MIR:00000034"},"MESH_2012":{"commonName":"MeSH 2012","uris":["urn:miriam:mesh.2012","urn:miriam:mesh"],"homepage":"http://www.nlm.nih.gov/mesh/","registryIdentifier":"MIR:00000270"},"MGD":{"commonName":"Mouse Genome Database","uris":["urn:miriam:mgd"],"homepage":"http://www.informatics.jax.org/","registryIdentifier":"MIR:00000037"},"ENTREZ":{"commonName":"Entrez Gene","uris":["urn:miriam:ncbigene","urn:miriam:entrez.gene"],"homepage":"http://www.ncbi.nlm.nih.gov/gene","registryIdentifier":"MIR:00000069"},"PUBCHEM_SUBSTANCE":{"commonName":"PubChem-substance","uris":["urn:miriam:pubchem.substance"],"homepage":"http://pubchem.ncbi.nlm.nih.gov/","registryIdentifier":"MIR:00000033"},"CCDS":{"commonName":"Consensus CDS","uris":["urn:miriam:ccds"],"homepage":"http://www.ncbi.nlm.nih.gov/CCDS/","registryIdentifier":"MIR:00000375"},"KEGG_GENES":{"commonName":"Kegg Genes","uris":["urn:miriam:kegg.genes","urn:miriam:kegg.genes:hsa"],"homepage":"http://www.genome.jp/kegg/genes.html","registryIdentifier":"MIR:00000070"},"TOXICOGENOMIC_CHEMICAL":{"commonName":"Toxicogenomic Chemical","uris":["urn:miriam:ctd.chemical"],"homepage":"http://ctdbase.org/","registryIdentifier":"MIR:00000098"},"SGD":{"commonName":"Saccharomyces Genome Database","uris":["urn:miriam:sgd"],"homepage":"http://www.yeastgenome.org/","registryIdentifier":"MIR:00000023"},"KEGG_COMPOUND":{"commonName":"Kegg Compound","uris":["urn:miriam:kegg.compound"],"homepage":"http://www.genome.jp/kegg/ligand.html","registryIdentifier":"MIR:00000013"},"INTERPRO":{"commonName":"InterPro","uris":["urn:miriam:interpro"],"homepage":"http://www.ebi.ac.uk/interpro/","registryIdentifier":"MIR:00000011"},"UNKNOWN":{"commonName":"Unknown","uris":[],"homepage":null,"registryIdentifier":null},"DRUGBANK":{"commonName":"DrugBank","uris":["urn:miriam:drugbank"],"homepage":"http://www.drugbank.ca/","registryIdentifier":"MIR:00000102"},"PUBMED":{"commonName":"PubMed","uris":["urn:miriam:pubmed"],"homepage":"http://www.ncbi.nlm.nih.gov/PubMed/","registryIdentifier":"MIR:00000015"}},"imageFormats":[{"handler":"lcsb.mapviewer.converter.graphics.PngImageGenerator","extension":"png","name":"PNG image"},{"handler":"lcsb.mapviewer.converter.graphics.PdfImageGenerator","extension":"pdf","name":"PDF"},{"handler":"lcsb.mapviewer.converter.graphics.SvgImageGenerator","extension":"svg","name":"SVG image"}],"options":[{"idObject":9,"type":"EMAIL_ADDRESS","value":"your.account@domain.com"},{"idObject":10,"type":"EMAIL_LOGIN","value":"your@login"},{"idObject":11,"type":"EMAIL_PASSWORD","value":"email.secret.password"},{"idObject":13,"type":"EMAIL_IMAP_SERVER","value":"your.imap.domain.com"},{"idObject":12,"type":"EMAIL_SMTP_SERVER","value":"your.smtp.domain.com"},{"idObject":14,"type":"EMAIL_SMTP_PORT","value":"25"},{"idObject":6,"type":"DEFAULT_MAP","value":"sample"},{"idObject":4,"type":"LOGO_IMG","value":"udl.png"},{"idObject":3,"type":"LOGO_LINK","value":"http://wwwen.uni.lu/"},{"idObject":7,"type":"SEARCH_DISTANCE","value":"10"},{"idObject":1,"type":"REQUEST_ACCOUNT_EMAIL","value":"your.email@domain.com"},{"idObject":8,"type":"SEARCH_RESULT_NUMBER","value":"100"},{"idObject":2,"type":"GOOGLE_ANALYTICS_IDENTIFIER","value":""},{"idObject":5,"type":"LOGO_TEXT","value":"University of Luxembourg"},{"idObject":56,"type":"X_FRAME_DOMAIN","value":"http://localhost:8080/"},{"idObject":131,"type":"BIG_FILE_STORAGE_DIR","value":"minerva-big/"},{"idObject":138,"type":"LENGEND_FILE_1","value":"resources/images/legend_a.png"},{"idObject":139,"type":"LENGEND_FILE_2","value":"resources/images/legend_b.png"},{"idObject":140,"type":"LENGEND_FILE_3","value":"resources/images/legend_c.png"},{"idObject":141,"type":"LENGEND_FILE_4","value":"resources/images/legend_d.png"},{"idObject":142,"type":"USER_MANUAL_FILE","value":"resources/other/user_guide.pdf"},{"idObject":205,"type":"MIN_COLOR_VAL","value":"FF0000"},{"idObject":206,"type":"MAX_COLOR_VAL","value":"fbff00"},{"idObject":218,"type":"SIMPLE_COLOR_VAL","value":"00FF00"}],"privilegeTypes":{"VIEW_PROJECT":{"commonName":"View project","valueType":"boolean","objectType":"Project"},"LAYOUT_MANAGEMENT":{"commonName":"Manage layouts","valueType":"boolean","objectType":"Project"},"PROJECT_MANAGEMENT":{"commonName":"Map management","valueType":"boolean","objectType":null},"CUSTOM_LAYOUTS":{"commonName":"Custom layouts","valueType":"int","objectType":null},"ADD_MAP":{"commonName":"Add project","valueType":"boolean","objectType":null},"LAYOUT_VIEW":{"commonName":"View layout","valueType":"boolean","objectType":"Layout"},"MANAGE_GENOMES":{"commonName":"Manage genomes","valueType":"boolean","objectType":null},"EDIT_COMMENTS_PROJECT":{"commonName":"Manage comments","valueType":"boolean","objectType":"Project"},"CONFIGURATION_MANAGE":{"commonName":"Manage configuration","valueType":"boolean","objectType":null},"USER_MANAGEMENT":{"commonName":"User management","valueType":"boolean","objectType":null}},"overlayTypes":[{"name":"GENERIC"},{"name":"GENETIC_VARIANT"}],"reactionTypes":["Unknown reduced modulation","Reduced physical stimulation","Translation","State transition","Transcription","Unknown reduced trigger","Negative influence","Unknown positive influence","Positive influence","Unknown transition","Truncation","Reduced trigger","Boolean logic gate","Unknown reduced physical stimulation","Generic Reaction","Reduced modulation","Unknown negative influence","Heterodimer association","Dissociation","Known transition omitted","Transport"]} \ No newline at end of file +{"modelFormats":[{"handler":"lcsb.mapviewer.converter.model.celldesigner.CellDesignerXmlParser","extension":"xml","name":"CellDesigner SBML"},{"handler":"lcsb.mapviewer.converter.model.sbgnml.SbgnmlXmlConverter","extension":"sbgn","name":"SBGN-ML"}],"elementTypes":[{"name":"Ion","className":"lcsb.mapviewer.model.map.species.Element"},{"name":"Simple molecule","className":"lcsb.mapviewer.model.map.species.Element"},{"name":"Compartment","className":"lcsb.mapviewer.model.map.species.Element"},{"name":"Degraded","className":"lcsb.mapviewer.model.map.species.Element"},{"name":"Complex","className":"lcsb.mapviewer.model.map.species.Element"},{"name":"Antisense RNA","className":"lcsb.mapviewer.model.map.species.Element"},{"name":"Protein","className":"lcsb.mapviewer.model.map.species.Element"},{"name":"Phenotype","className":"lcsb.mapviewer.model.map.species.Element"},{"name":"Gene","className":"lcsb.mapviewer.model.map.species.Element"},{"name":"RNA","className":"lcsb.mapviewer.model.map.species.Element"},{"name":"Drug","className":"lcsb.mapviewer.model.map.species.Element"},{"name":"Unknown","className":"lcsb.mapviewer.model.map.species.Element"}],"modificationStateTypes":{"PHOSPHORYLATED":{"commonName":"phosphorylated","abbreviation":"P"},"METHYLATED":{"commonName":"methylated","abbreviation":"Me"},"PALMYTOYLATED":{"commonName":"palmytoylated","abbreviation":"Pa"},"ACETYLATED":{"commonName":"acetylated","abbreviation":"Ac"},"SULFATED":{"commonName":"sulfated","abbreviation":"S"},"GLYCOSYLATED":{"commonName":"glycosylated","abbreviation":"G"},"PRENYLATED":{"commonName":"prenylated","abbreviation":"Pr"},"UBIQUITINATED":{"commonName":"ubiquitinated","abbreviation":"Ub"},"PROTONATED":{"commonName":"protonated","abbreviation":"H"},"HYDROXYLATED":{"commonName":"hydroxylated","abbreviation":"OH"},"MYRISTOYLATED":{"commonName":"myristoylated","abbreviation":"My"},"UNKNOWN":{"commonName":"unknown","abbreviation":"?"},"EMPTY":{"commonName":"empty","abbreviation":""},"DONT_CARE":{"commonName":"don't care","abbreviation":"*"}},"miriamTypes":{"CHEMBL_TARGET":{"commonName":"ChEMBL target","uris":["urn:miriam:chembl.target"],"homepage":"https://www.ebi.ac.uk/chembldb/","registryIdentifier":"MIR:00000085"},"UNIPROT":{"commonName":"Uniprot","uris":["urn:miriam:uniprot"],"homepage":"http://www.uniprot.org/","registryIdentifier":"MIR:00000005"},"MI_R_BASE_MATURE_SEQUENCE":{"commonName":"miRBase Mature Sequence Database","uris":["urn:miriam:mirbase.mature"],"homepage":"http://www.mirbase.org/","registryIdentifier":"MIR:00000235"},"PFAM":{"commonName":"Protein Family Database","uris":["urn:miriam:pfam"],"homepage":"http://pfam.xfam.org//","registryIdentifier":"MIR:00000028"},"ENSEMBL_PLANTS":{"commonName":"Ensembl Plants","uris":["urn:miriam:ensembl.plant"],"homepage":"http://plants.ensembl.org/","registryIdentifier":"MIR:00000205"},"WIKIPEDIA":{"commonName":"Wikipedia (English)","uris":["urn:miriam:wikipedia.en"],"homepage":"http://en.wikipedia.org/wiki/Main_Page","registryIdentifier":"MIR:00000384"},"CHEBI":{"commonName":"Chebi","uris":["urn:miriam:obo.chebi","urn:miriam:chebi"],"homepage":"http://www.ebi.ac.uk/chebi/","registryIdentifier":"MIR:00000002"},"WIKIDATA":{"commonName":"Wikidata","uris":["urn:miriam:wikidata"],"homepage":"https://www.wikidata.org/","registryIdentifier":"MIR:00000549"},"REACTOME":{"commonName":"Reactome","uris":["urn:miriam:reactome"],"homepage":"http://www.reactome.org/","registryIdentifier":"MIR:00000018"},"EC":{"commonName":"Enzyme Nomenclature","uris":["urn:miriam:ec-code"],"homepage":"http://www.enzyme-database.org/","registryIdentifier":"MIR:00000004"},"UNIPROT_ISOFORM":{"commonName":"UniProt Isoform","uris":["urn:miriam:uniprot.isoform"],"homepage":"http://www.uniprot.org/","registryIdentifier":"MIR:00000388"},"OMIM":{"commonName":"Online Mendelian Inheritance in Man","uris":["urn:miriam:omim"],"homepage":"http://omim.org/","registryIdentifier":"MIR:00000016"},"DRUGBANK_TARGET_V4":{"commonName":"DrugBank Target v4","uris":["urn:miriam:drugbankv4.target"],"homepage":"http://www.drugbank.ca/targets","registryIdentifier":"MIR:00000528"},"MIR_TAR_BASE_MATURE_SEQUENCE":{"commonName":"miRTarBase Mature Sequence Database","uris":["urn:miriam:mirtarbase"],"homepage":"http://mirtarbase.mbc.nctu.edu.tw/","registryIdentifier":"MIR:00100739"},"CHEMBL_COMPOUND":{"commonName":"ChEMBL","uris":["urn:miriam:chembl.compound"],"homepage":"https://www.ebi.ac.uk/chembldb/","registryIdentifier":"MIR:00000084"},"KEGG_PATHWAY":{"commonName":"Kegg Pathway","uris":["urn:miriam:kegg.pathway"],"homepage":"http://www.genome.jp/kegg/pathway.html","registryIdentifier":"MIR:00000012"},"CAS":{"commonName":"Chemical Abstracts Service","uris":["urn:miriam:cas"],"homepage":"http://commonchemistry.org","registryIdentifier":"MIR:00000237"},"REFSEQ":{"commonName":"RefSeq","uris":["urn:miriam:refseq"],"homepage":"http://www.ncbi.nlm.nih.gov/projects/RefSeq/","registryIdentifier":"MIR:00000039"},"WORM_BASE":{"commonName":"WormBase","uris":["urn:miriam:wormbase"],"homepage":"http://wormbase.bio2rdf.org/fct","registryIdentifier":"MIR:00000027"},"MI_R_BASE_SEQUENCE":{"commonName":"miRBase Sequence Database","uris":["urn:miriam:mirbase"],"homepage":"http://www.mirbase.org/","registryIdentifier":"MIR:00000078"},"TAIR_LOCUS":{"commonName":"TAIR Locus","uris":["urn:miriam:tair.locus"],"homepage":"http://arabidopsis.org/index.jsp","registryIdentifier":"MIR:00000050"},"PHARM":{"commonName":"PharmGKB Pathways","uris":["urn:miriam:pharmgkb.pathways"],"homepage":"http://www.pharmgkb.org/","registryIdentifier":"MIR:00000089"},"PANTHER":{"commonName":"PANTHER Family","uris":["urn:miriam:panther.family","urn:miriam:panther"],"homepage":"http://www.pantherdb.org/","registryIdentifier":"MIR:00000060"},"TAXONOMY":{"commonName":"Taxonomy","uris":["urn:miriam:taxonomy"],"homepage":"http://www.ncbi.nlm.nih.gov/taxonomy/","registryIdentifier":"MIR:00000006"},"UNIGENE":{"commonName":"UniGene","uris":["urn:miriam:unigene"],"homepage":"http://www.ncbi.nlm.nih.gov/unigene","registryIdentifier":"MIR:00000346"},"HGNC":{"commonName":"HGNC","uris":["urn:miriam:hgnc"],"homepage":"http://www.genenames.org","registryIdentifier":"MIR:00000080"},"HGNC_SYMBOL":{"commonName":"HGNC Symbol","uris":["urn:miriam:hgnc.symbol"],"homepage":"http://www.genenames.org","registryIdentifier":"MIR:00000362"},"COG":{"commonName":"Clusters of Orthologous Groups","uris":["urn:miriam:cogs"],"homepage":"https://www.ncbi.nlm.nih.gov/COG/","registryIdentifier":"MIR:00000296"},"WIKIPATHWAYS":{"commonName":"WikiPathways","uris":["urn:miriam:wikipathways"],"homepage":"http://www.wikipathways.org/","registryIdentifier":"MIR:00000076"},"HMDB":{"commonName":"HMDB","uris":["urn:miriam:hmdb"],"homepage":"http://www.hmdb.ca/","registryIdentifier":"MIR:00000051"},"CHEMSPIDER":{"commonName":"ChemSpider","uris":["urn:miriam:chemspider"],"homepage":"http://www.chemspider.com//","registryIdentifier":"MIR:00000138"},"ENSEMBL":{"commonName":"Ensembl","uris":["urn:miriam:ensembl"],"homepage":"www.ensembl.org","registryIdentifier":"MIR:00000003"},"GO":{"commonName":"Gene Ontology","uris":["urn:miriam:obo.go","urn:miriam:go"],"homepage":"http://amigo.geneontology.org/amigo","registryIdentifier":"MIR:00000022"},"KEGG_REACTION":{"commonName":"Kegg Reaction","uris":["urn:miriam:kegg.reaction"],"homepage":"http://www.genome.jp/kegg/reaction/","registryIdentifier":"MIR:00000014"},"KEGG_ORTHOLOGY":{"commonName":"KEGG Orthology","uris":["urn:miriam:kegg.orthology"],"homepage":"http://www.genome.jp/kegg/ko.html","registryIdentifier":"MIR:00000116"},"PUBCHEM":{"commonName":"PubChem-compound","uris":["urn:miriam:pubchem.compound"],"homepage":"http://pubchem.ncbi.nlm.nih.gov/","registryIdentifier":"MIR:00000034"},"MESH_2012":{"commonName":"MeSH 2012","uris":["urn:miriam:mesh.2012","urn:miriam:mesh"],"homepage":"http://www.nlm.nih.gov/mesh/","registryIdentifier":"MIR:00000270"},"MGD":{"commonName":"Mouse Genome Database","uris":["urn:miriam:mgd"],"homepage":"http://www.informatics.jax.org/","registryIdentifier":"MIR:00000037"},"ENTREZ":{"commonName":"Entrez Gene","uris":["urn:miriam:ncbigene","urn:miriam:entrez.gene"],"homepage":"http://www.ncbi.nlm.nih.gov/gene","registryIdentifier":"MIR:00000069"},"PUBCHEM_SUBSTANCE":{"commonName":"PubChem-substance","uris":["urn:miriam:pubchem.substance"],"homepage":"http://pubchem.ncbi.nlm.nih.gov/","registryIdentifier":"MIR:00000033"},"CCDS":{"commonName":"Consensus CDS","uris":["urn:miriam:ccds"],"homepage":"http://www.ncbi.nlm.nih.gov/CCDS/","registryIdentifier":"MIR:00000375"},"KEGG_GENES":{"commonName":"Kegg Genes","uris":["urn:miriam:kegg.genes","urn:miriam:kegg.genes:hsa"],"homepage":"http://www.genome.jp/kegg/genes.html","registryIdentifier":"MIR:00000070"},"TOXICOGENOMIC_CHEMICAL":{"commonName":"Toxicogenomic Chemical","uris":["urn:miriam:ctd.chemical"],"homepage":"http://ctdbase.org/","registryIdentifier":"MIR:00000098"},"SGD":{"commonName":"Saccharomyces Genome Database","uris":["urn:miriam:sgd"],"homepage":"http://www.yeastgenome.org/","registryIdentifier":"MIR:00000023"},"KEGG_COMPOUND":{"commonName":"Kegg Compound","uris":["urn:miriam:kegg.compound"],"homepage":"http://www.genome.jp/kegg/ligand.html","registryIdentifier":"MIR:00000013"},"INTERPRO":{"commonName":"InterPro","uris":["urn:miriam:interpro"],"homepage":"http://www.ebi.ac.uk/interpro/","registryIdentifier":"MIR:00000011"},"UNKNOWN":{"commonName":"Unknown","uris":[],"homepage":null,"registryIdentifier":null},"DRUGBANK":{"commonName":"DrugBank","uris":["urn:miriam:drugbank"],"homepage":"http://www.drugbank.ca/","registryIdentifier":"MIR:00000102"},"PUBMED":{"commonName":"PubMed","uris":["urn:miriam:pubmed"],"homepage":"http://www.ncbi.nlm.nih.gov/PubMed/","registryIdentifier":"MIR:00000015"}},"imageFormats":[{"handler":"lcsb.mapviewer.converter.graphics.PngImageGenerator","extension":"png","name":"PNG image"},{"handler":"lcsb.mapviewer.converter.graphics.PdfImageGenerator","extension":"pdf","name":"PDF"},{"handler":"lcsb.mapviewer.converter.graphics.SvgImageGenerator","extension":"svg","name":"SVG image"}],"options":[{"idObject":9,"type":"EMAIL_ADDRESS","value":"your.account@domain.com"},{"idObject":10,"type":"EMAIL_LOGIN","value":"your@login"},{"idObject":11,"type":"EMAIL_PASSWORD","value":"email.secret.password"},{"idObject":13,"type":"EMAIL_IMAP_SERVER","value":"your.imap.domain.com"},{"idObject":12,"type":"EMAIL_SMTP_SERVER","value":"your.smtp.domain.com"},{"idObject":14,"type":"EMAIL_SMTP_PORT","value":"25"},{"idObject":6,"type":"DEFAULT_MAP","value":"sample"},{"idObject":4,"type":"LOGO_IMG","value":"udl.png"},{"idObject":3,"type":"LOGO_LINK","value":"http://wwwen.uni.lu/"},{"idObject":7,"type":"SEARCH_DISTANCE","value":"10"},{"idObject":1,"type":"REQUEST_ACCOUNT_EMAIL","value":"your.email@domain.com"},{"idObject":8,"type":"SEARCH_RESULT_NUMBER","value":"100"},{"idObject":2,"type":"GOOGLE_ANALYTICS_IDENTIFIER","value":""},{"idObject":5,"type":"LOGO_TEXT","value":"University of Luxembourg"},{"idObject":56,"type":"X_FRAME_DOMAIN","value":"http://localhost:8080/"},{"idObject":131,"type":"BIG_FILE_STORAGE_DIR","value":"minerva-big/"},{"idObject":138,"type":"LEGEND_FILE_1","value":"resources/images/legend_a.png"},{"idObject":139,"type":"LEGEND_FILE_2","value":"resources/images/legend_b.png"},{"idObject":140,"type":"LEGEND_FILE_3","value":"resources/images/legend_c.png"},{"idObject":141,"type":"LEGEND_FILE_4","value":"resources/images/legend_d.png"},{"idObject":142,"type":"USER_MANUAL_FILE","value":"resources/other/user_guide.pdf"},{"idObject":205,"type":"MIN_COLOR_VAL","value":"FF0000"},{"idObject":206,"type":"MAX_COLOR_VAL","value":"fbff00"},{"idObject":218,"type":"SIMPLE_COLOR_VAL","value":"00FF00"}],"privilegeTypes":{"VIEW_PROJECT":{"commonName":"View project","valueType":"boolean","objectType":"Project"},"LAYOUT_MANAGEMENT":{"commonName":"Manage layouts","valueType":"boolean","objectType":"Project"},"PROJECT_MANAGEMENT":{"commonName":"Map management","valueType":"boolean","objectType":null},"CUSTOM_LAYOUTS":{"commonName":"Custom layouts","valueType":"int","objectType":null},"ADD_MAP":{"commonName":"Add project","valueType":"boolean","objectType":null},"LAYOUT_VIEW":{"commonName":"View layout","valueType":"boolean","objectType":"Layout"},"MANAGE_GENOMES":{"commonName":"Manage genomes","valueType":"boolean","objectType":null},"EDIT_COMMENTS_PROJECT":{"commonName":"Manage comments","valueType":"boolean","objectType":"Project"},"CONFIGURATION_MANAGE":{"commonName":"Manage configuration","valueType":"boolean","objectType":null},"USER_MANAGEMENT":{"commonName":"User management","valueType":"boolean","objectType":null}},"overlayTypes":[{"name":"GENERIC"},{"name":"GENETIC_VARIANT"}],"buildDate":"29/08/2017 18:52","reactionTypes":[{"name":"Unknown reduced modulation","className":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Unknown reduced physical stimulation","className":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"State transition","className":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Translation","className":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Transport","className":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Heterodimer association","className":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Dissociation","className":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Positive influence","className":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Transcription","className":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Unknown reduced trigger","className":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Reduced physical stimulation","className":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Negative influence","className":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Boolean logic gate","className":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Reduced trigger","className":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Truncation","className":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Unknown transition","className":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Unknown positive influence","className":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Known transition omitted","className":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Generic Reaction","className":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Unknown negative influence","className":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Reduced modulation","className":"lcsb.mapviewer.model.map.reaction.Reaction"}],"version":"11.0.0"} \ No newline at end of file diff --git a/frontend-js/testFiles/apiCalls/projects/sample/comments/models/all/columns=id,elementId,modelId,type,removed,pinned,author,email&token=MOCK_TOKEN_ID& b/frontend-js/testFiles/apiCalls/projects/sample/comments/models/all/columns=author,elementId,email,id,modelId,pinned,removed,type&token=MOCK_TOKEN_ID& similarity index 100% rename from frontend-js/testFiles/apiCalls/projects/sample/comments/models/all/columns=id,elementId,modelId,type,removed,pinned,author,email&token=MOCK_TOKEN_ID& rename to frontend-js/testFiles/apiCalls/projects/sample/comments/models/all/columns=author,elementId,email,id,modelId,pinned,removed,type&token=MOCK_TOKEN_ID& diff --git a/frontend-js/testFiles/apiCalls/projects/sample/comments/models/all/columns=id,elementId,modelId,type,icon,removed,pinned&token=MOCK_TOKEN_ID& b/frontend-js/testFiles/apiCalls/projects/sample/comments/models/all/columns=elementId,icon,id,modelId,pinned,removed,type&token=MOCK_TOKEN_ID& similarity index 100% rename from frontend-js/testFiles/apiCalls/projects/sample/comments/models/all/columns=id,elementId,modelId,type,icon,removed,pinned&token=MOCK_TOKEN_ID& rename to frontend-js/testFiles/apiCalls/projects/sample/comments/models/all/columns=elementId,icon,id,modelId,pinned,removed,type&token=MOCK_TOKEN_ID& diff --git a/frontend-js/testFiles/apiCalls/projects/sample/comments/models/all/columns=id,elementId,modelId,type,icon,removed&token=MOCK_TOKEN_ID& b/frontend-js/testFiles/apiCalls/projects/sample/comments/models/all/columns=elementId,icon,id,modelId,removed,type&token=MOCK_TOKEN_ID& similarity index 100% rename from frontend-js/testFiles/apiCalls/projects/sample/comments/models/all/columns=id,elementId,modelId,type,icon,removed&token=MOCK_TOKEN_ID& rename to frontend-js/testFiles/apiCalls/projects/sample/comments/models/all/columns=elementId,icon,id,modelId,removed,type&token=MOCK_TOKEN_ID& diff --git a/frontend-js/testFiles/apiCalls/projects/sample/models/15781/bioEntities/elements/columns=id,bounds,modelId&type=Drug,Complex,Phenotype,Gene,RNA,Unknown,Degraded,Antisense RNA,Ion,Simple molecule,Protein,Compartment&token=MOCK_TOKEN_ID& b/frontend-js/testFiles/apiCalls/projects/sample/models/15781/bioEntities/elements/columns=id,bounds,modelId&type=Antisense RNA,Compartment,Complex,Degraded,Drug,Gene,Ion,Phenotype,Protein,RNA,Simple molecule,Unknown&token=MOCK_TOKEN_ID& similarity index 100% rename from frontend-js/testFiles/apiCalls/projects/sample/models/15781/bioEntities/elements/columns=id,bounds,modelId&type=Drug,Complex,Phenotype,Gene,RNA,Unknown,Degraded,Antisense RNA,Ion,Simple molecule,Protein,Compartment&token=MOCK_TOKEN_ID& rename to frontend-js/testFiles/apiCalls/projects/sample/models/15781/bioEntities/elements/columns=id,bounds,modelId&type=Antisense RNA,Compartment,Complex,Degraded,Drug,Gene,Ion,Phenotype,Protein,RNA,Simple molecule,Unknown&token=MOCK_TOKEN_ID& diff --git a/frontend-js/testFiles/apiCalls/projects/sample/models/15781/bioEntities/elements/columns=id,modelId&type=Drug,Complex,Phenotype,Gene,RNA,Unknown,Degraded,Antisense RNA,Ion,Simple molecule,Protein,Compartment&token=MOCK_TOKEN_ID& b/frontend-js/testFiles/apiCalls/projects/sample/models/15781/bioEntities/elements/columns=id,modelId&type=Antisense RNA,Compartment,Complex,Degraded,Drug,Gene,Ion,Phenotype,Protein,RNA,Simple molecule,Unknown&token=MOCK_TOKEN_ID& similarity index 100% rename from frontend-js/testFiles/apiCalls/projects/sample/models/15781/bioEntities/elements/columns=id,modelId&type=Drug,Complex,Phenotype,Gene,RNA,Unknown,Degraded,Antisense RNA,Ion,Simple molecule,Protein,Compartment&token=MOCK_TOKEN_ID& rename to frontend-js/testFiles/apiCalls/projects/sample/models/15781/bioEntities/elements/columns=id,modelId&type=Antisense RNA,Compartment,Complex,Degraded,Drug,Gene,Ion,Phenotype,Protein,RNA,Simple molecule,Unknown&token=MOCK_TOKEN_ID& diff --git a/model/src/main/java/lcsb/mapviewer/model/user/ConfigurationElementType.java b/model/src/main/java/lcsb/mapviewer/model/user/ConfigurationElementType.java index 8ff0f95344526a7e9e12cd455af360f510d71a1d..699a165978a232fed7df2c3f81ddfeb1d5c3340b 100644 --- a/model/src/main/java/lcsb/mapviewer/model/user/ConfigurationElementType.java +++ b/model/src/main/java/lcsb/mapviewer/model/user/ConfigurationElementType.java @@ -96,22 +96,22 @@ public enum ConfigurationElementType { /** * File where legend 1/4 is stored. */ - LENGEND_FILE_1("Legend 1 image file", "resources/images/legend_a.png", ConfigurationElementEditType.URL, false), + LEGEND_FILE_1("Legend 1 image file", "resources/images/legend_a.png", ConfigurationElementEditType.URL, false), /** * File where legend 2/4 is stored. */ - LENGEND_FILE_2("Legend 2 image file", "resources/images/legend_b.png", ConfigurationElementEditType.URL, false), + LEGEND_FILE_2("Legend 2 image file", "resources/images/legend_b.png", ConfigurationElementEditType.URL, false), /** * File where legend 3/4 is stored. */ - LENGEND_FILE_3("Legend 3 image file", "resources/images/legend_c.png", ConfigurationElementEditType.URL, false), + LEGEND_FILE_3("Legend 3 image file", "resources/images/legend_c.png", ConfigurationElementEditType.URL, false), /** * File where legend 4/4 is stored. */ - LENGEND_FILE_4("Legend 4 image file", "resources/images/legend_d.png", ConfigurationElementEditType.URL, false), + LEGEND_FILE_4("Legend 4 image file", "resources/images/legend_d.png", ConfigurationElementEditType.URL, false), /** * File where legend 4/4 is stored. diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/configuration/ConfigurationController.java b/rest-api/src/main/java/lcsb/mapviewer/api/configuration/ConfigurationController.java index 3346fc3cb1d41f5bdc40089a34072f8a47bf144b..1450e9a8bef1be8410e2425be86c9951ac9c9017 100644 --- a/rest-api/src/main/java/lcsb/mapviewer/api/configuration/ConfigurationController.java +++ b/rest-api/src/main/java/lcsb/mapviewer/api/configuration/ConfigurationController.java @@ -3,6 +3,8 @@ package lcsb.mapviewer.api.configuration; import java.util.HashMap; import java.util.Map; +import javax.servlet.ServletContext; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.CookieValue; @@ -13,11 +15,21 @@ import org.springframework.web.bind.annotation.RestController; import lcsb.mapviewer.api.BaseController; import lcsb.mapviewer.common.Configuration; import lcsb.mapviewer.services.SecurityException; +import lcsb.mapviewer.services.interfaces.IConfigurationService; @RestController public class ConfigurationController extends BaseController { @Autowired - private ConfigurationRestImpl configurationController; + private ConfigurationRestImpl configurationController; + + @Autowired + private IConfigurationService configurationService; + + /** + * Context used to determine deployment path. + */ + @Autowired + private ServletContext context; @RequestMapping(value = "/configuration/", method = { RequestMethod.GET }, produces = { MediaType.APPLICATION_JSON_VALUE }) public Map<String, Object> getOverlayTypes(@CookieValue(value = Configuration.AUTH_TOKEN) String token) throws SecurityException { @@ -31,6 +43,8 @@ public class ConfigurationController extends BaseController { result.put("miriamTypes", configurationController.getMiriamTypes(token)); result.put("modificationStateTypes", configurationController.getModificationStateTypes(token)); result.put("privilegeTypes", configurationController.getPrivilegeTypes(token)); + result.put("version", configurationService.getSystemSvnVersion(context.getRealPath("/"))); + result.put("buildDate", configurationService.getSystemBuild(context.getRealPath("/"))); return result; } @@ -51,4 +65,21 @@ public class ConfigurationController extends BaseController { this.configurationController = configurationController; } + /** + * @return the configurationService + * @see #configurationService + */ + public IConfigurationService getConfigurationService() { + return configurationService; + } + + /** + * @param configurationService + * the configurationService to set + * @see #configurationService + */ + public void setConfigurationService(IConfigurationService configurationService) { + this.configurationService = configurationService; + } + } \ No newline at end of file diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/configuration/ConfigurationRestImpl.java b/rest-api/src/main/java/lcsb/mapviewer/api/configuration/ConfigurationRestImpl.java index 5b74c890ebabd216e77e12815afe00aa7d30f994..1c7329d6a647cc6ffeafcd9ac033cf84898b0425 100644 --- a/rest-api/src/main/java/lcsb/mapviewer/api/configuration/ConfigurationRestImpl.java +++ b/rest-api/src/main/java/lcsb/mapviewer/api/configuration/ConfigurationRestImpl.java @@ -134,14 +134,14 @@ public class ConfigurationRestImpl { return result; } - public Set<String> getElementTypes(String token) throws SecurityException { + public Set<Map<String, String>> getElementTypes(String token) throws SecurityException { userService.getToken(token); return getClassStringTypesList(Element.class); } - private Set<String> getClassStringTypesList(Class<?> elementClass) { - Set<String> result = new HashSet<>(); + private Set<Map<String, String>> getClassStringTypesList(Class<?> elementClass) { + Set<Map<String, String>> result = new HashSet<>(); ElementUtils elementUtils = new ElementUtils(); ClassTreeNode top = elementUtils.getAnnotatedElementClassTree(); Queue<ClassTreeNode> queue = new LinkedList<>(); @@ -153,12 +153,18 @@ public class ConfigurationRestImpl { } if (elementClass.isAssignableFrom(clazz.getClazz())) { if (!Modifier.isAbstract(clazz.getClazz().getModifiers())) { + Map<String, String> row = new HashMap<>(); try { + row.put("className", elementClass.getName()); + String name = null; if (elementClass.isAssignableFrom(Reaction.class)) { - result.add(((BioEntity) (clazz.getClazz().getDeclaredConstructor().newInstance())).getStringType()); + row.put("className", elementClass.getName()); + name = ((BioEntity) (clazz.getClazz().getDeclaredConstructor().newInstance())).getStringType(); } else { - result.add(((BioEntity) (clazz.getClazz().getDeclaredConstructor(String.class).newInstance("id"))).getStringType()); + name = ((BioEntity) (clazz.getClazz().getDeclaredConstructor(String.class).newInstance("id"))).getStringType(); } + row.put("name", name); + result.add(row); } catch (InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException | java.lang.SecurityException e) { throw new RuntimeException(e); @@ -169,7 +175,7 @@ public class ConfigurationRestImpl { return result; } - public Set<String> getReactionTypes(String token) throws SecurityException { + public Set<Map<String, String>> getReactionTypes(String token) throws SecurityException { userService.getToken(token); return getClassStringTypesList(Reaction.class); diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/users/UserController.java b/rest-api/src/main/java/lcsb/mapviewer/api/users/UserController.java index 621a0dd6d64839e716e89d2742381313bec10858..5b8e4672b56384b49e27ea69a1f509b94cd90894 100644 --- a/rest-api/src/main/java/lcsb/mapviewer/api/users/UserController.java +++ b/rest-api/src/main/java/lcsb/mapviewer/api/users/UserController.java @@ -94,6 +94,17 @@ public class UserController extends BaseController { return userRest.updatePrivileges(token, login, data); } + @RequestMapping(value = "/users/{login}:updatePreferences", method = { RequestMethod.PATCH }, produces = { MediaType.APPLICATION_JSON_VALUE }) + public Map<String, Object> updatePreferences(// + @RequestBody String body, // + @CookieValue(value = Configuration.AUTH_TOKEN) String token, // + @PathVariable(value = "login") String login // + ) throws SecurityException, JsonParseException, JsonMappingException, IOException, QueryException { + Map<String, Object> node = parseBody(body); + Map<String, Object> data = getData(node, "preferences"); + return userRest.updatePreferences(token, login, data); + } + @RequestMapping(value = "/users/", method = { RequestMethod.GET }, produces = { MediaType.APPLICATION_JSON_VALUE }) public List<Map<String, Object>> getUsers(// @CookieValue(value = Configuration.AUTH_TOKEN) String token, // diff --git a/rest-api/src/test/java/lcsb/mapviewer/api/configuration/ConfigurationRestImplTest.java b/rest-api/src/test/java/lcsb/mapviewer/api/configuration/ConfigurationRestImplTest.java index 52b5c6aa884540de6efa5ed1602bf858750a62a2..fe90900409938f0ecef9997959c126b825a84572 100644 --- a/rest-api/src/test/java/lcsb/mapviewer/api/configuration/ConfigurationRestImplTest.java +++ b/rest-api/src/test/java/lcsb/mapviewer/api/configuration/ConfigurationRestImplTest.java @@ -76,9 +76,13 @@ public class ConfigurationRestImplTest extends RestTestFunctions { @Test public void testGetElementTypes() throws Exception { try { - Set<String> list = configurationRestImpl.getElementTypes(token.getId()); + Set<Map<String, String>> list = configurationRestImpl.getElementTypes(token.getId()); GenericProtein protein = new GenericProtein("id"); - assertTrue(list.contains(protein.getStringType())); + boolean contains = false; + for (Map<String, String> object : list) { + contains |= (object.get("name").equals(protein.getStringType())); + } + assertTrue(contains); } catch (Exception e) { e.printStackTrace(); throw e; @@ -88,9 +92,13 @@ public class ConfigurationRestImplTest extends RestTestFunctions { @Test public void testGetReactionTypes() throws Exception { try { - Set<String> list = configurationRestImpl.getReactionTypes(token.getId()); - StateTransitionReaction protein = new StateTransitionReaction(); - assertTrue(list.contains(protein.getStringType())); + Set<Map<String, String>> list = configurationRestImpl.getReactionTypes(token.getId()); + StateTransitionReaction reaction = new StateTransitionReaction(); + boolean contains = false; + for (Map<String, String> object : list) { + contains |= (object.get("name").equals(reaction.getStringType())); + } + assertTrue(contains); } catch (Exception e) { e.printStackTrace(); throw e; @@ -100,7 +108,7 @@ public class ConfigurationRestImplTest extends RestTestFunctions { @Test public void testGetMiriamTypes() throws Exception { try { - Map<?,?> list = configurationRestImpl.getMiriamTypes(token.getId()); + Map<?, ?> list = configurationRestImpl.getMiriamTypes(token.getId()); assertNotNull(list.get(MiriamType.PUBMED.name())); } catch (Exception e) { e.printStackTrace(); diff --git a/web/src/main/java/lcsb/mapviewer/bean/ConfigurationBean.java b/web/src/main/java/lcsb/mapviewer/bean/ConfigurationBean.java index 7fcd49d3a7afc1cf58b49cb8666a2d3d4f06e846..b93fdd83be4beaa8cbf60a0da5a956f6af3e40ac 100644 --- a/web/src/main/java/lcsb/mapviewer/bean/ConfigurationBean.java +++ b/web/src/main/java/lcsb/mapviewer/bean/ConfigurationBean.java @@ -422,39 +422,39 @@ public class ConfigurationBean extends AbstractManagedBean implements Serializab } /** - * Returns {@link ConfigurationElementType#LENGEND_FILE_1 legend file 1}. + * Returns {@link ConfigurationElementType#LEGEND_FILE_1 legend file 1}. * - * @return {@link ConfigurationElementType#LENGEND_FILE_1 legend file 1} + * @return {@link ConfigurationElementType#LEGEND_FILE_1 legend file 1} */ public String getLegendFile1() { - return valueMap.get(ConfigurationElementType.LENGEND_FILE_1); + return valueMap.get(ConfigurationElementType.LEGEND_FILE_1); } /** - * Returns {@link ConfigurationElementType#LENGEND_FILE_2 legend file 2}. + * Returns {@link ConfigurationElementType#LEGEND_FILE_2 legend file 2}. * - * @return {@link ConfigurationElementType#LENGEND_FILE_2 legend file 2} + * @return {@link ConfigurationElementType#LEGEND_FILE_2 legend file 2} */ public String getLegendFile2() { - return valueMap.get(ConfigurationElementType.LENGEND_FILE_2); + return valueMap.get(ConfigurationElementType.LEGEND_FILE_2); } /** - * Returns {@link ConfigurationElementType#LENGEND_FILE_3 legend file 3}. + * Returns {@link ConfigurationElementType#LEGEND_FILE_3 legend file 3}. * - * @return {@link ConfigurationElementType#LENGEND_FILE_3 legend file 3} + * @return {@link ConfigurationElementType#LEGEND_FILE_3 legend file 3} */ public String getLegendFile3() { - return valueMap.get(ConfigurationElementType.LENGEND_FILE_3); + return valueMap.get(ConfigurationElementType.LEGEND_FILE_3); } /** - * Returns {@link ConfigurationElementType#LENGEND_FILE_4 legend file 4}. + * Returns {@link ConfigurationElementType#LEGEND_FILE_4 legend file 4}. * - * @return {@link ConfigurationElementType#LENGEND_FILE_4 legend file 4} + * @return {@link ConfigurationElementType#LEGEND_FILE_4 legend file 4} */ public String getLegendFile4() { - return valueMap.get(ConfigurationElementType.LENGEND_FILE_4); + return valueMap.get(ConfigurationElementType.LEGEND_FILE_4); } /**