in src/main/java/org/apache/log4j/chainsaw/ChainsawCyclicBufferTableModel.java [530:615]
public Object getValueAt(int rowIndex, int columnIndex) {
ChainsawLoggingEvent event = null;
synchronized (mutex) {
if (rowIndex < filteredList.size() && rowIndex > -1) {
event = ((LoggingEventWrapper) filteredList.get(rowIndex)).getLoggingEvent();
}
}
if (event == null) {
return null;
}
LocationInfo info = event.m_locationInfo;
switch (columnIndex + 1) {
case ChainsawColumns.INDEX_ID_COL_NAME:
Object id = event.getProperty(Constants.LOG4J_ID_KEY);
if (id != null) {
return id;
}
return rowIndex;
case ChainsawColumns.INDEX_LEVEL_COL_NAME:
return event.m_level;
case ChainsawColumns.INDEX_LOG4J_MARKER_COL_NAME:
return event.getProperty(ChainsawConstants.LOG4J_MARKER_COL_NAME_LOWERCASE);
case ChainsawColumns.INDEX_MILLIS_DELTA_COL_NAME:
return event.getProperty(ChainsawConstants.MILLIS_DELTA_COL_NAME_LOWERCASE);
case ChainsawColumns.INDEX_LOGGER_COL_NAME:
return event.m_logger;
case ChainsawColumns.INDEX_TIMESTAMP_COL_NAME:
return event.m_timestamp;
case ChainsawColumns.INDEX_MESSAGE_COL_NAME:
return event.m_message;
case ChainsawColumns.INDEX_NDC_COL_NAME:
return event.m_ndc;
case ChainsawColumns.INDEX_THREAD_COL_NAME:
return event.m_threadName;
case ChainsawColumns.INDEX_THROWABLE_COL_NAME:
return "IMPLEMENT ME";
case ChainsawColumns.INDEX_CLASS_COL_NAME:
return info == null ? "" : info.className;
case ChainsawColumns.INDEX_FILE_COL_NAME:
return info == null ? "" : info.fileName;
case ChainsawColumns.INDEX_LINE_COL_NAME:
return info == null ? -1 : info.lineNumber;
case ChainsawColumns.INDEX_METHOD_COL_NAME:
return info == null ? "" : info.methodName;
default:
// if (columnIndex < columnNames.size()) {
// //case may not match..try case sensitive and fall back to case-insensitive
// String result = event.getProperty(columnNames.get(columnIndex).toString());
// if (result == null) {
// String lowerColName = columnNames.get(columnIndex).toString().toLowerCase(Locale.ENGLISH);
// Set<String> entrySet = event.entrySet();
// for (String entry : entrySet) {
// if (entry.equalsIgnoreCase(lowerColName)) {
// result = thisEntry.getValue().toString();
// }
// }
// }
// if (result != null) {
// return result;
// }
// }
}
return "";
}