From d6fad8c4c8033e9645792171330e7a97d216cb01 Mon Sep 17 00:00:00 2001
From: Piotr Gawron <piotr.gawron@uni.lu>
Date: Thu, 12 Jul 2018 13:20:49 +0200
Subject: [PATCH] unit tests fixed + subclasses use proper discrimantor

---
 .../layout/ApplySimpleLayoutModelCommand.java |  6 +++--
 .../mapviewer/commands/AllCommandsTests.java  | 14 ++++++-----
 .../map/species/field/BindingRegion.java      |  2 +-
 .../model/map/species/field/CodingRegion.java |  2 +-
 .../species/field/ProteinBindingDomain.java   |  2 +-
 .../map/species/field/RegulatoryRegion.java   |  2 +-
 .../api/projects/drugs/DrugRestImpl.java      | 24 ++-----------------
 7 files changed, 18 insertions(+), 34 deletions(-)

diff --git a/model-command/src/main/java/lcsb/mapviewer/commands/layout/ApplySimpleLayoutModelCommand.java b/model-command/src/main/java/lcsb/mapviewer/commands/layout/ApplySimpleLayoutModelCommand.java
index fc0c60226e..e9c3648829 100644
--- a/model-command/src/main/java/lcsb/mapviewer/commands/layout/ApplySimpleLayoutModelCommand.java
+++ b/model-command/src/main/java/lcsb/mapviewer/commands/layout/ApplySimpleLayoutModelCommand.java
@@ -120,7 +120,7 @@ public class ApplySimpleLayoutModelCommand extends ApplyLayoutModelCommand {
     Set<Species> elementToAlign = new HashSet<>();
     Map<Compartment, Set<Element>> elementsByStaticCompartment = new HashMap<>();
     for (Element element : elements) {
-      if (element.getWidth() == 0) {
+      if (element.getWidth() == null || element.getWidth() == 0) {
         element.setWidth(SPECIES_WIDTH);
         element.setHeight(SPECIES_HEIGHT);
 
@@ -360,7 +360,9 @@ public class ApplySimpleLayoutModelCommand extends ApplyLayoutModelCommand {
   protected Dimension2D estimateDimension(Collection<BioEntity> bioEntites) {
     double suggestedSize = Math.max(100 * bioEntites.size() / 4,
         Math.sqrt((SPECIES_WIDTH + 10) * (SPECIES_HEIGHT + 10) * bioEntites.size()));
-    suggestedSize = Math.max(suggestedSize, 2 * (SPECIES_WIDTH + 10));
+    if (bioEntites.size() > 0) {
+      suggestedSize = Math.max(suggestedSize, 2 * (SPECIES_WIDTH + 10));
+    }
     return new DoubleDimension(suggestedSize, suggestedSize);
   }
 
diff --git a/model-command/src/test/java/lcsb/mapviewer/commands/AllCommandsTests.java b/model-command/src/test/java/lcsb/mapviewer/commands/AllCommandsTests.java
index 8b883cd54a..71fece55e5 100644
--- a/model-command/src/test/java/lcsb/mapviewer/commands/AllCommandsTests.java
+++ b/model-command/src/test/java/lcsb/mapviewer/commands/AllCommandsTests.java
@@ -1,5 +1,6 @@
 package lcsb.mapviewer.commands;
 
+import lcsb.mapviewer.commands.layout.AllLayoutTests;
 import lcsb.mapviewer.commands.properties.AllPropertyCommandTests;
 
 import org.junit.runner.RunWith;
@@ -7,12 +8,13 @@ import org.junit.runners.Suite;
 import org.junit.runners.Suite.SuiteClasses;
 
 @RunWith(Suite.class)
-@SuiteClasses({ AllPropertyCommandTests.class, //
-		ColorModelCommandTest.class, //
-		CopyCommandTest.class, //
-		CreateHierarchyCommandTest.class, //
-		MoveElementsCommandTest.class, //
-		SubModelCommandTest.class,//
+@SuiteClasses({ AllLayoutTests.class, //
+    AllPropertyCommandTests.class, //
+    ColorModelCommandTest.class, //
+    CopyCommandTest.class, //
+    CreateHierarchyCommandTest.class, //
+    MoveElementsCommandTest.class, //
+    SubModelCommandTest.class,//
 })
 public class AllCommandsTests {
 
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/field/BindingRegion.java b/model/src/main/java/lcsb/mapviewer/model/map/species/field/BindingRegion.java
index b334ee3191..daa42fe4e3 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/field/BindingRegion.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/field/BindingRegion.java
@@ -22,7 +22,7 @@ import lcsb.mapviewer.model.map.species.Species;
  * 
  */
 @Entity
-@DiscriminatorValue("MODIFICATION_SITE")
+@DiscriminatorValue("BINDING_REGION")
 public class BindingRegion extends AbstractRegionModification implements Serializable {
 
   /**
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/field/CodingRegion.java b/model/src/main/java/lcsb/mapviewer/model/map/species/field/CodingRegion.java
index 0f8eac1c4b..4a10b40642 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/field/CodingRegion.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/field/CodingRegion.java
@@ -26,7 +26,7 @@ import lcsb.mapviewer.model.map.species.Species;
  * 
  */
 @Entity
-@DiscriminatorValue("MODIFICATION_SITE")
+@DiscriminatorValue("CODING_REGION")
 public class CodingRegion extends AbstractRegionModification implements Serializable {
 
   /**
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/field/ProteinBindingDomain.java b/model/src/main/java/lcsb/mapviewer/model/map/species/field/ProteinBindingDomain.java
index 1803b107ec..92d9ea58f2 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/field/ProteinBindingDomain.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/field/ProteinBindingDomain.java
@@ -24,7 +24,7 @@ import lcsb.mapviewer.model.map.species.Species;
  * 
  */
 @Entity
-@DiscriminatorValue("MODIFICATION_SITE")
+@DiscriminatorValue("PROTEIN_BINDING_DOMAIN")
 public class ProteinBindingDomain extends AbstractRegionModification implements Serializable {
 
   /**
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/field/RegulatoryRegion.java b/model/src/main/java/lcsb/mapviewer/model/map/species/field/RegulatoryRegion.java
index c2aa45c683..fd47c43c8b 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/field/RegulatoryRegion.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/field/RegulatoryRegion.java
@@ -22,7 +22,7 @@ import lcsb.mapviewer.model.map.species.Species;
  * 
  */
 @Entity
-@DiscriminatorValue("MODIFICATION_SITE")
+@DiscriminatorValue("REGULATORY_REGION")
 public class RegulatoryRegion extends AbstractRegionModification implements Serializable {
 
   /**
diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/projects/drugs/DrugRestImpl.java b/rest-api/src/main/java/lcsb/mapviewer/api/projects/drugs/DrugRestImpl.java
index f34f2cbe61..785e3def80 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/projects/drugs/DrugRestImpl.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/projects/drugs/DrugRestImpl.java
@@ -39,15 +39,12 @@ public class DrugRestImpl extends BaseRestImpl {
   @Autowired
   private IDrugService drugService;
 
-  @Autowired
-  private IModelService modelService;
-
   @Autowired
   private IUserService userService;
 
   public List<Map<String, Object>> getDrugsByQuery(String token, String projectId, String columns, String query)
       throws SecurityException, QueryException {
-    Model model = modelService.getLastModelByProjectId(projectId, token);
+    Model model = getModelService().getLastModelByProjectId(projectId, token);
     if (model == null) {
       throw new QueryException("Project with given id doesn't exist");
     }
@@ -87,23 +84,6 @@ public class DrugRestImpl extends BaseRestImpl {
     this.userService = userService;
   }
 
-  /**
-   * @return the modelService
-   * @see #modelService
-   */
-  public IModelService getModelService() {
-    return modelService;
-  }
-
-  /**
-   * @param modelService
-   *          the modelService to set
-   * @see #modelService
-   */
-  public void setModelService(IModelService modelService) {
-    this.modelService = modelService;
-  }
-
   private Map<String, Object> prepareDrug(Drug drug, Set<String> columnsSet, List<Model> models) {
     Map<String, Object> result = new TreeMap<>();
     for (String string : columnsSet) {
@@ -171,7 +151,7 @@ public class DrugRestImpl extends BaseRestImpl {
 
   public List<Map<String, Object>> getDrugsByTarget(String token, String projectId, String targetType, String targetId,
       String columns) throws SecurityException, QueryException {
-    Model model = modelService.getLastModelByProjectId(projectId, token);
+    Model model = getModelService().getLastModelByProjectId(projectId, token);
     if (model == null) {
       throw new QueryException("Project with given id doesn't exist");
     }
-- 
GitLab