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.Category;
import org.jboss.seam.rest.examples.client.tasks.Task;
import org.jboss.seam.rest.examples.client.tasks.spi.ReportResultEvent;
/**
* This analyzer generates simple statistics such as number of categories, tasks, etc.
*
* @author <a href="http://community.jboss.org/people/jharting">Jozef Hartinger</a>
*/
@Singleton
public class SimpleAnalyzer {
private int resolvedTasks = 0;
private int unresolvedTasks = 0;
private int categories = 0;
public void processTask(@Observes Task task) {
if (task.isResolved()) {
resolvedTasks++;
} else {
unresolvedTasks++;
}
}
public void processCategory(@Observes Category category) {
categories++;
}
public void processResult(@Observes ReportResultEvent result) {
result.addResult("Number of resolved tasks", String.valueOf(resolvedTasks));
result.addResult("Number of unresolved tasks", String.valueOf(unresolvedTasks));
result.addResult("Number of categories", String.valueOf(categories));
result.addResult("Tasks per category", String.valueOf(((double) unresolvedTasks) / categories));
clear();
}
private void clear()
{
resolvedTasks = 0;
unresolvedTasks = 0;
categories = 0;
}
}