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]

Reply via email to