package oraloganalyzer.views; import oraloganalyzer.model.OraError; import oraloganalyzer.model.OraErrorType; import oraloganalyzer.model.OraLineError; import oraloganalyzer.util.Toolbox; import org.eclipse.jface.viewers.ITableLabelProvider; import org.eclipse.jface.viewers.LabelProvider; import org.eclipse.swt.graphics.Image; public class ErrorListLabelProvider extends LabelProvider implements ITableLabelProvider, IErrorListColumns { public ErrorListLabelProvider() { } public Image getColumnImage(Object element, int columnIndex) { return null; } public String getColumnText(Object element, int columnIndex) { OraLineError ole = (OraLineError) element; switch (columnIndex) { case ZEILE: return String.valueOf(ole.getLineNo()); case FEHLERCODE: return formatFehlercode(ole.getError()); case FEHLERMELDUNG: return formatFehlermeldung(ole); case LFD_NR: return String.valueOf(ole.getLfdNr()); } return ""; } public String formatFehlercode(OraError err) { return err.getErrType().getTypename() + Toolbox.lpad(String.valueOf(err.getErrNo()), "0", err .getErrType().getErrNoLength()); } public String formatFehlermeldung(OraLineError ole) { String msg = ole.getMessage().trim(); OraErrorType type = ole.getError().getErrType(); if (msg.startsWith(type.getTypename())) { //+1 wegen ":" msg = msg.substring(type.getErrCodeLength() + 1); } if (msg == null || msg.trim().length() == 0) { msg = ole.getError().getMessage(); } return msg.trim(); } }