From 9b8dfe6ba504239a586ed1b11f328a5743c7ebf7 Mon Sep 17 00:00:00 2001 From: Piotr Gawron <piotr.gawron@uni.lu> Date: Mon, 31 Jul 2017 15:56:10 +0200 Subject: [PATCH] when matching other target there was problem when no gene was defiend --- .../services/search/ElementMatcher.java | 13 +- .../services/search/AllSearchTests.java | 3 +- ...ctoryTest.java => ElementMatcherTest.java} | 128 ++++++++++-------- 3 files changed, 81 insertions(+), 63 deletions(-) rename service/src/test/java/lcsb/mapviewer/services/search/{SearchResultFactoryTest.java => ElementMatcherTest.java} (66%) diff --git a/service/src/main/java/lcsb/mapviewer/services/search/ElementMatcher.java b/service/src/main/java/lcsb/mapviewer/services/search/ElementMatcher.java index c947104992..1e01f40e07 100644 --- a/service/src/main/java/lcsb/mapviewer/services/search/ElementMatcher.java +++ b/service/src/main/java/lcsb/mapviewer/services/search/ElementMatcher.java @@ -103,8 +103,17 @@ public class ElementMatcher { return false; case OTHER: // in other case just compare names - String name = target.getGenes().get(0).getResource(); - return element.getName().equalsIgnoreCase(name); + String targetName = null; + if (target.getGenes().size() > 0) { + targetName = target.getGenes().get(0).getResource(); + } + if (targetName == null) { + targetName = target.getName(); + } + if (targetName == null) { + return false; + } + return element.getName().equalsIgnoreCase(targetName); default: throw new InvalidArgumentException("Unknown drug target type: " + target.getType()); } diff --git a/service/src/test/java/lcsb/mapviewer/services/search/AllSearchTests.java b/service/src/test/java/lcsb/mapviewer/services/search/AllSearchTests.java index 0073cd477c..512a3b462c 100644 --- a/service/src/test/java/lcsb/mapviewer/services/search/AllSearchTests.java +++ b/service/src/test/java/lcsb/mapviewer/services/search/AllSearchTests.java @@ -13,7 +13,8 @@ import lcsb.mapviewer.services.search.layout.AllSearchLayoutTests; @SuiteClasses({ AllCommentTests.class, // AllSearchDbTests.class, // AllSearchDataTests.class, // - AllSearchLayoutTests.class,// + AllSearchLayoutTests.class, // + ElementMatcherTest.class, // }) public class AllSearchTests { diff --git a/service/src/test/java/lcsb/mapviewer/services/search/SearchResultFactoryTest.java b/service/src/test/java/lcsb/mapviewer/services/search/ElementMatcherTest.java similarity index 66% rename from service/src/test/java/lcsb/mapviewer/services/search/SearchResultFactoryTest.java rename to service/src/test/java/lcsb/mapviewer/services/search/ElementMatcherTest.java index 7a310be346..c34aa859e2 100644 --- a/service/src/test/java/lcsb/mapviewer/services/search/SearchResultFactoryTest.java +++ b/service/src/test/java/lcsb/mapviewer/services/search/ElementMatcherTest.java @@ -1,60 +1,68 @@ -package lcsb.mapviewer.services.search; - -import static org.junit.Assert.assertTrue; - -import org.apache.log4j.Logger; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; -import org.springframework.beans.factory.annotation.Autowired; - -import lcsb.mapviewer.annotation.data.Chemical; -import lcsb.mapviewer.annotation.data.Target; -import lcsb.mapviewer.model.map.MiriamData; -import lcsb.mapviewer.model.map.MiriamType; -import lcsb.mapviewer.model.map.species.Element; -import lcsb.mapviewer.model.map.species.Rna; -import lcsb.mapviewer.services.ServiceTestFunctions; -import lcsb.mapviewer.services.search.comment.FullCommentViewFactory; -import lcsb.mapviewer.services.search.db.DbSearchCriteria; -import lcsb.mapviewer.services.search.db.chemical.IChemicalService; - -public class SearchResultFactoryTest extends ServiceTestFunctions { - - Logger logger = Logger.getLogger(SearchResultFactoryTest.class); - - @Autowired - FullCommentViewFactory factory; - - @Autowired - IChemicalService chemicalService; - - @Before - public void setUp() throws Exception { - } - - @After - public void tearDown() throws Exception { - } - - @Test - public void testElementMatch() { - String geneName = "GDNF"; - Chemical view = chemicalService.getByName("Amphetamine", new DbSearchCriteria().disease(new MiriamData(MiriamType.MESH_2012, "D010300"))); - Target target = null; - for (Target t : view.getInferenceNetwork()) { - for (MiriamData row : t.getGenes()) { - if (row.getResource().equals(geneName)) { - target = t; - } - } - } - - Element element = new Rna("id"); - element.setName(geneName); - - assertTrue(factory.elementMatch(target, element)); - - } - -} +package lcsb.mapviewer.services.search; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.Test; +import org.springframework.beans.factory.annotation.Autowired; + +import lcsb.mapviewer.annotation.data.Chemical; +import lcsb.mapviewer.annotation.data.Target; +import lcsb.mapviewer.annotation.data.TargetType; +import lcsb.mapviewer.model.map.MiriamData; +import lcsb.mapviewer.model.map.MiriamType; +import lcsb.mapviewer.model.map.species.Element; +import lcsb.mapviewer.model.map.species.GenericProtein; +import lcsb.mapviewer.model.map.species.Rna; +import lcsb.mapviewer.services.ServiceTestFunctions; +import lcsb.mapviewer.services.search.db.DbSearchCriteria; + +public class ElementMatcherTest extends ServiceTestFunctions { + + @Autowired + ElementMatcher elementMatcher; + + @AfterClass + public static void tearDownAfterClass() throws Exception { + } + + @Before + public void setUp() throws Exception { + } + + @After + public void tearDown() throws Exception { + } + + @Test + public void testMatchOther() { + Target target = new Target(); + + target.setType(TargetType.OTHER); + assertFalse(elementMatcher.elementMatch(target, new GenericProtein("s1"))); + } + + @Test + public void testElementMatch() { + String geneName = "GDNF"; + Chemical view = chemicalService.getByName("Amphetamine", new DbSearchCriteria().disease(new MiriamData(MiriamType.MESH_2012, "D010300"))); + Target target = null; + for (Target t : view.getInferenceNetwork()) { + for (MiriamData row : t.getGenes()) { + if (row.getResource().equals(geneName)) { + target = t; + } + } + } + + Element element = new Rna("id"); + element.setName(geneName); + + assertTrue(elementMatcher.elementMatch(target, element)); + + } + +} -- GitLab