home *** CD-ROM | disk | FTP | other *** search
/ PC Professionell 2004 December / PCpro_2004_12.ISO / files / webserver / xampp / xampp-cocoon-addon-1.4.9-installer.exe / EmployeeDAO.class (.txt) < prev    next >
Encoding:
Java Class File  |  2004-07-12  |  2.8 KB  |  65 lines

  1. package org.apache.cocoon.ojb.samples;
  2.  
  3. import javax.jdo.PersistenceManager;
  4. import javax.jdo.Transaction;
  5. import org.apache.cocoon.ojb.jdo.components.JdoPMF;
  6. import org.apache.cocoon.ojb.samples.bean.Employee;
  7. import org.apache.ojb.broker.Identity;
  8. import org.apache.ojb.broker.PersistenceBroker;
  9. import org.apache.ojb.broker.PersistenceBrokerFactory;
  10.  
  11. public class EmployeeDAO {
  12.    public void retrieve(Employee bean, JdoPMF pmf) {
  13.       PersistenceManager persistenceManager = pmf.getPersistenceManager();
  14.       Employee e = new Employee();
  15.       e.setId(bean.getId());
  16.       PersistenceBroker broker = PersistenceBrokerFactory.defaultPersistenceBroker();
  17.       Identity oid = new Identity(e, broker);
  18.       new Employee();
  19.       persistenceManager.currentTransaction().begin();
  20.       Employee b = (Employee)persistenceManager.getObjectById(oid, false);
  21.       this.copyData(b, bean);
  22.       persistenceManager.currentTransaction().commit();
  23.    }
  24.  
  25.    public void insert(Employee e, JdoPMF pmf) {
  26.       PersistenceManager persistenceManager = pmf.getPersistenceManager();
  27.       Transaction tx = persistenceManager.currentTransaction();
  28.       tx.begin();
  29.       persistenceManager.makePersistent(e);
  30.       tx.commit();
  31.    }
  32.  
  33.    public void update(Employee bean, JdoPMF pmf) {
  34.       PersistenceManager persistenceManager = pmf.getPersistenceManager();
  35.       Employee e = new Employee();
  36.       e.setId(bean.getId());
  37.       PersistenceBroker broker = PersistenceBrokerFactory.defaultPersistenceBroker();
  38.       Identity oid = new Identity(e, broker);
  39.       new Employee();
  40.       persistenceManager.currentTransaction().begin();
  41.       Employee b = (Employee)persistenceManager.getObjectById(oid, false);
  42.       this.copyData(bean, b);
  43.       persistenceManager.currentTransaction().commit();
  44.    }
  45.  
  46.    public void remove(Employee bean, JdoPMF pmf) {
  47.       PersistenceManager persistenceManager = pmf.getPersistenceManager();
  48.       Employee e = new Employee();
  49.       e.setId(bean.getId());
  50.       PersistenceBroker broker = PersistenceBrokerFactory.defaultPersistenceBroker();
  51.       Identity oid = new Identity(e, broker);
  52.       new Employee();
  53.       persistenceManager.currentTransaction().begin();
  54.       Employee b = (Employee)persistenceManager.getObjectById(oid, false);
  55.       persistenceManager.deletePersistent(b);
  56.       persistenceManager.currentTransaction().commit();
  57.    }
  58.  
  59.    private void copyData(Employee from, Employee to) {
  60.       to.setId(from.getId());
  61.       to.setDepartmentId(from.getDepartmentId());
  62.       to.setName(from.getName());
  63.    }
  64. }
  65.