View Javadoc

1   /*
2    * 
3    * 
4    */
5   package oscon2006.web.mdb;
6   
7   import wicket.extensions.ajax.markup.html.tabs.AjaxTabbedPanel;
8   import wicket.extensions.markup.html.tabs.AbstractTab;
9   import wicket.markup.html.panel.Panel;
10  import wicket.markup.html.basic.Label;
11  import wicket.model.*;
12  import com.healthmarketscience.jackcess.*; 
13  import java.util.*;
14  
15  public class MdbTabbedPanel extends AjaxTabbedPanel
16  {
17  	public MdbTabbedPanel(String id, Database db)
18  	{
19  		super(id, buildTabList(db));
20  	}
21  	
22  	private static List buildTabList(Database db)
23  	{
24  		List tabs = new ArrayList();
25  		
26  		Iterator iter = db.getTableNames().iterator();
27  		
28  		try
29  		{
30  			while (iter.hasNext())
31  			{
32  				String tableName = (String) iter.next();
33  				Tab t = new Tab(db.getTable(tableName));
34  				tabs.add(t);
35  			}
36  		}
37  		catch (Exception ex)
38  		{
39  			throw new RuntimeException(ex);
40  		}
41  		
42  		return tabs;
43  		
44  	}
45  	
46  	static public class Tab extends AbstractTab
47  	{
48  		private transient Table table;
49  		
50  		public Tab(Table t)
51  		{
52  			super(new Model(t.getName()));
53  			
54  			this.table = t;
55  		}
56  
57  		@Override
58  		public Panel getPanel(String panelId)
59  		{
60  			MdbTablePanel p = new MdbTablePanel(panelId, this.table);
61  			return p;
62  		}
63  		
64  	}
65  	
66  }