/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package org.mobicents.media.server.testsuite.general.rtp; import java.text.SimpleDateFormat; import java.util.List; import javax.swing.table.DefaultTableModel; import org.mobicents.media.server.testsuite.general.rtp.RtpPacket; /** * * @author kulikov */ public class PacketTableModel extends DefaultTableModel { private SimpleDateFormat fmt = new SimpleDateFormat("mm:ss,SSS"); private String[] columnNames = new String[]{ "Time", "Seq number", "SSRC", "Timestamp", "Payload" }; private List<RtpPacket> packets; public PacketTableModel(List packets) { this.packets = packets; } @Override public Class getColumnClass(int columnIndex) { return String.class; } @Override public String getColumnName(int columnIndex) { return columnNames[columnIndex]; } @Override public int getColumnCount() { return columnNames.length; } @Override public int getRowCount() { int count = packets != null ? packets.size() : 0; return count; } private String getFormat(int pt) { if (pt == 8) { return "PCMA"; } else if (pt == 0) { return "PCMU"; } else return "UNKNOWN"; } @Override public Object getValueAt(int rowIndex, int columnIndex) { RtpPacket packet = packets.get(rowIndex); switch (columnIndex) { case 0: return fmt.format(packet.getTime()); case 1: return packet.getSeqNumber(); case 2: return packet.getSSRC(); case 3: return packet.getTimestamp(); case 4: return getFormat(packet.getPayloadType()); default: return null; } } @Override public void setValueAt(Object value, int rowIndex, int columnIndex) { } }