1 19 20 package com.sslexplorer.agent.client.gui.awt; 21 22 import java.util.Date ; 23 import java.util.Vector ; 24 25 import com.sshtools.ui.awt.grid.TableModel; 26 import com.sshtools.ui.awt.grid.TableModelListener; 27 import com.sslexplorer.agent.client.tunneling.AbstractPortItem; 28 29 30 39 public class PortModel implements TableModel { 40 41 43 private Vector portItems, listeners; 44 private String [] columns; 45 private Class [] columnClasses; 46 47 51 public PortModel() { 52 portItems = new Vector (); 53 listeners = new Vector (); 54 columns = new String [] { 55 Messages.getString("PortModel.type"), Messages.getString("PortModel.name"), Messages.getString("PortModel.localPort"), Messages.getString("PortModel.active"), Messages.getString("PortModel.lastData"), Messages.getString("PortModel.total") }; 57 columnClasses = new Class [] { 58 String .class, String .class, Integer .class, Integer .class, Date .class, Integer .class 59 }; 60 } 61 62 67 public void addPortItem(AbstractPortItem port) { 68 portItems.addElement(port); 69 for(int i = listeners.size() - 1 ; i >= 0 ; i--) { 70 ((TableModelListener)listeners.elementAt(i)).rowInserted(portItems.size() - 1); 71 } 72 } 73 74 77 public int getRowCount() { 78 return portItems.size(); 79 } 80 81 84 public int getColumnCount() { 85 return columns.length; 86 } 87 88 91 public String getColumnName(int c) { 92 return columns[c]; 93 } 94 95 98 public Class getColumnClass(int r) { 99 return columnClasses[r]; 100 } 101 102 105 public Object getValue(int r, int c) { 106 AbstractPortItem t = getItemAt(r); 107 switch(c) { 108 case 0: 109 return t.getType(); 110 case 1: 111 return t.getName(); 112 case 2: 113 return new Integer (t.getLocalPort()); 114 case 3: 115 return new Integer (t.getActiveTunnelCount()); 116 case 4: 117 return new Date (t.getDataLastTransferred()); 118 default: 119 return new Integer (t.getTotalTunnelCount()); 120 } 121 } 122 123 126 public void addTableModelListener(TableModelListener l) { 127 listeners.addElement(l); 128 } 129 130 133 public void removeTableModelListener(TableModelListener l) { 134 listeners.removeElement(l); 135 } 136 137 143 public AbstractPortItem getItemAt(int idx) { 144 return (AbstractPortItem)portItems.elementAt(idx); 145 } 146 147 152 public void removeItemAt(int idx) { 153 portItems.removeElementAt(idx); 154 for(int i = listeners.size() - 1 ; i >= 0 ; i--) { 155 ((TableModelListener)listeners.elementAt(i)).rowDeleted(idx); 156 } 157 } 158 159 165 public void updateItemAt(int idx) { 166 for(int i = listeners.size() - 1 ; i >= 0 ; i--) { 167 ((TableModelListener)listeners.elementAt(i)).rowChanged(idx); 168 } 169 } 170 171 172 178 public int getIndexForId(int id) { 179 for(int i = portItems.size() - 1 ; i >= 0 ; i--) { 180 AbstractPortItem pi = (AbstractPortItem)portItems.elementAt(i); 181 if(pi.getConfiguration().getId() == id) { 182 return i; 183 } 184 } 185 return -1; 186 } 187 188 191 public void refresh() { 192 for(int i = listeners.size() - 1 ; i >= 0 ; i--) { 193 ((TableModelListener)listeners.elementAt(i)).rowChanged(-1); 194 } 195 } 196 197 } | Popular Tags |