view src/de/mpiwg/anteater/results/impl/ApplicantResultManager.java @ 0:036535fcd179

anteater
author jdamerow
date Fri, 14 Sep 2012 10:30:43 +0200
parents
children
line wrap: on
line source

package de.mpiwg.anteater.results.impl;

import java.util.ArrayList;
import java.util.List;

import de.mpiwg.anteater.AnteaterConfiguration;
import de.mpiwg.anteater.results.AResultManager;
import de.mpiwg.anteater.results.AnnotationTag;
import de.mpiwg.anteater.results.ApplicantResult;
import de.mpiwg.anteater.text.TextType;

public class ApplicantResultManager extends AResultManager<ApplicantResult> {
	
	public final static String APPLICANT_TAG = "<applicant>";
	public final static String APPLICANT_TAG_CLOSE = "</applicant>";
	public final static String TAG_TYPE = "applicant";
	

	public ApplicantResultManager(AnteaterConfiguration configuration) {
		super(configuration);
	}

	@Override
	protected List<AnnotationTag> getSpecificSummaryTags(
			List<ApplicantResult> applicants, int textIndex) {
		List<AnnotationTag> tags = new ArrayList<AnnotationTag>();

		// get applicants for text
		List<ApplicantResult> appsOfSum = new ArrayList<ApplicantResult>();
		for (ApplicantResult r : applicants) {
			if (r.getResult().getType() == TextType.TYPE_SUMMARY
					&& r.getResult().getTextIdx() == textIndex)
				appsOfSum.add(r);
		}


		for (ApplicantResult app : appsOfSum) {
			tags.add(new AnnotationTag(APPLICANT_TAG, app.getFinding().getStart(), APPLICANT_TAG_CLOSE, app.getFinding().getStart()
					+ app.getFinding().getLength(), TAG_TYPE));
		}

		return tags;
	}

	@Override
	protected List<AnnotationTag> getSpecificSuppleInfTags(List<ApplicantResult> applicants, int textIndex) {

			// get applicants for text
			List<ApplicantResult> appsOfSInf = new ArrayList<ApplicantResult>();
			for (ApplicantResult r : applicants) {
				if (r.getResult().getType() == TextType.TYPE_SUPLINF
						&& r.getResult().getTextIdx() == textIndex)
					appsOfSInf.add(r);
			}

			List<AnnotationTag> tags = new ArrayList<AnnotationTag>();
			for (ApplicantResult app : appsOfSInf) {
				tags.add(new AnnotationTag(APPLICANT_TAG, app.getFinding().getStart(), APPLICANT_TAG_CLOSE, app.getFinding().getStart()
						+ app.getFinding().getLength(), TAG_TYPE));
			}
		

		return tags;
	}

}