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 23b11bfafa Fixing after OpenSearch upgrade
23b11bfafa is described below

commit 23b11bfafa0dd04008afd2c8de4fe7807875d827
Author: Francesco Chicchiriccò <[email protected]>
AuthorDate: Wed Jun 10 17:25:07 2026 +0200

    Fixing after OpenSearch upgrade
---
 .../syncope/core/provisioning/java/DefaultAuditManager.java      | 9 ++++++---
 .../ext/opensearch/client/OpenSearchClientFactoryBean.java       | 5 ++++-
 .../core/persistence/opensearch/dao/OpenSearchAnySearchDAO.java  | 8 ++++----
 3 files changed, 14 insertions(+), 8 deletions(-)

diff --git 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultAuditManager.java
 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultAuditManager.java
index b28a72c09f..fd94060eb2 100644
--- 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultAuditManager.java
+++ 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultAuditManager.java
@@ -21,6 +21,7 @@ package org.apache.syncope.core.provisioning.java;
 import java.time.OffsetDateTime;
 import java.util.Arrays;
 import java.util.List;
+import java.util.Objects;
 import java.util.Optional;
 import org.apache.commons.lang3.SerializationUtils;
 import org.apache.syncope.common.lib.request.UserCR;
@@ -182,17 +183,19 @@ public class DefaultAuditManager implements AuditManager {
                     auditEvent.setOpEvent(opEvent.toString());
                     auditEvent.setWho(who);
                     auditEvent.setWhen(OffsetDateTime.now());
-                    
auditEvent.setBefore(POJOHelper.serialize((maskSensitive(before))));
+                    Optional.ofNullable(before).
+                            ifPresent(b -> 
auditEvent.setBefore(POJOHelper.serialize((maskSensitive(b)))));
 
                     Optional.ofNullable(input).ifPresent(in -> 
auditEvent.setInputs(Arrays.stream(in).
-                            
map(DefaultAuditManager::maskSensitive).map(POJOHelper::serialize).
+                            
filter(Objects::nonNull).map(DefaultAuditManager::maskSensitive).map(POJOHelper::serialize).
                             toList()));
 
                     if (output instanceof Throwable throwable) {
                         auditEvent.setOutput(throwable.getMessage());
                         
auditEvent.setThrowable(ExceptionUtils2.getFullStackTrace(throwable));
                     } else {
-                        
auditEvent.setOutput(POJOHelper.serialize((maskSensitive(output))));
+                        Optional.ofNullable(output).
+                                ifPresent(out -> 
auditEvent.setOutput(POJOHelper.serialize((maskSensitive(out)))));
                     }
 
                     auditEventDAO.save(auditEvent);
diff --git 
a/ext/opensearch/client-opensearch/src/main/java/org/apache/syncope/ext/opensearch/client/OpenSearchClientFactoryBean.java
 
b/ext/opensearch/client-opensearch/src/main/java/org/apache/syncope/ext/opensearch/client/OpenSearchClientFactoryBean.java
index 9a43eebb4c..3e8a1bcb7c 100644
--- 
a/ext/opensearch/client-opensearch/src/main/java/org/apache/syncope/ext/opensearch/client/OpenSearchClientFactoryBean.java
+++ 
b/ext/opensearch/client-opensearch/src/main/java/org/apache/syncope/ext/opensearch/client/OpenSearchClientFactoryBean.java
@@ -31,6 +31,7 @@ import 
org.opensearch.client.transport.httpclient5.ApacheHttpClient5Transport;
 import 
org.opensearch.client.transport.httpclient5.ApacheHttpClient5TransportBuilder;
 import org.springframework.beans.factory.DisposableBean;
 import org.springframework.beans.factory.FactoryBean;
+import tools.jackson.databind.DeserializationFeature;
 import tools.jackson.databind.json.JsonMapper;
 
 /**
@@ -96,7 +97,9 @@ public class OpenSearchClientFactoryBean implements 
FactoryBean<OpenSearchClient
             if (client == null) {
                 ApacheHttpClient5TransportBuilder builder = 
ApacheHttpClient5TransportBuilder.
                         builder(hosts.toArray(HttpHost[]::new)).
-                        setMapper(new 
JacksonJsonpMapper(JsonMapper.builder().findAndAddModules().build()));
+                        setMapper(new JacksonJsonpMapper(JsonMapper.builder().
+                                
configure(DeserializationFeature.FAIL_ON_TRAILING_TOKENS, false).
+                                findAndAddModules().build()));
                 if (username != null && password != null) {
                     String encodedAuth = Base64.getEncoder().
                             encodeToString((username + ":" + 
password).getBytes(StandardCharsets.UTF_8));
diff --git 
a/ext/opensearch/persistence/src/main/java/org/apache/syncope/core/persistence/opensearch/dao/OpenSearchAnySearchDAO.java
 
b/ext/opensearch/persistence/src/main/java/org/apache/syncope/core/persistence/opensearch/dao/OpenSearchAnySearchDAO.java
index d27fb819f1..d3ff0f8124 100644
--- 
a/ext/opensearch/persistence/src/main/java/org/apache/syncope/core/persistence/opensearch/dao/OpenSearchAnySearchDAO.java
+++ 
b/ext/opensearch/persistence/src/main/java/org/apache/syncope/core/persistence/opensearch/dao/OpenSearchAnySearchDAO.java
@@ -275,16 +275,16 @@ public class OpenSearchAnySearchDAO extends 
AbstractAnySearchDAO {
                 build();
         LOG.debug("Search request: {}", request);
 
-        List<Hit<Void>> esResult = null;
+        List<Hit<Void>> osResult = null;
         try {
-            esResult = client.search(request, Void.class).hits().hits();
+            osResult = client.search(request, Void.class).hits().hits();
         } catch (Exception e) {
             LOG.error("While searching in OpenSearch with request {}", 
request, e);
         }
 
-        return CollectionUtils.isEmpty(esResult)
+        return CollectionUtils.isEmpty(osResult)
                 ? List.of()
-                : 
buildResult(esResult.stream().map(Hit::id).collect(Collectors.toList()), kind);
+                : 
buildResult(osResult.stream().map(Hit::id).collect(Collectors.toList()), kind);
     }
 
     protected Query getQuery(final SearchCond cond, final AnyTypeKind kind) {

Reply via email to