[ejuf-cvs] ejuf/src/java/core/ejuf/swingui/models TableModelTestListener.java,NONE,1.1
Brought to you by:
fbos
|
From: <fb...@us...> - 2002-11-30 18:21:27
|
Update of /cvsroot/ejuf/ejuf/src/java/core/ejuf/swingui/models
In directory sc8-pr-cvs1:/tmp/cvs-serv6683/core/ejuf/swingui/models
Added Files:
TableModelTestListener.java
Log Message:
Added TableModelTestListener tests which implements the concept of a table model that updates itself using events generated by the test runner.
--- NEW FILE: TableModelTestListener.java ---
package ejuf.swingui.models;
import ejuf.framework.TestEvent;
import ejuf.framework.TestListener;
import ejuf.framework.TestRunnerEvent;
import ejuf.framework.TestRunnerListener;
import javax.swing.table.*;
import java.util.List;
import java.util.LinkedList;
public class TableModelTestListener extends AbstractTableModel implements TestRunnerListener, TestListener {
private static final String[] COLUMN_NAMES =
new String[]{"No", "Name", "Status", "Details"};
private final List events = new LinkedList();
public int getColumnCount() {
return COLUMN_NAMES.length;
}
public int getRowCount() {
return events.size();
}
public Object getValueAt(int rowIndex, int columnIndex) {
final TestEvent event = (TestEvent)events.get(rowIndex);
final String value;
switch (columnIndex) {
case 0:
value = String.valueOf(1 + rowIndex);
break;
case 1:
value = event.getTest().getName();
break;
case 2:
value = event.getStatus().getName();
break;
case 3:
if (null == event.getException()) {
value = "";
} else {
String name = event.getException().getClass().getName();
name = name.substring(1+name.lastIndexOf('.'));
value = name + ": " + event.getException().getMessage();
}
break;
default:
value = "";
break;
}
return value;
}
public String getColumnName(int column) {
return COLUMN_NAMES[column];
}
public void beginRun(TestRunnerEvent event) {
}
public void endRun(TestRunnerEvent event) {
}
public void endTest(TestEvent event) {
events.set(events.size() - 1, event);
}
public void startTest(TestEvent event) {
events.add(event);
}
}
|