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 2064d9ebb3 Chore: switch explicit args to lambdas (#1014)
2064d9ebb3 is described below

commit 2064d9ebb3a7d3a08a7265772aaa595237209644
Author: Misagh Moayyed <[email protected]>
AuthorDate: Thu Mar 6 13:25:21 2025 +0400

    Chore: switch explicit args to lambdas (#1014)
---
 .../wizards/resources/ResourceConnCapabilitiesPanel.java      |  2 +-
 .../syncope/client/ui/commons/panels/SyncopeFormPanel.java    |  2 +-
 .../org/apache/syncope/client/console/panels/BeanPanel.java   |  2 +-
 .../client/console/panels/search/SearchClausePanel.java       |  6 +++---
 .../apache/syncope/client/console/wizards/WizardMgtPanel.java | 11 ++++++-----
 .../syncope/client/console/wizards/any/AbstractAttrs.java     |  2 +-
 .../client/console/wizards/any/AbstractAttrsWizardStep.java   |  2 +-
 .../apache/syncope/core/logic/wa/GoogleMfaAuthTokenLogic.java |  2 +-
 .../org/apache/syncope/core/logic/wa/ImpersonationLogic.java  |  2 +-
 .../org/apache/syncope/core/logic/wa/MfaTrusStorageLogic.java |  2 +-
 .../core/rest/cxf/service/ReconciliationServiceImpl.java      |  4 ++--
 .../syncope/core/persistence/api/utils/ConnPoolConfUtils.java | 11 ++++++-----
 .../core/persistence/jpa/content/XMLContentExporter.java      |  2 +-
 .../core/persistence/jpa/dao/MySQLJPAAnySearchDAO.java        |  2 +-
 .../core/persistence/jpa/dao/OracleJPAAnySearchDAO.java       |  2 +-
 .../syncope/core/persistence/jpa/dao/PGJPAAnySearchDAO.java   |  2 +-
 .../core/persistence/jpa/dao/repo/GroupRepoExtImpl.java       |  2 +-
 .../syncope/core/persistence/jpa/entity/JPAAuditEvent.java    |  2 +-
 .../syncope/core/persistence/jpa/entity/JPASRARoute.java      |  4 ++--
 .../core/persistence/jpa/entity/am/JPAWAConfigEntry.java      |  2 +-
 .../core/persistence/jpa/entity/task/JPAFormPropertyDef.java  |  3 ++-
 .../syncope/core/persistence/neo4j/dao/Neo4jAnySearchDAO.java |  2 +-
 .../syncope/core/persistence/neo4j/dao/Neo4jBatchDAO.java     |  2 +-
 .../core/persistence/neo4j/dao/repo/GroupRepoExtImpl.java     |  2 +-
 .../persistence/neo4j/dao/repo/PlainSchemaRepoExtImpl.java    |  2 +-
 .../persistence/neo4j/entity/AbstractGroupableRelatable.java  |  2 +-
 .../core/persistence/neo4j/entity/Neo4jAuditEvent.java        |  2 +-
 .../syncope/core/persistence/neo4j/entity/Neo4jSRARoute.java  |  4 ++--
 .../core/persistence/neo4j/entity/am/Neo4jWAConfigEntry.java  |  2 +-
 .../persistence/neo4j/entity/task/Neo4jFormPropertyDef.java   |  3 ++-
 .../core/provisioning/api/jexl/SyncopeJexlFunctions.java      |  2 +-
 .../syncope/core/provisioning/java/DefaultMappingManager.java |  2 +-
 .../core/provisioning/java/cache/VirAttrCacheValue.java       |  2 +-
 .../core/provisioning/java/data/ResourceDataBinderImpl.java   |  4 ++--
 .../provisioning/java/job/AbstractSchedTaskJobDelegate.java   |  2 +-
 .../syncope/core/provisioning/java/job/MacroJobDelegate.java  |  2 +-
 .../core/provisioning/java/job/SyncopeTaskScheduler.java      |  4 ++--
 .../provisioning/java/job/notification/NotificationJob.java   |  2 +-
 .../java/job/report/AbstractReportJobDelegate.java            |  2 +-
 .../syncope/core/provisioning/java/utils/MappingUtils.java    |  2 +-
 .../apache/syncope/core/spring/security/AuthContextUtils.java |  4 ++--
 .../syncope/core/flowable/support/SyncopeGroupQueryImpl.java  |  4 ++--
 .../syncope/core/flowable/support/SyncopeUserQueryImpl.java   |  4 ++--
 .../java/org/apache/syncope/core/logic/OIDCC4UILogic.java     |  2 +-
 .../core/persistence/jpa/entity/JPAOIDCC4UIProvider.java      |  2 +-
 .../java/org/apache/syncope/core/logic/SAML2SP4UILogic.java   |  4 ++--
 .../java/org/apache/syncope/core/logic/SCIMDataBinder.java    |  4 ++--
 .../org/apache/syncope/ext/scimv2/api/data/SCIMResource.java  |  2 +-
 .../test/java/org/apache/syncope/fit/AbstractUIITCase.java    |  2 +-
 .../test/java/org/apache/syncope/fit/core/AuditITCase.java    |  2 +-
 .../java/org/apache/syncope/fit/core/ConnectorITCase.java     |  4 ++--
 .../java/org/apache/syncope/fit/sra/AbstractOIDCITCase.java   |  2 +-
 .../java/org/apache/syncope/fit/sra/AbstractSRAITCase.java    |  2 +-
 .../test/java/org/apache/syncope/fit/ui/OpenFGAUIITCase.java  |  2 +-
 .../syncope/sra/security/saml2/SAML2AuthenticationToken.java  |  2 +-
 .../wa/bootstrap/mapping/AuthModulePropertySourceMapper.java  |  6 +++---
 .../java/org/apache/syncope/wa/starter/config/WAContext.java  |  2 +-
 .../apache/syncope/wa/starter/mapping/DefaultAuthMapper.java  |  2 +-
 58 files changed, 85 insertions(+), 81 deletions(-)

diff --git 
a/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceConnCapabilitiesPanel.java
 
b/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceConnCapabilitiesPanel.java
index be835d8f38..c6662bb1d5 100644
--- 
a/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceConnCapabilitiesPanel.java
+++ 
b/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceConnCapabilitiesPanel.java
@@ -59,7 +59,7 @@ public class ResourceConnCapabilitiesPanel extends WizardStep 
{
                             }
                             return object;
                         }).
-                        orElse(List.of());
+                    orElseGet(List::of);
             }
 
             @Override
diff --git 
a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/panels/SyncopeFormPanel.java
 
b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/panels/SyncopeFormPanel.java
index 0ee3784d77..cf8d4a6b25 100644
--- 
a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/panels/SyncopeFormPanel.java
+++ 
b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/panels/SyncopeFormPanel.java
@@ -165,7 +165,7 @@ public class SyncopeFormPanel<F extends SyncopeForm> 
extends Panel {
                                 public List<String> getObject() {
                                     return 
Optional.ofNullable(prop.getValue()).
                                             map(v -> List.of(v.split(";"))).
-                                            orElse(List.of());
+                                        orElseGet(List::of);
                                 }
 
                                 @Override
diff --git 
a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/BeanPanel.java
 
b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/BeanPanel.java
index acbba9061a..89ed73d38d 100644
--- 
a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/BeanPanel.java
+++ 
b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/BeanPanel.java
@@ -183,7 +183,7 @@ public class BeanPanel<T extends Serializable> extends 
Panel {
                     List<SearchClause> clauses = Optional.ofNullable(fiql).
                             map(f -> SearchUtils.getSearchClauses(f.replaceAll(
                             
SearchUtils.getTypeConditionPattern(scondAnnot.type()).pattern(), ""))).
-                            orElse(new ArrayList<>());
+                        orElseGet(ArrayList::new);
 
                     AbstractFiqlSearchConditionBuilder<?, ?, ?> builder;
                     switch (scondAnnot.type()) {
diff --git 
a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/search/SearchClausePanel.java
 
b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/search/SearchClausePanel.java
index c8c235e118..b68f0168ef 100644
--- 
a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/search/SearchClausePanel.java
+++ 
b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/search/SearchClausePanel.java
@@ -286,13 +286,13 @@ public class SearchClausePanel extends 
FieldPanel<SearchClause> {
                         List<Pair<String, String>> names = 
dnames.getObject().entrySet().stream().
                                 map(item -> Pair.of(
                                 item.getKey(),
-                                
Optional.ofNullable(item.getValue().getLabel(locale)).orElse(item.getKey()))).
+                                
Optional.ofNullable(item.getValue().getLabel(locale)).orElseGet(item::getKey))).
                                 collect(Collectors.toList());
                         if (anames != null && 
!CollectionUtils.isEmpty(anames.getObject())) {
                             
names.addAll(anames.getObject().entrySet().stream().
                                     map(item -> Pair.of(
                                     item.getKey(),
-                                    
Optional.ofNullable(item.getValue().getLabel(locale)).orElse(item.getKey()))).
+                                    
Optional.ofNullable(item.getValue().getLabel(locale)).orElseGet(item::getKey))).
                                 toList());
                         }
                         return names.stream().
