You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@empire-db.apache.org by do...@apache.org on 2022/02/01 09:03:37 UTC
[empire-db] branch version3 updated: EMPIREDB-362 Bean interface fix
This is an automated email from the ASF dual-hosted git repository.
doebele pushed a commit to branch version3
in repository https://gitbox.apache.org/repos/asf/empire-db.git
The following commit(s) were added to refs/heads/version3 by this push:
new a61d348 EMPIREDB-362 Bean interface fix
a61d348 is described below
commit a61d34860aa71ad84a8de95c25e5115806ead2da
Author: Rainer Döbele <do...@apache.org>
AuthorDate: Tue Feb 1 10:03:34 2022 +0100
EMPIREDB-362 Bean interface fix
---
.../main/java/org/apache/empire/samples/db/SampleApp.java | 1 -
.../java/org/apache/empire/samples/db/beans/Department.java | 9 ++++-----
.../java/org/apache/empire/samples/db/beans/Employee.java | 12 ++++++------
.../java/org/apache/empire/samples/db/beans/Payment.java | 7 ++++---
empire-db/src/main/java/org/apache/empire/db/DBUtils.java | 12 +++++-------
empire-db/src/main/java/org/apache/empire/db/list/Bean.java | 7 ++++---
6 files changed, 23 insertions(+), 25 deletions(-)
diff --git a/empire-db-examples/empire-db-example-basic/src/main/java/org/apache/empire/samples/db/SampleApp.java b/empire-db-examples/empire-db-example-basic/src/main/java/org/apache/empire/samples/db/SampleApp.java
index 4ae69db..15ef03c 100644
--- a/empire-db-examples/empire-db-example-basic/src/main/java/org/apache/empire/samples/db/SampleApp.java
+++ b/empire-db-examples/empire-db-example-basic/src/main/java/org/apache/empire/samples/db/SampleApp.java
@@ -718,7 +718,6 @@ public class SampleApp
cmd.where(EMP.GENDER.is(Gender.M));
cmd.orderBy(EMP.LASTNAME.desc());
List<Employee> list = context.getUtils().queryBeanList(cmd, Employee.class, null);
-
for (Employee emp : list)
{
diff --git a/empire-db-examples/empire-db-example-basic/src/main/java/org/apache/empire/samples/db/beans/Department.java b/empire-db-examples/empire-db-example-basic/src/main/java/org/apache/empire/samples/db/beans/Department.java
index 6e305cc..a9b8810 100644
--- a/empire-db-examples/empire-db-example-basic/src/main/java/org/apache/empire/samples/db/beans/Department.java
+++ b/empire-db-examples/empire-db-example-basic/src/main/java/org/apache/empire/samples/db/beans/Department.java
@@ -21,11 +21,11 @@ package org.apache.empire.samples.db.beans;
import java.util.List;
import org.apache.empire.db.DBCommand;
-import org.apache.empire.db.DBRecordData;
+import org.apache.empire.db.DBContext;
import org.apache.empire.db.list.Bean;
import org.apache.empire.samples.db.SampleDB;
-public class Department implements Bean
+public class Department implements Bean<SampleDB>
{
private long id; // "ID"
private String name; // "FIRSTNAME"
@@ -64,13 +64,12 @@ public class Department implements Bean
}
@Override
- public void onBeanLoaded(DBRecordData dataRow, int rownum, Object parent)
+ public void onBeanLoaded(SampleDB db, DBContext context, int rownum, Object parent)
{
- SampleDB db = (SampleDB)dataRow.getDatabase();
DBCommand cmd = db.createCommand();
cmd.where(db.EMPLOYEES.DEPARTMENT_ID.is(this.id));
cmd.orderBy(db.EMPLOYEES.FIRSTNAME, db.EMPLOYEES.LASTNAME);
- employees = dataRow.getContext().getUtils().queryBeanList(cmd, Employee.class, this);
+ employees = context.getUtils().queryBeanList(cmd, Employee.class, this);
}
}
diff --git a/empire-db-examples/empire-db-example-basic/src/main/java/org/apache/empire/samples/db/beans/Employee.java b/empire-db-examples/empire-db-example-basic/src/main/java/org/apache/empire/samples/db/beans/Employee.java
index 9942b8f..2df7e43 100644
--- a/empire-db-examples/empire-db-example-basic/src/main/java/org/apache/empire/samples/db/beans/Employee.java
+++ b/empire-db-examples/empire-db-example-basic/src/main/java/org/apache/empire/samples/db/beans/Employee.java
@@ -26,7 +26,8 @@ import java.util.Locale;
import org.apache.empire.commons.DateUtils;
import org.apache.empire.db.DBCommand;
-import org.apache.empire.db.DBRecordData;
+import org.apache.empire.db.DBContext;
+import org.apache.empire.db.DBRecord;
import org.apache.empire.db.list.Bean;
import org.apache.empire.samples.db.SampleDB;
@@ -35,7 +36,7 @@ import org.apache.empire.samples.db.SampleDB;
* @author doebele
*
*/
-public class Employee implements Bean
+public class Employee implements Bean<SampleDB>
{
private int rownum; // rownum
private long id; // "ID"
@@ -227,19 +228,18 @@ public class Employee implements Bean
}
@Override
- public void onBeanLoaded(DBRecordData dataRow, int rownum, Object parent)
+ public void onBeanLoaded(SampleDB db, DBContext context, int rownum, Object parent)
{
if (parent instanceof Department)
department = ((Department)parent);
// don't!
- // else department = context.getUtils().queryBean(Department.class, DBRecord.key(this.departmentId));
+ else department = context.getUtils().queryBean(Department.class, db.DEPARTMENTS, DBRecord.key(this.departmentId));
- SampleDB db = (SampleDB)dataRow.getDatabase();
DBCommand cmd = db.createCommand();
cmd.where(db.PAYMENTS.EMPLOYEE_ID.is(this.id));
cmd.orderBy(db.PAYMENTS.YEAR.desc());
cmd.orderBy(db.PAYMENTS.MONTH.desc());
- payments = dataRow.getContext().getUtils().queryBeanList(cmd, Payment.class, this);
+ payments = context.getUtils().queryBeanList(cmd, Payment.class, this);
}
}
diff --git a/empire-db-examples/empire-db-example-basic/src/main/java/org/apache/empire/samples/db/beans/Payment.java b/empire-db-examples/empire-db-example-basic/src/main/java/org/apache/empire/samples/db/beans/Payment.java
index c4f917b..831fbe4 100644
--- a/empire-db-examples/empire-db-example-basic/src/main/java/org/apache/empire/samples/db/beans/Payment.java
+++ b/empire-db-examples/empire-db-example-basic/src/main/java/org/apache/empire/samples/db/beans/Payment.java
@@ -20,10 +20,11 @@ package org.apache.empire.samples.db.beans;
import java.math.BigDecimal;
-import org.apache.empire.db.DBRecordData;
+import org.apache.empire.db.DBContext;
import org.apache.empire.db.list.Bean;
+import org.apache.empire.samples.db.SampleDB;
-public class Payment implements Bean
+public class Payment implements Bean<SampleDB>
{
private long employeeId;
private BigDecimal year;
@@ -67,7 +68,7 @@ public class Payment implements Bean
}
@Override
- public void onBeanLoaded(DBRecordData dataRow, int rownum, Object parent)
+ public void onBeanLoaded(SampleDB db, DBContext context, int rownum, Object parent)
{
if (parent instanceof Employee)
this.employee = (Employee)parent;
diff --git a/empire-db/src/main/java/org/apache/empire/db/DBUtils.java b/empire-db/src/main/java/org/apache/empire/db/DBUtils.java
index 27d2c55..07baca1 100644
--- a/empire-db/src/main/java/org/apache/empire/db/DBUtils.java
+++ b/empire-db/src/main/java/org/apache/empire/db/DBUtils.java
@@ -981,8 +981,8 @@ public class DBUtils implements DBContextAware
if (item==null)
continue;
// post processing
- if (item instanceof Bean)
- ((Bean)item).onBeanLoaded(r, rownum, parent);
+ if (item instanceof Bean<?>)
+ ((Bean<?>)item).onBeanLoaded(r.getDatabase(), context, rownum, parent);
// add entry
list.add(item);
// Decrease count
@@ -1050,7 +1050,6 @@ public class DBUtils implements DBContextAware
*/
public <T> T queryBean(DBCommand cmd, DBBeanListFactory<T> factory)
{
- List<T> list = null;
DBReader r = new DBReader(context);
try
{ // prepare
@@ -1060,8 +1059,8 @@ public class DBUtils implements DBContextAware
// add data
T item = factory.newItem(-1, r);
// post processing
- if (item instanceof Bean)
- ((Bean)item).onBeanLoaded(r, -1, null);
+ if (item instanceof Bean<?>)
+ ((Bean<?>)item).onBeanLoaded(r.getDatabase(), context, -1, null);
// done
return item;
}
@@ -1069,8 +1068,7 @@ public class DBUtils implements DBContextAware
{
r.close();
// complete
- if (list!=null)
- factory.completeQuery(list);
+ factory.completeQuery(null);
}
}
diff --git a/empire-db/src/main/java/org/apache/empire/db/list/Bean.java b/empire-db/src/main/java/org/apache/empire/db/list/Bean.java
index 0664c58..0cc939f 100644
--- a/empire-db/src/main/java/org/apache/empire/db/list/Bean.java
+++ b/empire-db/src/main/java/org/apache/empire/db/list/Bean.java
@@ -18,9 +18,10 @@
*/
package org.apache.empire.db.list;
-import org.apache.empire.db.DBRecordData;
+import org.apache.empire.db.DBContext;
+import org.apache.empire.db.DBDatabase;
-public interface Bean
+public interface Bean<DB extends DBDatabase>
{
- void onBeanLoaded(DBRecordData dataRow, int rownum, Object parent);
+ void onBeanLoaded(DB db, DBContext context, int rownum, Object parent);
}