/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package org.mobicents.media.server.testsuite.gui.ext; import java.util.Collection; import java.util.List; import java.util.Map; import javax.swing.table.DefaultTableModel; import org.mobicents.media.server.testsuite.general.AbstractCall; /** * * @author baranowb */ public class CallStateTableModel extends DefaultTableModel { private final static String[] _COLUMN_NAMES = new String[]{"Seq","Endpoint","CallID","Avg Jitter","Peak Jitter","State"}; private final static Class[] _COLUMN_TYPE = new Class[]{Long.class,String.class,Object.class,Long.class,Long.class,Object.class}; private Map<Long, AbstractCall> callSequenceToCall = null; public CallStateTableModel(Map<Long, AbstractCall> _callSequenceToCall) { this.callSequenceToCall=_callSequenceToCall; } public void setCallData(Map<Long, AbstractCall> _callSequenceToCall) { this.callSequenceToCall=_callSequenceToCall; } public Map<Long, AbstractCall> getCallData() { return this.callSequenceToCall; } public int getRowCount() { int count = this.callSequenceToCall == null ? 0 :this.callSequenceToCall.size(); //System.err.println("-- GET RC: "+count+" - "+(this.callSequenceToCall == null)); return count; } public int getColumnCount() { return _COLUMN_NAMES.length; } public String getColumnName(int columnIndex) { return _COLUMN_NAMES[columnIndex]; } public Class<?> getColumnClass(int columnIndex) { return _COLUMN_TYPE[columnIndex]; } public boolean isCellEditable(int rowIndex, int columnIndex) { return false; } public Object getValueAt(int rowIndex, int columnIndex) { //System.err.println("GET V["+rowIndex+"]["+rowIndex+"] --- "+this.callSequenceToCall.keySet()); AbstractCall call = this.callSequenceToCall.get(new Long(rowIndex)); if(call == null) { return "NO VALUE"; } switch(columnIndex) { case 0: return call.getSequence(); case 1: return call.getEndpoint(); case 2: return call.getCallID(); case 3: return call.getAvgJitter(); case 4: return call.getPeakJitter(); case 5: return call.getState(); default : return null; } } }