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

Commit e39705e

Browse files
committed
#20 - ENH: Generate query bean constructor taking Transaction
1 parent bd368f6 commit e39705e

3 files changed

Lines changed: 19 additions & 6 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/KotlinLangAdapter.java

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -69,12 +69,6 @@ public void rootBeanConstructor(Append writer, String shortName, String dbName)
6969

7070
String name = (dbName == null) ? "default" : dbName;
7171

72-
writer.eol();
73-
writer.append(" /**").eol();
74-
writer.append(" * Construct with a given Database.").eol();
75-
writer.append(" */").eol();
76-
writer.append(" constructor(database: Database) : super(%s::class.java, database)", shortName).eol().eol();
77-
7872
writer.append(" /**").eol();
7973
writer.append(" * Construct using the %s Database.", name).eol();
8074
writer.append(" */").eol();
@@ -83,6 +77,22 @@ public void rootBeanConstructor(Append writer, String shortName, String dbName)
8377
} else {
8478
writer.append(" constructor() : super(%s::class.java, DB.byName(\"%s\"))", shortName, dbName).eol().eol();
8579
}
80+
81+
writer.append(" /**").eol();
82+
writer.append(" * Construct with a given Transaction.", name).eol();
83+
writer.append(" */").eol();
84+
if (dbName == null) {
85+
writer.append(" constructor(transaction: Transaction) : super(%s::class.java, transaction)", shortName).eol().eol();
86+
} else {
87+
writer.append(" constructor(transaction: Transaction) : super(%s::class.java, DB.byName(\"%s\"), transaction)", shortName, dbName).eol().eol();
88+
}
89+
90+
writer.eol();
91+
writer.append(" /**").eol();
92+
writer.append(" * Construct with a given Database.").eol();
93+
writer.append(" */").eol();
94+
writer.append(" constructor(database: Database) : super(%s::class.java, database)", shortName).eol().eol();
95+
8696
writer.append(" /**").eol();
8797
writer.append(" * Construct for Alias.").eol();
8898
writer.append(" */").eol();

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import static io.ebean.querybean.generator.Constants.TQASSOCBEAN;
2323
import static io.ebean.querybean.generator.Constants.TQPROPERTY;
2424
import static io.ebean.querybean.generator.Constants.TQROOTBEAN;
25+
import static io.ebean.querybean.generator.Constants.TRANSACTION;
2526
import static io.ebean.querybean.generator.Constants.TYPEQUERYBEAN;
2627

2728
/**
@@ -108,6 +109,7 @@ private void gatherPropertyDetails() {
108109
importTypes.add(DATABASE);
109110
importTypes.add(FETCHGROUP);
110111
importTypes.add(QUERY);
112+
importTypes.add(TRANSACTION);
111113
if (dbName != null) {
112114
importTypes.add(DB);
113115
}

0 commit comments

Comments
 (0)