1
2
3 package com.pnpconsult.zeiterfassung.actions.dbpatch;
4
5 import java.util.ArrayList;
6 import java.util.Collection;
7
8 import javax.servlet.http.HttpServletRequest;
9
10 import net.sf.hibernate.HibernateException;
11 import net.sf.hibernate.Session;
12
13 import org.apache.commons.logging.Log;
14 import org.apache.commons.logging.LogFactory;
15 import org.apache.struts.action.ActionForm;
16 import org.apache.struts.action.ActionMapping;
17
18 import com.pnpconsult.zeiterfassung.helper.SessionLocator;
19 import com.pnpconsult.zeiterfassung.model.Activity;
20 import com.pnpconsult.zeiterfassung.model.Bill;
21 import com.pnpconsult.zeiterfassung.model.BillEntry;
22 import com.pnpconsult.zeiterfassung.model.Customer;
23 import com.pnpconsult.zeiterfassung.model.Project;
24 import com.pnpconsult.zeiterfassung.model.User;
25 import com.pnpconsult.zeiterfassung.model.UserEntry;
26 import com.pnpconsult.zeiterfassung.model.UserProject;
27
28 /***
29 * @author <a href="mailto:mpetersen@users.sf.net">Moritz Petersen</a>
30 * @version $Id$
31 *
32 * @struts.form name="dbPatchForm"
33 */
34 public class DbPatchForm extends ActionForm
35 {
36 private static final Log LOG = LogFactory.getLog(DbPatchForm.class);
37 public Collection objects;
38
39 public Collection getObjects()
40 {
41 return objects;
42 }
43
44 public void reset(ActionMapping map, HttpServletRequest req)
45 {
46 objects = loadObjects(new Class[] {
47 Activity.class,
48 Bill.class,
49 BillEntry.class,
50 Customer.class,
51 Project.class,
52 User.class,
53 UserEntry.class,
54 UserProject.class });
55 }
56
57 private Collection loadObjects(Class[] classes)
58 {
59 Collection objects = new ArrayList();
60 try
61 {
62 Session session = SessionLocator.getSession();
63 for (int i = 0; i < classes.length; i++)
64 {
65 objects.addAll(session.find("from " + classes[i].getName()));
66 }
67 }
68 catch (HibernateException e)
69 {
70 LOG.fatal("Error while loading objects", e);
71 }
72 return objects;
73 }
74
75 public void setObjects(Collection objects)
76 {
77 this.objects = objects;
78 }
79 }