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) {