Skip to content

Commit d594f0e

Browse files
authored
Merge pull request #218 from ebean-orm/feature/fluid-queryBuilders
Support fluid QueryBuilder, QueryBean etc
2 parents 8f6d26f + f306cbb commit d594f0e

File tree

6 files changed

+15
-4
lines changed

6 files changed

+15
-4
lines changed

ebean-agent/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
<groupId>io.ebean</groupId>
1111
<artifactId>ebean-agent</artifactId>
12-
<version>14.7.0</version>
12+
<version>14.7.1</version>
1313
<packaging>jar</packaging>
1414

1515
<name>ebean-agent</name>

ebean-agent/src/main/java/io/ebean/enhance/common/EnhanceContext.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -494,6 +494,10 @@ public boolean improvedQueryBeans() {
494494
return enhancementVersion >= 145;
495495
}
496496

497+
public boolean fluidQueryBuilders() {
498+
return enhancementVersion >= 148;
499+
}
500+
497501
public ProfileLineNumberMode profileLineMode() {
498502
return profileLineNumberMode;
499503
}

ebean-agent/src/main/java/io/ebean/enhance/transactional/ClassAdapterTransactional.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -330,6 +330,10 @@ private void addStaticInitialiser() {
330330
mv.visitEnd();
331331
}
332332

333+
boolean fluidQueryBuilders() {
334+
return enhanceContext.fluidQueryBuilders();
335+
}
336+
333337
/**
334338
* Return true if profile location enhancement is on.
335339
*/

ebean-agent/src/main/java/io/ebean/enhance/transactional/ProfileMethodInstruction.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,10 @@ public void visitMethodInsn(int opcode, String owner, String name, String desc,
3333
classAdapter.log("add profile location " + fieldIdx);
3434
}
3535
mv.visitFieldInsn(GETSTATIC, classAdapter.className(), QP_FIELD_PREFIX + fieldIdx, "Lio/ebean/ProfileLocation;");
36-
mv.visitMethodInsn(INVOKEVIRTUAL, owner, "setProfileLocation", "(Lio/ebean/ProfileLocation;)Ljava/lang/Object;", false);
36+
String descriptor = classAdapter.fluidQueryBuilders()
37+
? "(Lio/ebean/ProfileLocation;)Lio/ebean/typequery/QueryBean;"
38+
: "(Lio/ebean/ProfileLocation;)Ljava/lang/Object;";
39+
mv.visitMethodInsn(INVOKEVIRTUAL, owner, "setProfileLocation", descriptor, false);
3740
mv.visitTypeInsn(CHECKCAST, owner);
3841
}
3942

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
<groupId>io.ebean</groupId>
1111
<artifactId>ebean-agent-reactor</artifactId>
12-
<version>14.7.0</version>
12+
<version>14.7.1</version>
1313
<packaging>pom</packaging>
1414
<name>ebean agent reactor</name>
1515

test/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>io.ebean</groupId>
77
<artifactId>ebean-agent-reactor</artifactId>
8-
<version>14.7.0</version>
8+
<version>14.7.1</version>
99
</parent>
1010

1111
<artifactId>ebean-agent-test</artifactId>

0 commit comments

Comments
 (0)