@@ -307,7 +307,7 @@ public class SearchClausePanel extends 
FieldPanel<SearchClause> {
                         return Optional.ofNullable(roleNames).
                                 map(r -> 
r.getObject().stream().sorted().map(item -> Pair.of(item, item)).
                                 collect(Collectors.toList())).
-                                orElse(List.of());
+                            orElseGet(List::of);
 
                     case AUX_CLASS:
                         return auxClassNames.getObject().stream().sorted().
diff --git 
a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/WizardMgtPanel.java
 
b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/WizardMgtPanel.java
index 127a377f03..436ff083fe 100644
--- 
a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/WizardMgtPanel.java
+++ 
b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/WizardMgtPanel.java
@@ -201,17 +201,18 @@ public abstract class WizardMgtPanel<T extends 
Serializable> extends AbstractWiz
                     target.ifPresent(t -> t.add(modal.setContent(modalPanel)));
 
                     
modal.header(Optional.ofNullable(newItemEvent.getTitleModel()).
-                            orElse(new StringResourceModel(
-                                    String.format("any.%s", 
newItemEvent.getEventDescription()),
-                                    this,
-                                    Model.of(modalPanel.getItem()))));
+                        orElseGet(() -> new StringResourceModel(
+                            String.format("any.%s", 
newItemEvent.getEventDescription()),
+                            this,
+                            Model.of(modalPanel.getItem()))));
                     modal.show(true);
                 } else {
                     Fragment fragment = new Fragment("content", "wizard", 
WizardMgtPanel.this);
 
                     fragment.add(new Label(
                             "title",
-                            
Optional.ofNullable(newItemEvent.getTitleModel()).orElse(Model.of(StringUtils.EMPTY))));
+                            Optional.ofNullable(newItemEvent.getTitleModel()).
+                                orElseGet(() -> Model.of(StringUtils.EMPTY))));
 
                     fragment.add(Component.class.cast(modalPanel));
                     container.addOrReplace(fragment);
diff --git 
a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/any/AbstractAttrs.java
 
b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/any/AbstractAttrs.java
index bba65e8a57..8a8412e05c 100644
--- 
a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/any/AbstractAttrs.java
+++ 
b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/any/AbstractAttrs.java
@@ -109,7 +109,7 @@ public abstract class AbstractAttrs<S extends SchemaTO> 
extends AbstractAttrsWiz
             GroupTO groupTO = groupRestClient.read(membershipTO.getGroupKey());
             return groupTO.getTypeExtension(anyType).
                     map(TypeExtensionTO::getAuxClasses).
-                    orElse(List.of());
+                orElseGet(List::of);
         } catch (Exception e) {
             return List.of();
         }
diff --git 
a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/any/AbstractAttrsWizardStep.java
 
b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/any/AbstractAttrsWizardStep.java
index 0b244b67c4..beb19b7b83 100644
--- 
a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/any/AbstractAttrsWizardStep.java
+++ 
b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/any/AbstractAttrsWizardStep.java
@@ -459,7 +459,7 @@ public abstract class AbstractAttrsWizardStep<S extends 
SchemaTO> extends Wizard
                     
attr.getValues().stream().filter(StringUtils::isNotBlank).collect(Collectors.toList()))).
                     orElseGet(() -> 
attr.getValues().stream().anyMatch(StringUtils::isNotBlank))) {
 
-                List<String> oldValues = 
prevAttr.map(Attr::getValues).orElse(List.of());
+                List<String> oldValues = 
prevAttr.map(Attr::getValues).orElseGet(List::of);
                 panel.showExternAction(new LabelInfo("externalAction", 
oldValues));
             }
         }
diff --git 
a/core/am/logic/src/main/java/org/apache/syncope/core/logic/wa/GoogleMfaAuthTokenLogic.java
 
b/core/am/logic/src/main/java/org/apache/syncope/core/logic/wa/GoogleMfaAuthTokenLogic.java
index 1144b72e41..b5a984a5c2 100644
--- 
a/core/am/logic/src/main/java/org/apache/syncope/core/logic/wa/GoogleMfaAuthTokenLogic.java
+++ 
b/core/am/logic/src/main/java/org/apache/syncope/core/logic/wa/GoogleMfaAuthTokenLogic.java
@@ -122,6 +122,6 @@ public class GoogleMfaAuthTokenLogic extends 
AbstractAuthProfileLogic {
     public List<GoogleMfaAuthToken> read(final String owner) {
         return authProfileDAO.findByOwner(owner).
                 map(AuthProfile::getGoogleMfaAuthTokens).
-                orElse(List.of());
+            orElseGet(List::of);
     }
 }
diff --git 
a/core/am/logic/src/main/java/org/apache/syncope/core/logic/wa/ImpersonationLogic.java
 
b/core/am/logic/src/main/java/org/apache/syncope/core/logic/wa/ImpersonationLogic.java
index dff68d7617..12e034a71d 100644
--- 
a/core/am/logic/src/main/java/org/apache/syncope/core/logic/wa/ImpersonationLogic.java
+++ 
b/core/am/logic/src/main/java/org/apache/syncope/core/logic/wa/ImpersonationLogic.java
@@ -43,7 +43,7 @@ public class ImpersonationLogic extends 
AbstractAuthProfileLogic {
     @PreAuthorize("hasRole('" + IdRepoEntitlement.ANONYMOUS + "')")
     @Transactional(readOnly = true)
     public List<ImpersonationAccount> read(final String owner) {
-        return 
authProfileDAO.findByOwner(owner).map(AuthProfile::getImpersonationAccounts).orElse(List.of());
+        return 
authProfileDAO.findByOwner(owner).map(AuthProfile::getImpersonationAccounts).orElseGet(List::of);
     }
 
     @PreAuthorize("hasRole('" + IdRepoEntitlement.ANONYMOUS + "')")
diff --git 
a/core/am/logic/src/main/java/org/apache/syncope/core/logic/wa/MfaTrusStorageLogic.java
 
b/core/am/logic/src/main/java/org/apache/syncope/core/logic/wa/MfaTrusStorageLogic.java
index 7034f1247f..78a8280d25 100644
--- 
a/core/am/logic/src/main/java/org/apache/syncope/core/logic/wa/MfaTrusStorageLogic.java
+++ 
b/core/am/logic/src/main/java/org/apache/syncope/core/logic/wa/MfaTrusStorageLogic.java
@@ -87,7 +87,7 @@ public class MfaTrusStorageLogic extends 
AbstractAuthProfileLogic {
                         
map(AuthProfile::getMfaTrustedDevices).filter(Objects::nonNull).flatMap(List::stream)
                 : authProfileDAO.findByOwner(principal).
                         
map(AuthProfile::getMfaTrustedDevices).filter(Objects::nonNull).map(List::stream).
-                        orElse(Stream.empty())).
+            orElseGet(Stream::empty)).
                 filter(device -> {
                     EqualsBuilder builder = new EqualsBuilder();
                     
builder.appendSuper(device.getExpirationDate().isAfter(ZonedDateTime.now()));
diff --git 
a/core/idm/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/ReconciliationServiceImpl.java
 
b/core/idm/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/ReconciliationServiceImpl.java
index cd88dfce5a..644b0e2481 100644
--- 
a/core/idm/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/ReconciliationServiceImpl.java
+++ 
b/core/idm/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/ReconciliationServiceImpl.java
@@ -105,7 +105,7 @@ public class ReconciliationServiceImpl extends 
AbstractSearchService implements
                     query.getAnyTypeKey(),
                     query.getResourceKey(),
                     query.getAnyKey(),
-                    
Optional.ofNullable(query.getMoreAttrsToGet()).orElse(Set.of()));
+                    
Optional.ofNullable(query.getMoreAttrsToGet()).orElseGet(Set::of));
         }
 
         Pair<Filter, Set<String>> fromFIQL = buildFromFIQL(query);
