blob: 55a01a2168b0c1c2ec2ae905fbd73a578c4552aa [file] [log] [blame]
package autotest.afe;
import autotest.common.table.DynamicTable;
import autotest.common.table.RpcDataSource;
import autotest.common.table.DataSource.SortDirection;
import com.google.gwt.json.client.JSONObject;
import com.google.gwt.json.client.JSONString;
/**
* A table to display scheduled runs.
*/
public class RecurringTable extends DynamicTable {
public static final String START_DATE_TEXT = "start_date";
private static final String[][] RECURRING_COLUMNS = {
{CLICKABLE_WIDGET_COLUMN, "Select"},
{ "job_id", "Job ID" },
{ "owner", "Owner" },
{ START_DATE_TEXT, "Recurring start" },
{ "loop_period", "Loop period" },
{ "loop_count", "Loop count" }};
public RecurringTable() {
super(RECURRING_COLUMNS, new RpcDataSource("get_recurring",
"get_num_recurring"));
sortOnColumn("id", SortDirection.DESCENDING);
}
@Override
protected void preprocessRow(JSONObject row) {
JSONObject job = row.get("job").isObject();
int jobId = (int) job.get("id").isNumber().doubleValue();
JSONObject owner = row.get("owner").isObject();
row.put("job_id", new JSONString(Integer.toString(jobId)));
row.put("owner", owner.get("login"));
// remove seconds from start_date
AfeUtils.removeSecondsFromDateField(row, "start_date", START_DATE_TEXT);
}
}