Home | History | Annotate | Download | only in afe
      1 package autotest.afe;
      2 
      3 import autotest.common.table.DataSource;
      4 import autotest.common.table.DynamicTable;
      5 
      6 import com.google.gwt.json.client.JSONObject;
      7 
      8 import java.util.ArrayList;
      9 import java.util.Arrays;
     10 import java.util.List;
     11 
     12 public class HostTable extends DynamicTable {
     13     private static final String[][] HOST_COLUMNS = {
     14         {"hostname", "Hostname"}, {"platform", "Platform"},
     15         {HostDataSource.OTHER_LABELS, "Other labels"}, {"status", "Status"},
     16         {HostDataSource.LOCKED_TEXT, "Locked"},
     17         {"lock_reason", "Lock Reason"}
     18     };
     19 
     20     private static final String[][] HOST_COLUMNS_SELECT;
     21 
     22     static {
     23         ArrayList<String[]> list = new ArrayList<String[]>(Arrays.asList(HOST_COLUMNS));
     24         list.add(0, new String[] {CLICKABLE_WIDGET_COLUMN, "Select"});
     25         HOST_COLUMNS_SELECT = list.toArray(new String[0][0]);
     26     }
     27 
     28     public HostTable(DataSource dataSource) {
     29         this(dataSource, false);
     30     }
     31 
     32     public HostTable(DataSource dataSource, boolean wantSelect) {
     33         super(wantSelect ? HOST_COLUMNS_SELECT : HOST_COLUMNS, dataSource);
     34     }
     35 
     36     @Override
     37     public void handlePage(List<JSONObject> data) {
     38         super.handlePage(data);
     39         // No wrap on "Hostname" of host table.
     40         addStyleNameByColumnName("Hostname", "nowrap");
     41     }
     42 }
     43