You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by st...@apache.org on 2004/03/29 22:42:03 UTC
cvs commit: cocoon-2.1/src/blocks/javaflow/java/org/apache/cocoon/samples/flow/java PersistenceFlow.java
stephan 2004/03/29 12:42:03
Modified: src/blocks/javaflow/java/org/apache/cocoon/samples/flow/java
PersistenceFlow.java
Log:
Using standard OJB PersistenceBroker instead of JDO.
Revision Changes Path
1.2 +19 -51 cocoon-2.1/src/blocks/javaflow/java/org/apache/cocoon/samples/flow/java/PersistenceFlow.java
Index: PersistenceFlow.java
===================================================================
RCS file: /home/cvs/cocoon-2.1/src/blocks/javaflow/java/org/apache/cocoon/samples/flow/java/PersistenceFlow.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- PersistenceFlow.java 29 Mar 2004 17:47:22 -0000 1.1
+++ PersistenceFlow.java 29 Mar 2004 20:42:03 -0000 1.2
@@ -23,7 +23,7 @@
import org.apache.cocoon.forms.binding.*;
import org.apache.cocoon.forms.flow.java.AbstractFormFlow;
import org.apache.cocoon.forms.formmodel.Form;
-import org.apache.cocoon.ojb.jdo.components.JdoPMF;
+import org.apache.cocoon.ojb.broker.components.PBFactory;
import org.apache.cocoon.ojb.samples.EmployeeDAO;
import org.apache.cocoon.ojb.samples.bean.Employee;
import org.apache.ojb.broker.*;
@@ -33,11 +33,10 @@
public void doInsertEmployee() throws BindingException {
- JdoPMF factory = (JdoPMF)getComponent(JdoPMF.ROLE);
+ PersistenceBroker broker = getPersistenceBroker();
// Create a empty Bean
Employee employee = new Employee();
- EmployeeDAO dao = new EmployeeDAO();
// Fill some initial data to the bean
employee.setId(1);
// Load form descriptor
@@ -51,7 +50,7 @@
// Update the Bean based on user input
binding.saveFormToModel(form, employee);
// Update Bean in Database
- dao.insert(employee, factory);
+ broker.store(employee);
// Send response to the user
doShowEmployee();
}
@@ -65,15 +64,14 @@
else
throw new IllegalStateException("No parameter 'id'");
- JdoPMF factory = (JdoPMF)getComponent(JdoPMF.ROLE);
+ PersistenceBroker broker = getPersistenceBroker();
// Create a empty Bean
Employee employee = new Employee();
- EmployeeDAO dao = new EmployeeDAO();
// Fill some initial data to the bean
employee.setId(id);
// Load bean based on the given PrimaryKey
- dao.retrieve(employee, factory);
+ employee = (Employee) broker.getObjectByIdentity(new Identity(employee, broker));
// Load form descriptor
Form form = loadForm("forms/employee.xml");
// Load form binding
@@ -86,7 +84,7 @@
binding.saveFormToModel(form, employee);
// Update Bean in Database
- dao.update(employee, factory);
+ broker.store(employee);
// Send response to the user
doShowEmployee();
@@ -101,65 +99,35 @@
else
throw new IllegalStateException("No parameter 'id'");
- JdoPMF factory = (JdoPMF)getComponent(JdoPMF.ROLE);
+ PersistenceBroker broker = getPersistenceBroker();
// Create a empty Bean
Employee employee = new Employee();
- EmployeeDAO dao = new EmployeeDAO();
// Fill some initial data to the bean
employee.setId(id);
+ // Load bean based on the given PrimaryKey
+ employee = (Employee) broker.getObjectByIdentity(new Identity(employee, broker));
// Remove bean
- dao.remove(employee, factory);
+ broker.delete(employee);
// Send response to the user
doShowEmployee();
}
public void doShowEmployee() {
- JdoPMF factory = (JdoPMF)getComponent(JdoPMF.ROLE);
+ PersistenceBroker broker = getPersistenceBroker();
// Query all objects
- Set results = query(new Criteria(), factory);
+ Set results = new HashSet();
+ QueryByCriteria query = new QueryByCriteria(Employee.class, new Criteria());
+ for(Iterator i=broker.getCollectionByQuery(query).iterator(); i.hasNext();) {
+ results.add(i.next());
+ }
// Send response to the user
sendPage("page/employee-result", new VarMap().add("employee", results));
}
- public Set query(Criteria criteria, JdoPMF pmf) {
-
- // 1. Get the PersistenceManager
- PersistenceManager persistenceManager = pmf.getPersistenceManager();
- PersistenceBroker broker = PersistenceBrokerFactory.defaultPersistenceBroker();
- // 2. start transaction
- persistenceManager.currentTransaction().begin();
- // 3. Get objects based on query
- HashSet results = new HashSet();
- QueryByCriteria query = new QueryByCriteria(Employee.class, criteria);
- for(Iterator i=broker.getCollectionByQuery(query).iterator(); i.hasNext();) {
- Employee b = (Employee)i.next();
-
- Employee e = new Employee();
- // 4. Copy data to bean
- copyData(b, e);
-
- results.add(e);
- }
- // 5. End transaction
- persistenceManager.currentTransaction().commit();
-
- return results;
- }
-
- private void copyData(Employee from, Employee to) {
- to.setId(from.getId());
- to.setDepartmentId(from.getDepartmentId());
- to.setName(from.getName());
- }
-
-/* public void dispose() {
- if (this.manager != null) {
- // Release the factory
- manager.release(factory);
- }
- super.dispose();
- }*/
+ public PersistenceBroker getPersistenceBroker() {
+ return ((PBFactory)getComponent(PBFactory.ROLE)).defaultPersistenceBroker();
+ }
}