package at.medevit.elexis.cobasmira.ui; import org.eclipse.jface.viewers.ColumnLabelProvider; import org.eclipse.jface.viewers.ITableLabelProvider; import org.eclipse.swt.graphics.Image; import at.medevit.elexis.cobasmira.model.CobasMiraMessage; import ch.rgw.tools.TimeTool; import com.swtdesigner.ResourceManager; public class CobasMiraLogLabelProvider extends ColumnLabelProvider implements ITableLabelProvider { @Override public Image getColumnImage(Object element, int columnIndex){ CobasMiraMessage elem = (CobasMiraMessage) element; int status = elem.getElexisStatus(); if (columnIndex == 3) { if (status == CobasMiraMessage.ELEXIS_RESULT_INTEGRATION_OK) { return ResourceManager.getPluginImage("at.medevit.elexis.cobasmira", "rsc/check2.png"); } else if (status == CobasMiraMessage.ELEXIS_RESULT_LABITEM_NOT_FOUND) { return ResourceManager.getPluginImage("at.medevit.elexis.cobasmira", "rsc/error.png"); } else if (status == CobasMiraMessage.ELEXIS_RESULT_PATIENT_NOT_FOUND) { return ResourceManager.getPluginImage("at.medevit.elexis.cobasmira", "rsc/error.png"); } else if (status == CobasMiraMessage.ELEXIS_RESULT_RESULT_ALREADY_HERE) { return ResourceManager.getPluginImage("at.medevit.elexis.cobasmira", "rsc/unknown.png"); } else if (status == CobasMiraMessage.ELEXIS_RESULT_CONTROL_OK) { return ResourceManager.getPluginImage("at.medevit.elexis.cobasmira", "rsc/check2.png"); } else if (status == CobasMiraMessage.ELEXIS_RESULT_CONTROL_ERR) { return ResourceManager.getPluginImage("at.medevit.elexis.cobasmira", "rsc/error.png"); } } return null; } @Override public String getColumnText(Object element, int columnIndex){ if (element instanceof CobasMiraMessage) { CobasMiraMessage elem = (CobasMiraMessage) element; int blockType = elem.getBlockType(); if (columnIndex == 0) { TimeTool entryDate = elem.getEntryDate(); return entryDate.toString(TimeTool.FULL_GER); } if (columnIndex == 1) return elem.getBlockTypeString(); if (columnIndex == 2) { if (blockType == CobasMiraMessage.BLOCK_TYPE_PATIENT_RESULTS) { int noResults = elem.getNoPatientResults(); if (noResults != 1) return noResults + " Resultat(e) erhalten."; return "Resultat erhalten: " + elem.getSinglePatientResultInfo(); } else if (blockType == CobasMiraMessage.BLOCK_TYPE_ERROR_MESSAGE) { return elem.getErrorMessageString(); } else if (blockType == CobasMiraMessage.BLOCK_TYPE_RACK_INFORMATION) { return ""; } } if (columnIndex == 3) { int status = elem.getElexisStatus(); if (status == CobasMiraMessage.ELEXIS_RESULT_IGNORED) return ""; if (status == CobasMiraMessage.ELEXIS_RESULT_INTEGRATION_OK) return "OK"; if (status == CobasMiraMessage.ELEXIS_RESULT_LABITEM_NOT_FOUND) return "Laboritem nicht gefunden"; if (status == CobasMiraMessage.ELEXIS_RESULT_PATIENT_NOT_FOUND) return "Patient nicht gefunden"; if (status == CobasMiraMessage.ELEXIS_RESULT_CONTROL_OK) return "Protokolliert"; if (status == CobasMiraMessage.ELEXIS_RESULT_CONTROL_ERR) return "Fehler bei Protokollierung"; } } return "not defined"; } }