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 }