Mercurial > hg > anteater
diff src/de/mpiwg/anteater/species/common/CommonNameFindController.java @ 4:dcc35f89dce3
include linneaus findings
author | jdamerow |
---|---|
date | Thu, 25 Oct 2012 15:25:08 -0700 |
parents | ae96e4bc7fb2 |
children | 51ed79e28b45 |
line wrap: on
line diff
--- a/src/de/mpiwg/anteater/species/common/CommonNameFindController.java Mon Oct 22 14:21:14 2012 -0700 +++ b/src/de/mpiwg/anteater/species/common/CommonNameFindController.java Thu Oct 25 15:25:08 2012 -0700 @@ -6,12 +6,14 @@ import de.mpiwg.anteater.AnteaterConfiguration; import de.mpiwg.anteater.species.common.impl.LinnaeusNameFinder; -import de.mpiwg.anteater.species.scientific.IScientificNamesFinder; +import de.mpiwg.anteater.species.scientific.ScientificName; import de.mpiwg.anteater.species.scientific.ScientificNamesExtraction; -import de.mpiwg.anteater.species.scientific.impl.GNRDNameFinder; import de.mpiwg.anteater.text.TextInformation; import de.mpiwg.anteater.text.TextPart; +import de.mpiwg.anteater.text.TextType; +import de.mpiwg.anteater.xml.ICommonNameFinderParser; import de.mpiwg.anteater.xml.impl.AnalysisXMLManager; +import de.mpiwg.anteater.xml.impl.LinnaeusParser; public class CommonNameFindController { @@ -23,8 +25,8 @@ this.configuration = configuration; } - public List<CommonNamesExtraction> findCommonNamesInXML(TextInformation info) { - List<CommonNamesExtraction> results = new ArrayList<CommonNamesExtraction>(); + public List<ScientificNamesExtraction> findCommonNamesInXML(TextInformation info) { + List<ScientificNamesExtraction> results = new ArrayList<ScientificNamesExtraction>(); List<String> summaryAnalysisResults = new ArrayList<String>(); List<String> supplinfAnalysisResults = new ArrayList<String>(); @@ -35,11 +37,11 @@ analysisManager = new AnalysisXMLManager(configuration.getAnalysisPath() + File.separator + file.getName()); - configuration.getLogger().logMessageWithoutNewLine(COMPONENT_NAME, "Check analysis file for scientific names in summaries..."); + configuration.getLogger().logMessageWithoutNewLine(COMPONENT_NAME, "Check analysis file for species names in summaries..."); summaryAnalysisResults = analysisManager.getSummaryCommonNamesResults(); configuration.getLogger().logMessage("found " + summaryAnalysisResults.size() + " result(s)."); - configuration.getLogger().logMessageWithoutNewLine(COMPONENT_NAME, "Check analysis file for scientific names in supplementary information..."); + configuration.getLogger().logMessageWithoutNewLine(COMPONENT_NAME, "Check analysis file for species names in supplementary information..."); supplinfAnalysisResults = analysisManager.getSupplementaryInfoCommonNamesResults(); configuration.getLogger().logMessage("found " + supplinfAnalysisResults.size() + " result(s)."); } @@ -56,8 +58,10 @@ summaryAnalysisResults.add(sumResult); // if there is an analysis folder, add result to analysis file - if (analysisManager != null) + if (analysisManager != null) { + analysisManager.ensureCommonNamesStrucuture(); analysisManager.addSummaryCommonNamesResult(sumResult); + } } } } @@ -72,13 +76,46 @@ supplinfAnalysisResults.add(supinfResult); // if there is an analysis folder, add result to analysis file - if (analysisManager != null) + if (analysisManager != null) { + analysisManager.ensureCommonNamesStrucuture(); analysisManager.addSupplInfCommonNamesResult(supinfResult); + } } } } - return null; + configuration.getLogger().logMessage(COMPONENT_NAME, "Creating analysis results..."); + int idx = 0; + for (String summaryResult : summaryAnalysisResults) { + ICommonNameFinderParser nameParser = new LinnaeusParser(summaryResult); + + List<ScientificName> speciesNames = nameParser.parseSpeciesNames(); + ScientificNamesExtraction speciesNameResult = new ScientificNamesExtraction(); + speciesNameResult.setType(TextType.TYPE_SUMMARY); + speciesNameResult.setNames(speciesNames); + speciesNameResult.setTextIdx(idx); + speciesNameResult.setFoundBy(this.getClass()); + + results.add(speciesNameResult); + idx++; + } + + idx = 0; + for (String suplinfResult : supplinfAnalysisResults) { + ICommonNameFinderParser nameParser = new LinnaeusParser(suplinfResult); + + List<ScientificName> scientificNames = nameParser.parseSpeciesNames(); + ScientificNamesExtraction scientificNameResult = new ScientificNamesExtraction(); + scientificNameResult.setType(TextType.TYPE_SUPLINF); + scientificNameResult.setNames(scientificNames); + scientificNameResult.setTextIdx(idx); + scientificNameResult.setFoundBy(this.getClass()); + + results.add(scientificNameResult); + idx++; + } + + return results; } }