annotate src/de/mpiwg/anteater/species/common/CommonNameFindController.java @ 3:ae96e4bc7fb2

save found species to analysis files
author jdamerow
date Mon, 22 Oct 2012 14:21:14 -0700
parents 1c2b4f5e2c05
children dcc35f89dce3
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2
1c2b4f5e2c05 linnaeus for finding species
jdamerow
parents:
diff changeset
1 package de.mpiwg.anteater.species.common;
1c2b4f5e2c05 linnaeus for finding species
jdamerow
parents:
diff changeset
2
1c2b4f5e2c05 linnaeus for finding species
jdamerow
parents:
diff changeset
3 import java.io.File;
1c2b4f5e2c05 linnaeus for finding species
jdamerow
parents:
diff changeset
4 import java.util.ArrayList;
1c2b4f5e2c05 linnaeus for finding species
jdamerow
parents:
diff changeset
5 import java.util.List;
1c2b4f5e2c05 linnaeus for finding species
jdamerow
parents:
diff changeset
6
1c2b4f5e2c05 linnaeus for finding species
jdamerow
parents:
diff changeset
7 import de.mpiwg.anteater.AnteaterConfiguration;
3
ae96e4bc7fb2 save found species to analysis files
jdamerow
parents: 2
diff changeset
8 import de.mpiwg.anteater.species.common.impl.LinnaeusNameFinder;
ae96e4bc7fb2 save found species to analysis files
jdamerow
parents: 2
diff changeset
9 import de.mpiwg.anteater.species.scientific.IScientificNamesFinder;
2
1c2b4f5e2c05 linnaeus for finding species
jdamerow
parents:
diff changeset
10 import de.mpiwg.anteater.species.scientific.ScientificNamesExtraction;
3
ae96e4bc7fb2 save found species to analysis files
jdamerow
parents: 2
diff changeset
11 import de.mpiwg.anteater.species.scientific.impl.GNRDNameFinder;
2
1c2b4f5e2c05 linnaeus for finding species
jdamerow
parents:
diff changeset
12 import de.mpiwg.anteater.text.TextInformation;
3
ae96e4bc7fb2 save found species to analysis files
jdamerow
parents: 2
diff changeset
13 import de.mpiwg.anteater.text.TextPart;
2
1c2b4f5e2c05 linnaeus for finding species
jdamerow
parents:
diff changeset
14 import de.mpiwg.anteater.xml.impl.AnalysisXMLManager;
1c2b4f5e2c05 linnaeus for finding species
jdamerow
parents:
diff changeset
15
1c2b4f5e2c05 linnaeus for finding species
jdamerow
parents:
diff changeset
16 public class CommonNameFindController {
1c2b4f5e2c05 linnaeus for finding species
jdamerow
parents:
diff changeset
17
1c2b4f5e2c05 linnaeus for finding species
jdamerow
parents:
diff changeset
18 public final static String COMPONENT_NAME = CommonNameFindController.class.getSimpleName();
1c2b4f5e2c05 linnaeus for finding species
jdamerow
parents:
diff changeset
19
1c2b4f5e2c05 linnaeus for finding species
jdamerow
parents:
diff changeset
20 private AnteaterConfiguration configuration;
1c2b4f5e2c05 linnaeus for finding species
jdamerow
parents:
diff changeset
21
1c2b4f5e2c05 linnaeus for finding species
jdamerow
parents:
diff changeset
22 public CommonNameFindController(AnteaterConfiguration configuration) {
1c2b4f5e2c05 linnaeus for finding species
jdamerow
parents:
diff changeset
23 this.configuration = configuration;
1c2b4f5e2c05 linnaeus for finding species
jdamerow
parents:
diff changeset
24 }
1c2b4f5e2c05 linnaeus for finding species
jdamerow
parents:
diff changeset
25
3
ae96e4bc7fb2 save found species to analysis files
jdamerow
parents: 2
diff changeset
26 public List<CommonNamesExtraction> findCommonNamesInXML(TextInformation info) {
2
1c2b4f5e2c05 linnaeus for finding species
jdamerow
parents:
diff changeset
27 List<CommonNamesExtraction> results = new ArrayList<CommonNamesExtraction>();
1c2b4f5e2c05 linnaeus for finding species
jdamerow
parents:
diff changeset
28 List<String> summaryAnalysisResults = new ArrayList<String>();
1c2b4f5e2c05 linnaeus for finding species
jdamerow
parents:
diff changeset
29 List<String> supplinfAnalysisResults = new ArrayList<String>();
1c2b4f5e2c05 linnaeus for finding species
jdamerow
parents:
diff changeset
30
1c2b4f5e2c05 linnaeus for finding species
jdamerow
parents:
diff changeset
31 // check if there are already stored results
1c2b4f5e2c05 linnaeus for finding species
jdamerow
parents:
diff changeset
32 AnalysisXMLManager analysisManager = null;
1c2b4f5e2c05 linnaeus for finding species
jdamerow
parents:
diff changeset
33 if (configuration.getAnalysisPath() != null && !configuration.getAnalysisPath().isEmpty()) {
1c2b4f5e2c05 linnaeus for finding species
jdamerow
parents:
diff changeset
34 File file = new File(info.getFilepath());
1c2b4f5e2c05 linnaeus for finding species
jdamerow
parents:
diff changeset
35
1c2b4f5e2c05 linnaeus for finding species
jdamerow
parents:
diff changeset
36 analysisManager = new AnalysisXMLManager(configuration.getAnalysisPath() + File.separator + file.getName());
1c2b4f5e2c05 linnaeus for finding species
jdamerow
parents:
diff changeset
37
1c2b4f5e2c05 linnaeus for finding species
jdamerow
parents:
diff changeset
38 configuration.getLogger().logMessageWithoutNewLine(COMPONENT_NAME, "Check analysis file for scientific names in summaries...");
1c2b4f5e2c05 linnaeus for finding species
jdamerow
parents:
diff changeset
39 summaryAnalysisResults = analysisManager.getSummaryCommonNamesResults();
1c2b4f5e2c05 linnaeus for finding species
jdamerow
parents:
diff changeset
40 configuration.getLogger().logMessage("found " + summaryAnalysisResults.size() + " result(s).");
1c2b4f5e2c05 linnaeus for finding species
jdamerow
parents:
diff changeset
41
1c2b4f5e2c05 linnaeus for finding species
jdamerow
parents:
diff changeset
42 configuration.getLogger().logMessageWithoutNewLine(COMPONENT_NAME, "Check analysis file for scientific names in supplementary information...");
1c2b4f5e2c05 linnaeus for finding species
jdamerow
parents:
diff changeset
43 supplinfAnalysisResults = analysisManager.getSupplementaryInfoCommonNamesResults();
1c2b4f5e2c05 linnaeus for finding species
jdamerow
parents:
diff changeset
44 configuration.getLogger().logMessage("found " + supplinfAnalysisResults.size() + " result(s).");
1c2b4f5e2c05 linnaeus for finding species
jdamerow
parents:
diff changeset
45 }
1c2b4f5e2c05 linnaeus for finding species
jdamerow
parents:
diff changeset
46
3
ae96e4bc7fb2 save found species to analysis files
jdamerow
parents: 2
diff changeset
47 ICommonNameFinder nameFinder = new LinnaeusNameFinder(configuration.getLogger());
ae96e4bc7fb2 save found species to analysis files
jdamerow
parents: 2
diff changeset
48
ae96e4bc7fb2 save found species to analysis files
jdamerow
parents: 2
diff changeset
49 // if there are no results for summaries, ask GNRD name finding service.
ae96e4bc7fb2 save found species to analysis files
jdamerow
parents: 2
diff changeset
50 if (summaryAnalysisResults.size() == 0) {
ae96e4bc7fb2 save found species to analysis files
jdamerow
parents: 2
diff changeset
51 configuration.getLogger().logMessage(COMPONENT_NAME, "No results found for summaries, so will ask LinnaeusNameFinder.");
ae96e4bc7fb2 save found species to analysis files
jdamerow
parents: 2
diff changeset
52
ae96e4bc7fb2 save found species to analysis files
jdamerow
parents: 2
diff changeset
53 for (TextPart sum : info.getSummaries()) {
ae96e4bc7fb2 save found species to analysis files
jdamerow
parents: 2
diff changeset
54 String sumResult = nameFinder.findCommonNames(sum.getText());
ae96e4bc7fb2 save found species to analysis files
jdamerow
parents: 2
diff changeset
55 if (sumResult != null) {
ae96e4bc7fb2 save found species to analysis files
jdamerow
parents: 2
diff changeset
56 summaryAnalysisResults.add(sumResult);
ae96e4bc7fb2 save found species to analysis files
jdamerow
parents: 2
diff changeset
57
ae96e4bc7fb2 save found species to analysis files
jdamerow
parents: 2
diff changeset
58 // if there is an analysis folder, add result to analysis file
ae96e4bc7fb2 save found species to analysis files
jdamerow
parents: 2
diff changeset
59 if (analysisManager != null)
ae96e4bc7fb2 save found species to analysis files
jdamerow
parents: 2
diff changeset
60 analysisManager.addSummaryCommonNamesResult(sumResult);
ae96e4bc7fb2 save found species to analysis files
jdamerow
parents: 2
diff changeset
61 }
ae96e4bc7fb2 save found species to analysis files
jdamerow
parents: 2
diff changeset
62 }
ae96e4bc7fb2 save found species to analysis files
jdamerow
parents: 2
diff changeset
63 }
ae96e4bc7fb2 save found species to analysis files
jdamerow
parents: 2
diff changeset
64
ae96e4bc7fb2 save found species to analysis files
jdamerow
parents: 2
diff changeset
65 // if there are no results for supplementary information, ask GNRD name fining service
ae96e4bc7fb2 save found species to analysis files
jdamerow
parents: 2
diff changeset
66 if (supplinfAnalysisResults.size() == 0) {
ae96e4bc7fb2 save found species to analysis files
jdamerow
parents: 2
diff changeset
67 configuration.getLogger().logMessage(COMPONENT_NAME, "No results found for supplementary information, so will ask LinnaeusNameFinder.");
ae96e4bc7fb2 save found species to analysis files
jdamerow
parents: 2
diff changeset
68
ae96e4bc7fb2 save found species to analysis files
jdamerow
parents: 2
diff changeset
69 for (TextPart sInf : info.getSupplInfos()) {
ae96e4bc7fb2 save found species to analysis files
jdamerow
parents: 2
diff changeset
70 String supinfResult = nameFinder.findCommonNames(sInf.getText());
ae96e4bc7fb2 save found species to analysis files
jdamerow
parents: 2
diff changeset
71 if (supinfResult != null) {
ae96e4bc7fb2 save found species to analysis files
jdamerow
parents: 2
diff changeset
72 supplinfAnalysisResults.add(supinfResult);
ae96e4bc7fb2 save found species to analysis files
jdamerow
parents: 2
diff changeset
73
ae96e4bc7fb2 save found species to analysis files
jdamerow
parents: 2
diff changeset
74 // if there is an analysis folder, add result to analysis file
ae96e4bc7fb2 save found species to analysis files
jdamerow
parents: 2
diff changeset
75 if (analysisManager != null)
ae96e4bc7fb2 save found species to analysis files
jdamerow
parents: 2
diff changeset
76 analysisManager.addSupplInfCommonNamesResult(supinfResult);
ae96e4bc7fb2 save found species to analysis files
jdamerow
parents: 2
diff changeset
77 }
ae96e4bc7fb2 save found species to analysis files
jdamerow
parents: 2
diff changeset
78 }
ae96e4bc7fb2 save found species to analysis files
jdamerow
parents: 2
diff changeset
79 }
ae96e4bc7fb2 save found species to analysis files
jdamerow
parents: 2
diff changeset
80
2
1c2b4f5e2c05 linnaeus for finding species
jdamerow
parents:
diff changeset
81 return null;
1c2b4f5e2c05 linnaeus for finding species
jdamerow
parents:
diff changeset
82 }
1c2b4f5e2c05 linnaeus for finding species
jdamerow
parents:
diff changeset
83
1c2b4f5e2c05 linnaeus for finding species
jdamerow
parents:
diff changeset
84 }