List<String> names = m_analyzerManager.getAnalyzerNames();
Map<String, MessageAnalyzer> analyzers = new LinkedHashMap<String, MessageAnalyzer>();
m_tasks = new ArrayList<PeriodTask>(names.size());
for (String name : names) {
MessageAnalyzer analyzer = m_analyzerManager.getAnalyzer(name, startTime);
MessageQueue queue = new DefaultMessageQueue(QUEUE_SIZE);
PeriodTask task = new PeriodTask(m_serverStateManager, analyzer, queue, startTime);
analyzers.put(name, analyzer);
task.enableLogging(m_logger);
m_tasks.add(task);
}
// hack for dependency
MessageAnalyzer top = analyzers.get(TopAnalyzer.ID);
MessageAnalyzer transaction = analyzers.get(TransactionAnalyzer.ID);
MessageAnalyzer problem = analyzers.get(ProblemAnalyzer.ID);
if (top != null) {
((TopAnalyzer) top).setTransactionAnalyzer((TransactionAnalyzer) transaction);
((TopAnalyzer) top).setProblemAnalyzer((ProblemAnalyzer) problem);
}