@@ -134,7 +134,7 @@ public class ReconciliationServiceImpl extends 
AbstractSearchService implements
                     query.getAnyTypeKey(),
                     query.getResourceKey(),
                     query.getAnyKey(),
-                    
Optional.ofNullable(query.getMoreAttrsToGet()).orElse(Set.of()),
+                    
Optional.ofNullable(query.getMoreAttrsToGet()).orElseGet(Set::of),
                     pullTask);
         }
 
diff --git 
a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/utils/ConnPoolConfUtils.java
 
b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/utils/ConnPoolConfUtils.java
index 8af4fb0da4..9eda9b9829 100644
--- 
a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/utils/ConnPoolConfUtils.java
+++ 
b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/utils/ConnPoolConfUtils.java
@@ -28,12 +28,13 @@ public final class ConnPoolConfUtils {
         ConnPoolConf cpc = new ConnPoolConf();
         ObjectPoolConfiguration opc = new ObjectPoolConfiguration();
 
-        
cpc.setMaxIdle(Optional.ofNullable(cpcto.getMaxIdle()).orElse(opc.getMaxIdle()));
-        
cpc.setMaxObjects(Optional.ofNullable(cpcto.getMaxObjects()).orElse(opc.getMaxObjects()));
-        
cpc.setMaxWait(Optional.ofNullable(cpcto.getMaxWait()).orElse(opc.getMaxWait()));
+        
cpc.setMaxIdle(Optional.ofNullable(cpcto.getMaxIdle()).orElseGet(opc::getMaxIdle));
+        
cpc.setMaxObjects(Optional.ofNullable(cpcto.getMaxObjects()).orElseGet(opc::getMaxObjects));
+        
cpc.setMaxWait(Optional.ofNullable(cpcto.getMaxWait()).orElseGet(opc::getMaxWait));
         cpc.setMinEvictableIdleTimeMillis(
-                
Optional.ofNullable(cpcto.getMinEvictableIdleTimeMillis()).orElse(opc.getMinEvictableIdleTimeMillis()));
-        
cpc.setMinIdle(Optional.ofNullable(cpcto.getMinIdle()).orElse(opc.getMinIdle()));
+                Optional.ofNullable(cpcto.getMinEvictableIdleTimeMillis()).
+                    orElseGet(opc::getMinEvictableIdleTimeMillis));
+        
cpc.setMinIdle(Optional.ofNullable(cpcto.getMinIdle()).orElseGet(opc::getMinIdle));
 
         return cpc;
     }
diff --git 
a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/content/XMLContentExporter.java
 
