1 2 package oscon2006.web.mdb; 3 4 import wicket.extensions.markup.html.repeater.data.IDataProvider; 5 import wicket.model.*; 6 import java.util.*; 7 import java.io.*; 8 import com.healthmarketscience.jackcess.*; 9 10 public class DataProvider 11 extends wicket.extensions.markup.html.repeater.util.SortableDataProvider 12 { 13 private transient com.healthmarketscience.jackcess.Table table; 14 15 public DataProvider(Table t) 16 { 17 this.table = t; 18 } 19 20 public Iterator iterator(int first, int count) 21 { 22 23 try 24 { 25 List rows = new ArrayList(); 26 27 for (int i = first; i < (first + count); i++) 28 { 29 rows.add(this.table.getNextRow()); 30 } 31 return rows.iterator(); 32 } 33 catch (IOException ex) 34 { 35 throw new RuntimeException(ex); 36 } 37 38 } 39 40 41 public int getColumnCount() 42 { 43 return this.table.getColumns().size(); 44 } 45 46 public int size() 47 { 48 int size = this.table.getRowCount(); 49 return size; 50 } 51 52 public IModel model(Object obj) 53 { 54 return new RowModel( (Map<String, Object>) obj); 55 } 56 57 }