diff --git a/jOOQ-test/src/org/jooq/test/_/testcases/RecordListenerTests.java b/jOOQ-test/src/org/jooq/test/_/testcases/RecordListenerTests.java index 4cd8cae8e0..9c9f4871de 100644 --- a/jOOQ-test/src/org/jooq/test/_/testcases/RecordListenerTests.java +++ b/jOOQ-test/src/org/jooq/test/_/testcases/RecordListenerTests.java @@ -112,6 +112,26 @@ extends BaseTest> extends TableReco @Override public final int store() { + final int[] result = new int[1]; + + delegate(configuration(), (Record) this, STORE) + .operate(new RecordOperation() { + + @Override + public Record operate(Record record) throws RuntimeException { + result[0] = store0(); + return record; + } + }); + + return result[0]; + } + + @Override + public final int insert() { + final int[] result = new int[1]; + + delegate(configuration(), (Record) this, INSERT) + .operate(new RecordOperation() { + + @Override + public Record operate(Record record) throws RuntimeException { + result[0] = storeInsert(); + return record; + } + }); + + return result[0]; + } + + @Override + public final int update() { + final int[] result = new int[1]; + + delegate(configuration(), (Record) this, UPDATE) + .operate(new RecordOperation() { + + @Override + public Record operate(Record record) throws RuntimeException { + result[0] = storeUpdate(getPrimaryKey().getFieldsArray()); + return record; + } + }); + + return result[0]; + } + + private final int store0() { TableField[] keys = getPrimaryKey().getFieldsArray(); boolean executeUpdate = false; @@ -140,16 +193,6 @@ public class UpdatableRecordImpl> extends TableReco return result; } - @Override - public final int insert() { - return storeInsert(); - } - - @Override - public final int update() { - return storeUpdate(getPrimaryKey().getFieldsArray()); - } - private final int storeInsert() { DSLContext create = create(); InsertQuery insert = create.insertQuery(getTable());