b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/content/XMLContentExporter.java
index 628c51647e..eba81912f7 100644
--- 
a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/content/XMLContentExporter.java
+++ 
b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/content/XMLContentExporter.java
@@ -178,7 +178,7 @@ public class XMLContentExporter extends 
AbstractXMLContentExporter {
 
                     String attrName = 
Optional.ofNullable(field.getAnnotation(Column.class)).
                             map(Column::name).
-                            orElse(a.getName());
+                        orElseGet(a::getName);
 
                     
Optional.ofNullable(field.getAnnotation(CollectionTable.class)).
                             ifPresent(collectionTable -> relationTables.put(
diff --git 
a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/MySQLJPAAnySearchDAO.java
 
b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/MySQLJPAAnySearchDAO.java
index 63c373c461..ca3b237fcb 100644
--- 
a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/MySQLJPAAnySearchDAO.java
+++ 
b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/MySQLJPAAnySearchDAO.java
@@ -103,7 +103,7 @@ public class MySQLJPAAnySearchDAO extends 
AbstractJPAAnySearchDAO {
 
         String value = Optional.ofNullable(attrValue.getDateValue()).
                 map(DateTimeFormatter.ISO_OFFSET_DATE_TIME::format).
-                orElse(cond.getExpression());
+            orElseGet(cond::getExpression);
 
         boolean lower = (schema.getType() == AttrSchemaType.String || 
schema.getType() == AttrSchemaType.Enum)
                 && (cond.getType() == AttrCond.Type.IEQ || cond.getType() == 
AttrCond.Type.ILIKE);
diff --git 
a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/OracleJPAAnySearchDAO.java
 
b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/OracleJPAAnySearchDAO.java
index 6d1e309ecb..05646557cd 100644
--- 
a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/OracleJPAAnySearchDAO.java
+++ 
b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/OracleJPAAnySearchDAO.java
@@ -140,7 +140,7 @@ public class OracleJPAAnySearchDAO extends 
AbstractJPAAnySearchDAO {
 
         String value = Optional.ofNullable(attrValue.getDateValue()).
                 map(DateTimeFormatter.ISO_OFFSET_DATE_TIME::format).
-                orElse(cond.getExpression());
+            orElseGet(cond::getExpression);
 
         boolean lower = (schema.getType() == AttrSchemaType.String || 
schema.getType() == AttrSchemaType.Enum)
                 && (cond.getType() == AttrCond.Type.IEQ || cond.getType() == 
AttrCond.Type.ILIKE);
diff --git 
a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAAnySearchDAO.java
 
b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAAnySearchDAO.java
index e9562cabd5..ecdb92babf 100644
--- 
a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAAnySearchDAO.java
+++ 
b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAAnySearchDAO.java
@@ -140,7 +140,7 @@ public class PGJPAAnySearchDAO extends 
AbstractJPAAnySearchDAO {
 
         String value = Optional.ofNullable(attrValue.getDateValue()).
                 map(DateTimeFormatter.ISO_OFFSET_DATE_TIME::format).
-                orElse(cond.getExpression());
+            orElseGet(cond::getExpression);
 
         boolean isStr = true;
         boolean lower = false;
diff --git 
a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/repo/GroupRepoExtImpl.java
 
b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/repo/GroupRepoExtImpl.java
index 56ebf6fc45..e06e96a078 100644
--- 
a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/repo/GroupRepoExtImpl.java
+++ 
b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/repo/GroupRepoExtImpl.java
@@ -177,7 +177,7 @@ public class GroupRepoExtImpl extends 
AbstractAnyRepoExt<Group> implements Group
     @Override
     public Collection<String> findAllResourceKeys(final String key) {
         return findById(key).map(Any::getResources).
-                orElse(List.of()).
+            orElseGet(List::of).
                 stream().map(ExternalResource::getKey).toList();
     }
 
diff --git 
a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAAuditEvent.java
 
b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAAuditEvent.java
index cdc7620833..576168ae36 100644
--- 
a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAAuditEvent.java
+++ 
b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAAuditEvent.java
@@ -110,7 +110,7 @@ public class JPAAuditEvent extends 
AbstractGeneratedKeyEntity implements AuditEv
 
     @Override
     public List<String> getInputs() {
-        return Optional.ofNullable(inputs).map(i -> POJOHelper.deserialize(i, 
TYPEREF)).orElse(List.of());
+        return Optional.ofNullable(inputs).map(i -> POJOHelper.deserialize(i, 
TYPEREF)).orElseGet(List::of);
     }
 
     @Override
diff --git 
a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPASRARoute.java
 
b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPASRARoute.java
index ad8b444987..00ee143dea 100644
--- 
a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPASRARoute.java
+++ 
b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPASRARoute.java
@@ -157,7 +157,7 @@ public class JPASRARoute extends AbstractGeneratedKeyEntity 
implements SRARoute
     public List<SRARouteFilter> getFilters() {
         return Optional.ofNullable(filters).
                 map(f -> List.of(POJOHelper.deserialize(f, 
SRARouteFilter[].class))).
-                orElse(List.of());
+            orElseGet(List::of);
     }
 
     @Override
@@ -169,7 +169,7 @@ public class JPASRARoute extends AbstractGeneratedKeyEntity 
implements SRARoute
     public List<SRARoutePredicate> getPredicates() {
         return Optional.ofNullable(predicates).
                 map(f -> List.of(POJOHelper.deserialize(f, 
SRARoutePredicate[].class))).
-                orElse(List.of());
+            orElseGet(List::of);
     }
 
     @Override
diff --git 
a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/am/JPAWAConfigEntry.java
 
b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/am/JPAWAConfigEntry.java
index e234d5ab0d..6ceeca6392 100644
--- 
a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/am/JPAWAConfigEntry.java
+++ 
b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/am/JPAWAConfigEntry.java
@@ -44,7 +44,7 @@ public class JPAWAConfigEntry extends 
AbstractProvidedKeyEntity implements WACon
 
     @Override
     public List<String> getValues() {
-        return Optional.ofNullable(waConfigValues).map(v -> 
POJOHelper.deserialize(v, TYPEREF)).orElse(List.of());
+        return Optional.ofNullable(waConfigValues).map(v -> 
POJOHelper.deserialize(v, TYPEREF)).orElseGet(List::of);
     }
 
     @Override
diff --git 
a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPAFormPropertyDef.java
 
b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPAFormPropertyDef.java
index dd1309bc9c..9083eea122 100644
--- 
a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPAFormPropertyDef.java
+++ 
b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPAFormPropertyDef.java
@@ -198,7 +198,8 @@ public class JPAFormPropertyDef extends 
AbstractGeneratedKeyEntity implements Fo
 
     @Override
     public Map<String, String> getEnumValues() {
-        return Optional.ofNullable(enumValues).map(v -> 
POJOHelper.deserialize(v, ENUMVALUES_TYPEREF)).orElse(Map.of());
+        return Optional.ofNullable(enumValues).map(v -> 
POJOHelper.deserialize(v, ENUMVALUES_TYPEREF)).
+            orElseGet(Map::of);
     }
 
     @Override
diff --git 
a/core/persistence-neo4j/src/main/java/org/apache/syncope/core/persistence/neo4j/dao/Neo4jAnySearchDAO.java
 
b/core/persistence-neo4j/src/main/java/org/apache/syncope/core/persistence/neo4j/dao/Neo4jAnySearchDAO.java
index 310a770528..a625427cbd 100644
--- 
a/core/persistence-neo4j/src/main/java/org/apache/syncope/core/persistence/neo4j/dao/Neo4jAnySearchDAO.java
+++ 
b/core/persistence-neo4j/src/main/java/org/apache/syncope/core/persistence/neo4j/dao/Neo4jAnySearchDAO.java
@@ -409,7 +409,7 @@ public class Neo4jAnySearchDAO extends AbstractAnySearchDAO 
{
 
         String value = Optional.ofNullable(attrValue.getDateValue()).
                 map(DateTimeFormatter.ISO_OFFSET_DATE_TIME::format).
-                orElse(cond.getExpression());
+            orElseGet(cond::getExpression);
 
         boolean isStr = true;
         boolean lower = false;
diff --git 
a/core/persistence-neo4j/src/main/java/org/apache/syncope/core/persistence/neo4j/dao/Neo4jBatchDAO.java
 
b/core/persistence-neo4j/src/main/java/org/apache/syncope/core/persistence/neo4j/dao/Neo4jBatchDAO.java
index 39f51bbcb1..1ca887cd11 100644
--- 
a/core/persistence-neo4j/src/main/java/org/apache/syncope/core/persistence/neo4j/dao/Neo4jBatchDAO.java
+++ 
b/core/persistence-neo4j/src/main/java/org/apache/syncope/core/persistence/neo4j/dao/Neo4jBatchDAO.java
@@ -95,7 +95,7 @@ public class Neo4jBatchDAO implements BatchDAO {
                 "MATCH (n:" + Neo4jAccessToken.NODE + " WHERE n.expirationTime 
< $now) "
                 + "DETACH DELETE n "
                 + "RETURN count(*) AS deleted").bindAll(Map.of("now", 
OffsetDateTime.now())).
-                fetch().one().orElse(Map.of("deleted", 0L));
+                fetch().one().orElseGet(() -> Map.of("deleted", 0L));
 
         return (long) result.getOrDefault(result.get("deleted"), 0L);
     }
diff --git 
a/core/persistence-neo4j/src/main/java/org/apache/syncope/core/persistence/neo4j/dao/repo/GroupRepoExtImpl.java
 
b/core/persistence-neo4j/src/main/java/org/apache/syncope/core/persistence/neo4j/dao/repo/GroupRepoExtImpl.java
index fcb78dc9c5..93cbd53ace 100644
--- 
a/core/persistence-neo4j/src/main/java/org/apache/syncope/core/persistence/neo4j/dao/repo/GroupRepoExtImpl.java
+++ 
b/core/persistence-neo4j/src/main/java/org/apache/syncope/core/persistence/neo4j/dao/repo/GroupRepoExtImpl.java
@@ -247,7 +247,7 @@ public class GroupRepoExtImpl extends 
AbstractAnyRepoExt<Group, Neo4jGroup> impl
     @Override
     public Collection<String> findAllResourceKeys(final String key) {
         return findById(key).map(Any::getResources).
-                orElse(List.of()).
+            orElseGet(List::of).
                 stream().map(ExternalResource::getKey).toList();
     }
 
diff --git 
a/core/persistence-neo4j/src/main/java/org/apache/syncope/core/persistence/neo4j/dao/repo/PlainSchemaRepoExtImpl.java
 
b/core/persistence-neo4j/src/main/java/org/apache/syncope/core/persistence/neo4j/dao/repo/PlainSchemaRepoExtImpl.java
index a10ae5f20f..3810c58661 100644
--- 
a/core/persistence-neo4j/src/main/java/org/apache/syncope/core/persistence/neo4j/dao/repo/PlainSchemaRepoExtImpl.java
+++ 
b/core/persistence-neo4j/src/main/java/org/apache/syncope/core/persistence/neo4j/dao/repo/PlainSchemaRepoExtImpl.java
@@ -119,7 +119,7 @@ public class PlainSchemaRepoExtImpl extends 
AbstractSchemaRepoExt implements Pla
 
         String value = Optional.ofNullable(attrValue.getDateValue()).
                 map(DateTimeFormatter.ISO_OFFSET_DATE_TIME::format).
-                orElse(attrValue.getValueAsString());
+            orElseGet(attrValue::getValueAsString);
 
         return neo4jTemplate.count(
                 "MATCH (n:" + label + ") "
diff --git 
a/core/persistence-neo4j/src/main/java/org/apache/syncope/core/persistence/neo4j/entity/AbstractGroupableRelatable.java
 
b/core/persistence-neo4j/src/main/java/org/apache/syncope/core/persistence/neo4j/entity/AbstractGroupableRelatable.java
index 811e493ee8..bb0f95f07c 100644
--- 
a/core/persistence-neo4j/src/main/java/org/apache/syncope/core/persistence/neo4j/entity/AbstractGroupableRelatable.java
+++ 
b/core/persistence-neo4j/src/main/java/org/apache/syncope/core/persistence/neo4j/entity/AbstractGroupableRelatable.java
@@ -69,7 +69,7 @@ public abstract class AbstractGroupableRelatable<
 
     @Override
     public Collection<PlainAttr> getPlainAttrs(final String plainSchema) {
-        return 
Stream.concat(getPlainAttr(plainSchema).map(Stream::of).orElse(Stream.empty()),
+        return 
Stream.concat(getPlainAttr(plainSchema).map(Stream::of).orElseGet(Stream::empty),
                 memberships().stream().map(m -> m.getPlainAttr(plainSchema)).
                         flatMap(Optional::stream)).
                 toList();
diff --git 
a/core/persistence-neo4j/src/main/java/org/apache/syncope/core/persistence/neo4j/entity/Neo4jAuditEvent.java
 
b/core/persistence-neo4j/src/main/java/org/apache/syncope/core/persistence/neo4j/entity/Neo4jAuditEvent.java
index fde908dedd..3cbf852cb7 100644
--- 
a/core/persistence-neo4j/src/main/java/org/apache/syncope/core/persistence/neo4j/entity/Neo4jAuditEvent.java
+++ 
b/core/persistence-neo4j/src/main/java/org/apache/syncope/core/persistence/neo4j/entity/Neo4jAuditEvent.java
@@ -101,7 +101,7 @@ public class Neo4jAuditEvent extends 
AbstractGeneratedKeyNode implements AuditEv
 
     @Override
     public List<String> getInputs() {
-        return Optional.ofNullable(inputs).map(i -> POJOHelper.deserialize(i, 
TYPEREF)).orElse(List.of());
+        return Optional.ofNullable(inputs).map(i -> POJOHelper.deserialize(i, 
TYPEREF)).orElseGet(List::of);
     }
 
     @Override
diff --git 
a/core/persistence-neo4j/src/main/java/org/apache/syncope/core/persistence/neo4j/entity/Neo4jSRARoute.java
 
b/core/persistence-neo4j/src/main/java/org/apache/syncope/core/persistence/neo4j/entity/Neo4jSRARoute.java
index 5267618b0b..e000ea4280 100644
--- 
a/core/persistence-neo4j/src/main/java/org/apache/syncope/core/persistence/neo4j/entity/Neo4jSRARoute.java
+++ 
b/core/persistence-neo4j/src/main/java/org/apache/syncope/core/persistence/neo4j/entity/Neo4jSRARoute.java
@@ -148,7 +148,7 @@ public class Neo4jSRARoute extends AbstractGeneratedKeyNode 
implements SRARoute
     public List<SRARouteFilter> getFilters() {
         return Optional.ofNullable(filters).
                 map(f -> List.of(POJOHelper.deserialize(f, 
SRARouteFilter[].class))).
-                orElse(List.of());
+            orElseGet(List::of);
     }
 
     @Override
@@ -160,7 +160,7 @@ public class Neo4jSRARoute extends AbstractGeneratedKeyNode 
implements SRARoute
     public List<SRARoutePredicate> getPredicates() {
         return Optional.ofNullable(predicates).
                 map(f -> List.of(POJOHelper.deserialize(f, 
SRARoutePredicate[].class))).
-                orElse(List.of());
+            orElseGet(List::of);
     }
 
     @Override
diff --git 
a/core/persistence-neo4j/src/main/java/org/apache/syncope/core/persistence/neo4j/entity/am/Neo4jWAConfigEntry.java
 
b/core/persistence-neo4j/src/main/java/org/apache/syncope/core/persistence/neo4j/entity/am/Neo4jWAConfigEntry.java
index c743dde7c7..665b1408bf 100644
--- 
a/core/persistence-neo4j/src/main/java/org/apache/syncope/core/persistence/neo4j/entity/am/Neo4jWAConfigEntry.java
+++ 
b/core/persistence-neo4j/src/main/java/org/apache/syncope/core/persistence/neo4j/entity/am/Neo4jWAConfigEntry.java
@@ -40,7 +40,7 @@ public class Neo4jWAConfigEntry extends 
AbstractProvidedKeyNode implements WACon
 
     @Override
     public List<String> getValues() {
-        return Optional.ofNullable(waConfigValues).map(v -> 
POJOHelper.deserialize(v, TYPEREF)).orElse(List.of());
+        return Optional.ofNullable(waConfigValues).map(v -> 
POJOHelper.deserialize(v, TYPEREF)).orElseGet(List::of);
     }
 
     @Override
diff --git 
a/core/persistence-neo4j/src/main/java/org/apache/syncope/core/persistence/neo4j/entity/task/Neo4jFormPropertyDef.java
 
b/core/persistence-neo4j/src/main/java/org/apache/syncope/core/persistence/neo4j/entity/task/Neo4jFormPropertyDef.java
index 9bac96cf61..6859422375 100644
--- 
a/core/persistence-neo4j/src/main/java/org/apache/syncope/core/persistence/neo4j/entity/task/Neo4jFormPropertyDef.java
+++ 
b/core/persistence-neo4j/src/main/java/org/apache/syncope/core/persistence/neo4j/entity/task/Neo4jFormPropertyDef.java
@@ -181,7 +181,8 @@ public class Neo4jFormPropertyDef extends 
AbstractGeneratedKeyNode implements Fo
 
     @Override
     public Map<String, String> getEnumValues() {
-        return Optional.ofNullable(enumValues).map(v -> 
POJOHelper.deserialize(v, ENUMVALUES_TYPEREF)).orElse(Map.of());
+        return Optional.ofNullable(enumValues).map(v -> 
POJOHelper.deserialize(v, ENUMVALUES_TYPEREF)).
+            orElseGet(Map::of);
     }
 
     @Override
diff --git 
a/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/jexl/SyncopeJexlFunctions.java
 
b/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/jexl/SyncopeJexlFunctions.java
index 95414353b8..815f84cd3a 100644
--- 
a/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/jexl/SyncopeJexlFunctions.java
+++ 
b/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/jexl/SyncopeJexlFunctions.java
@@ -78,6 +78,6 @@ public class SyncopeJexlFunctions {
         return Optional.ofNullable(connObj).
                 flatMap(obj -> 
Optional.ofNullable(obj.getAttributeByName(name)).
                 map(Attribute::getValue)).
-                orElse(List.of());
+            orElseGet(List::of);
     }
 }
diff --git 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultMappingManager.java
 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultMappingManager.java
index c58d1f3a70..bde85abe23 100644
--- 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultMappingManager.java
+++ 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultMappingManager.java
@@ -922,7 +922,7 @@ public class DefaultMappingManager implements 
MappingManager {
                 values = transformer.beforePull(mapItem, anyTO, values);
             }
         }
-        values = Optional.ofNullable(values).orElse(List.of());
+        values = Optional.ofNullable(values).orElseGet(List::of);
 
         IntAttrName intAttrName;
         try {
diff --git 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/cache/VirAttrCacheValue.java
 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/cache/VirAttrCacheValue.java
index ed176106aa..2f421b1fc5 100644
--- 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/cache/VirAttrCacheValue.java
+++ 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/cache/VirAttrCacheValue.java
@@ -27,6 +27,6 @@ public record VirAttrCacheValue(List<String> values) {
     public static VirAttrCacheValue of(final Collection<Object> values) {
         return new VirAttrCacheValue(Optional.ofNullable(values).
                 map(v -> v.stream().map(Object::toString).toList()).
-                orElse(List.of()));
+            orElseGet(List::of));
     }
 }
diff --git 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/ResourceDataBinderImpl.java
 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/ResourceDataBinderImpl.java
index d4c16f45bc..617fac3fd0 100644
--- 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/ResourceDataBinderImpl.java
+++ 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/ResourceDataBinderImpl.java
@@ -375,10 +375,10 @@ public class ResourceDataBinderImpl implements 
ResourceDataBinder {
         }
 
         resource.setConfOverride(
-                
Optional.ofNullable(resourceTO.getConfOverride()).orElse(Optional.empty()));
+                
Optional.ofNullable(resourceTO.getConfOverride()).orElseGet(Optional::empty));
 
         resource.setCapabilitiesOverride(
-                
Optional.ofNullable(resourceTO.getCapabilitiesOverride()).orElse(Optional.empty()));
+                
Optional.ofNullable(resourceTO.getCapabilitiesOverride()).orElseGet(Optional::empty));
 
         resourceTO.getPropagationActions().forEach(key -> 
implementationDAO.findById(key).ifPresentOrElse(
                 resource::add,
diff --git 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/AbstractSchedTaskJobDelegate.java
 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/AbstractSchedTaskJobDelegate.java
index 51744fd0a6..505d5adab8 100644
--- 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/AbstractSchedTaskJobDelegate.java
+++ 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/AbstractSchedTaskJobDelegate.java
@@ -121,7 +121,7 @@ public abstract class AbstractSchedTaskJobDelegate<T 
extends SchedTask> implemen
                     return true;
                 });
 
-        executor = 
Optional.ofNullable(context.getExecutor()).orElse(securityProperties.getAdminUser());
+        executor = Optional.ofNullable(context.getExecutor()).orElseGet(() -> 
securityProperties.getAdminUser());
     }
 
     protected TaskExec<SchedTask> initExecution() {
diff --git 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/MacroJobDelegate.java
 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/MacroJobDelegate.java
index cd70d0edc5..475e9f86e3 100644
--- 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/MacroJobDelegate.java
+++ 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/MacroJobDelegate.java
@@ -155,7 +155,7 @@ public class MacroJobDelegate extends 
AbstractSchedTaskJobDelegate<MacroTask> {
                                 : List.of(value.split(";"));
 
                         if (!actions.map(a -> 
a.getDropdownValues(fpd.getName()).keySet()).
-                                orElse(Set.of()).containsAll(values)) {
+                            orElseGet(Set::of).containsAll(values)) {
 
                             throw new JobExecutionException("Not allowed for " 
+ fpd.getName() + ": " + values);
                         }
diff --git 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/SyncopeTaskScheduler.java
 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/SyncopeTaskScheduler.java
index 17a35ce8e0..dbcd1ffe06 100644
--- 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/SyncopeTaskScheduler.java
+++ 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/SyncopeTaskScheduler.java
@@ -56,9 +56,9 @@ public class SyncopeTaskScheduler {
     }
 
     protected void register(final Job job, final Optional<ScheduledFuture<?>> 
future) {
-        jobs.putIfAbsent(
+        jobs.computeIfAbsent(
                 Pair.of(job.getContext().getDomain(), 
job.getContext().getJobName()),
-                MutablePair.of(job, future));
+            k -> MutablePair.of(job, future));
     }
 
     public void register(final Job job) {
diff --git 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/notification/NotificationJob.java
 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/notification/NotificationJob.java
index 860f471ba7..f71a09f9c5 100644
--- 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/notification/NotificationJob.java
+++ 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/notification/NotificationJob.java
@@ -66,7 +66,7 @@ public class NotificationJob extends Job {
     @Override
     protected void execute(final JobExecutionContext context) throws 
JobExecutionException {
         LOG.debug("Waking up...");
-        String executor = 
Optional.ofNullable(context.getExecutor()).orElse(securityProperties.getAdminUser());
+        String executor = 
Optional.ofNullable(context.getExecutor()).orElseGet(securityProperties::getAdminUser);
         for (String domain : domainHolder.getDomains().keySet()) {
             try {
                 AuthContextUtils.runAsAdmin(domain, () -> {
diff --git 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/report/AbstractReportJobDelegate.java
 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/report/AbstractReportJobDelegate.java
index 0ae70c73ea..dc7525c02b 100644
--- 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/report/AbstractReportJobDelegate.java
+++ 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/report/AbstractReportJobDelegate.java
@@ -111,7 +111,7 @@ public abstract class AbstractReportJobDelegate implements 
ReportJobDelegate {
             return;
         }
 
-        String executor = 
Optional.ofNullable(context.getExecutor()).orElse(securityProperties.getAdminUser());
+        String executor = 
Optional.ofNullable(context.getExecutor()).orElseGet(() -> 
securityProperties.getAdminUser());
         ReportExec execution = entityFactory.newEntity(ReportExec.class);
         execution.setStart(OffsetDateTime.now());
         execution.setReport(report);
diff --git 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/utils/MappingUtils.java
 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/utils/MappingUtils.java
index 6ca5b97261..79af4dd636 100644
--- 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/utils/MappingUtils.java
+++ 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/utils/MappingUtils.java
@@ -56,7 +56,7 @@ public final class MappingUtils {
         return Optional.ofNullable(provision).
                 flatMap(p -> Optional.ofNullable(p.getMapping())).
                 map(Mapping::getConnObjectKeyItem).
-                orElse(Optional.empty());
+            orElseGet(Optional::empty);
     }
 
     public static Stream<Item> getPropagationItems(final Stream<Item> items) {
diff --git 
a/core/spring/src/main/java/org/apache/syncope/core/spring/security/AuthContextUtils.java
 
b/core/spring/src/main/java/org/apache/syncope/core/spring/security/AuthContextUtils.java
index 10ac5891ae..84be715471 100644
--- 
a/core/spring/src/main/java/org/apache/syncope/core/spring/security/AuthContextUtils.java
+++ 
b/core/spring/src/main/java/org/apache/syncope/core/spring/security/AuthContextUtils.java
@@ -84,7 +84,7 @@ public final class AuthContextUtils {
                 filter(SyncopeGrantedAuthority.class::isInstance).
                 map(SyncopeGrantedAuthority.class::cast).
                 collect(Collectors.toSet())).
-                orElse(Set.of());
+            orElseGet(Set::of);
     }
 
     public static Map<String, Set<String>> getAuthorizations() {
@@ -93,7 +93,7 @@ public final class AuthContextUtils {
                 filter(SyncopeGrantedAuthority.class::isInstance).
                 map(SyncopeGrantedAuthority.class::cast).
                 
collect(Collectors.toMap(SyncopeGrantedAuthority::getAuthority, 
SyncopeGrantedAuthority::getRealms))).
-                orElse(Map.of());
+            orElseGet(Map::of);
     }
 
     public static String getDomain() {
diff --git 
a/ext/flowable/flowable-bpmn/src/main/java/org/apache/syncope/core/flowable/support/SyncopeGroupQueryImpl.java
 
b/ext/flowable/flowable-bpmn/src/main/java/org/apache/syncope/core/flowable/support/SyncopeGroupQueryImpl.java
index bc2a621202..29cada5c0b 100644
--- 
a/ext/flowable/flowable-bpmn/src/main/java/org/apache/syncope/core/flowable/support/SyncopeGroupQueryImpl.java
+++ 
b/ext/flowable/flowable-bpmn/src/main/java/org/apache/syncope/core/flowable/support/SyncopeGroupQueryImpl.java
@@ -50,13 +50,13 @@ public class SyncopeGroupQueryImpl extends GroupQueryImpl {
         if (id != null) {
             result = groupDAO.findByName(id).
                     map(group -> List.of(fromSyncopeGroup(group.getName()))).
-                    orElse(List.of());
+                orElseGet(List::of);
         } else if (userId != null) {
             result = userDAO.findByUsername(userId).
                     map(user -> userDAO.findAllGroupNames(user).stream().
                     map(SyncopeGroupQueryImpl::fromSyncopeGroup).
                     toList()).
-                    orElse(List.of());
+                orElseGet(List::of);
         }
     }
 
diff --git 
a/ext/flowable/flowable-bpmn/src/main/java/org/apache/syncope/core/flowable/support/SyncopeUserQueryImpl.java
 
b/ext/flowable/flowable-bpmn/src/main/java/org/apache/syncope/core/flowable/support/SyncopeUserQueryImpl.java
index 217f9e807b..5868a97fc4 100644
--- 
a/ext/flowable/flowable-bpmn/src/main/java/org/apache/syncope/core/flowable/support/SyncopeUserQueryImpl.java
+++ 
b/ext/flowable/flowable-bpmn/src/main/java/org/apache/syncope/core/flowable/support/SyncopeUserQueryImpl.java
@@ -52,7 +52,7 @@ public class SyncopeUserQueryImpl extends UserQueryImpl {
             result = userDAO.findByUsername(id).
                     filter(user -> groupId == null || 
userDAO.findAllGroupNames(user).contains(groupId)).
                     map(user -> List.of(fromSyncopeUser(user))).
-                    orElse(List.of());
+                orElseGet(List::of);
         } else if (groupId != null) {
             groupDAO.findByName(groupId).map(group -> {
                 List<User> r = new ArrayList<>();
@@ -60,7 +60,7 @@ public class SyncopeUserQueryImpl extends UserQueryImpl {
                         filter(user -> !r.contains(user)).
                         forEach(r::add);
                 return r;
-            }).orElse(List.of());
+            }).orElseGet(List::of);
         }
     }
 
diff --git 
a/ext/oidcc4ui/logic/src/main/java/org/apache/syncope/core/logic/OIDCC4UILogic.java
 
b/ext/oidcc4ui/logic/src/main/java/org/apache/syncope/core/logic/OIDCC4UILogic.java
index 0b4c7b422c..2174a0dbef 100644
--- 
a/ext/oidcc4ui/logic/src/main/java/org/apache/syncope/core/logic/OIDCC4UILogic.java
+++ 
b/ext/oidcc4ui/logic/src/main/java/org/apache/syncope/core/logic/OIDCC4UILogic.java
@@ -180,7 +180,7 @@ public class OIDCC4UILogic extends 
AbstractTransactionalLogic<EntityTO> {
 
         List<String> matchingUsers = Optional.ofNullable(keyValue).
                 map(k -> userManager.findMatchingUser(k, 
op.getConnObjectKeyItem().get())).
-                orElse(List.of());
+            orElseGet(List::of);
         LOG.debug("Found {} matching users for {}", matchingUsers.size(), 
keyValue);
 
         // 3b. not found: create or selfreg if configured
diff --git 
a/ext/oidcc4ui/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAOIDCC4UIProvider.java
 
b/ext/oidcc4ui/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAOIDCC4UIProvider.java
index e71d12f47a..e74aef2fd3 100644
--- 
a/ext/oidcc4ui/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAOIDCC4UIProvider.java
+++ 
b/ext/oidcc4ui/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAOIDCC4UIProvider.java
@@ -210,7 +210,7 @@ public class JPAOIDCC4UIProvider extends 
AbstractGeneratedKeyEntity implements O
 
     @Override
     public List<String> getScopes() {
-        return Optional.ofNullable(scopes).map(s -> Stream.of(s.split(" 
")).toList()).orElse(List.of());
+        return Optional.ofNullable(scopes).map(s -> Stream.of(s.split(" 
")).toList()).orElseGet(List::of);
     }
 
     @Override
diff --git 
a/ext/saml2sp4ui/logic/src/main/java/org/apache/syncope/core/logic/SAML2SP4UILogic.java
 
b/ext/saml2sp4ui/logic/src/main/java/org/apache/syncope/core/logic/SAML2SP4UILogic.java
index d7eebfc5bc..277581c7d1 100644
--- 
a/ext/saml2sp4ui/logic/src/main/java/org/apache/syncope/core/logic/SAML2SP4UILogic.java
+++ 
b/ext/saml2sp4ui/logic/src/main/java/org/apache/syncope/core/logic/SAML2SP4UILogic.java
@@ -375,7 +375,7 @@ public class SAML2SP4UILogic extends 
AbstractSAML2SP4UILogic {
 
         for (SAML2AuthenticationCredentials.SAMLAttribute attr : 
authCreds.getAttributes()) {
             if (!attr.getAttributeValues().isEmpty()) {
-                String attrName = 
Optional.ofNullable(attr.getFriendlyName()).orElse(attr.getName());
+                String attrName = 
Optional.ofNullable(attr.getFriendlyName()).orElseGet(attr::getName);
                 if (connObjectKeyItem != null && 
attrName.equals(connObjectKeyItem.getExtAttrName())) {
                     keyValue = attr.getAttributeValues().getFirst();
                 }
@@ -386,7 +386,7 @@ public class SAML2SP4UILogic extends 
AbstractSAML2SP4UILogic {
 
         List<String> matchingUsers = Optional.ofNullable(keyValue).
                 map(k -> userManager.findMatchingUser(k, idp.getKey())).
-                orElse(List.of());
+            orElseGet(List::of);
         LOG.debug("Found {} matching users for {}", matchingUsers.size(), 
keyValue);
 
         String username;
diff --git 
a/ext/scimv2/logic/src/main/java/org/apache/syncope/core/logic/SCIMDataBinder.java
 
b/ext/scimv2/logic/src/main/java/org/apache/syncope/core/logic/SCIMDataBinder.java
index c1b4846ae8..20239e7c58 100644
--- 
a/ext/scimv2/logic/src/main/java/org/apache/syncope/core/logic/SCIMDataBinder.java
+++ 
b/ext/scimv2/logic/src/main/java/org/apache/syncope/core/logic/SCIMDataBinder.java
@@ -202,7 +202,7 @@ public class SCIMDataBinder {
                 new Meta(
                         Resource.User,
                         userTO.getCreationDate(),
-                        
Optional.ofNullable(userTO.getLastChangeDate()).orElse(userTO.getCreationDate()),
+                        
Optional.ofNullable(userTO.getLastChangeDate()).orElseGet(userTO::getCreationDate),
                         userTO.getETagValue(),
                         location),
                 output(attributes, excludedAttributes, "userName", 
userTO.getUsername()),
@@ -993,7 +993,7 @@ public class SCIMDataBinder {
                 new Meta(
                         Resource.Group,
                         groupTO.getCreationDate(),
-                        
Optional.ofNullable(groupTO.getLastChangeDate()).orElse(groupTO.getCreationDate()),
+                        
Optional.ofNullable(groupTO.getLastChangeDate()).orElseGet(groupTO::getCreationDate),
                         groupTO.getETagValue(),
                         location),
                 output(attributes, excludedAttributes, "displayName", 
groupTO.getName()));
diff --git 
a/ext/scimv2/scim-rest-api/src/main/java/org/apache/syncope/ext/scimv2/api/data/SCIMResource.java
 
b/ext/scimv2/scim-rest-api/src/main/java/org/apache/syncope/ext/scimv2/api/data/SCIMResource.java
index 566416f5dd..222446197c 100644
--- 
a/ext/scimv2/scim-rest-api/src/main/java/org/apache/syncope/ext/scimv2/api/data/SCIMResource.java
+++ 
b/ext/scimv2/scim-rest-api/src/main/java/org/apache/syncope/ext/scimv2/api/data/SCIMResource.java
@@ -37,7 +37,7 @@ public abstract class SCIMResource extends SCIMBean {
 
     protected SCIMResource(final String id, final List<String> schemas, final 
Meta meta) {
         this.id = id;
-        this.schemas = Optional.ofNullable(schemas).orElse(List.of());
+        this.schemas = Optional.ofNullable(schemas).orElseGet(List::of);
         this.meta = meta;
     }
 
diff --git 
a/fit/core-reference/src/test/java/org/apache/syncope/fit/AbstractUIITCase.java 
b/fit/core-reference/src/test/java/org/apache/syncope/fit/AbstractUIITCase.java
index c38fb0ceb2..cf1db38730 100644
--- 
a/fit/core-reference/src/test/java/org/apache/syncope/fit/AbstractUIITCase.java
+++ 
b/fit/core-reference/src/test/java/org/apache/syncope/fit/AbstractUIITCase.java
@@ -180,7 +180,7 @@ public abstract class AbstractUIITCase {
                 new 
ExactLevelFeedbackMessageFilter(FeedbackMessage.SUCCESS)).stream().
                 map(FeedbackMessage::getMessage).collect(Collectors.toSet());
         if (messages.size() != 1) {
-            fail("Expected single message but found " + messages);
+            fail(() -> "Expected single message but found " + messages);
         }
         assertEquals("Operation successfully executed", 
messages.iterator().next());
     }
diff --git 
a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AuditITCase.java 
b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AuditITCase.java
index d91e8b0cd8..508ff9b73e 100644
--- 
a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AuditITCase.java
+++ 
b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AuditITCase.java
@@ -99,7 +99,7 @@ public class AuditITCase extends AbstractITCase {
     private static AuditEventTO queryWithFailure(final AuditQuery query, final 
int maxWaitSeconds) {
         List<AuditEventTO> results = query(query, maxWaitSeconds);
         if (results.isEmpty()) {
-            fail("Timeout when executing query for key " + 
query.getEntityKey());
+            fail(() -> "Timeout when executing query for key " + 
query.getEntityKey());
             return null;
         }
         return results.getFirst();
diff --git 
a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ConnectorITCase.java
 
b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ConnectorITCase.java
index 8dd744e0b2..17a82efd94 100644
--- 
a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ConnectorITCase.java
+++ 
b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ConnectorITCase.java
@@ -444,7 +444,7 @@ public class ConnectorITCase extends AbstractITCase {
         try {
             CONNECTOR_SERVICE.check(connectorTO);
         } catch (Exception e) {
-            fail(ExceptionUtils.getStackTrace(e));
+            fail(() -> ExceptionUtils.getStackTrace(e));
         }
 
         conf.remove(password);
@@ -714,7 +714,7 @@ public class ConnectorITCase extends AbstractITCase {
             try {
                 RESOURCE_SERVICE.check(resourceTO);
             } catch (Exception e) {
-                fail(ExceptionUtils.getStackTrace(e));
+                fail(() -> ExceptionUtils.getStackTrace(e));
             }
             // ----------------------------------------
         } finally {
diff --git 
a/fit/wa-reference/src/test/java/org/apache/syncope/fit/sra/AbstractOIDCITCase.java
 
b/fit/wa-reference/src/test/java/org/apache/syncope/fit/sra/AbstractOIDCITCase.java
index 25d4db6b1a..0e46ea018f 100644
--- 
a/fit/wa-reference/src/test/java/org/apache/syncope/fit/sra/AbstractOIDCITCase.java
+++ 
b/fit/wa-reference/src/test/java/org/apache/syncope/fit/sra/AbstractOIDCITCase.java
@@ -105,7 +105,7 @@ abstract class AbstractOIDCITCase extends AbstractSRAITCase 
{
 
                     Response response = 
POLICY_SERVICE.create(PolicyType.ATTR_RELEASE, policy);
                     if (response.getStatusInfo().getStatusCode() != 
Response.Status.CREATED.getStatusCode()) {
-                        fail("Could not create " + description);
+                        fail(() -> "Could not create " + description);
                     }
 
                     return POLICY_SERVICE.read(
diff --git 
a/fit/wa-reference/src/test/java/org/apache/syncope/fit/sra/AbstractSRAITCase.java
 
b/fit/wa-reference/src/test/java/org/apache/syncope/fit/sra/AbstractSRAITCase.java
index 814aa97efd..b6ed937ae2 100644
--- 
a/fit/wa-reference/src/test/java/org/apache/syncope/fit/sra/AbstractSRAITCase.java
+++ 
b/fit/wa-reference/src/test/java/org/apache/syncope/fit/sra/AbstractSRAITCase.java
@@ -229,7 +229,7 @@ abstract class AbstractSRAITCase extends AbstractITCase {
 
                     Response response = POLICY_SERVICE.create(PolicyType.AUTH, 
policy);
                     if (response.getStatusInfo().getStatusCode() != 
Response.Status.CREATED.getStatusCode()) {
-                        fail("Could not create " + description);
+                        fail(() -> "Could not create " + description);
                     }
 
                     return POLICY_SERVICE.read(PolicyType.AUTH, 
response.getHeaderString(RESTHeaders.RESOURCE_KEY));
diff --git 
a/fit/wa-reference/src/test/java/org/apache/syncope/fit/ui/OpenFGAUIITCase.java 
b/fit/wa-reference/src/test/java/org/apache/syncope/fit/ui/OpenFGAUIITCase.java
index c32fb432c8..0f6533985a 100644
--- 
a/fit/wa-reference/src/test/java/org/apache/syncope/fit/ui/OpenFGAUIITCase.java
+++ 
b/fit/wa-reference/src/test/java/org/apache/syncope/fit/ui/OpenFGAUIITCase.java
@@ -128,7 +128,7 @@ public class OpenFGAUIITCase extends OIDCC4UIITCase {
 
                     Response response = 
POLICY_SERVICE.create(PolicyType.ACCESS, policy);
                     if (response.getStatusInfo().getStatusCode() != 
Response.Status.CREATED.getStatusCode()) {
-                        fail("Could not create " + description);
+                        fail(() -> "Could not create " + description);
                     }
 
                     return POLICY_SERVICE.read(
diff --git 
a/sra/src/main/java/org/apache/syncope/sra/security/saml2/SAML2AuthenticationToken.java
 
b/sra/src/main/java/org/apache/syncope/sra/security/saml2/SAML2AuthenticationToken.java
index c99801dac7..025f8606cf 100644
--- 
a/sra/src/main/java/org/apache/syncope/sra/security/saml2/SAML2AuthenticationToken.java
+++ 
b/sra/src/main/java/org/apache/syncope/sra/security/saml2/SAML2AuthenticationToken.java
@@ -35,7 +35,7 @@ public class SAML2AuthenticationToken extends 
AbstractAuthenticationToken {
     public SAML2AuthenticationToken(final SAML2AuthenticationCredentials 
credentials) {
         super(Optional.ofNullable(credentials.getUserProfile()).
                 map(p -> 
p.getRoles().stream().map(SimpleGrantedAuthority::new).collect(Collectors.toSet())).
-                orElse(Set.of()));
+            orElseGet(Set::of));
         this.credentials = credentials;
         this.setAuthenticated(true);
     }
diff --git 
a/wa/bootstrap/src/main/java/org/apache/syncope/wa/bootstrap/mapping/AuthModulePropertySourceMapper.java
 
b/wa/bootstrap/src/main/java/org/apache/syncope/wa/bootstrap/mapping/AuthModulePropertySourceMapper.java
index ea11c29284..a659e47d54 100644
--- 
a/wa/bootstrap/src/main/java/org/apache/syncope/wa/bootstrap/mapping/AuthModulePropertySourceMapper.java
+++ 
b/wa/bootstrap/src/main/java/org/apache/syncope/wa/bootstrap/mapping/AuthModulePropertySourceMapper.java
@@ -175,7 +175,7 @@ public class AuthModulePropertySourceMapper extends 
PropertySourceMapper impleme
         Pac4jOAuth20ClientProperties props = new 
Pac4jOAuth20ClientProperties();
         props.setId(conf.getClientId());
         props.setSecret(conf.getClientSecret());
-        
props.setClientName(Optional.ofNullable(conf.getClientName()).orElse(authModuleTO.getKey()));
+        
props.setClientName(Optional.ofNullable(conf.getClientName()).orElseGet(authModuleTO::getKey));
         props.setEnabled(authModuleTO.getState() == AuthModuleState.ACTIVE);
         props.setCustomParams(conf.getCustomParams());
         props.setAuthUrl(conf.getAuthUrl());
@@ -199,7 +199,7 @@ public class AuthModulePropertySourceMapper extends 
PropertySourceMapper impleme
 
         props.setId(conf.getClientId());
         props.setSecret(conf.getClientSecret());
-        
props.setClientName(Optional.ofNullable(conf.getClientName()).orElse(authModuleTO.getKey()));
+        
props.setClientName(Optional.ofNullable(conf.getClientName()).orElseGet(authModuleTO::getKey));
         props.setEnabled(authModuleTO.getState() == AuthModuleState.ACTIVE);
         props.setCustomParams(conf.getCustomParams());
         props.setDiscoveryUri(conf.getDiscoveryUri());
@@ -278,7 +278,7 @@ public class AuthModulePropertySourceMapper extends 
PropertySourceMapper impleme
     @Override
     public Map<String, Object> map(final AuthModuleTO authModuleTO, final 
SAML2IdPAuthModuleConf conf) {
         Pac4jSamlClientProperties props = new Pac4jSamlClientProperties();
-        
props.setClientName(Optional.ofNullable(conf.getClientName()).orElse(authModuleTO.getKey()));
+        
props.setClientName(Optional.ofNullable(conf.getClientName()).orElseGet(authModuleTO::getKey));
         props.setEnabled(authModuleTO.getState() == AuthModuleState.ACTIVE);
         props.setAcceptedSkew(conf.getAcceptedSkew());
         
props.setAssertionConsumerServiceIndex(conf.getAssertionConsumerServiceIndex());
diff --git 
a/wa/starter/src/main/java/org/apache/syncope/wa/starter/config/WAContext.java 
b/wa/starter/src/main/java/org/apache/syncope/wa/starter/config/WAContext.java
index e7e831c3e8..77a8240a4a 100644
--- 
a/wa/starter/src/main/java/org/apache/syncope/wa/starter/config/WAContext.java
+++ 
b/wa/starter/src/main/java/org/apache/syncope/wa/starter/config/WAContext.java
@@ -210,7 +210,7 @@ public class WAContext {
 
         return new RegisteredServiceMapper(
                 
Optional.ofNullable(casProperties.getAuthn().getPac4j().getCore().getName()).
-                        
orElse(DelegatedClientAuthenticationHandler.class.getSimpleName()),
+                    
orElseGet(DelegatedClientAuthenticationHandler.class::getSimpleName),
                 authenticationEventExecutionPlan,
                 multifactorAuthenticationProviders,
                 authMappers,
diff --git 
a/wa/starter/src/main/java/org/apache/syncope/wa/starter/mapping/DefaultAuthMapper.java
 
b/wa/starter/src/main/java/org/apache/syncope/wa/starter/mapping/DefaultAuthMapper.java
index e087279710..859b983ae4 100644
--- 
a/wa/starter/src/main/java/org/apache/syncope/wa/starter/mapping/DefaultAuthMapper.java
+++ 
b/wa/starter/src/main/java/org/apache/syncope/wa/starter/mapping/DefaultAuthMapper.java
@@ -88,7 +88,7 @@ public class DefaultAuthMapper implements AuthMapper {
                     filter(m -> m.getConf() instanceof Pac4jAuthModuleConf).
                     map(m -> Pair.of(
                     m.getKey(),
-                    Optional.ofNullable(((Pac4jAuthModuleConf) 
m.getConf()).getClientName()).orElse(m.getKey()))).
+                    Optional.ofNullable(((Pac4jAuthModuleConf) 
m.getConf()).getClientName()).orElseGet(m::getKey))).
                     collect(Collectors.toSet()));
             if (!delegatedAuthHandlers.isEmpty()) {
                 
authHandlers.removeAll(delegatedAuthHandlers.stream().map(Pair::getLeft).collect(Collectors.toSet()));

Reply via email to