String extension = rowValues[3];
if (!super.getValidValues().contains(extension))
return;
String event = rowValues[4];
AgentMetric agentMetric = (AgentMetric) map.get(extension);
if (agentMetric == null) {
agentMetric = new AgentMetric();
agentMetric.setExtension(extension);
map.put(extension, agentMetric);
}
if (event.equals("ADDMEMBER")) {
agentMetric.startQueueTime(logRecordTime);
} else if (event.equals("REMOVEMEMBER")) {
try {
agentMetric.stopQueueTime(logRecordTime);
} catch (NoQueueStartEventException e) {
logger.warn("QUEUE_NO_START_EVENT extension " + extension);
warnings.add(new AgentWarning(extension, EventWarning.QUEUE_NO_START_EVENT));
}
} else if (event.equals("PAUSE")) {
agentMetric.startPauseTime(logRecordTime);
} else if (event.equals("UNPAUSE")) {
try {
agentMetric.stopPauseTime(logRecordTime);
} catch (NoPauseStartEventException e) {
logger.warn("PAUSE_NO_START_EVENT extension " + extension);
warnings.add(new AgentWarning(extension, EventWarning.PAUSE_NO_START_EVENT));
}
} else if (event.equals("COMPLETECALLER") || event.equals("COMPLETEAGENT")) {
String talkTime = rowValues[6];
agentMetric.addToTalkTime(Integer.parseInt(talkTime));
String waitTime = rowValues[5];
agentMetric.addToWaitTime(Integer.parseInt(waitTime));
} else if (event.equals("CONNECT")) {
agentMetric.addToCallCount();
}
} catch (Exception e) {
logger.error("Row ignored by exception ", e);
}
}