From af66cb76fff27c25c793a5c0fd1542085deb5e54 Mon Sep 17 00:00:00 2001
From: David Hoksza <david.hoksza@uni.lu>
Date: Fri, 25 Aug 2017 11:19:28 +0200
Subject: [PATCH] chain_id in structure_table changed to VARCHAR(255) + minor
 related changes in the code.

---
 .../mapviewer/annotation/services/ModelAnnotator.java  |  2 +-
 .../annotation/services/annotators/PdbAnnotator.java   |  2 +-
 persist/src/db/11.0.1/fix_db_20170720.sql              |  2 +-
 persist/src/db/11.0.1/fix_db_20171307.sql              |  2 --
 .../bioEntities/elements/ElementRestImplTest.java      | 10 +++++++---
 5 files changed, 10 insertions(+), 8 deletions(-)
 delete mode 100644 persist/src/db/11.0.1/fix_db_20171307.sql

diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/services/ModelAnnotator.java b/annotation/src/main/java/lcsb/mapviewer/annotation/services/ModelAnnotator.java
index b82f08768c..a446e1a9bc 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/services/ModelAnnotator.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/services/ModelAnnotator.java
@@ -289,7 +289,7 @@ public class ModelAnnotator {
 				try {
 					elementAnnotator.annotateElement(element);
 				} catch (AnnotatorException e) {
-					logger.warn(elementUtils.getElementTag(element) + " " + elementAnnotator.getCommonName() + " annotation problem");
+					logger.warn(elementUtils.getElementTag(element) + " " + elementAnnotator.getCommonName() + " annotation problem: " + e.getMessage());
 				}
 			}
 			counter++;
diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/PdbAnnotator.java b/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/PdbAnnotator.java
index bdfd3764ec..4d69f2e648 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/PdbAnnotator.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/PdbAnnotator.java
@@ -157,7 +157,7 @@ public class PdbAnnotator extends ElementAnnotator implements IExternalService {
 						ur.setUniprotId(md.getResource());
 						ur.setSpecies((Species)bioEntity);
 						for (Structure s : structures) {
-							s.setUniprot(ur);
+							s.setUniprot(ur);							
 						}
 						ur.setStructures(structures);
 						((Species)bioEntity).getUniprots().add(ur);
diff --git a/persist/src/db/11.0.1/fix_db_20170720.sql b/persist/src/db/11.0.1/fix_db_20170720.sql
index 71cf63626c..396aaa49fa 100644
--- a/persist/src/db/11.0.1/fix_db_20170720.sql
+++ b/persist/src/db/11.0.1/fix_db_20170720.sql
@@ -44,7 +44,7 @@ CREATE TABLE structure_table
   iddb integer NOT NULL DEFAULT nextval('structure_table_iddb_seq'::regclass),
   uniprot_id integer NOT NULL,
   pdb_id character varying(255) NOT NULL, --should be character(4), but to be on the safe side...
-  chain_id character varying(1)NOT NULL,
+  chain_id character varying(255) NOT NULL, --should be char(1), but for example 5T0C has has chains AK and BK
   struct_start integer,
   struct_end integer,
   unp_start integer,
diff --git a/persist/src/db/11.0.1/fix_db_20171307.sql b/persist/src/db/11.0.1/fix_db_20171307.sql
deleted file mode 100644
index 94523a2c4d..0000000000
--- a/persist/src/db/11.0.1/fix_db_20171307.sql
+++ /dev/null
@@ -1,2 +0,0 @@
-DELETE FROM cache_type WHERE classname = 'lcsb.mapviewer.annotation.services.annotators.PdbAnnotator'
-INSERT INTO cache_type(validity, classname) VALUES (365, 'lcsb.mapviewer.annotation.services.annotators.PdbAnnotator')
\ No newline at end of file
diff --git a/rest-api/src/test/java/lcsb/mapviewer/api/projects/models/bioEntities/elements/ElementRestImplTest.java b/rest-api/src/test/java/lcsb/mapviewer/api/projects/models/bioEntities/elements/ElementRestImplTest.java
index b240a8c272..5e9ac8b9f8 100644
--- a/rest-api/src/test/java/lcsb/mapviewer/api/projects/models/bioEntities/elements/ElementRestImplTest.java
+++ b/rest-api/src/test/java/lcsb/mapviewer/api/projects/models/bioEntities/elements/ElementRestImplTest.java
@@ -60,7 +60,7 @@ public class ElementRestImplTest extends RestTestFunctions {
 	public void testGetElementsProcessAllColumns() throws Exception {
 		try {
 			ElementsRestImpl projectRest = createMockElementRest("testFiles/model/sample.xml", true);
-			List<Map<String, Object>> result = projectRest.getElements("sample", "", "", "*", token.getId(), "");
+			List<Map<String, Object>> result = projectRest.getElements("sample", "", "", "*", token.getId(), "", "", "");
 			for (Map<String, Object> element : result) {
 				for (String paramName : element.keySet()) {
 					Object val = element.get(paramName);
@@ -85,7 +85,7 @@ public class ElementRestImplTest extends RestTestFunctions {
 		try {
 			String proteinType = new GenericProtein("1").getStringType();
 			ElementsRestImpl projectRest = createMockElementRest("testFiles/model/sample.xml", false);
-			List<Map<String, Object>> result = projectRest.getElements("sample", "", "", "*", token.getId(), proteinType);
+			List<Map<String, Object>> result = projectRest.getElements("sample", "", "", "*", token.getId(), proteinType, "", "");
 			assertEquals(12, result.size());
 
 		} catch (Exception e) {
@@ -98,7 +98,7 @@ public class ElementRestImplTest extends RestTestFunctions {
 	public void testGetElementsVisibility() throws Exception {
 		try {
 			ElementsRestImpl elementRest = createMockElementRest("testFiles/model/sample.xml");
-			List<Map<String, Object>> result = elementRest.getElements("sample", "", "", "*", token.getId(), "");
+			List<Map<String, Object>> result = elementRest.getElements("sample", "", "", "*", token.getId(), "", "", "");
 			for (Map<String, Object> map : result) {
 				assertTrue(map.get("hierarchyVisibilityLevel") instanceof String);
 			}
@@ -174,6 +174,10 @@ public class ElementRestImplTest extends RestTestFunctions {
 			throw e;
 		}
 	}
+	
+	private ElementsRestImpl createMockElementRest(String string) throws Exception {
+		return createMockElementRest(string, false);		
+	}
 
 	private ElementsRestImpl createMockElementRest(String string, Boolean annotate) throws Exception {		
 		Model model = super.getModelForFile(string, true);
-- 
GitLab