From f6e7573fbaee9c04322f4853fe9d2ccd080b5740 Mon Sep 17 00:00:00 2001
From: Piotr Gawron <piotr.gawron@uni.lu>
Date: Thu, 25 Jul 2019 18:45:21 +0200
Subject: [PATCH] single column data doesn't use columns

---
 .../services/utils/ColorSchemaReader.java     | 20 ++++++++++---------
 .../services/utils/ColorSchemaReaderTest.java | 12 +++++++++--
 2 files changed, 21 insertions(+), 11 deletions(-)

diff --git a/service/src/main/java/lcsb/mapviewer/services/utils/ColorSchemaReader.java b/service/src/main/java/lcsb/mapviewer/services/utils/ColorSchemaReader.java
index 7eb4e7430f..2f5ba0faa2 100644
--- a/service/src/main/java/lcsb/mapviewer/services/utils/ColorSchemaReader.java
+++ b/service/src/main/java/lcsb/mapviewer/services/utils/ColorSchemaReader.java
@@ -819,17 +819,19 @@ public class ColorSchemaReader {
         line = br.readLine();
       }
       String[] columns = line.split("\t");
+      if (columns.length > 1) {
 
-      Map<ColorSchemaColumn, Integer> schemaColumns = new HashMap<>();
-      parseColumns(columns, schemaColumns, ColorSchemaType.GENERIC);
-      for (ColorSchemaColumn column : schemaColumns.keySet()) {
-        try {
-          Field f = ColorSchemaColumn.class.getField(column.name());
-          if (column.getDepractedColumnName() != null || f.isAnnotationPresent(Deprecated.class)) {
-            result.add(column);
+        Map<ColorSchemaColumn, Integer> schemaColumns = new HashMap<>();
+        parseColumns(columns, schemaColumns, ColorSchemaType.GENERIC);
+        for (ColorSchemaColumn column : schemaColumns.keySet()) {
+          try {
+            Field f = ColorSchemaColumn.class.getField(column.name());
+            if (column.getDepractedColumnName() != null || f.isAnnotationPresent(Deprecated.class)) {
+              result.add(column);
+            }
+          } catch (NoSuchFieldException | SecurityException e) {
+            throw new InvalidStateException(e);
           }
-        } catch (NoSuchFieldException | SecurityException e) {
-          throw new InvalidStateException(e);
         }
       }
     }
diff --git a/service/src/test/java/lcsb/mapviewer/services/utils/ColorSchemaReaderTest.java b/service/src/test/java/lcsb/mapviewer/services/utils/ColorSchemaReaderTest.java
index 4592e44bb3..f58cdd4923 100644
--- a/service/src/test/java/lcsb/mapviewer/services/utils/ColorSchemaReaderTest.java
+++ b/service/src/test/java/lcsb/mapviewer/services/utils/ColorSchemaReaderTest.java
@@ -2,11 +2,10 @@ package lcsb.mapviewer.services.utils;
 
 import static org.junit.Assert.*;
 
-import java.awt.*;
+import java.awt.Color;
 import java.io.*;
 import java.nio.charset.StandardCharsets;
 import java.util.*;
-import java.util.List;
 
 import org.apache.commons.io.output.ByteArrayOutputStream;
 import org.apache.logging.log4j.LogManager;
@@ -16,6 +15,7 @@ import org.junit.*;
 import lcsb.mapviewer.commands.ColorExtractor;
 import lcsb.mapviewer.commands.ColorModelCommand;
 import lcsb.mapviewer.common.TextFileUtils;
+import lcsb.mapviewer.model.cache.UploadedFileEntry;
 import lcsb.mapviewer.model.map.MiriamData;
 import lcsb.mapviewer.model.map.layout.*;
 import lcsb.mapviewer.model.map.model.Model;
@@ -326,4 +326,12 @@ public class ColorSchemaReaderTest extends ServiceTestFunctions {
     assertNotNull(schemas.iterator().next().getModelName());
   }
 
+  @Test
+  public void testGetDeprecatedColumns() throws Exception {
+    Layout overlay = new Layout();
+    UploadedFileEntry file = new UploadedFileEntry();
+    file.setFileContent("blabla\nbasd\n".getBytes("UTF-8"));
+    overlay.setInputData(file);
+    assertEquals(0, reader.getDeprecatedColumns(overlay).size());
+  }
 }
-- 
GitLab