Skip to content
This repository was archived by the owner on Oct 22, 2020. It is now read-only.

Commit 79c7f4c

Browse files
committed
#51 - ENH: Generate query bean constructor taking Transaction
1 parent 73593ab commit 79c7f4c

2 files changed

Lines changed: 25 additions & 9 deletions

File tree

src/main/java/io/ebean/querybean/generator/Constants.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ interface Constants {
2727
String DB = "io.ebean.DB";
2828
String FETCHGROUP = "io.ebean.FetchGroup";
2929
String QUERY = "io.ebean.Query";
30+
String TRANSACTION = "io.ebean.Transaction";
3031

3132
String MODULEINFO = "io.ebean.config.ModuleInfo";
3233
String METAINF_MANIFEST = "META-INF/ebean-generated-info.mf";

src/main/java/io/ebean/querybean/generator/SimpleQueryBeanWriter.java

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import static io.ebean.querybean.generator.Constants.TQASSOCBEAN;
2222
import static io.ebean.querybean.generator.Constants.TQPROPERTY;
2323
import static io.ebean.querybean.generator.Constants.TQROOTBEAN;
24+
import static io.ebean.querybean.generator.Constants.TRANSACTION;
2425
import static io.ebean.querybean.generator.Constants.TYPEQUERYBEAN;
2526

2627
/**
@@ -77,6 +78,8 @@ private void gatherPropertyDetails() {
7778
importTypes.add(DATABASE);
7879
importTypes.add(FETCHGROUP);
7980
importTypes.add(QUERY);
81+
importTypes.add(TRANSACTION);
82+
8083
if (dbName != null) {
8184
importTypes.add(DB);
8285
}
@@ -199,15 +202,6 @@ private void writeRootBeanConstructor() {
199202
writer.append(" }").eol();
200203
writer.eol();
201204

202-
writer.eol();
203-
writer.append(" /**").eol();
204-
writer.append(" * Construct with a given Database.").eol();
205-
writer.append(" */").eol();
206-
writer.append(" public Q%s(Database server) {", shortName).eol();
207-
writer.append(" super(%s.class, server);", shortName).eol();
208-
writer.append(" }").eol();
209-
writer.eol();
210-
211205
String name = (dbName == null) ? "default" : dbName;
212206
writer.append(" /**").eol();
213207
writer.append(" * Construct using the %s Database.", name).eol();
@@ -219,6 +213,27 @@ private void writeRootBeanConstructor() {
219213
writer.append(" super(%s.class, DB.byName(\"%s\"));", shortName, dbName).eol();
220214
}
221215
writer.append(" }").eol();
216+
writer.eol();
217+
218+
writer.append(" /**").eol();
219+
writer.append(" * Construct with a given transaction.", name).eol();
220+
writer.append(" */").eol();
221+
writer.append(" public Q%s(Transaction transaction) {", shortName).eol();
222+
if (dbName == null) {
223+
writer.append(" super(%s.class, transaction);", shortName).eol();
224+
} else {
225+
writer.append(" super(%s.class, DB.byName(\"%s\"), transaction);", shortName, dbName).eol();
226+
}
227+
writer.append(" }").eol();
228+
229+
writer.eol();
230+
writer.append(" /**").eol();
231+
writer.append(" * Construct with a given Database.").eol();
232+
writer.append(" */").eol();
233+
writer.append(" public Q%s(Database database) {", shortName).eol();
234+
writer.append(" super(%s.class, database);", shortName).eol();
235+
writer.append(" }").eol();
236+
writer.eol();
222237

223238
writer.eol();
224239
writer.append(" /**").eol();

0 commit comments

Comments
 (0)