From fa1e013ffd2fdcce685c56f5726bb49dd9a64906 Mon Sep 17 00:00:00 2001 From: Piotr Gawron <piotr.gawron@uni.lu> Date: Mon, 24 Jul 2017 11:46:32 +0200 Subject: [PATCH] switch statement fixed after refactoring --- .../services/search/ElementMatcher.java | 128 +++++++++--------- 1 file changed, 63 insertions(+), 65 deletions(-) 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 e42dd90ee7..44ba848aa0 100644 --- a/service/src/main/java/lcsb/mapviewer/services/search/ElementMatcher.java +++ b/service/src/main/java/lcsb/mapviewer/services/search/ElementMatcher.java @@ -24,20 +24,19 @@ import lcsb.mapviewer.services.search.db.TargetView; import lcsb.mapviewer.services.view.AnnotationViewFactory; public class ElementMatcher { - + /** * Default class logger. */ - private final Logger logger = Logger.getLogger(ElementMatcher.class); + private final Logger logger = Logger.getLogger(ElementMatcher.class); /** * Factory object used for creation of * {@link lcsb.mapviewer.services.view.AnnotationView} elements. */ @Autowired - private AnnotationViewFactory annotationViewFactory; - - + private AnnotationViewFactory annotationViewFactory; + /** * Check if the target should be applied to the element. * @@ -125,82 +124,81 @@ public class ElementMatcher { } public boolean elementMatch(Target target, BioEntity element) { - if (target.getType().equals(TargetType.COMPLEX_PROTEIN.getCommonName())) { - MiriamData targetAnnotation = target.getSource(); - if (MiriamType.CHEMBL_TARGET.equals(targetAnnotation.getDataType())) { - if (element.getMiriamData().contains(targetAnnotation)) { - return true; + MiriamData targetAnnotation = target.getSource(); + switch (target.getType()) { + case COMPLEX_PROTEIN: + if (MiriamType.CHEMBL_TARGET.equals(targetAnnotation.getDataType())) { + if (element.getMiriamData().contains(targetAnnotation)) { + return true; + } } - } - Collection<String> ids = new HashSet<String>(); - for (MiriamData row : target.getGenes()) { - ids.add(row.getResource()); - } - - if (element instanceof Complex) { - Complex complex = (Complex) element; - Set<Species> speciesSet = complex.getAllSimpleChildren(); - if (speciesSet.size() != ids.size()) { - return false; + Collection<String> ids = new HashSet<String>(); + for (MiriamData row : target.getGenes()) { + ids.add(row.getResource()); } - for (Element id : speciesSet) { - if (!ids.contains(id.getName())) { + if (element instanceof Complex) { + Complex complex = (Complex) element; + Set<Species> speciesSet = complex.getAllSimpleChildren(); + if (speciesSet.size() != ids.size()) { return false; } - } - return true; - } - return false; - } else if (target.getType().equals(TargetType.SINGLE_PROTEIN.getCommonName())) { - MiriamData targetAnnotation = null; - if (target.getSource() != null) { - targetAnnotation = target.getSource(); - } else if (target.getGenes().size() > 0) { - targetAnnotation = target.getGenes().get(0); - } else { - logger.warn("Invalid target found: " + target); - } - if (targetAnnotation != null && element.getMiriamData().contains(targetAnnotation)) { - return true; - } - if (element instanceof Protein || element instanceof Rna || element instanceof Gene) { - if (target.getGenes().size() > 0) { - String hgncId = target.getGenes().get(0).getResource(); - if (element.getName().equalsIgnoreCase(hgncId)) { - return true; + + for (Element id : speciesSet) { + if (!ids.contains(id.getName())) { + return false; + } } - } - } - return false; - } else if (target.getType().equals(TargetType.PROTEIN_FAMILY.getCommonName())) { - if (element instanceof Protein || element instanceof Rna || element instanceof Gene) { - String hgncId = target.getGenes().get(0).getResource(); - if (element.getName().equalsIgnoreCase(hgncId)) { return true; - } else if (element.getMiriamData().contains(new MiriamData(MiriamType.HGNC_SYMBOL, hgncId))) { + } + return false; + case SINGLE_PROTEIN: + if (target.getSource() != null) { + targetAnnotation = target.getSource(); + } else if (target.getGenes().size() > 0) { + targetAnnotation = target.getGenes().get(0); + } else { + logger.warn("Invalid target found: " + target); + } + if (targetAnnotation != null && element.getMiriamData().contains(targetAnnotation)) { return true; } - for (MiriamData protein : target.getGenes()) { - hgncId = protein.getResource(); + if (element instanceof Protein || element instanceof Rna || element instanceof Gene) { + if (target.getGenes().size() > 0) { + String hgncId = target.getGenes().get(0).getResource(); + if (element.getName().equalsIgnoreCase(hgncId)) { + return true; + } + } + } + return false; + case PROTEIN_FAMILY: + if (element instanceof Protein || element instanceof Rna || element instanceof Gene) { + String hgncId = target.getGenes().get(0).getResource(); if (element.getName().equalsIgnoreCase(hgncId)) { return true; } else if (element.getMiriamData().contains(new MiriamData(MiriamType.HGNC_SYMBOL, hgncId))) { return true; } + for (MiriamData protein : target.getGenes()) { + hgncId = protein.getResource(); + if (element.getName().equalsIgnoreCase(hgncId)) { + return true; + } else if (element.getMiriamData().contains(new MiriamData(MiriamType.HGNC_SYMBOL, hgncId))) { + return true; + } + } } - } - return false; - } else if (target.getType().equals(TargetType.OTHER.getCommonName())) { - // in other case just compare names - String name = target.getGenes().get(0).getResource(); - return element.getName().equalsIgnoreCase(name); - } else { - throw new InvalidArgumentException("Unknown drug target type: " + target.getType()); + return false; + case OTHER: + // in other case just compare names + String name = target.getGenes().get(0).getResource(); + return element.getName().equalsIgnoreCase(name); + default: + throw new InvalidArgumentException("Unknown drug target type: " + target.getType()); } } - /** * @return the annotationViewFactory * @see #annotationViewFactory @@ -209,9 +207,9 @@ public class ElementMatcher { return annotationViewFactory; } - /** - * @param annotationViewFactory the annotationViewFactory to set + * @param annotationViewFactory + * the annotationViewFactory to set * @see #annotationViewFactory */ public void setAnnotationViewFactory(AnnotationViewFactory annotationViewFactory) { -- GitLab