From bb48314263039c5b3ecce920ad6f1690db978514 Mon Sep 17 00:00:00 2001 From: TatoniMatteo Date: Tue, 10 Mar 2026 16:16:45 +0100 Subject: [PATCH 1/2] [SYNCOPE-1951] Fix Realm search console and clean code - Show AND/OR switch on first clause in RealmSearchPanel - Remove unnecessary logger in ElasticsearchRealmSearchDAO - Remove unnecessary toString in AbstractJPARealmSearchDAO - Add console.page.anys properties in console.properties --- .../client/console/panels/search/RealmSearchPanel.java | 4 ++-- client/idrepo/console/src/main/resources/console.properties | 1 + .../core/persistence/jpa/dao/AbstractJPARealmSearchDAO.java | 3 +-- .../elasticsearch/dao/ElasticsearchRealmSearchDAO.java | 4 ---- 4 files changed, 4 insertions(+), 8 deletions(-) diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/search/RealmSearchPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/search/RealmSearchPanel.java index e3e00f9e47..f57dd33f75 100644 --- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/search/RealmSearchPanel.java +++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/search/RealmSearchPanel.java @@ -139,7 +139,7 @@ public void adjust( @Override public boolean showOperator(final int index, final SearchClause currentClause) { - return isNotBaseClause(currentClause, index); + return index > 1; } }); } @@ -304,6 +304,6 @@ protected static boolean isNotBaseClause(final SearchClause clause, final int in return clause == null || clause.getType() != SearchClause.Type.CUSTOM || !FULLPATH.equals(clause.getProperty()) - || index > 1; + || index > 0; } } diff --git a/client/idrepo/console/src/main/resources/console.properties b/client/idrepo/console/src/main/resources/console.properties index 13639f89d7..275912c427 100644 --- a/client/idrepo/console/src/main/resources/console.properties +++ b/client/idrepo/console/src/main/resources/console.properties @@ -53,6 +53,7 @@ console.adminUser=${adminUser} console.page.dashboard=org.apache.syncope.client.console.pages.Dashboard console.page.realms=org.apache.syncope.client.console.pages.Realms +console.page.anys=org.apache.syncope.client.console.pages.Anys console.page.reports=org.apache.syncope.client.console.pages.Reports console.page.audit=org.apache.syncope.client.console.pages.Audit console.page.implementations=org.apache.syncope.client.console.pages.Implementations diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/AbstractJPARealmSearchDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/AbstractJPARealmSearchDAO.java index 1d01c9651f..4b827d01bc 100644 --- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/AbstractJPARealmSearchDAO.java +++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/AbstractJPARealmSearchDAO.java @@ -555,8 +555,7 @@ protected List doSearch(final Set bases, final SearchCond cond, f obs.items.forEach(item -> queryString.append(',').append(item.select)); queryString.append(" FROM ").append(buildFrom(queryInfo.plainSchemas(), obs)). - append(" WHERE ").append(buildWhere(bases, queryInfo, parameters)). - toString(); + append(" WHERE ").append(buildWhere(bases, queryInfo, parameters)); if (!obs.items.isEmpty()) { queryString.append(" ORDER BY "). diff --git a/ext/elasticsearch/persistence/src/main/java/org/apache/syncope/core/persistence/elasticsearch/dao/ElasticsearchRealmSearchDAO.java b/ext/elasticsearch/persistence/src/main/java/org/apache/syncope/core/persistence/elasticsearch/dao/ElasticsearchRealmSearchDAO.java index b45db3ed21..5470fb57f4 100644 --- a/ext/elasticsearch/persistence/src/main/java/org/apache/syncope/core/persistence/elasticsearch/dao/ElasticsearchRealmSearchDAO.java +++ b/ext/elasticsearch/persistence/src/main/java/org/apache/syncope/core/persistence/elasticsearch/dao/ElasticsearchRealmSearchDAO.java @@ -64,16 +64,12 @@ import org.apache.syncope.core.persistence.common.dao.AbstractRealmSearchDAO; import org.apache.syncope.core.spring.security.AuthContextUtils; import org.apache.syncope.ext.elasticsearch.client.ElasticsearchUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort; import org.springframework.transaction.annotation.Transactional; public class ElasticsearchRealmSearchDAO extends AbstractRealmSearchDAO implements RealmSearchDAO { - protected static final Logger LOG = LoggerFactory.getLogger(RealmSearchDAO.class); - protected static final Set ID_PROPS = Set.of("key", "id", "_id"); protected static final List FULLPATH_SORT_OPTIONS = List.of( From 4618e9d342317184ea87196189b0037a0e48401d Mon Sep 17 00:00:00 2001 From: TatoniMatteo Date: Tue, 10 Mar 2026 16:26:46 +0100 Subject: [PATCH 2/2] [SYNCOPE-1951] Removed unnecessary Logger in OpenSearchRealmSearchDAO --- .../persistence/opensearch/dao/OpenSearchRealmSearchDAO.java | 5 ----- 1 file changed, 5 deletions(-) diff --git a/ext/opensearch/persistence/src/main/java/org/apache/syncope/core/persistence/opensearch/dao/OpenSearchRealmSearchDAO.java b/ext/opensearch/persistence/src/main/java/org/apache/syncope/core/persistence/opensearch/dao/OpenSearchRealmSearchDAO.java index 0d5c21fd7e..71880372ef 100644 --- a/ext/opensearch/persistence/src/main/java/org/apache/syncope/core/persistence/opensearch/dao/OpenSearchRealmSearchDAO.java +++ b/ext/opensearch/persistence/src/main/java/org/apache/syncope/core/persistence/opensearch/dao/OpenSearchRealmSearchDAO.java @@ -63,16 +63,11 @@ import org.opensearch.client.opensearch.core.SearchRequest; import org.opensearch.client.opensearch.core.search.Hit; import org.opensearch.client.opensearch.core.search.SourceConfig; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort; import org.springframework.transaction.annotation.Transactional; public class OpenSearchRealmSearchDAO extends AbstractRealmSearchDAO implements RealmSearchDAO { - - protected static final Logger LOG = LoggerFactory.getLogger(RealmSearchDAO.class); - protected static final Set ID_PROPS = Set.of("key", "id", "_id"); protected static final List FULLPATH_SORT_OPTIONS = List.of(