From cdbdd98d3602c0f920fa107244baa7f85c48f965 Mon Sep 17 00:00:00 2001 From: Rob Bygrave Date: Sun, 31 Mar 2024 11:44:32 +1300 Subject: [PATCH 1/3] querybeans: #3374 - Add copy() method to TQRootBean --- .../src/main/java/io/ebean/typequery/TQRootBean.java | 5 +++++ .../java/io/ebean/querybean/generator/KotlinLangAdapter.java | 2 +- .../io/ebean/querybean/generator/SimpleQueryBeanWriter.java | 1 + 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/ebean-querybean/src/main/java/io/ebean/typequery/TQRootBean.java b/ebean-querybean/src/main/java/io/ebean/typequery/TQRootBean.java index aab9c375d..6d414db9d 100644 --- a/ebean-querybean/src/main/java/io/ebean/typequery/TQRootBean.java +++ b/ebean-querybean/src/main/java/io/ebean/typequery/TQRootBean.java @@ -153,6 +153,11 @@ public abstract class TQRootBean { return ((SpiFetchGroupQuery) query()).buildFetchGroup(); } + /** + * Return a copy of the query bean. + */ + public abstract R copy(); + /** * Return the underlying query. *

diff --git a/kotlin-querybean-generator/src/main/java/io/ebean/querybean/generator/KotlinLangAdapter.java b/kotlin-querybean-generator/src/main/java/io/ebean/querybean/generator/KotlinLangAdapter.java index 00b0f1978..4728ac827 100644 --- a/kotlin-querybean-generator/src/main/java/io/ebean/querybean/generator/KotlinLangAdapter.java +++ b/kotlin-querybean-generator/src/main/java/io/ebean/querybean/generator/KotlinLangAdapter.java @@ -88,7 +88,7 @@ class KotlinLangAdapter implements LangAdapter { writer.eol(); writer.append(" /** Return a copy of the query. */").eol(); - writer.append(" fun copy() : Q%s {", shortName).eol(); + writer.append(" override fun copy() : Q%s {", shortName).eol(); writer.append(" return Q%s(query().copy())", shortName).eol(); writer.append(" }").eol(); writer.eol(); diff --git a/querybean-generator/src/main/java/io/ebean/querybean/generator/SimpleQueryBeanWriter.java b/querybean-generator/src/main/java/io/ebean/querybean/generator/SimpleQueryBeanWriter.java index 7b6c8aa66..dc66eb94c 100644 --- a/querybean-generator/src/main/java/io/ebean/querybean/generator/SimpleQueryBeanWriter.java +++ b/querybean-generator/src/main/java/io/ebean/querybean/generator/SimpleQueryBeanWriter.java @@ -197,6 +197,7 @@ class SimpleQueryBeanWriter { writer.eol(); writer.append(" /** Return a copy of the query bean. */").eol(); + writer.append(" @Override").eol(); writer.append(" public Q%s copy() {", shortName).eol(); writer.append(" return new Q%s(query().copy());", shortName).eol(); writer.append(" }").eol(); From 7f56aff9dd8ee4e9bdb9dc30930fb8a000a0919c Mon Sep 17 00:00:00 2001 From: Rob Bygrave Date: Sun, 31 Mar 2024 11:49:58 +1300 Subject: [PATCH 2/3] Bump kotlin-querybean-generator --- tests/test-kotlin/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test-kotlin/pom.xml b/tests/test-kotlin/pom.xml index fc9bc8934..bbb93e2f6 100644 --- a/tests/test-kotlin/pom.xml +++ b/tests/test-kotlin/pom.xml @@ -92,7 +92,7 @@ io.ebean kotlin-querybean-generator - 14.0.0 + 14.0.2 From ff426319f5b6471bb81c4d6e0751d95dfcd670ea Mon Sep 17 00:00:00 2001 From: Rob Bygrave Date: Mon, 1 Apr 2024 09:02:13 +1300 Subject: [PATCH 3/3] Fix deprecated annotation for kotlin-querybean-generator --- .../java/io/ebean/querybean/generator/KotlinLangAdapter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kotlin-querybean-generator/src/main/java/io/ebean/querybean/generator/KotlinLangAdapter.java b/kotlin-querybean-generator/src/main/java/io/ebean/querybean/generator/KotlinLangAdapter.java index 4728ac827..08c03cad8 100644 --- a/kotlin-querybean-generator/src/main/java/io/ebean/querybean/generator/KotlinLangAdapter.java +++ b/kotlin-querybean-generator/src/main/java/io/ebean/querybean/generator/KotlinLangAdapter.java @@ -63,7 +63,7 @@ class KotlinLangAdapter implements LangAdapter { writer.append(" /**").eol(); writer.append(" * @deprecated migrate to query.usingTransaction()", name).eol(); writer.append(" */").eol(); - writer.append(" @Deprecated").eol(); + writer.append(" @Deprecated(message=\"migrate to query.usingTransaction()\")").eol(); if (dbName == null) { writer.append(" constructor(transaction: io.ebean.Transaction) : super(%s::class.java, transaction)", fullName).eol().eol(); } else {