package com.vistatec.ocelot.its.view; import java.util.List; import javax.swing.table.AbstractTableModel; import com.vistatec.ocelot.its.model.TextAnalysisMetaData; import com.vistatec.ocelot.segment.model.OcelotSegment; import com.vistatec.ocelot.segment.view.SegmentAttributeTablePane; /** * Table displaying text-analysis meta data. */ public class TextAnalysisTableView extends SegmentAttributeTablePane<TextAnalysisTableView.TaITSTableModel> { /** The serial version UID. */ private static final long serialVersionUID = 1L; /* * (non-Javadoc) * @see com.vistatec.ocelot.segment.view.SegmentAttributeTablePane#createTableModel() */ @Override protected TaITSTableModel createTableModel() { return new TaITSTableModel(); } /* * (non-Javadoc) * @see com.vistatec.ocelot.segment.view.SegmentAttributeTablePane#segmentSelected(com.vistatec.ocelot.segment.model.OcelotSegment) */ @Override protected void segmentSelected(OcelotSegment seg) { List<TextAnalysisMetaData> taMetaData = seg.getTextAnalysis(); getTableModel().setRows(taMetaData); } /** * Table model for the term meta data table. */ public class TaITSTableModel extends AbstractTableModel { /** The serial version UID. */ private static final long serialVersionUID = 1L; /** The entity column index. */ private static final int ENTITY_COL = 0; /** The confidence column index. */ private static final int TA_CONFIDENCE_COL = 1; /** The class ref column index. */ private static final int TA_CLASS_REF_COL = 2; /** The ident ref column index. */ private static final int TA_IDENT_REF_COL = 3; /** The annotators ref column index. */ private static final int ANNOT_REF_COL = 4; /** The segment part column index. */ private static final int SEGM_PART_COL = 5; /** The columns names. */ private final String[] colNames = { "Entity", "taConfidence", "taClassRef", "taIdentRef", "annotatorsRef", "Segment Part" }; /** The rows. */ private List<TextAnalysisMetaData> rows; /** * Sets the rows. * @param rows the rows. */ public void setRows(List<TextAnalysisMetaData> rows) { this.rows = rows; } /* * (non-Javadoc) * @see javax.swing.table.TableModel#getRowCount() */ @Override public int getRowCount() { int rowCount = 0; if (rows != null) { rowCount = rows.size(); } return rowCount; } /* * (non-Javadoc) * @see javax.swing.table.TableModel#getColumnCount() */ @Override public int getColumnCount() { return colNames.length; } /* * (non-Javadoc) * @see javax.swing.table.AbstractTableModel#getColumnName(int) */ @Override public String getColumnName(int column) { String colName = ""; if (column < colNames.length) { colName = colNames[column]; } return colName; } /* * (non-Javadoc) * @see javax.swing.table.TableModel#getValueAt(int, int) */ @Override public Object getValueAt(int rowIndex, int columnIndex) { Object retValue = null; if (rows != null && rowIndex < rows.size()) { TextAnalysisMetaData currMetaData = rows.get(rowIndex); switch (columnIndex) { case ANNOT_REF_COL: retValue = currMetaData.getTaAnnotatorsRef(); break; case ENTITY_COL: retValue = currMetaData.getEntity(); break; case TA_CLASS_REF_COL: retValue = currMetaData.getTaClassRef(); break; case TA_CONFIDENCE_COL: retValue = currMetaData.getTaConfidence(); break; case TA_IDENT_REF_COL: retValue = currMetaData.getTaIdentRef(); break; case SEGM_PART_COL: retValue = currMetaData.getSegPart(); break; default: break; } } return retValue; } } }