KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > jimm > datavision > test > mock > source > MockAggregateDataCursor


1 package jimm.datavision.test.mock.source;
2 import jimm.datavision.Selectable;
3 import jimm.datavision.source.DataCursor;
4 import jimm.datavision.source.Query;
5 import java.util.List JavaDoc;
6 import java.util.ArrayList JavaDoc;
7
8 public class MockAggregateDataCursor extends DataCursor {
9
10 protected static final Object JavaDoc[][] DATA = {
11   { "A", "B", "D", new Integer JavaDoc(2) },
12   { "A", "B", "D", new Integer JavaDoc(24) },
13   { "A", "B", "D", new Integer JavaDoc(3) },
14   { "A", "C", "D", new Integer JavaDoc(12) },
15   { "A", "C", "D", new Integer JavaDoc(42) }
16 };
17
18 protected static final String JavaDoc[] SELECTABLES = {
19   "aggregate_test.col1", "aggregate_test.col2", "aggregate_test.col3",
20   "aggregate_test.value"
21 };
22
23 static int indexOfSelectable(Selectable sel) {
24   String JavaDoc selId = sel.getId().toString();
25   for (int i = 0; i < SELECTABLES.length; ++i)
26     if (selId.equals(SELECTABLES[i]))
27       return i;
28
29   throw new RuntimeException JavaDoc("can't find selectable \"" +
30                  sel.getDisplayName() + "\" with id " + selId);
31 }
32
33 protected int recordIndex;
34
35 public MockAggregateDataCursor(Query q) {
36   recordIndex = -1;
37 }
38
39 protected List JavaDoc readRowData() {
40   ++recordIndex;
41   if (recordIndex >= DATA.length)
42     return null;
43
44   List JavaDoc row = new ArrayList JavaDoc(DATA[recordIndex].length);
45   for (int i = 0; i < DATA[recordIndex].length; ++i)
46     row.add(DATA[recordIndex][i]);
47
48   return row;
49 }
50
51 }
52
Popular Tags