package org.jboss.seam.rest.examples.client.ui;
import java.util.Map;
import javax.inject.Inject;
import javax.inject.Singleton;
import javax.swing.table.AbstractTableModel;
import org.jboss.seam.rest.examples.client.tasks.SeamTasksAction;
@Singleton
public class TasksResultTableModel extends AbstractTableModel {
private static final long serialVersionUID = -7931492597081403214L;
@Inject
private SeamTasksAction tasksAction;
@Override
public int getRowCount() {
return tasksAction.getResult().size();
}
@Override
public int getColumnCount() {
return 2;
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
Map<String, String> result = tasksAction.getResult();
String[][] resultArray = new String[result.size()][2];
int i = 0;
for (Map.Entry<String, String> entry : result.entrySet()) {
resultArray[i] = new String[]{entry.getKey(), entry.getValue()};
i++;
}
return resultArray[rowIndex][columnIndex];
}
@Override
public String getColumnName(int column) {
switch (column) {
case 0:
return "Key";
case 1:
return "Value";
default:
throw new IllegalArgumentException("columnIndex");
}
}
}