package org.jboss.seam.rest.examples.client.tasks.analyzer;
import javax.enterprise.event.Observes;
import javax.inject.Singleton;
import org.jboss.seam.rest.examples.client.tasks.Task;
import org.jboss.seam.rest.examples.client.tasks.spi.ReportResultEvent;
/**
* This analyzer identifies the oldest unresolved task.
*
* @author <a href="http://community.jboss.org/people/jharting">Jozef Hartinger</a>
*/
@Singleton
public class HistoryAnalyzer {
private Task oldestUnresolvedTask;
public void processTask(@Observes Task task) {
if (!task.isResolved() && (oldestUnresolvedTask == null || task.getUpdated().before(oldestUnresolvedTask.getUpdated()))) {
oldestUnresolvedTask = task;
}
}
public void reportResult(@Observes ReportResultEvent result) {
if (oldestUnresolvedTask == null)
{
result.addResult("The oldest unresolved task:", "there are not tasks");
}
else
{
result.addResult("The oldest unresolved task:", oldestUnresolvedTask.getName());
}
oldestUnresolvedTask = null;
}
}