Adapter Implementation

Let's write the button code as if a ResultTableAdapter class existed:

findButton.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    Query q = new Query(queryField.getText());
      resultTable.setModel(
          new ResultTableAdapter(getSearcher().find(q)));
      }
  });

When this fails to compile, stub out a dummy implementation:

  public class ResultTableAdapter extends DefaultTableModel {
      public ResultTableAdapter(Result r) {}
  }
  

Test0() still passes, and test1() still fails.

The adapter is straightforward to write, but we begin by writing a test.

 public void testResultTableAdapter() { Result result = new TestResult(2); ResultTableAdapter rta = new ResultTableAdapter(result); assertEquals("Author", rta.getColumnName(0)); ...

Get Extreme Programming Installed now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.