From c4fdbf9340cd3aa908d89c651ee5ef2c4bcf4abc Mon Sep 17 00:00:00 2001
From: Piotr Gawron <piotr.gawron@uni.lu>
Date: Mon, 26 Aug 2019 18:06:44 +0200
Subject: [PATCH] layers are always invisible

---
 CHANGELOG                                           |  2 ++
 .../mapviewer/services/impl/ProjectService.java     | 13 +++++++++++++
 2 files changed, 15 insertions(+)

diff --git a/CHANGELOG b/CHANGELOG
index c376c44034..4dce5c2709 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,6 +2,8 @@ minerva (14.0.0~beta.0) unstable; urgency=low
   * Small improvement: sorting by columns that doesn't make sense in admin panel 
     is disabled (#895)
   * Small improvement: version of minerva is visible in map browser panel
+  * Small improvement: CellDesigner layers are always visualized as pathways 
+    (#813)
   * Bug fix: work on FF Private Window mode could cause logout or raise an 
     error on when opening new tab with minerva (#892)
   * Bug fix: fetching list of miRnas resulted sometimes in "Internal Server 
diff --git a/service/src/main/java/lcsb/mapviewer/services/impl/ProjectService.java b/service/src/main/java/lcsb/mapviewer/services/impl/ProjectService.java
index 8b9bf83a11..a9bd177adc 100644
--- a/service/src/main/java/lcsb/mapviewer/services/impl/ProjectService.java
+++ b/service/src/main/java/lcsb/mapviewer/services/impl/ProjectService.java
@@ -33,6 +33,7 @@ import lcsb.mapviewer.model.ProjectStatus;
 import lcsb.mapviewer.model.cache.UploadedFileEntry;
 import lcsb.mapviewer.model.map.*;
 import lcsb.mapviewer.model.map.layout.*;
+import lcsb.mapviewer.model.map.layout.graphics.Layer;
 import lcsb.mapviewer.model.map.model.*;
 import lcsb.mapviewer.model.user.*;
 import lcsb.mapviewer.model.user.annotator.AnnotatorData;
@@ -734,6 +735,18 @@ public class ProjectService implements IProjectService {
       project.addModel(model);
     }
     Model topModel = project.getModels().iterator().next().getModel();
+
+    Set<Model> models = new HashSet<>();
+    models.add(topModel);
+    for (ModelSubmodelConnection connection : topModel.getSubmodelConnections()) {
+      models.add(connection.getSubmodel().getModel());
+    }
+    for (Model m : models) {
+      for (Layer l : m.getLayers()) {
+        l.setVisible(false);
+      }
+    }
+
     assignZoomLevelDataToModel(topModel);
     dbProject.setNotifyEmail(params.getNotifyEmail());
 
-- 
GitLab