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

mmoayyed 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 94918b4949 NOJIRA: Replace instanceof checks with pattern matching 
(#920)
94918b4949 is described below

commit 94918b49498e028b41610855e9204e019660dc13
Author: Misagh Moayyed <[email protected]>
AuthorDate: Wed Nov 27 15:22:34 2024 +0400

    NOJIRA: Replace instanceof checks with pattern matching (#920)
---
 .../AuthProfileItemDirectoryPanel.java             |  5 ++---
 .../console/panels/ConnectorDirectoryPanel.java    |  3 +--
 .../console/panels/ResourceDirectoryPanel.java     |  3 +--
 .../client/console/events/SelectedEventsPanel.java |  3 +--
 .../client/console/panels/DirectoryPanel.java      |  3 +--
 .../client/console/panels/ListViewPanel.java       |  3 +--
 .../client/console/panels/search/SearchUtils.java  |  4 ++--
 .../wizards/any/UserTemplateWizardBuilder.java     |  7 ++-----
 .../client/enduser/SyncopeEnduserSession.java      |  3 +--
 .../apache/syncope/common/lib/EntityTOUtils.java   | 24 ++++++----------------
 .../common/lib/jackson/SyncopeJsonMapper.java      |  3 +--
 .../core/persistence/api/search/FilterVisitor.java |  4 ++--
 .../persistence/api/search/SearchCondVisitor.java  |  4 ++--
 .../persistence/jpa/entity/AbstractEntity.java     |  3 +--
 .../persistence/neo4j/entity/AbstractNode.java     |  3 +--
 .../provisioning/java/data/TaskDataBinderImpl.java | 15 ++++++--------
 .../propagation/DefaultPropagationManager.java     |  3 +--
 .../provisioning/java/utils/ConnObjectUtils.java   |  3 +--
 .../client/ElasticsearchIndexManager.java          |  3 +--
 .../flowable/impl/FlowableUserRequestHandler.java  |  3 +--
 .../flowable/support/SyncopeFormHandlerHelper.java |  3 +--
 .../opensearch/client/OpenSearchIndexManager.java  |  3 +--
 .../apache/syncope/core/logic/SCIMDataBinder.java  |  7 ++-----
 .../ext/scimv2/cxf/SCIMExceptionMapper.java        |  3 +--
 .../fit/core/reference/TestFileAuditProcessor.java |  5 ++---
 .../starter/mapping/AbstractClientAppMapper.java   |  3 +--
 26 files changed, 43 insertions(+), 83 deletions(-)

diff --git 
a/client/am/console/src/main/java/org/apache/syncope/client/console/authprofiles/AuthProfileItemDirectoryPanel.java
 
b/client/am/console/src/main/java/org/apache/syncope/client/console/authprofiles/AuthProfileItemDirectoryPanel.java
index 6d89dcdc69..475d1ad60d 100644
--- 
a/client/am/console/src/main/java/org/apache/syncope/client/console/authprofiles/AuthProfileItemDirectoryPanel.java
+++ 
b/client/am/console/src/main/java/org/apache/syncope/client/console/authprofiles/AuthProfileItemDirectoryPanel.java
@@ -88,13 +88,12 @@ public abstract class AuthProfileItemDirectoryPanel<I 
extends BaseBean>
     protected abstract String sortProperty();
 
     @Override
+    @SuppressWarnings("unchecked")
     public void onEvent(final IEvent<?> event) {
         if (event.getPayload() instanceof ExitEvent) {
             AjaxRequestTarget target = 
ExitEvent.class.cast(event.getPayload()).getTarget();
             authProfileModal.close(target);
-        } else if (event.getPayload() instanceof 
AjaxWizard.EditItemActionEvent) {
-            @SuppressWarnings("unchecked")
-            AjaxWizard.EditItemActionEvent<?> payload = 
(AjaxWizard.EditItemActionEvent<?>) event.getPayload();
+        } else if (event.getPayload() instanceof final 
AjaxWizard.EditItemActionEvent<?> payload) {
             payload.getTarget().ifPresent(actionTogglePanel::close);
         }
         super.onEvent(event);
diff --git 
a/client/idm/console/src/main/java/org/apache/syncope/client/console/panels/ConnectorDirectoryPanel.java
 
b/client/idm/console/src/main/java/org/apache/syncope/client/console/panels/ConnectorDirectoryPanel.java
index 25ad1be19c..deff7f2057 100644
--- 
a/client/idm/console/src/main/java/org/apache/syncope/client/console/panels/ConnectorDirectoryPanel.java
+++ 
b/client/idm/console/src/main/java/org/apache/syncope/client/console/panels/ConnectorDirectoryPanel.java
@@ -89,8 +89,7 @@ public class ConnectorDirectoryPanel extends
 
     @Override
     public void onEvent(final IEvent<?> event) {
-        if (event.getPayload() instanceof ConnectorSearchEvent) {
-            ConnectorSearchEvent payload = (ConnectorSearchEvent) 
event.getPayload();
+        if (event.getPayload() instanceof final ConnectorSearchEvent payload) {
             AjaxRequestTarget target = payload.getTarget();
             if (StringUtils.isNotBlank(payload.getKeyword())) {
                 keyword = payload.getKeyword().toLowerCase();
diff --git 
a/client/idm/console/src/main/java/org/apache/syncope/client/console/panels/ResourceDirectoryPanel.java
 
b/client/idm/console/src/main/java/org/apache/syncope/client/console/panels/ResourceDirectoryPanel.java
index 710b57f359..65331f4eab 100644
--- 
a/client/idm/console/src/main/java/org/apache/syncope/client/console/panels/ResourceDirectoryPanel.java
+++ 
b/client/idm/console/src/main/java/org/apache/syncope/client/console/panels/ResourceDirectoryPanel.java
@@ -130,8 +130,7 @@ public class ResourceDirectoryPanel extends
 
     @Override
     public void onEvent(final IEvent<?> event) {
-        if (event.getPayload() instanceof ResourceSearchEvent) {
-            ResourceSearchEvent payload = (ResourceSearchEvent) 
event.getPayload();
+        if (event.getPayload() instanceof final ResourceSearchEvent payload) {
             AjaxRequestTarget target = payload.getTarget();
             if (StringUtils.isNotEmpty(payload.getKeyword())) {
                 keyword = payload.getKeyword().toLowerCase();
diff --git 
a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/events/SelectedEventsPanel.java
 
b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/events/SelectedEventsPanel.java
index 37dd9c3fa6..84458a2cf0 100644
--- 
a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/events/SelectedEventsPanel.java
+++ 
b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/events/SelectedEventsPanel.java
@@ -101,8 +101,7 @@ public class SelectedEventsPanel extends Panel {
 
     @Override
     public void onEvent(final IEvent<?> event) {
-        if (event.getPayload() instanceof EventSelectionChanged) {
-            EventSelectionChanged eventSelectionChanged = 
(EventSelectionChanged) event.getPayload();
+        if (event.getPayload() instanceof final EventSelectionChanged 
eventSelectionChanged) {
 
             eventSelectionChanged.getToBeRemoved().
                     forEach(toBeRemoved -> 
model.getObject().remove(toBeRemoved.toString()));
diff --git 
a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DirectoryPanel.java
 
b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DirectoryPanel.java
index f15ba9b909..1ed239555c 100644
--- 
a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DirectoryPanel.java
+++ 
b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DirectoryPanel.java
@@ -343,8 +343,7 @@ public abstract class DirectoryPanel<
 
     @Override
     public void onEvent(final IEvent<?> event) {
-        if (event.getPayload() instanceof EventDataWrapper) {
-            EventDataWrapper data = (EventDataWrapper) event.getPayload();
+        if (event.getPayload() instanceof final EventDataWrapper data) {
 
             if (data.getRows() < 1) {
                 updateResultTable(data.isCreate());
diff --git 
a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ListViewPanel.java
 
b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ListViewPanel.java
index c44531d1c4..8280c9c80f 100644
--- 
a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ListViewPanel.java
+++ 
b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ListViewPanel.java
@@ -491,8 +491,7 @@ public abstract class ListViewPanel<T extends Serializable> 
extends WizardMgtPan
 
             target.ifPresent(t -> t.add(ListViewPanel.this));
             super.onEvent(event);
-        } else if (event.getPayload() instanceof ListViewPanel.ListViewReload) 
{
-            final ListViewPanel.ListViewReload<?> payload = 
(ListViewPanel.ListViewReload<?>) event.getPayload();
+        } else if (event.getPayload() instanceof final 
ListViewPanel.ListViewReload<?> payload) {
             if (payload.getItems() != null) {
                 ListViewPanel.this.listOfItems.clear();
                 try {
diff --git 
a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/search/SearchUtils.java
 
b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/search/SearchUtils.java
index f146165b02..d8606e5321 100644
--- 
a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/search/SearchUtils.java
+++ 
b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/search/SearchUtils.java
@@ -166,8 +166,8 @@ public final class SearchUtils implements Serializable {
         }
 
         ConditionType ct = sc.getConditionType();
-        if (sc instanceof SyncopeFiqlSearchCondition && sc.getConditionType() 
== ConditionType.CUSTOM) {
-            SyncopeFiqlSearchCondition<SearchBean> sfsc = 
(SyncopeFiqlSearchCondition<SearchBean>) sc;
+        if (sc instanceof final SyncopeFiqlSearchCondition<SearchBean> sfsc
+            && sc.getConditionType() == ConditionType.CUSTOM) {
             if (SyncopeFiqlParser.IEQ.equals(sfsc.getOperator())) {
                 ct = ConditionType.EQUALS;
             } else if (SyncopeFiqlParser.NIEQ.equals(sfsc.getOperator())) {
diff --git 
a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/any/UserTemplateWizardBuilder.java
 
b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/any/UserTemplateWizardBuilder.java
index b79e2e867e..b6f5bc37ec 100644
--- 
a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/any/UserTemplateWizardBuilder.java
+++ 
b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/any/UserTemplateWizardBuilder.java
@@ -19,6 +19,7 @@
 package org.apache.syncope.client.console.wizards.any;
 
 import java.util.List;
+import java.util.Objects;
 import java.util.Optional;
 import org.apache.syncope.client.console.commons.RealmsUtils;
 import org.apache.syncope.client.console.layout.UserFormLayoutInfo;
@@ -48,11 +49,7 @@ public class UserTemplateWizardBuilder extends 
UserWizardBuilder implements Temp
         super(anyTypeClasses, formLayoutInfo, userRestClient, pageRef);
         templatable = null;
 
-        if (template == null) {
-            setItem(new UserWrapper(new UserTO()));
-        } else {
-            setItem(new UserWrapper(template));
-        }
+        setItem(new UserWrapper(Objects.requireNonNullElseGet(template, 
UserTO::new)));
     }
 
     public UserTemplateWizardBuilder(
diff --git 
a/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/SyncopeEnduserSession.java
 
b/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/SyncopeEnduserSession.java
index b50bf89f82..d36af64a7c 100644
--- 
a/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/SyncopeEnduserSession.java
+++ 
b/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/SyncopeEnduserSession.java
@@ -133,8 +133,7 @@ public class SyncopeEnduserSession extends 
AuthenticatedWebSession implements Ba
         Throwable root = ExceptionUtils.getRootCause(e);
         String message = root.getMessage();
 
-        if (root instanceof SyncopeClientException) {
-            SyncopeClientException sce = (SyncopeClientException) root;
+        if (root instanceof final SyncopeClientException sce) {
             message = sce.isComposite()
                     ? 
sce.asComposite().getExceptions().stream().map(this::message).collect(Collectors.joining(";
 "))
                     : message(sce);
diff --git 
a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/EntityTOUtils.java
 
b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/EntityTOUtils.java
index 7ce3f71f2f..cbe65dc17d 100644
--- 
a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/EntityTOUtils.java
+++ 
b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/EntityTOUtils.java
@@ -70,9 +70,7 @@ public final class EntityTOUtils {
         anyCR.getVirAttrs().addAll(anyTO.getVirAttrs());
         anyCR.getResources().addAll(anyTO.getResources());
 
-        if (anyCR instanceof UserCR && anyTO instanceof UserTO) {
-            UserCR userCR = (UserCR) anyCR;
-            UserTO userTO = (UserTO) anyTO;
+        if (anyCR instanceof final UserCR userCR && anyTO instanceof final 
UserTO userTO) {
 
             userCR.setUsername(userTO.getUsername());
             userCR.setPassword(userTO.getPassword());
@@ -82,9 +80,7 @@ public final class EntityTOUtils {
             userCR.getRelationships().addAll(userTO.getRelationships());
             userCR.getMemberships().addAll(userTO.getMemberships());
             userCR.getRoles().addAll(userTO.getRoles());
-        } else if (anyCR instanceof GroupCR && anyTO instanceof GroupTO) {
-            GroupCR groupCR = (GroupCR) anyCR;
-            GroupTO groupTO = (GroupTO) anyTO;
+        } else if (anyCR instanceof final GroupCR groupCR && anyTO instanceof 
final GroupTO groupTO) {
 
             groupCR.setName(groupTO.getName());
             groupCR.setUserOwner(groupTO.getUserOwner());
@@ -92,9 +88,7 @@ public final class EntityTOUtils {
             groupCR.setUDynMembershipCond(groupTO.getUDynMembershipCond());
             
groupCR.getADynMembershipConds().putAll(groupTO.getADynMembershipConds());
             groupCR.getTypeExtensions().addAll(groupTO.getTypeExtensions());
-        } else if (anyCR instanceof AnyObjectCR && anyTO instanceof 
AnyObjectTO) {
-            AnyObjectCR anyObjectCR = (AnyObjectCR) anyCR;
-            AnyObjectTO anyObjectTO = (AnyObjectTO) anyTO;
+        } else if (anyCR instanceof final AnyObjectCR anyObjectCR && anyTO 
instanceof final AnyObjectTO anyObjectTO) {
 
             anyObjectCR.setType(anyObjectTO.getType());
             anyObjectCR.setName(anyObjectTO.getName());
@@ -110,9 +104,7 @@ public final class EntityTOUtils {
         anyTO.getVirAttrs().addAll(anyCR.getVirAttrs());
         anyTO.getResources().addAll(anyCR.getResources());
 
-        if (anyTO instanceof UserTO && anyCR instanceof UserCR) {
-            UserTO userTO = (UserTO) anyTO;
-            UserCR userCR = (UserCR) anyCR;
+        if (anyTO instanceof final UserTO userTO && anyCR instanceof final 
UserCR userCR) {
 
             userTO.setUsername(userCR.getUsername());
             userTO.setPassword(userCR.getPassword());
@@ -122,9 +114,7 @@ public final class EntityTOUtils {
             userTO.getRelationships().addAll(userCR.getRelationships());
             userTO.getMemberships().addAll(userCR.getMemberships());
             userTO.getRoles().addAll(userCR.getRoles());
-        } else if (anyTO instanceof GroupTO && anyCR instanceof GroupCR) {
-            GroupTO groupTO = (GroupTO) anyTO;
-            GroupCR groupCR = (GroupCR) anyCR;
+        } else if (anyTO instanceof final GroupTO groupTO && anyCR instanceof 
final GroupCR groupCR) {
 
             groupTO.setName(groupCR.getName());
             groupTO.setUserOwner(groupCR.getUserOwner());
@@ -132,9 +122,7 @@ public final class EntityTOUtils {
             groupTO.setUDynMembershipCond(groupCR.getUDynMembershipCond());
             
groupTO.getADynMembershipConds().putAll(groupCR.getADynMembershipConds());
             groupTO.getTypeExtensions().addAll(groupCR.getTypeExtensions());
-        } else if (anyTO instanceof AnyObjectTO && anyCR instanceof 
AnyObjectCR) {
-            AnyObjectTO anyObjectTO = (AnyObjectTO) anyTO;
-            AnyObjectCR anyObjectCR = (AnyObjectCR) anyCR;
+        } else if (anyTO instanceof final AnyObjectTO anyObjectTO && anyCR 
instanceof final AnyObjectCR anyObjectCR) {
 
             anyObjectTO.setType(anyObjectCR.getType());
             anyObjectTO.setName(anyObjectCR.getName());
diff --git 
a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/jackson/SyncopeJsonMapper.java
 
b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/jackson/SyncopeJsonMapper.java
index 403403edbe..ef7d5525ec 100644
--- 
a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/jackson/SyncopeJsonMapper.java
+++ 
b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/jackson/SyncopeJsonMapper.java
@@ -52,8 +52,7 @@ public class SyncopeJsonMapper extends JsonMapper {
      * @return the unwrapped map or the original value
      */
     protected Object unwrapMap(final Object value) {
-        if (value instanceof Map) {
-            Map<?, ?> map = (Map<?, ?>) value;
+        if (value instanceof final Map<?, ?> map) {
             if (map.size() == 1) {
                 return map.values().iterator().next();
             }
diff --git 
a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/search/FilterVisitor.java
 
b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/search/FilterVisitor.java
index a822bb1aad..4bfb6369f4 100644
--- 
a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/search/FilterVisitor.java
+++ 
b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/search/FilterVisitor.java
@@ -59,8 +59,8 @@ public class FilterVisitor extends 
AbstractSearchConditionVisitor<SearchBean, Fi
         Optional<SpecialAttr> specialAttrValue = SpecialAttr.fromString(value);
 
         ConditionType ct = sc.getConditionType();
-        if (sc instanceof SyncopeFiqlSearchCondition && sc.getConditionType() 
== ConditionType.CUSTOM) {
-            SyncopeFiqlSearchCondition<SearchBean> sfsc = 
(SyncopeFiqlSearchCondition<SearchBean>) sc;
+        if (sc instanceof final SyncopeFiqlSearchCondition<SearchBean> sfsc
+            && sc.getConditionType() == ConditionType.CUSTOM) {
             switch (sfsc.getOperator()) {
                 case SyncopeFiqlParser.IEQ:
                     ct = ConditionType.EQUALS;
diff --git 
a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/search/SearchCondVisitor.java
 
b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/search/SearchCondVisitor.java
index 23435afd0f..e6bf206f65 100644
--- 
a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/search/SearchCondVisitor.java
+++ 
b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/search/SearchCondVisitor.java
@@ -83,8 +83,8 @@ public class SearchCondVisitor extends 
AbstractSearchConditionVisitor<SearchBean
 
     protected static ConditionType getConditionType(final 
SearchCondition<SearchBean> sc) {
         ConditionType ct = sc.getConditionType();
-        if (sc instanceof SyncopeFiqlSearchCondition && sc.getConditionType() 
== ConditionType.CUSTOM) {
-            SyncopeFiqlSearchCondition<SearchBean> sfsc = 
(SyncopeFiqlSearchCondition<SearchBean>) sc;
+        if (sc instanceof final SyncopeFiqlSearchCondition<SearchBean> sfsc
+            && sc.getConditionType() == ConditionType.CUSTOM) {
             switch (sfsc.getOperator()) {
                 case SyncopeFiqlParser.IEQ:
                     ct = ConditionType.EQUALS;
diff --git 
a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractEntity.java
 
b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractEntity.java
index a65b3fb7cc..fc0e685540 100644
--- 
a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractEntity.java
+++ 
b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractEntity.java
@@ -50,10 +50,9 @@ public abstract class AbstractEntity implements Entity {
         if (this == obj) {
             return true;
         }
-        if (!(obj instanceof AbstractEntity)) {
+        if (!(obj instanceof final AbstractEntity entity)) {
             return false;
         }
-        AbstractEntity entity = (AbstractEntity) obj;
         return Objects.equals(getKey(), entity.getKey());
     }
 
diff --git 
a/core/persistence-neo4j/src/main/java/org/apache/syncope/core/persistence/neo4j/entity/AbstractNode.java
 
b/core/persistence-neo4j/src/main/java/org/apache/syncope/core/persistence/neo4j/entity/AbstractNode.java
index 9ee54e1e89..f7e238110c 100644
--- 
a/core/persistence-neo4j/src/main/java/org/apache/syncope/core/persistence/neo4j/entity/AbstractNode.java
+++ 
b/core/persistence-neo4j/src/main/java/org/apache/syncope/core/persistence/neo4j/entity/AbstractNode.java
@@ -50,10 +50,9 @@ public abstract class AbstractNode implements Entity {
         if (this == obj) {
             return true;
         }
-        if (!(obj instanceof AbstractNode)) {
+        if (!(obj instanceof final AbstractNode entity)) {
             return false;
         }
-        AbstractNode entity = (AbstractNode) obj;
         return Objects.equals(getKey(), entity.getKey());
     }
 
diff --git 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/TaskDataBinderImpl.java
 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/TaskDataBinderImpl.java
index 2edcae08bb..fd47dc728a 100644
--- 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/TaskDataBinderImpl.java
+++ 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/TaskDataBinderImpl.java
@@ -127,9 +127,8 @@ public class TaskDataBinderImpl extends 
AbstractExecutableDatabinder implements
     }
 
     protected void fill(final ProvisioningTask<?> provisioningTask, final 
ProvisioningTaskTO provisioningTaskTO) {
-        if (provisioningTask instanceof PushTask && provisioningTaskTO 
instanceof PushTaskTO) {
-            PushTask pushTask = (PushTask) provisioningTask;
-            PushTaskTO pushTaskTO = (PushTaskTO) provisioningTaskTO;
+        if (provisioningTask instanceof final PushTask pushTask
+            && provisioningTaskTO instanceof final PushTaskTO pushTaskTO) {
 
             Implementation jobDelegate = pushTaskTO.getJobDelegate() == null
                     ? 
implementationDAO.findByType(IdRepoImplementationType.TASKJOB_DELEGATE).stream().
@@ -160,9 +159,8 @@ public class TaskDataBinderImpl extends 
AbstractExecutableDatabinder implements
             // remove all filters not contained in the TO
             pushTask.getFilters().entrySet().
                     removeIf(filter -> 
!pushTaskTO.getFilters().containsKey(filter.getKey()));
-        } else if (provisioningTask instanceof PullTask && provisioningTaskTO 
instanceof PullTaskTO) {
-            PullTask pullTask = (PullTask) provisioningTask;
-            PullTaskTO pullTaskTO = (PullTaskTO) provisioningTaskTO;
+        } else if (provisioningTask instanceof final PullTask pullTask
+            && provisioningTaskTO instanceof final PullTaskTO pullTaskTO) {
 
             Implementation jobDelegate = pullTaskTO.getJobDelegate() == null
                     ? 
implementationDAO.findByType(IdRepoImplementationType.TASKJOB_DELEGATE).stream().
@@ -418,9 +416,8 @@ public class TaskDataBinderImpl extends 
AbstractExecutableDatabinder implements
         scheduler.getNextTrigger(AuthContextUtils.getDomain(), 
JobNamer.getJobName(schedTask)).
                 ifPresent(schedTaskTO::setNextExec);
 
-        if (schedTaskTO instanceof ProvisioningTaskTO && schedTask instanceof 
ProvisioningTask) {
-            ProvisioningTaskTO provisioningTaskTO = (ProvisioningTaskTO) 
schedTaskTO;
-            ProvisioningTask<?> provisioningTask = (ProvisioningTask<?>) 
schedTask;
+        if (schedTaskTO instanceof final ProvisioningTaskTO provisioningTaskTO
+            && schedTask instanceof final ProvisioningTask<?> 
provisioningTask) {
 
             
provisioningTaskTO.setResource(provisioningTask.getResource().getKey());
 
diff --git 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/DefaultPropagationManager.java
 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/DefaultPropagationManager.java
index f7aae75b0f..fc3a03145a 100644
--- 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/DefaultPropagationManager.java
+++ 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/DefaultPropagationManager.java
@@ -516,8 +516,7 @@ public class DefaultPropagationManager implements 
PropagationManager {
             }
         });
 
-        if (any instanceof User && propByLinkedAccount != null) {
-            User user = (User) any;
+        if (any instanceof final User user && propByLinkedAccount != null) {
             propByLinkedAccount.asMap().forEach((accountInfo, operation) -> {
                 LinkedAccount account = 
user.getLinkedAccount(accountInfo.getLeft(), accountInfo.getRight()).
                         orElse(null);
diff --git 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/utils/ConnObjectUtils.java
 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/utils/ConnObjectUtils.java
index d180a325d7..8b73e7e07a 100644
--- 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/utils/ConnObjectUtils.java
+++ 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/utils/ConnObjectUtils.java
@@ -192,11 +192,10 @@ public class ConnObjectUtils {
         EntityTOUtils.toAnyCR(anyTO, anyCR);
 
         // (for users) if password was not set above, generate if possible
-        if (anyCR instanceof UserCR
+        if (anyCR instanceof final UserCR userCR
                 && StringUtils.isBlank(((UserCR) anyCR).getPassword())
                 && generatePassword) {
 
-            UserCR userCR = (UserCR) anyCR;
             List<PasswordPolicy> passwordPolicies = new ArrayList<>();
 
             // add resource policies
diff --git 
a/ext/elasticsearch/client-elasticsearch/src/main/java/org/apache/syncope/ext/elasticsearch/client/ElasticsearchIndexManager.java
 
b/ext/elasticsearch/client-elasticsearch/src/main/java/org/apache/syncope/ext/elasticsearch/client/ElasticsearchIndexManager.java
index 2f3579c964..9ffd44c23a 100644
--- 
a/ext/elasticsearch/client-elasticsearch/src/main/java/org/apache/syncope/ext/elasticsearch/client/ElasticsearchIndexManager.java
+++ 
b/ext/elasticsearch/client-elasticsearch/src/main/java/org/apache/syncope/ext/elasticsearch/client/ElasticsearchIndexManager.java
@@ -296,8 +296,7 @@ public class ElasticsearchIndexManager {
     public void entity(final EntityLifecycleEvent<Entity> event) throws 
IOException {
         LOG.debug("About to {} index for {}", event.getType().name(), 
event.getEntity());
 
-        if (event.getEntity() instanceof Any) {
-            Any<?> any = (Any<?>) event.getEntity();
+        if (event.getEntity() instanceof final Any<?> any) {
 
             if (event.getType() == SyncDeltaType.DELETE) {
                 DeleteRequest request = new DeleteRequest.Builder().index(
diff --git 
a/ext/flowable/flowable-bpmn/src/main/java/org/apache/syncope/core/flowable/impl/FlowableUserRequestHandler.java
 
b/ext/flowable/flowable-bpmn/src/main/java/org/apache/syncope/core/flowable/impl/FlowableUserRequestHandler.java
index 5134570b8f..5b56356ba0 100644
--- 
a/ext/flowable/flowable-bpmn/src/main/java/org/apache/syncope/core/flowable/impl/FlowableUserRequestHandler.java
+++ 
b/ext/flowable/flowable-bpmn/src/main/java/org/apache/syncope/core/flowable/impl/FlowableUserRequestHandler.java
@@ -264,9 +264,8 @@ public class FlowableUserRequestHandler implements 
UserRequestHandler {
     public void cancelByUser(final EntityLifecycleEvent<Entity> event) {
         if (AuthContextUtils.getDomain().equals(event.getDomain())
                 && event.getType() == SyncDeltaType.DELETE
-                && event.getEntity() instanceof User) {
+                && event.getEntity() instanceof final User user) {
 
-            User user = (User) event.getEntity();
             engine.getRuntimeService().createNativeProcessInstanceQuery().
                     sql(createProcessInstanceQuery(user.getKey()).toString()).
                     list().forEach(procInst -> 
engine.getRuntimeService().deleteProcessInstance(
diff --git 
a/ext/flowable/flowable-bpmn/src/main/java/org/apache/syncope/core/flowable/support/SyncopeFormHandlerHelper.java
 
b/ext/flowable/flowable-bpmn/src/main/java/org/apache/syncope/core/flowable/support/SyncopeFormHandlerHelper.java
index fa8997e2ea..6c20f45ae8 100644
--- 
a/ext/flowable/flowable-bpmn/src/main/java/org/apache/syncope/core/flowable/support/SyncopeFormHandlerHelper.java
+++ 
b/ext/flowable/flowable-bpmn/src/main/java/org/apache/syncope/core/flowable/support/SyncopeFormHandlerHelper.java
@@ -38,8 +38,7 @@ public class SyncopeFormHandlerHelper extends 
FormHandlerHelper {
     public TaskFormHandler getTaskFormHandlder(final String procDefId, final 
String taskId) {
         Process process = ProcessDefinitionUtil.getProcess(procDefId);
         FlowElement flowElement = process.getFlowElement(taskId, true);
-        if (flowElement instanceof UserTask) {
-            UserTask userTask = (UserTask) flowElement;
+        if (flowElement instanceof final UserTask userTask) {
 
             ProcessDefinition processDefinitionEntity = 
ProcessDefinitionUtil.getProcessDefinition(procDefId);
             DeploymentEntity deploymentEntity = 
CommandContextUtil.getProcessEngineConfiguration().
diff --git 
a/ext/opensearch/client-opensearch/src/main/java/org/apache/syncope/ext/opensearch/client/OpenSearchIndexManager.java
 
b/ext/opensearch/client-opensearch/src/main/java/org/apache/syncope/ext/opensearch/client/OpenSearchIndexManager.java
index 2955035dcc..2672193e58 100644
--- 
a/ext/opensearch/client-opensearch/src/main/java/org/apache/syncope/ext/opensearch/client/OpenSearchIndexManager.java
+++ 
b/ext/opensearch/client-opensearch/src/main/java/org/apache/syncope/ext/opensearch/client/OpenSearchIndexManager.java
@@ -296,8 +296,7 @@ public class OpenSearchIndexManager {
     public void entity(final EntityLifecycleEvent<Entity> event) throws 
IOException {
         LOG.debug("About to {} index for {}", event.getType().name(), 
event.getEntity());
 
-        if (event.getEntity() instanceof Any) {
-            Any<?> any = (Any<?>) event.getEntity();
+        if (event.getEntity() instanceof final Any<?> any) {
 
             if (event.getType() == SyncDeltaType.DELETE) {
                 DeleteRequest request = new DeleteRequest.Builder().index(
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 59ec383a31..3cc60b644e 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
@@ -800,9 +800,7 @@ public class SCIMDataBinder {
         StatusR statusR = null;
 
         if (op.getPath() == null && op.getOp() != PatchOp.remove
-                && !CollectionUtils.isEmpty(op.getValue()) && 
op.getValue().get(0) instanceof SCIMUser) {
-
-            SCIMUser after = (SCIMUser) op.getValue().get(0);
+                && !CollectionUtils.isEmpty(op.getValue()) && 
op.getValue().get(0) instanceof final SCIMUser after) {
 
             if (after.getActive() != null && before.isSuspended() == 
after.isActive()) {
                 statusR = new StatusR.Builder(
@@ -932,8 +930,7 @@ public class SCIMDataBinder {
             }
 
             case "addresses" -> {
-                if (!CollectionUtils.isEmpty(op.getValue()) && 
op.getValue().get(0) instanceof SCIMUser) {
-                    SCIMUser after = (SCIMUser) op.getValue().get(0);
+                if (!CollectionUtils.isEmpty(op.getValue()) && 
op.getValue().get(0) instanceof final SCIMUser after) {
                     after.getAddresses().stream().filter(address -> 
address.getType() != null).forEach(
                             address -> 
conf.getUserConf().getAddresses().stream()
                                     .filter(object -> 
address.getType().equals(object.getType().name())).findFirst()
diff --git 
a/ext/scimv2/scim-rest-cxf/src/main/java/org/apache/syncope/ext/scimv2/cxf/SCIMExceptionMapper.java
 
b/ext/scimv2/scim-rest-cxf/src/main/java/org/apache/syncope/ext/scimv2/cxf/SCIMExceptionMapper.java
index db0a658a5f..f012b32f80 100644
--- 
a/ext/scimv2/scim-rest-cxf/src/main/java/org/apache/syncope/ext/scimv2/cxf/SCIMExceptionMapper.java
+++ 
b/ext/scimv2/scim-rest-cxf/src/main/java/org/apache/syncope/ext/scimv2/cxf/SCIMExceptionMapper.java
@@ -96,8 +96,7 @@ public class SCIMExceptionMapper implements 
ExceptionMapper<Exception> {
             return Response.status(Response.Status.NOT_FOUND).entity(new 
SCIMError(null,
                     Response.Status.NOT_FOUND.getStatusCode(), 
ExceptionUtils.getRootCauseMessage(ex))).
                     build();
-        } else if (ex instanceof SyncopeClientException) {
-            SyncopeClientException sce = (SyncopeClientException) ex;
+        } else if (ex instanceof final SyncopeClientException sce) {
             builder = builder(sce.getType(), 
ExceptionUtils.getRootCauseMessage(ex));
         } else if (ex instanceof DelegatedAdministrationException
                 || ExceptionUtils.getRootCause(ex) instanceof 
DelegatedAdministrationException) {
diff --git 
a/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/TestFileAuditProcessor.java
 
b/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/TestFileAuditProcessor.java
index 259020da58..790c2a0edd 100644
--- 
a/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/TestFileAuditProcessor.java
+++ 
b/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/TestFileAuditProcessor.java
@@ -18,7 +18,6 @@
  */
 package org.apache.syncope.fit.core.reference;
 
-import java.nio.charset.StandardCharsets;
 import java.nio.file.Files;
 import java.nio.file.Paths;
 import java.nio.file.StandardOpenOption;
@@ -67,9 +66,9 @@ public class TestFileAuditProcessor implements 
AuditEventProcessor {
         String fileName = System.getProperty("syncope.log.dir") + 
"/audit_for_" + domain + "_file";
         String content = 
POJOHelper.serialize(auditEventDAO.toAuditEventTO(event)) + '\n';
         try {
-            Files.write(
+            Files.writeString(
                     Paths.get(fileName),
-                    content.getBytes(StandardCharsets.UTF_8),
+                    content,
                     StandardOpenOption.CREATE, StandardOpenOption.APPEND);
         } catch (Exception e) {
             LOG.error("Could not append audit event {} to file {}", event, 
fileName, e);
diff --git 
a/wa/starter/src/main/java/org/apache/syncope/wa/starter/mapping/AbstractClientAppMapper.java
 
b/wa/starter/src/main/java/org/apache/syncope/wa/starter/mapping/AbstractClientAppMapper.java
index 641273b61f..3a3c0d314a 100644
--- 
a/wa/starter/src/main/java/org/apache/syncope/wa/starter/mapping/AbstractClientAppMapper.java
+++ 
b/wa/starter/src/main/java/org/apache/syncope/wa/starter/mapping/AbstractClientAppMapper.java
@@ -83,8 +83,7 @@ abstract class AbstractClientAppMapper implements 
ClientAppMapper {
 
         
Optional.ofNullable(tgtExpirationPolicy).ifPresent(service::setTicketGrantingTicketExpirationPolicy);
 
-        if (service instanceof CasRegisteredService) {
-            CasRegisteredService casRegisteredService = (CasRegisteredService) 
service;
+        if (service instanceof final CasRegisteredService 
casRegisteredService) {
 
             Optional.ofNullable(stExpirationPolicy).
                     
ifPresent(casRegisteredService::setServiceTicketExpirationPolicy);


Reply via email to