This is an automated email from the ASF dual-hosted git repository.

ilgrosso pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/syncope.git


The following commit(s) were added to refs/heads/master by this push:
     new e8b94e82d4 Ensuring opEvent parameter in AuditEvent queries
e8b94e82d4 is described below

commit e8b94e82d4d63a2bdc2e49063dd64b14da9efe2b
Author: Francesco Chicchiriccò <[email protected]>
AuthorDate: Wed Oct 21 10:59:32 2026 +0200

    Ensuring opEvent parameter in AuditEvent queries
---
 .../core/persistence/jpa/dao/JPAAuditEventDAO.java        | 14 ++++++++------
 .../core/persistence/neo4j/dao/Neo4jAuditEventDAO.java    | 15 +++++++--------
 2 files changed, 15 insertions(+), 14 deletions(-)

diff --git 
a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAuditEventDAO.java
 
b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAuditEventDAO.java
index f80667d705..3b3cd719d2 100644
--- 
a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAuditEventDAO.java
+++ 
b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAuditEventDAO.java
@@ -97,12 +97,14 @@ public class JPAAuditEventDAO extends AbstractAuditEventDAO 
implements AuditEven
                 final String category,
                 final String subcategory,
                 final String op,
-                final OpEvent.Outcome outcome) {
+                final OpEvent.Outcome outcome,
+                final List<Object> parameters) {
 
             query.append(andIfNeeded()).
-                    append("opEvent LIKE '").
-                    append(toOpEvent(type, category, subcategory, op, 
outcome).replace("[]", "[%]")).
-                    append("'");
+                    append("opEvent LIKE ?").append(setParameter(
+                    parameters,
+                    toOpEvent(type, category, subcategory, op, 
outcome).replace("[]", "[%]"))).
+                    append(" ESCAPE '#'");
 
             return this;
         }
@@ -174,7 +176,7 @@ public class JPAAuditEventDAO extends AbstractAuditEventDAO 
implements AuditEven
                 + " WHERE" + criteriaBuilder(entityKey).
                         username(username, parameters).
                         who(who, parameters).
-                        opEvent(type, category, subcategory, op, outcome).
+                        opEvent(type, category, subcategory, op, outcome, 
parameters).
                         before(before, parameters).
                         after(after, parameters).
                         build();
@@ -205,7 +207,7 @@ public class JPAAuditEventDAO extends AbstractAuditEventDAO 
implements AuditEven
                 + " WHERE" + criteriaBuilder(entityKey).
                         username(username, parameters).
                         who(who, parameters).
-                        opEvent(type, category, subcategory, op, outcome).
+                        opEvent(type, category, subcategory, op, outcome, 
parameters).
                         before(before, parameters).
                         after(after, parameters).
                         build();
diff --git 
a/core/persistence-neo4j/src/main/java/org/apache/syncope/core/persistence/neo4j/dao/Neo4jAuditEventDAO.java
 
b/core/persistence-neo4j/src/main/java/org/apache/syncope/core/persistence/neo4j/dao/Neo4jAuditEventDAO.java
index 26615362c7..c37947d7e1 100644
--- 
a/core/persistence-neo4j/src/main/java/org/apache/syncope/core/persistence/neo4j/dao/Neo4jAuditEventDAO.java
+++ 
b/core/persistence-neo4j/src/main/java/org/apache/syncope/core/persistence/neo4j/dao/Neo4jAuditEventDAO.java
@@ -87,13 +87,12 @@ public class Neo4jAuditEventDAO extends 
AbstractAuditEventDAO implements AuditEv
                 final String category,
                 final String subcategory,
                 final String op,
-                final OpEvent.Outcome outcome) {
+                final OpEvent.Outcome outcome,
+                final Map<String, Object> parameters) {
 
-            query.append(andIfNeeded()).
-                    append("n.opEvent =~ '").
-                    append(toOpEvent(type, category, subcategory, op, outcome).
-                            replace("[", "\\[").replace("]", 
"\\]").replace("\\[\\]", "\\[.*\\]")).
-                    append("'");
+            parameters.put("opEvent", toOpEvent(type, category, subcategory, 
op, outcome).
+                    replace("[", "\\[").replace("]", "\\]").replace("\\[\\]", 
"\\[.*\\]"));
+            query.append(andIfNeeded()).append("n.opEvent =~ $opEvent");
 
             return this;
         }
@@ -164,7 +163,7 @@ public class Neo4jAuditEventDAO extends 
AbstractAuditEventDAO implements AuditEv
                 + " WHERE " + criteriaBuilder(entityKey).
                         username(username, parameters).
                         who(who, parameters).
-                        opEvent(type, category, subcategory, op, outcome).
+                        opEvent(type, category, subcategory, op, outcome, 
parameters).
                         before(before, parameters).
                         after(after, parameters).
                         build()
@@ -193,7 +192,7 @@ public class Neo4jAuditEventDAO extends 
AbstractAuditEventDAO implements AuditEv
                 + "WHERE " + criteriaBuilder(entityKey).
                         username(username, parameters).
                         who(who, parameters).
-                        opEvent(type, category, subcategory, op, outcome).
+                        opEvent(type, category, subcategory, op, outcome, 
parameters).
                         before(before, parameters).
                         after(after, parameters).
                         build()

Reply via email to