View Javadoc

1   // $Id$
2   // [JMP, 08.10.2004] created this file.
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  }