This is an automated email from the ASF dual-hosted git repository.
gitgabrio pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-kie-drools.git
The following commit(s) were added to refs/heads/main by this push:
new 544819229f [incubator-kie-issues#1473] Add withTransactional method to
DependencyInjectionAnnotator (#6090)
544819229f is described below
commit 544819229f99ffe0922d81aead90bb470dedf03b
Author: Gabriele Cardosi <[email protected]>
AuthorDate: Thu Oct 3 12:04:21 2024 +0200
[incubator-kie-issues#1473] Add withTransactional method to
DependencyInjectionAnnotator (#6090)
* [incubator-kie-issues#1473] Add withTransactional method to
DependencyInjectionAnnotator
* [incubator-kie-issues#1473] Refactoring DependencyInjectionAnnotator. Add
"Patch" annotation to RestAnnotators
* [incubator-kie-issues#1473] Restore formatting
---------
Co-authored-by: Gabriele-Cardosi <[email protected]>
---
.../codegen/common/di/DependencyInjectionAnnotator.java | 12 ++++++++++++
.../common/di/impl/CDIDependencyInjectionAnnotator.java | 5 +++++
.../common/di/impl/SpringDependencyInjectionAnnotator.java | 13 +++++++++----
.../drools/codegen/common/rest/impl/CDIRestAnnotator.java | 2 +-
.../codegen/common/rest/impl/SpringRestAnnotator.java | 2 +-
5 files changed, 28 insertions(+), 6 deletions(-)
diff --git
a/drools-model/drools-codegen-common/src/main/java/org/drools/codegen/common/di/DependencyInjectionAnnotator.java
b/drools-model/drools-codegen-common/src/main/java/org/drools/codegen/common/di/DependencyInjectionAnnotator.java
index 133e55e433..1446895fe5 100644
---
a/drools-model/drools-codegen-common/src/main/java/org/drools/codegen/common/di/DependencyInjectionAnnotator.java
+++
b/drools-model/drools-codegen-common/src/main/java/org/drools/codegen/common/di/DependencyInjectionAnnotator.java
@@ -160,6 +160,18 @@ public interface DependencyInjectionAnnotator {
*/
<T extends NodeWithAnnotations<?>> T withConfigInjection(T node, String
configKey, String defaultValue);
+ /**
+ * Annotates given node with Transactional annotation
+ *
+ * @param node node to be annotated
+ */
+ default <T extends NodeWithAnnotations<?>> T withTransactional(T node) {
+ node.addAnnotation(getTransactionalAnnotation());
+ return node;
+ }
+
+ String getTransactionalAnnotation();
+
/**
* Annotates and enhances method used to produce messages
*
diff --git
a/drools-model/drools-codegen-common/src/main/java/org/drools/codegen/common/di/impl/CDIDependencyInjectionAnnotator.java
b/drools-model/drools-codegen-common/src/main/java/org/drools/codegen/common/di/impl/CDIDependencyInjectionAnnotator.java
index 0631364e81..b4398bfbd7 100644
---
a/drools-model/drools-codegen-common/src/main/java/org/drools/codegen/common/di/impl/CDIDependencyInjectionAnnotator.java
+++
b/drools-model/drools-codegen-common/src/main/java/org/drools/codegen/common/di/impl/CDIDependencyInjectionAnnotator.java
@@ -178,6 +178,11 @@ public class CDIDependencyInjectionAnnotator implements
DependencyInjectionAnnot
return node;
}
+ @Override
+ public String getTransactionalAnnotation() {
+ return "jakarta.transaction.Transactional";
+ }
+
@Override
public <T extends NodeWithAnnotations<?>> T withTagAnnotation(T node,
NodeList<MemberValuePair> attributes) {
node.addAnnotation(new NormalAnnotationExpr(new
Name("org.eclipse.microprofile.openapi.annotations.tags.Tag"), attributes));
diff --git
a/drools-model/drools-codegen-common/src/main/java/org/drools/codegen/common/di/impl/SpringDependencyInjectionAnnotator.java
b/drools-model/drools-codegen-common/src/main/java/org/drools/codegen/common/di/impl/SpringDependencyInjectionAnnotator.java
index d9a5edf7f5..b54a1b517d 100644
---
a/drools-model/drools-codegen-common/src/main/java/org/drools/codegen/common/di/impl/SpringDependencyInjectionAnnotator.java
+++
b/drools-model/drools-codegen-common/src/main/java/org/drools/codegen/common/di/impl/SpringDependencyInjectionAnnotator.java
@@ -18,6 +18,10 @@
*/
package org.drools.codegen.common.di.impl;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Optional;
+
import com.github.javaparser.ast.NodeList;
import com.github.javaparser.ast.expr.BinaryExpr;
import com.github.javaparser.ast.expr.BooleanLiteralExpr;
@@ -36,10 +40,6 @@ import
com.github.javaparser.ast.nodeTypes.NodeWithAnnotations;
import com.github.javaparser.ast.type.ClassOrInterfaceType;
import org.drools.codegen.common.di.DependencyInjectionAnnotator;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Optional;
-
public class SpringDependencyInjectionAnnotator implements
DependencyInjectionAnnotator {
@Override
@@ -181,6 +181,11 @@ public class SpringDependencyInjectionAnnotator implements
DependencyInjectionAn
return node;
}
+ @Override
+ public String getTransactionalAnnotation() {
+ return "org.springframework.transaction.annotation.Transactional";
+ }
+
@Override
public <T extends NodeWithAnnotations<?>> T withFactoryMethod(T node) {
node.addAnnotation("org.springframework.context.annotation.Bean");
diff --git
a/drools-model/drools-codegen-common/src/main/java/org/drools/codegen/common/rest/impl/CDIRestAnnotator.java
b/drools-model/drools-codegen-common/src/main/java/org/drools/codegen/common/rest/impl/CDIRestAnnotator.java
index 600eff5f83..7ce162e585 100644
---
a/drools-model/drools-codegen-common/src/main/java/org/drools/codegen/common/rest/impl/CDIRestAnnotator.java
+++
b/drools-model/drools-codegen-common/src/main/java/org/drools/codegen/common/rest/impl/CDIRestAnnotator.java
@@ -29,7 +29,7 @@ public class CDIRestAnnotator implements RestAnnotator {
@Override
public <T extends NodeWithAnnotations<?>> boolean isRestAnnotated(T node) {
- return Stream.of("POST", "GET", "PUT", "DELETE")
+ return Stream.of("POST", "GET", "PUT", "DELETE", "PATCH")
.map(node::getAnnotationByName)
.anyMatch(Optional::isPresent);
}
diff --git
a/drools-model/drools-codegen-common/src/main/java/org/drools/codegen/common/rest/impl/SpringRestAnnotator.java
b/drools-model/drools-codegen-common/src/main/java/org/drools/codegen/common/rest/impl/SpringRestAnnotator.java
index 1258b4d9d5..7d480c5f32 100644
---
a/drools-model/drools-codegen-common/src/main/java/org/drools/codegen/common/rest/impl/SpringRestAnnotator.java
+++
b/drools-model/drools-codegen-common/src/main/java/org/drools/codegen/common/rest/impl/SpringRestAnnotator.java
@@ -29,7 +29,7 @@ public class SpringRestAnnotator implements RestAnnotator {
@Override
public <T extends NodeWithAnnotations<?>> boolean isRestAnnotated(T node) {
- return Stream.of("PostMapping", "GetMapping", "PutMapping",
"DeleteMapping")
+ return Stream.of("PostMapping", "GetMapping", "PutMapping",
"DeleteMapping", "PatchMapping")
.map(node::getAnnotationByName)
.anyMatch(Optional::isPresent);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]