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 ; 6 import java.util.ArrayList ; 7 8 public class MockAggregateDataCursor extends DataCursor { 9 10 protected static final Object [][] DATA = { 11 { "A", "B", "D", new Integer (2) }, 12 { "A", "B", "D", new Integer (24) }, 13 { "A", "B", "D", new Integer (3) }, 14 { "A", "C", "D", new Integer (12) }, 15 { "A", "C", "D", new Integer (42) } 16 }; 17 18 protected static final String [] 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 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 ("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 readRowData() { 40 ++recordIndex; 41 if (recordIndex >= DATA.length) 42 return null; 43 44 List row = new ArrayList (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 |