diff src/de/mpiwg/anteater/results/impl/ApplicantResultFinder.java @ 0:036535fcd179

anteater
author jdamerow
date Fri, 14 Sep 2012 10:30:43 +0200
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/de/mpiwg/anteater/results/impl/ApplicantResultFinder.java	Fri Sep 14 10:30:43 2012 +0200
@@ -0,0 +1,37 @@
+package de.mpiwg.anteater.results.impl;
+
+import java.util.List;
+
+import de.mpiwg.anteater.AnteaterConfiguration;
+import de.mpiwg.anteater.ml.MLController;
+import de.mpiwg.anteater.persons.regex.ApplicantRegexFinder;
+import de.mpiwg.anteater.results.ApplicantResult;
+import de.mpiwg.anteater.results.IResultFinder;
+import de.mpiwg.anteater.text.TextInformation;
+
+public class ApplicantResultFinder implements IResultFinder<ApplicantResult> {
+	
+	private AnteaterConfiguration configuration;
+	
+	public ApplicantResultFinder(AnteaterConfiguration configuration) {
+		this.configuration = configuration;
+	}
+
+	public List<ApplicantResult> getResults(List<TextInformation> infos) {
+		MLController mlController = new MLController(configuration);
+		ApplicantRegexFinder regexFinder = new ApplicantRegexFinder(configuration);
+		
+		List<ApplicantResult> mlApplicants = mlController.runApplicantMLComponent(infos);
+		List<ApplicantResult> regexApplicants = regexFinder.findApplicants(infos);
+		
+		MLApplicantLoop: for (ApplicantResult mlResult : mlApplicants) {
+			for (ApplicantResult regexResult : regexApplicants) {
+				if (regexResult.getFinding() == mlResult.getFinding())
+					continue MLApplicantLoop;
+			}
+			regexApplicants.add(mlResult);
+		}
+		
+		return regexApplicants;
+	}
+}