From a81228d98143f231b47eb7c9522880e5098b2b4e Mon Sep 17 00:00:00 2001
From: Piotr Gawron <piotr.gawron@uni.lu>
Date: Mon, 5 Nov 2018 16:08:19 +0100
Subject: [PATCH] name of the transcription factor is drawn

---
 .../element/species/SpeciesConverter.java     |  4 +++
 .../element/species/SpeciesConverterTest.java | 28 +++++++++++++++++++
 2 files changed, 32 insertions(+)

diff --git a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/SpeciesConverter.java b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/SpeciesConverter.java
index 0b126f2667..99ae8a9a70 100644
--- a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/SpeciesConverter.java
+++ b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/SpeciesConverter.java
@@ -695,6 +695,10 @@ public abstract class SpeciesConverter<T extends Species> extends ElementConvert
 
     arrowTransformation.drawLine(line, graphics);
 
+    y = transcriptionSite.getPosition().getY() - DEFAULT_MODIFICATION_DIAMETER - DEFAULT_SPECIES_FONT_SIZE / 2;
+    if (transcriptionSite.getName() != null && !transcriptionSite.getName().isEmpty()) {
+      drawText(new Point2D.Double(x, y), transcriptionSite.getName(), graphics, true, false);
+    }
   }
 
   public ArrowTransformation getArrowTransformation() {
diff --git a/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/SpeciesConverterTest.java b/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/SpeciesConverterTest.java
index f87c673137..9b1ec5616f 100644
--- a/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/SpeciesConverterTest.java
+++ b/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/SpeciesConverterTest.java
@@ -4,6 +4,8 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.ArgumentMatchers.argThat;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
@@ -323,6 +325,7 @@ public class SpeciesConverterTest {
       transcriptionSite.setPosition(new Point2D.Double(10, 10));
       transcriptionSite.setWidth(100);
       transcriptionSite.setHeight(20);
+      transcriptionSite.setDirection("LEFT");
 
       ArrowTransformation arrowTransformation = Mockito.spy(new ArrowTransformation());
 
@@ -341,6 +344,31 @@ public class SpeciesConverterTest {
     }
   }
 
+  @Test
+  public void testDrawTranscriptionSiteDescription() throws Exception {
+    try {
+      BufferedImage bi = new BufferedImage(200, 200, BufferedImage.TYPE_INT_ARGB);
+      Graphics2D graphics = Mockito.spy(bi.createGraphics());
+
+      TranscriptionSite transcriptionSite = new TranscriptionSite();
+      transcriptionSite.setPosition(new Point2D.Double(10, 10));
+      transcriptionSite.setWidth(100);
+      transcriptionSite.setHeight(20);
+      transcriptionSite.setActive(true);
+      transcriptionSite.setDirection("LEFT");
+      transcriptionSite.setName("x");
+
+      ProteinConverter converter = new ProteinConverter(colorExtractor);
+
+      converter.drawModification(transcriptionSite, graphics, false);
+      verify(graphics, times(1)).drawString(anyString(), anyInt(), anyInt());
+
+    } catch (Exception e) {
+      e.printStackTrace();
+      throw e;
+    }
+  }
+
   private GenericProtein createProtein() {
     GenericProtein protein = new GenericProtein("id");
     protein.setName("NAME_OF_THE_ELEMENT");
-- 
GitLab