View Javadoc

1   // $Id: ArchivableObjectManager.java,v 1.4 2004/06/24 20:54:18 powerpete Exp $
2   // [JMP, 19.03.2004] Created this file.
3   package com.pnpconsult.zeiterfassung.helper;
4   
5   import java.io.Serializable;
6   
7   import net.sf.hibernate.HibernateException;
8   import net.sf.hibernate.Session;
9   import net.sf.hibernate.Transaction;
10  
11  import com.pnpconsult.zeiterfassung.model.ArchivableObject;
12  
13  /***
14   * @author <a href="mailto:powerpete@users.sf.net">M. Petersen</a>
15   * @version $Id: ArchivableObjectManager.java,v 1.4 2004/06/24 20:54:18 powerpete Exp $
16   */
17  public class ArchivableObjectManager extends AbstractObjectManager2
18  {
19      public void changeArchived(Class clazz, Serializable key)
20          throws HibernateException
21      {
22          Session session = SessionLocator.getSession();
23          Transaction tx = session.beginTransaction();
24          try
25          {
26              ArchivableObject obj = (ArchivableObject) session.load(clazz, key);
27              obj.setArchived(!obj.isArchived());
28              session.save(obj);
29              tx.commit();
30          }
31          catch (HibernateException e)
32          {
33              tx.rollback();
34              throw e;
35          }
36          finally
37          {
38              session.close();
39          }
40      }
41  }