1
2
3
4
5 package oscon2006.web;
6
7 import oscon2006.common.*;
8 import wicket.markup.html.form.*;
9 import wicket.model.*;
10 import java.util.*;
11
12 public class DatabaseQueryForm extends BaseForm
13 {
14 private RadioChoice databaseChoice = new RadioChoice("databaseChoice");
15 private DropDownChoice outputChoice = new DropDownChoice("outputChoice");
16 private static final String EMPLOYEES = "Employees";
17 private static final String PRODUCTS = "Products";
18
19 public DatabaseQueryForm(String componentName)
20 {
21 super(componentName);
22
23 List<String> dbChoices = new ArrayList<String>();
24 dbChoices.add(EMPLOYEES);
25 dbChoices.add(PRODUCTS);
26
27 databaseChoice.setModel(new Model(EMPLOYEES));
28 databaseChoice.setChoices(dbChoices);
29 databaseChoice.setNullValid(false);
30 databaseChoice.setRequired(true);
31
32 outputChoice.setModel(new Model(OutputFormat.EXCEL));
33 outputChoice.setChoices(Arrays.asList(OutputFormat.values()));
34 outputChoice.setNullValid(false);
35 outputChoice.setRequired(true);
36
37 add(databaseChoice);
38 add(outputChoice);
39 }
40
41
42 public final void onSubmit()
43 {
44
45 DAO dao = new DAO();
46
47 byte[] filedata = null;
48 String filename = null;
49
50 String selection = (String) databaseChoice.getConvertedInput();
51
52 OutputFormat format = (OutputFormat) outputChoice.getModelObject();
53
54 if (PRODUCTS.equals(selection))
55 {
56 filedata = dao.getProducts(format);
57 filename = "products." + format.getExtension();
58 }
59 else if (EMPLOYEES.equals(selection))
60 {
61 filedata = dao.getEmployees(format);
62 filename = "employees." + format.getExtension();
63 }
64 else
65 {
66 throw new RuntimeException(selection);
67 }
68
69 setResponse(filedata, filename);
70 }
71
72 }