home *** CD-ROM | disk | FTP | other *** search
- package org.apache.cocoon.ojb.samples;
-
- import javax.jdo.PersistenceManager;
- import javax.jdo.Transaction;
- import org.apache.cocoon.ojb.jdo.components.JdoPMF;
- import org.apache.cocoon.ojb.samples.bean.Employee;
- import org.apache.ojb.broker.Identity;
- import org.apache.ojb.broker.PersistenceBroker;
- import org.apache.ojb.broker.PersistenceBrokerFactory;
-
- public class EmployeeDAO {
- public void retrieve(Employee bean, JdoPMF pmf) {
- PersistenceManager persistenceManager = pmf.getPersistenceManager();
- Employee e = new Employee();
- e.setId(bean.getId());
- PersistenceBroker broker = PersistenceBrokerFactory.defaultPersistenceBroker();
- Identity oid = new Identity(e, broker);
- new Employee();
- persistenceManager.currentTransaction().begin();
- Employee b = (Employee)persistenceManager.getObjectById(oid, false);
- this.copyData(b, bean);
- persistenceManager.currentTransaction().commit();
- }
-
- public void insert(Employee e, JdoPMF pmf) {
- PersistenceManager persistenceManager = pmf.getPersistenceManager();
- Transaction tx = persistenceManager.currentTransaction();
- tx.begin();
- persistenceManager.makePersistent(e);
- tx.commit();
- }
-
- public void update(Employee bean, JdoPMF pmf) {
- PersistenceManager persistenceManager = pmf.getPersistenceManager();
- Employee e = new Employee();
- e.setId(bean.getId());
- PersistenceBroker broker = PersistenceBrokerFactory.defaultPersistenceBroker();
- Identity oid = new Identity(e, broker);
- new Employee();
- persistenceManager.currentTransaction().begin();
- Employee b = (Employee)persistenceManager.getObjectById(oid, false);
- this.copyData(bean, b);
- persistenceManager.currentTransaction().commit();
- }
-
- public void remove(Employee bean, JdoPMF pmf) {
- PersistenceManager persistenceManager = pmf.getPersistenceManager();
- Employee e = new Employee();
- e.setId(bean.getId());
- PersistenceBroker broker = PersistenceBrokerFactory.defaultPersistenceBroker();
- Identity oid = new Identity(e, broker);
- new Employee();
- persistenceManager.currentTransaction().begin();
- Employee b = (Employee)persistenceManager.getObjectById(oid, false);
- persistenceManager.deletePersistent(b);
- persistenceManager.currentTransaction().commit();
- }
-
- private void copyData(Employee from, Employee to) {
- to.setId(from.getId());
- to.setDepartmentId(from.getDepartmentId());
- to.setName(from.getName());
- }
- }
-