view src/de/mpiwg/anteater/events/EventController.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.events;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

import de.mpiwg.anteater.AnteaterConfiguration;
import de.mpiwg.anteater.events.processors.EventCreatorProcessor;
import de.mpiwg.anteater.events.processors.IEventProcessor;
import de.mpiwg.anteater.events.processors.PermitOrApplicantEventProcessor;
import de.mpiwg.anteater.results.ResultsCarrier;
import de.mpiwg.anteater.xml.impl.EventXMLManager;

public class EventController {
	
	private List<IEventProcessor> processors;
	private AnteaterConfiguration configuration;
	
	public EventController(AnteaterConfiguration configuration) {
		processors = new ArrayList<IEventProcessor>();
		processors.add(new EventCreatorProcessor());
		processors.add(new PermitOrApplicantEventProcessor());
		this.configuration = configuration;
	}

	public void createEvents(List<ResultsCarrier> results) {
		
		for (ResultsCarrier carrier : results) {
			List<ResearchEvent> events = new ArrayList<ResearchEvent>();
			
			for (IEventProcessor processor : processors) {
				processor.processEvents(events, carrier);
			}
			
			File textfile = new File(carrier.getTextInfo().getFilepath());
			String resultFile = configuration.getEventFolderPath()  + File.separator + textfile.getName();
			EventXMLManager eventManager = new EventXMLManager(resultFile);
			
			for (ResearchEvent event : events) {
				eventManager.addEvent(event);
			}
		}
	}
}