You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by il...@apache.org on 2020/10/10 12:19:06 UTC

[syncope] branch master updated: Removing a few code scanning alerts

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 5d4f5cc  Removing a few code scanning alerts
5d4f5cc is described below

commit 5d4f5cc1288bb557314427c52730351f23c4a412
Author: Francesco Chicchiriccò <il...@apache.org>
AuthorDate: Sat Oct 10 14:18:53 2020 +0200

    Removing a few code scanning alerts
---
 ...irectoryPanelAdditionalActionLinksProvider.java |  2 +-
 .../console/panels/LinkedAccountModalPanel.java    |  1 -
 .../panels/LinkedAccountsStatusModalPanel.java     |  4 +--
 .../console/status/AnyStatusDirectoryPanel.java    |  3 +-
 .../topology/TopologyWebSocketBehavior.java        |  4 +--
 .../markup/html/form/AjaxSpinnerFieldPanel.java    | 26 +++++++++-------
 .../syncope/client/console/PreferenceManager.java  |  7 ++---
 .../client/console/SyncopeWebApplication.java      | 24 +++++++++++++--
 .../client/console/init/MIMETypesLoader.java       |  2 +-
 .../client/console/panels/AnyDirectoryPanel.java   |  2 +-
 .../client/console/panels/DirectoryPanel.java      |  2 +-
 .../client/console/panels/DomainWizardBuilder.java |  6 ++--
 .../console/panels/ImplementationModalPanel.java   |  4 +--
 .../client/console/tasks/AnyPropagationTasks.java  | 10 +++---
 .../client/console/tasks/PropagationTasks.java     |  8 ++---
 .../console/tasks/TaskAttributesDetailsView.java   |  8 ++---
 .../client/console/widgets/AnyByRealmWidget.java   |  5 +--
 .../reconciliation/ReconciliationReportParser.java | 22 ++++++++-----
 .../client/console/wizards/WizardMgtPanel.java     |  4 +--
 .../client/console/wizards/any/DerAttrs.java       |  3 +-
 .../syncope/client/console/wizards/any/Groups.java | 36 ++++++++++------------
 .../client/enduser/SyncopeWebApplication.java      |  2 +-
 .../client/enduser/init/MIMETypesLoader.java       |  2 +-
 .../enduser/pages/SelfConfirmPasswordReset.java    |  2 +-
 .../client/enduser/wizards/any/DerAttrs.java       |  2 +-
 .../rest/api/service/RemediationService.java       |  2 +-
 .../apache/syncope/common/lib/LogOutputStream.java |  2 +-
 .../apache/syncope/common/lib/PropertyUtils.java   |  5 +--
 .../common/rest/api/service/AnyObjectService.java  |  2 +-
 .../common/rest/api/service/GroupService.java      |  2 +-
 .../common/rest/api/service/RealmService.java      |  2 +-
 .../common/rest/api/service/UserSelfService.java   |  2 +-
 .../common/rest/api/service/UserService.java       |  2 +-
 .../common/keymaster/client/api/model/Domain.java  |  2 +-
 .../persistence/jpa/dao/MyJPAJSONAnySearchDAO.java |  1 -
 .../persistence/jpa/dao/PGJPAJSONAnySearchDAO.java |  1 -
 .../core/persistence/jpa/StartupDomainLoader.java  |  2 +-
 .../core/persistence/jpa/dao/JPAAnySearchDAO.java  | 12 +++-----
 .../core/persistence/jpa/dao/JPAUserDAO.java       |  1 +
 .../core/persistence/jpa/inner/WAConfigTest.java   |  4 +--
 .../core/provisioning/java/MappingManagerImpl.java |  6 ++--
 .../provisioning/java/ProvisioningContext.java     |  7 +++--
 .../pushpull/AbstractProvisioningJobDelegate.java  |  4 ---
 .../client/console/panels/NewBpmnProcess.java      |  2 +-
 .../core/flowable/impl/FlowableRuntimeUtils.java   |  2 --
 .../flowable/impl/FlowableUserRequestHandler.java  |  1 -
 .../flowable/impl/FlowableUserWorkflowAdapter.java |  4 ---
 .../console/wizards/OIDCProviderWizardBuilder.java |  4 +--
 .../console/wizards/SAML2IdPWizardBuilder.java     |  4 +--
 .../org/apache/syncope/core/logic/SCIMLogic.java   |  2 +-
 .../fit/buildtools/LdifInputStreamLoader.java      | 14 ---------
 .../view/ResourceExplorerTopComponent.java         |  5 +--
 .../java/org/apache/syncope/sra/RouteProvider.java |  4 +--
 .../apache/syncope/sra/SyncopeSRAApplication.java  |  3 +-
 .../BodyPropertyAddingGatewayFilterFactory.java    |  2 +-
 55 files changed, 145 insertions(+), 152 deletions(-)

diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/commons/IdMAnyDirectoryPanelAdditionalActionLinksProvider.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/commons/IdMAnyDirectoryPanelAdditionalActionLinksProvider.java
index 7e55010..a9a476a 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/commons/IdMAnyDirectoryPanelAdditionalActionLinksProvider.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/commons/IdMAnyDirectoryPanelAdditionalActionLinksProvider.java
@@ -125,7 +125,7 @@ public class IdMAnyDirectoryPanelAdditionalActionLinksProvider
             public void onClick(final AjaxRequestTarget target, final UserTO ignore) {
                 model.setObject(new UserRestClient().read(model.getObject().getKey()));
                 modal.setFooterVisible(false);
-                target.add(modal.setContent(new LinkedAccountModalPanel(modal, model, pageRef, false)));
+                target.add(modal.setContent(new LinkedAccountModalPanel(model, pageRef, false)));
 
                 modal.header(new Model<>(header));
 
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/panels/LinkedAccountModalPanel.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/panels/LinkedAccountModalPanel.java
index d5d2e09..83f2db2 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/panels/LinkedAccountModalPanel.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/panels/LinkedAccountModalPanel.java
@@ -88,7 +88,6 @@ public class LinkedAccountModalPanel extends Panel implements ModalPanel {
 
     @SuppressWarnings("unchecked")
     public LinkedAccountModalPanel(
-            final BaseModal<?> baseModal,
             final IModel<UserTO> model,
             final PageReference pageRef,
             final boolean recounciliationOnly) {
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/panels/LinkedAccountsStatusModalPanel.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/panels/LinkedAccountsStatusModalPanel.java
index ea4fc85..b6fe22b 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/panels/LinkedAccountsStatusModalPanel.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/panels/LinkedAccountsStatusModalPanel.java
@@ -18,7 +18,6 @@
  */
 package org.apache.syncope.client.console.panels;
 
-import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
 import org.apache.syncope.common.lib.to.UserTO;
 import org.apache.wicket.PageReference;
 import org.apache.wicket.model.IModel;
@@ -28,12 +27,11 @@ public class LinkedAccountsStatusModalPanel extends MultilevelPanel.SecondLevel
     private static final long serialVersionUID = 8804361394735366181L;
 
     public LinkedAccountsStatusModalPanel(
-            final BaseModal<?> baseModal,
             final IModel<UserTO> model,
             final PageReference pageRef) {
 
         super(MultilevelPanel.SECOND_LEVEL_ID);
 
-        add(new LinkedAccountModalPanel(baseModal, model, pageRef, true).setOutputMarkupId(true));
+        add(new LinkedAccountModalPanel(model, pageRef, true).setOutputMarkupId(true));
     }
 }
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/status/AnyStatusDirectoryPanel.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/status/AnyStatusDirectoryPanel.java
index 651b2c4..36af193 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/status/AnyStatusDirectoryPanel.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/status/AnyStatusDirectoryPanel.java
@@ -261,8 +261,7 @@ public class AnyStatusDirectoryPanel
                     @Override
                     public void onClick(final AjaxRequestTarget target, final StatusBean bean) {
                         multiLevelPanelRef.next("ACCOUNTS",
-                                new LinkedAccountsStatusModalPanel(
-                                        baseModal, Model.of(UserTO.class.cast(anyTO)), pageRef),
+                                new LinkedAccountsStatusModalPanel(Model.of(UserTO.class.cast(anyTO)), pageRef),
                                 target);
                         target.add(multiLevelPanelRef);
                         AnyStatusDirectoryPanel.this.getTogglePanel().close(target);
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/topology/TopologyWebSocketBehavior.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/topology/TopologyWebSocketBehavior.java
index 284e3c8..c49666e 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/topology/TopologyWebSocketBehavior.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/topology/TopologyWebSocketBehavior.java
@@ -274,7 +274,7 @@ public class TopologyWebSocketBehavior extends WebSocketBehavior {
         public abstract String call() throws Exception;
     }
 
-    class ConnectorChecker extends Checker {
+    static class ConnectorChecker extends Checker {
 
         ConnectorChecker(final String key, final Application application) {
             super(key, application);
@@ -300,7 +300,7 @@ public class TopologyWebSocketBehavior extends WebSocketBehavior {
         }
     }
 
-    class ResourceChecker extends Checker {
+    static class ResourceChecker extends Checker {
 
         ResourceChecker(final String key, final Application application) {
             super(key, application);
diff --git a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxSpinnerFieldPanel.java b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxSpinnerFieldPanel.java
index bdf756e..9521f5f 100644
--- a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxSpinnerFieldPanel.java
+++ b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxSpinnerFieldPanel.java
@@ -147,17 +147,21 @@ public final class AjaxSpinnerFieldPanel<T extends Number> extends FieldPanel<T>
 
                 if (obj != null && !obj.toString().isEmpty()) {
                     if (obj instanceof String) {
-                        number = reference.equals(Integer.class)
-                                ? reference.cast(Integer.valueOf((String) obj))
-                                : reference.equals(Long.class)
-                                ? reference.cast(Long.valueOf((String) obj))
-                                : reference.equals(Short.class)
-                                ? reference.cast(Short.valueOf((String) obj))
-                                : reference.equals(Float.class)
-                                ? reference.cast(Float.valueOf((String) obj))
-                                : reference.equals(byte.class)
-                                ? reference.cast(Byte.valueOf((String) obj))
-                                : reference.cast(Double.valueOf((String) obj));
+                        try {
+                            number = reference.equals(Integer.class)
+                                    ? reference.cast(Integer.valueOf((String) obj))
+                                    : reference.equals(Long.class)
+                                    ? reference.cast(Long.valueOf((String) obj))
+                                    : reference.equals(Short.class)
+                                    ? reference.cast(Short.valueOf((String) obj))
+                                    : reference.equals(Float.class)
+                                    ? reference.cast(Float.valueOf((String) obj))
+                                    : reference.equals(byte.class)
+                                    ? reference.cast(Byte.valueOf((String) obj))
+                                    : reference.cast(Double.valueOf((String) obj));
+                        } catch (NumberFormatException e) {
+                            LOG.error("While attempting to parse {}", obj, e);
+                        }
                     } else if (obj instanceof Number) {
                         // Don't parse anything
                         number = reference.cast(obj);
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/PreferenceManager.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/PreferenceManager.java
index c074fe3..f2bb4bc 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/PreferenceManager.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/PreferenceManager.java
@@ -143,7 +143,7 @@ public final class PreferenceManager implements Serializable {
         }
     }
 
-    public static void set(final Request request, final Response response, final String key, final String value) {
+    public static void set(final String key, final String value) {
         String prefString = COOKIE_UTILS.load(COOKIE_NAME);
 
         final Map<String, String> current = new HashMap<>();
@@ -161,9 +161,8 @@ public final class PreferenceManager implements Serializable {
         }
     }
 
-    public static void setList(
-            final Request request, final Response response, final String key, final List<String> values) {
-        set(request, response, key, StringUtils.join(values, ";"));
+    public static void setList(final String key, final List<String> values) {
+        set(key, StringUtils.join(values, ";"));
     }
 
     public static void setList(
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/SyncopeWebApplication.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/SyncopeWebApplication.java
index a055f89..41b5ea7 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/SyncopeWebApplication.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/SyncopeWebApplication.java
@@ -196,9 +196,27 @@ public class SyncopeWebApplication extends WicketBootSecuredWebApplication {
         maxWaitTime = Integer.valueOf(props.getProperty("maxWaitTimeOnApplyChanges", "30"));
 
         // Resource connections check thread pool size
-        corePoolSize = Integer.valueOf(props.getProperty("executor.corePoolSize", "5"));
-        maxPoolSize = Integer.valueOf(props.getProperty("executor.maxPoolSize", "10"));
-        queueCapacity = Integer.valueOf(props.getProperty("executor.queueCapacity", "50"));
+        try {
+            corePoolSize = Integer.valueOf(props.getProperty("executor.corePoolSize", "5"));
+        } catch (NumberFormatException e) {
+            LOG.error("Invalid value provided for 'executor.corePoolSize': {}",
+                    props.getProperty("executor.corePoolSize"));
+            corePoolSize = 5;
+        }
+        try {
+            maxPoolSize = Integer.valueOf(props.getProperty("executor.maxPoolSize", "10"));
+        } catch (NumberFormatException e) {
+            LOG.error("Invalid value provided for 'executor.maxPoolSize': {}",
+                    props.getProperty("executor.maxPoolSize"));
+            maxPoolSize = 10;
+        }
+        try {
+            queueCapacity = Integer.valueOf(props.getProperty("executor.queueCapacity", "50"));
+        } catch (NumberFormatException e) {
+            LOG.error("Invalid value provided for 'executor.queueCapacity': {}",
+                    props.getProperty("executor.queueCapacity"));
+            maxPoolSize = 50;
+        }
 
         // process page properties
         pageClasses = new HashMap<>();
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/init/MIMETypesLoader.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/init/MIMETypesLoader.java
index c1da9ce..54197345 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/init/MIMETypesLoader.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/init/MIMETypesLoader.java
@@ -26,6 +26,6 @@ public class MIMETypesLoader extends AbstractMIMETypesLoader {
 
     @Override
     protected String getMimeTypesFile() throws IOException {
-        return IOUtils.toString(getClass().getResourceAsStream("/MIMETypes.json"));
+        return IOUtils.toString(MIMETypesLoader.class.getResourceAsStream("/MIMETypes.json"));
     }
 }
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AnyDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AnyDirectoryPanel.java
index a59b9ae..36c1387 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AnyDirectoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AnyDirectoryPanel.java
@@ -174,7 +174,7 @@ public abstract class AnyDirectoryPanel<A extends AnyTO, E extends AbstractAnyRe
             }
 
             PreferenceManager.setList(
-                    getRequest(), getResponse(), DisplayAttributesModalPanel.getPrefDetailView(type),
+                    DisplayAttributesModalPanel.getPrefDetailView(type),
                     List.of(getDefaultAttributeSelection()));
         }
 
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 7b97927..fa36ba9 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
@@ -221,7 +221,7 @@ public abstract class DirectoryPanel<
 
             @Override
             protected void onUpdate(final AjaxRequestTarget target) {
-                PreferenceManager.set(getRequest(), getResponse(), paginatorRowsKey(), String.valueOf(rows));
+                PreferenceManager.set(paginatorRowsKey(), String.valueOf(rows));
 
                 EventDataWrapper data = new EventDataWrapper();
                 data.setTarget(target);
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DomainWizardBuilder.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DomainWizardBuilder.java
index 1e79b80..beae416 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DomainWizardBuilder.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DomainWizardBuilder.java
@@ -79,7 +79,7 @@ public class DomainWizardBuilder extends BaseAjaxWizardBuilder<Domain> {
         wizardModel.add(new Storage(domain));
         wizardModel.add(new AdminCredentials(domain));
         wizardModel.add(new Content(domain));
-        wizardModel.add(new KeymasterConfParams(domain));
+        wizardModel.add(new KeymasterConfParams(domain, pageRef));
         return wizardModel;
     }
 
@@ -202,11 +202,11 @@ public class DomainWizardBuilder extends BaseAjaxWizardBuilder<Domain> {
         }
     }
 
-    public class KeymasterConfParams extends WizardStep {
+    public static class KeymasterConfParams extends WizardStep {
 
         private static final long serialVersionUID = -8448363577805933925L;
 
-        public KeymasterConfParams(final Domain domain) {
+        public KeymasterConfParams(final Domain domain, final PageReference pageRef) {
             JsonEditorPanel keymasterConfParams = new JsonEditorPanel(
                     null, new PropertyModel<>(domain, "keymasterConfParams"), false, pageRef);
             keymasterConfParams.setOutputMarkupPlaceholderTag(true);
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ImplementationModalPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ImplementationModalPanel.java
index 70b7267..e6a60ca 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ImplementationModalPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ImplementationModalPanel.java
@@ -117,8 +117,8 @@ public class ImplementationModalPanel extends AbstractModalPanel<ImplementationT
                     getGroovyTemplateClassName(implementation.getType());
             if (templateClassName != null) {
                 try {
-                    implementation.setBody(StringUtils.substringAfter(IOUtils.toString(getClass().
-                            getResourceAsStream(
+                    implementation.setBody(StringUtils.substringAfter(
+                            IOUtils.toString(ImplementationModalPanel.class.getResourceAsStream(
                                     "/org/apache/syncope/client/console/implementations/" + templateClassName
                                     + ".groovy")),
                             "*/\n"));
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/AnyPropagationTasks.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/AnyPropagationTasks.java
index b3b004a..9718ed4 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/AnyPropagationTasks.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/AnyPropagationTasks.java
@@ -32,17 +32,17 @@ import org.apache.wicket.model.StringResourceModel;
 public class AnyPropagationTasks extends AbstractPropagationTasks {
 
     private static final long serialVersionUID = -4013796607157549641L;
-    
+
     public <T extends AnyTO> AnyPropagationTasks(
             final BaseModal<?> baseModal,
             final AnyTypeKind anyTypeKind,
             final String entityKey,
-            final PageReference pageReference) {
+            final PageReference pageRef) {
 
         super(BaseModal.CONTENT_ID);
 
         final MultilevelPanel mlp = new MultilevelPanel("tasks");
-        mlp.setFirstLevel(new AnyPropagationTaskDirectoryPanel(baseModal, mlp, anyTypeKind, entityKey, pageReference) {
+        mlp.setFirstLevel(new AnyPropagationTaskDirectoryPanel(baseModal, mlp, anyTypeKind, entityKey, pageRef) {
 
             private static final long serialVersionUID = -2195387360323687302L;
 
@@ -50,7 +50,7 @@ public class AnyPropagationTasks extends AbstractPropagationTasks {
             protected void viewTask(final PropagationTaskTO taskTO, final AjaxRequestTarget target) {
                 mlp.next(
                         new StringResourceModel("task.view", this, new Model<>(Pair.of(null, taskTO))).getObject(),
-                        new TaskExecutionDetails<>(baseModal, taskTO, pageReference),
+                        new TaskExecutionDetails<>(baseModal, taskTO, pageRef),
                         target);
             }
 
@@ -59,7 +59,7 @@ public class AnyPropagationTasks extends AbstractPropagationTasks {
                 mlp.next(
                         new StringResourceModel("task.view.details", this, new Model<>(Pair.of(null, taskTO))).
                                 getObject(),
-                        new TaskAttributesDetailsView(baseModal, taskTO, pageReference),
+                        new TaskAttributesDetailsView(taskTO),
                         target);
             }
         });
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/PropagationTasks.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/PropagationTasks.java
index b1f4a20..177da3d 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/PropagationTasks.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/PropagationTasks.java
@@ -35,13 +35,13 @@ public class PropagationTasks extends AbstractPropagationTasks {
     public <T extends AnyTO> PropagationTasks(
             final BaseModal<?> baseModal,
             final String resource,
-            final PageReference pageReference) {
+            final PageReference pageRef) {
 
         super(BaseModal.CONTENT_ID);
 
         final MultilevelPanel tasks = new MultilevelPanel("tasks");
         
-        tasks.setFirstLevel(new PropagationTaskDirectoryPanel(baseModal, tasks, resource, pageReference) {
+        tasks.setFirstLevel(new PropagationTaskDirectoryPanel(baseModal, tasks, resource, pageRef) {
 
             private static final long serialVersionUID = -2195387360323687302L;
 
@@ -49,7 +49,7 @@ public class PropagationTasks extends AbstractPropagationTasks {
             protected void viewTask(final PropagationTaskTO taskTO, final AjaxRequestTarget target) {
                 tasks.next(
                         new StringResourceModel("task.view", this, new Model<>(Pair.of(null, taskTO))).getObject(),
-                        new TaskExecutionDetails<>(baseModal, taskTO, pageReference),
+                        new TaskExecutionDetails<>(baseModal, taskTO, pageRef),
                         target);
             }
 
@@ -58,7 +58,7 @@ public class PropagationTasks extends AbstractPropagationTasks {
                 tasks.next(
                         new StringResourceModel("task.view.details", this, new Model<>(Pair.of(null, taskTO))).
                                 getObject(),
-                        new TaskAttributesDetailsView(baseModal, taskTO, pageReference),
+                        new TaskAttributesDetailsView(taskTO),
                         target);
             }
         });
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/TaskAttributesDetailsView.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/TaskAttributesDetailsView.java
index 6e95770..22e6e2d 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/TaskAttributesDetailsView.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/TaskAttributesDetailsView.java
@@ -23,10 +23,8 @@ import com.fasterxml.jackson.databind.ObjectMapper;
 import java.io.IOException;
 import org.apache.commons.lang3.tuple.Pair;
 import org.apache.syncope.client.console.panels.MultilevelPanel;
-import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
 import org.apache.syncope.client.console.wicket.markup.html.form.JsonEditorPanel;
 import org.apache.syncope.common.lib.to.PropagationTaskTO;
-import org.apache.wicket.PageReference;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.model.PropertyModel;
 import org.slf4j.Logger;
@@ -43,14 +41,12 @@ public class TaskAttributesDetailsView extends MultilevelPanel.SecondLevel {
 
     private static final ObjectMapper MAPPER = new ObjectMapper();
 
-    public TaskAttributesDetailsView(final BaseModal<?> baseModal, final PropagationTaskTO taskTO,
-            final PageReference pageRef) {
+    public TaskAttributesDetailsView(final PropagationTaskTO taskTO) {
         super();
 
         Pair<String, String> info = Pair.of(taskTO.getEntityKey(), getJSONInfo(taskTO));
         JsonEditorPanel jsonPanel =
-                new JsonEditorPanel(null, new PropertyModel<String>(info, "value"), true,
-                        null) {
+                new JsonEditorPanel(null, new PropertyModel<String>(info, "value"), true, null) {
 
             private static final long serialVersionUID = -8927036362466990179L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/widgets/AnyByRealmWidget.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/widgets/AnyByRealmWidget.java
index 541252d..4c1d103 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/widgets/AnyByRealmWidget.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/widgets/AnyByRealmWidget.java
@@ -23,6 +23,7 @@ import java.util.Collections;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.Set;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.syncope.client.console.chartjs.Bar;
@@ -159,9 +160,9 @@ public class AnyByRealmWidget extends BaseWidget {
 
         if (!this.usersByRealm.equals(usersByRealm)
                 || !this.groupsByRealm.equals(groupsByRealm)
-                || (!(this.anyType1 == null && anyType1 == null) && !this.anyType1.equals(anyType1))
+                || (!(this.anyType1 == null && anyType1 == null) && !Objects.equals(this.anyType1, anyType1))
                 || !this.any1ByRealm.equals(any1ByRealm)
-                || (!(this.anyType2 == null && anyType2 == null) && !this.anyType2.equals(anyType2))
+                || (!(this.anyType2 == null && anyType2 == null) && !Objects.equals(this.anyType2, anyType2))
                 || !this.any2ByRealm.equals(any2ByRealm)) {
 
             this.usersByRealm = usersByRealm;
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/widgets/reconciliation/ReconciliationReportParser.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/widgets/reconciliation/ReconciliationReportParser.java
index a945c3a..704d569 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/widgets/reconciliation/ReconciliationReportParser.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/widgets/reconciliation/ReconciliationReportParser.java
@@ -40,7 +40,9 @@ public final class ReconciliationReportParser {
         XML_INPUT_FACTORY.setProperty(XMLInputFactory.SUPPORT_DTD, Boolean.FALSE);
     }
 
-    public static ReconciliationReport parse(final Date run, final InputStream in) throws XMLStreamException {
+    public static ReconciliationReport parse(final Date run, final InputStream in)
+            throws XMLStreamException, NumberFormatException {
+
         XMLStreamReader streamReader = XML_INPUT_FACTORY.createXMLStreamReader(in);
         streamReader.nextTag(); // root
         streamReader.nextTag(); // report
@@ -140,22 +142,28 @@ public final class ReconciliationReportParser {
             } else if (streamReader.isEndElement()) {
                 switch (streamReader.getLocalName()) {
                     case "user":
-                        user.getMissing().addAll(missing);
-                        user.getMisaligned().addAll(misaligned);
+                        Optional.ofNullable(user).ifPresent(u -> {
+                            u.getMissing().addAll(missing);
+                            u.getMisaligned().addAll(misaligned);
+                        });
                         missing.clear();
                         misaligned.clear();
                         break;
 
                     case "group":
-                        group.getMissing().addAll(missing);
-                        group.getMisaligned().addAll(misaligned);
+                        Optional.ofNullable(group).ifPresent(g -> {
+                            g.getMissing().addAll(missing);
+                            g.getMisaligned().addAll(misaligned);
+                        });
                         missing.clear();
                         misaligned.clear();
                         break;
 
                     case "anyObject":
-                        anyObject.getMissing().addAll(missing);
-                        anyObject.getMisaligned().addAll(misaligned);
+                        Optional.ofNullable(anyObject).ifPresent(a -> {
+                            a.getMissing().addAll(missing);
+                            a.getMisaligned().addAll(misaligned);
+                        });
                         missing.clear();
                         misaligned.clear();
                         break;
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 1653600..24e7041 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
@@ -183,8 +183,8 @@ public abstract class WizardMgtPanel<T extends Serializable> extends AbstractWiz
             final boolean modalPanelAvailable = newItemEvent.getModalPanel() != null || newItemPanelBuilder != null;
 
             if (event.getPayload() instanceof AjaxWizard.NewItemActionEvent && modalPanelAvailable) {
-                final WizardModalPanel<?> modalPanel;
-                if (newItemEvent.getModalPanel() == null) {
+                WizardModalPanel<?> modalPanel;
+                if (newItemEvent.getModalPanel() == null && newItemPanelBuilder != null) {
                     newItemPanelBuilder.setItem(item);
 
                     modalPanel = newItemPanelBuilder.build(
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/any/DerAttrs.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/any/DerAttrs.java
index b53712e..257a824 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/any/DerAttrs.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/any/DerAttrs.java
@@ -161,7 +161,7 @@ public class DerAttrs extends AbstractAttrs<DerSchemaTO> {
         membershipTO.getDerAttrs().addAll(attrs);
     }
 
-    public class DerSchemas extends Schemas {
+    public static class DerSchemas extends Schemas {
 
         private static final long serialVersionUID = -4730563859116024676L;
 
@@ -169,6 +169,7 @@ public class DerAttrs extends AbstractAttrs<DerSchemaTO> {
                 final String id,
                 final Map<String, DerSchemaTO> schemas,
                 final IModel<List<Attr>> attrTOs) {
+
             super(id);
 
             add(new ListView<Attr>("schemas", attrTOs) {
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/any/Groups.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/any/Groups.java
index cf74da0..1a7f559 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/any/Groups.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/any/Groups.java
@@ -198,18 +198,18 @@ public class Groups extends AbstractGroups {
 
         private static final long serialVersionUID = -4541954630939063927L;
 
-        protected List<GroupTO> groups;
+        protected List<GroupTO> groupsObj;
 
-        protected List<MembershipTO> memberships;
+        protected List<MembershipTO> membershipsObj;
 
-        protected List<String> dynMemberships;
+        protected List<String> dynMembershipsObj;
 
-        protected String realm;
+        protected String realmObj;
 
         @Override
         public List<GroupTO> getObject() {
             reload();
-            return groups;
+            return groupsObj;
         }
 
         /**
@@ -217,8 +217,7 @@ public class Groups extends AbstractGroups {
          */
         @Override
         protected void reloadObject() {
-            groups = groupRestClient.search(
-                    realm,
+            groupsObj = groupRestClient.search(realmObj,
                     SyncopeClient.getGroupSearchConditionBuilder().isAssignable().query(),
                     1,
                     Constants.MAX_GROUP_LIST_SIZE,
@@ -229,7 +228,7 @@ public class Groups extends AbstractGroups {
         @Override
         public List<MembershipTO> getMemberships() {
             reload();
-            return memberships;
+            return membershipsObj;
         }
 
         /**
@@ -254,8 +253,7 @@ public class Groups extends AbstractGroups {
                         collect(Collectors.toList());
 
                 if (!conditions.isEmpty()) {
-                    assignedGroups.putAll(groupRestClient.search(
-                            realm,
+                    assignedGroups.putAll(groupRestClient.search(realmObj,
                             builder.isAssignable().and().or(conditions).query(),
                             1,
                             Constants.MAX_GROUP_LIST_SIZE,
@@ -275,14 +273,14 @@ public class Groups extends AbstractGroups {
             });
             GroupableRelatableTO.class.cast(anyTO).getMemberships().removeAll(toBeRemoved);
 
-            memberships = GroupableRelatableTO.class.cast(anyTO).getMemberships();
-            memberships.sort(Comparator.comparing(MembershipTO::getGroupName));
+            membershipsObj = GroupableRelatableTO.class.cast(anyTO).getMemberships();
+            membershipsObj.sort(Comparator.comparing(MembershipTO::getGroupName));
         }
 
         @Override
         public List<String> getDynMemberships() {
             reload();
-            return dynMemberships;
+            return dynMembershipsObj;
         }
 
         /**
@@ -297,9 +295,9 @@ public class Groups extends AbstractGroups {
                     equalTo(membership.getGroupKey()).wrap()).
                     collect(Collectors.toList());
 
-            dynMemberships = new ArrayList<>();
+            dynMembershipsObj = new ArrayList<>();
             if (SyncopeConsoleSession.get().owns(IdRepoEntitlement.GROUP_SEARCH) && !conditions.isEmpty()) {
-                dynMemberships.addAll(groupRestClient.search(
+                dynMembershipsObj.addAll(groupRestClient.search(
                         SyncopeConstants.ROOT_REALM,
                         builder.or(conditions).query(),
                         -1,
@@ -316,11 +314,11 @@ public class Groups extends AbstractGroups {
         protected void reload() {
             boolean reload;
             if (Groups.this.templateMode) {
-                reload = realm == null;
-                realm = SyncopeConstants.ROOT_REALM;
+                reload = realmObj == null;
+                realmObj = SyncopeConstants.ROOT_REALM;
             } else {
-                reload = !Groups.this.anyTO.getRealm().equalsIgnoreCase(realm);
-                realm = Groups.this.anyTO.getRealm();
+                reload = !Groups.this.anyTO.getRealm().equalsIgnoreCase(realmObj);
+                realmObj = Groups.this.anyTO.getRealm();
             }
 
             if (reload) {
diff --git a/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/SyncopeWebApplication.java b/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/SyncopeWebApplication.java
index 391639f..48d6e42 100644
--- a/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/SyncopeWebApplication.java
+++ b/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/SyncopeWebApplication.java
@@ -172,7 +172,7 @@ public class SyncopeWebApplication extends WicketBootStandardWebApplication {
 
         // read customFormAttributes.json
         File enduserDir;
-        try (InputStream is = getClass().getResourceAsStream('/' + CUSTOM_FORM_ATTRIBUTES_FILE)) {
+        try (InputStream is = SyncopeWebApplication.class.getResourceAsStream('/' + CUSTOM_FORM_ATTRIBUTES_FILE)) {
             customFormAttributes = MAPPER.readValue(is,
                     new TypeReference<HashMap<String, CustomAttributesInfo>>() {
             });
diff --git a/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/init/MIMETypesLoader.java b/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/init/MIMETypesLoader.java
index 596f17f..f5122e1 100644
--- a/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/init/MIMETypesLoader.java
+++ b/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/init/MIMETypesLoader.java
@@ -26,6 +26,6 @@ public class MIMETypesLoader extends AbstractMIMETypesLoader {
 
     @Override
     protected String getMimeTypesFile() throws IOException {
-        return IOUtils.toString(getClass().getResourceAsStream("/MIMETypes.json"));
+        return IOUtils.toString(MIMETypesLoader.class.getResourceAsStream("/MIMETypes.json"));
     }
 }
diff --git a/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/pages/SelfConfirmPasswordReset.java b/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/pages/SelfConfirmPasswordReset.java
index ba1e6f5..f937507 100644
--- a/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/pages/SelfConfirmPasswordReset.java
+++ b/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/pages/SelfConfirmPasswordReset.java
@@ -68,7 +68,7 @@ public class SelfConfirmPasswordReset extends BaseEnduserWebPage {
     public SelfConfirmPasswordReset(final PageParameters parameters) {
         super(parameters);
 
-        if (parameters == null || parameters.get("token").isEmpty()) {
+        if (parameters.get("token").isEmpty()) {
             LOG.debug("No token parameter found in the request url");
             parameters.add("errorMessage", getString("self.confirm.pwd.reset.error.empty"));
             setResponsePage(getApplication().getHomePage(), parameters);
diff --git a/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/wizards/any/DerAttrs.java b/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/wizards/any/DerAttrs.java
index fdd802e..9940a44 100644
--- a/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/wizards/any/DerAttrs.java
+++ b/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/wizards/any/DerAttrs.java
@@ -161,7 +161,7 @@ public class DerAttrs extends AbstractAttrs<DerSchemaTO> {
         membershipTO.getDerAttrs().addAll(derAttrs);
     }
 
-    public class DerSchemas extends Schemas {
+    public static class DerSchemas extends Schemas {
 
         private static final long serialVersionUID = -4730563859116024676L;
 
diff --git a/common/idm/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/RemediationService.java b/common/idm/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/RemediationService.java
index 23a258a..c956785 100644
--- a/common/idm/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/RemediationService.java
+++ b/common/idm/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/RemediationService.java
@@ -111,7 +111,7 @@ public interface RemediationService extends JAXRSService {
     @ApiResponses(
             @ApiResponse(responseCode = "201",
                     description = "Object successfully created enriched with propagation status information, as Entity,"
-                    + "or empty if 'Prefer: return-no-content' was specified",
+                    + " or empty if 'Prefer: return-no-content' was specified",
                     content =
                     @Content(schema =
                             @Schema(implementation = ProvisioningResult.class)), headers = {
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/LogOutputStream.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/LogOutputStream.java
index 9e1ce8c..594560a 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/LogOutputStream.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/LogOutputStream.java
@@ -27,7 +27,7 @@ import org.slf4j.Logger;
  * Delegates output stream writing onto an SLF4J logger.
  * Inspired by {@code org.apache.commons.exec.LogOutputStream}
  */
-public class LogOutputStream extends OutputStream {
+public class LogOutputStream extends OutputStream implements AutoCloseable {
 
     /** Initial buffer size. */
     private static final int INTIAL_SIZE = 132;
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/PropertyUtils.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/PropertyUtils.java
index bf43088..619c07c 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/PropertyUtils.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/PropertyUtils.java
@@ -56,10 +56,11 @@ public final class PropertyUtils {
                     File confDirProps = new File(confDir, propertiesFileName);
                     if (confDirProps.exists() && confDirProps.canRead() && confDirProps.isFile()) {
                         props.clear();
-                        props.load(new FileInputStream(confDirProps));
+                        try (FileInputStream fis = new FileInputStream(confDirProps)) {
+                            props.load(fis);
+                        }
                     }
                 } else {
-                    confDir = null;
                     LOG.warn("{} not existing, unreadable or not a directory, ignoring", confDirName);
                 }
             }
diff --git a/common/idrepo/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/AnyObjectService.java b/common/idrepo/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/AnyObjectService.java
index 3388b7c..4d45e14 100644
--- a/common/idrepo/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/AnyObjectService.java
+++ b/common/idrepo/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/AnyObjectService.java
@@ -89,7 +89,7 @@ public interface AnyObjectService extends AnyService<AnyObjectTO> {
             @ApiResponse(responseCode = "201",
                     description =
                     "Any object successfully created enriched with propagation status information, as Entity,"
-                    + "or empty if 'Prefer: return-no-content' was specified",
+                    + " or empty if 'Prefer: return-no-content' was specified",
                     content =
                     @Content(schema =
                             @Schema(implementation = ProvisioningResult.class)), headers = {
diff --git a/common/idrepo/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/GroupService.java b/common/idrepo/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/GroupService.java
index 17ed036..41a1d5c 100644
--- a/common/idrepo/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/GroupService.java
+++ b/common/idrepo/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/GroupService.java
@@ -93,7 +93,7 @@ public interface GroupService extends AnyService<GroupTO> {
     @ApiResponses(
             @ApiResponse(responseCode = "201",
                     description = "Group successfully created enriched with propagation status information, as Entity,"
-                    + "or empty if 'Prefer: return-no-content' was specified",
+                    + " or empty if 'Prefer: return-no-content' was specified",
                     content =
                     @Content(schema =
                             @Schema(implementation = ProvisioningResult.class)), headers = {
diff --git a/common/idrepo/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/RealmService.java b/common/idrepo/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/RealmService.java
index 7e18257..6bd6972 100644
--- a/common/idrepo/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/RealmService.java
+++ b/common/idrepo/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/RealmService.java
@@ -102,7 +102,7 @@ public interface RealmService extends JAXRSService {
     @ApiResponses(
             @ApiResponse(responseCode = "201",
                     description = "Realm successfully created enriched with propagation status information, as Entity,"
-                    + "or empty if 'Prefer: return-no-content' was specified",
+                    + " or empty if 'Prefer: return-no-content' was specified",
                     content =
                     @Content(schema =
                             @Schema(implementation = ProvisioningResult.class)), headers = {
diff --git a/common/idrepo/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/UserSelfService.java b/common/idrepo/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/UserSelfService.java
index 923642e..41cafeb 100644
--- a/common/idrepo/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/UserSelfService.java
+++ b/common/idrepo/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/UserSelfService.java
@@ -93,7 +93,7 @@ public interface UserSelfService extends JAXRSService {
     @ApiResponses(
             @ApiResponse(responseCode = "201",
                     description = "User successfully created enriched with propagation status information, as Entity,"
-                    + "or empty if 'Prefer: return-no-content' was specified",
+                    + " or empty if 'Prefer: return-no-content' was specified",
                     content =
                     @Content(schema =
                             @Schema(implementation = ProvisioningResult.class)), headers = {
diff --git a/common/idrepo/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/UserService.java b/common/idrepo/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/UserService.java
index aef50d1..b161fc9 100644
--- a/common/idrepo/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/UserService.java
+++ b/common/idrepo/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/UserService.java
@@ -89,7 +89,7 @@ public interface UserService extends AnyService<UserTO> {
     @ApiResponses(
             @ApiResponse(responseCode = "201",
                     description = "User successfully created enriched with propagation status information, as Entity,"
-                    + "or empty if 'Prefer: return-no-content' was specified",
+                    + " or empty if 'Prefer: return-no-content' was specified",
                     content =
                     @Content(schema =
                             @Schema(implementation = ProvisioningResult.class)), headers = {
diff --git a/common/keymaster/client-api/src/main/java/org/apache/syncope/common/keymaster/client/api/model/Domain.java b/common/keymaster/client-api/src/main/java/org/apache/syncope/common/keymaster/client/api/model/Domain.java
index 0d31d5e..f6fbcee 100644
--- a/common/keymaster/client-api/src/main/java/org/apache/syncope/common/keymaster/client/api/model/Domain.java
+++ b/common/keymaster/client-api/src/main/java/org/apache/syncope/common/keymaster/client/api/model/Domain.java
@@ -241,7 +241,7 @@ public class Domain implements Serializable {
     private String read(final String filename) {
         String read = null;
         try {
-            read = IOUtils.toString(getClass().getResourceAsStream('/' + filename));
+            read = IOUtils.toString(Domain.class.getResourceAsStream('/' + filename));
         } catch (IOException e) {
             LOG.error("Could not read {}", filename, e);
         }
diff --git a/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/MyJPAJSONAnySearchDAO.java b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/MyJPAJSONAnySearchDAO.java
index bc843fe..10bdb00 100644
--- a/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/MyJPAJSONAnySearchDAO.java
+++ b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/MyJPAJSONAnySearchDAO.java
@@ -65,7 +65,6 @@ public class MyJPAJSONAnySearchDAO extends AbstractJPAJSONAnySearchDAO {
     @Override
     protected void processOBS(
             final SearchSupport svs,
-            final Set<String> involvedPlainAttrs,
             final OrderBySupport obs,
             final StringBuilder where) {
 
diff --git a/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAJSONAnySearchDAO.java b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAJSONAnySearchDAO.java
index 972a7af..6d6e6d4 100644
--- a/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAJSONAnySearchDAO.java
+++ b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAJSONAnySearchDAO.java
@@ -41,7 +41,6 @@ public class PGJPAJSONAnySearchDAO extends AbstractJPAJSONAnySearchDAO {
     @Override
     protected void processOBS(
             final SearchSupport svs,
-            final Set<String> involvedPlainAttrs,
             final OrderBySupport obs,
             final StringBuilder where) {
 
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/StartupDomainLoader.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/StartupDomainLoader.java
index 545c14c..e1fed71 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/StartupDomainLoader.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/StartupDomainLoader.java
@@ -148,7 +148,7 @@ public class StartupDomainLoader implements SyncopeCoreLoader {
                     }
                 }
             }
-        } catch (IOException e) {
+        } catch (IOException | NumberFormatException e) {
             LOG.error("Error during domain initialization", e);
         }
     }
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnySearchDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnySearchDAO.java
index 687f2ae..f539f7c 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnySearchDAO.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnySearchDAO.java
@@ -173,10 +173,10 @@ public class JPAAnySearchDAO extends AbstractAnySearchDAO {
             OrderBySupport obs = parseOrderBy(svs, orderBy);
             if (queryString.charAt(0) == '(') {
                 queryString.insert(0, buildSelect(obs));
-                queryString.append(buildWhere(svs, queryInfo.getRight(), obs));
+                queryString.append(buildWhere(svs, obs));
             } else {
                 queryString.insert(0, buildSelect(obs).append('('));
-                queryString.append(')').append(buildWhere(svs, queryInfo.getRight(), obs));
+                queryString.append(')').append(buildWhere(svs, obs));
             }
             queryString.
                     append(filter.getLeft()).
@@ -238,7 +238,6 @@ public class JPAAnySearchDAO extends AbstractAnySearchDAO {
 
     protected void processOBS(
             final SearchSupport svs,
-            final Set<String> involvedPlainAttrs,
             final OrderBySupport obs,
             final StringBuilder where) {
 
@@ -290,11 +289,10 @@ public class JPAAnySearchDAO extends AbstractAnySearchDAO {
 
     private StringBuilder buildWhere(
             final SearchSupport svs,
-            final Set<String> involvedPlainAttrs,
             final OrderBySupport obs) {
 
         StringBuilder where = new StringBuilder(" u");
-        processOBS(svs, involvedPlainAttrs, obs, where);
+        processOBS(svs, obs, where);
         where.append(" WHERE ");
         obs.views.forEach(searchView -> where.append("u.any_id=").append(searchView.alias).append(".any_id AND "));
 
@@ -535,12 +533,12 @@ public class JPAAnySearchDAO extends AbstractAnySearchDAO {
                 Pair<StringBuilder, Set<String>> rigthAndInfo = getQuery(cond.getRight(), parameters, svs);
                 involvedPlainAttrs.addAll(rigthAndInfo.getRight());
 
-                String andSubQuery = leftAndInfo.getKey().toString();
+                String andSubQuery = leftAndInfo.getLeft().toString();
                 // Add extra parentheses
                 andSubQuery = andSubQuery.replaceFirst("WHERE ", "WHERE (");
                 query.append(andSubQuery).
                         append(" AND any_id IN ( ").
-                        append(rigthAndInfo.getKey()).
+                        append(rigthAndInfo.getLeft()).
                         append("))");
                 break;
 
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAUserDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAUserDAO.java
index 5698043..1b776d5 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAUserDAO.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAUserDAO.java
@@ -257,6 +257,7 @@ public class JPAUserDAO extends AbstractAnyDAO<User> implements UserDAO {
         return query.getResultList();
     }
 
+    @Override
     public List<String> findAllKeys(final int page, final int itemsPerPage) {
         return findAllKeys(JPAUser.TABLE, page, itemsPerPage);
     }
diff --git a/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/WAConfigTest.java b/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/WAConfigTest.java
index eab1ae6..5f4a6d4 100644
--- a/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/WAConfigTest.java
+++ b/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/WAConfigTest.java
@@ -28,7 +28,6 @@ import org.springframework.transaction.annotation.Transactional;
 
 import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.HashMap;
 import java.util.List;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -66,8 +65,7 @@ public class WAConfigTest extends AbstractTest {
     }
 
     @Test
-    public void saveMap() {
-        HashMap<String, Double> map = new HashMap<>();
+    public void saveList() {
         create("system.example.key[0].key1", List.of("value1"));
         assertFalse(configDAO.findAll().isEmpty());
     }
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/MappingManagerImpl.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/MappingManagerImpl.java
index a789fc5..6ed21d8 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/MappingManagerImpl.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/MappingManagerImpl.java
@@ -223,7 +223,7 @@ public class MappingManagerImpl implements MappingManager {
         }
 
         // Evaluate connObjectKey expression
-        String connObjectLink = provision == null || provision.getMapping() == null
+        String connObjectLink = provision.getMapping() == null
                 ? null
                 : provision.getMapping().getConnObjectLink();
         String evalConnObjectLink = null;
@@ -255,9 +255,7 @@ public class MappingManagerImpl implements MappingManager {
         }
 
         // Evaluate connObjectKey expression
-        String connObjectLink = orgUnit == null
-                ? null
-                : orgUnit.getConnObjectLink();
+        String connObjectLink = orgUnit.getConnObjectLink();
         String evalConnObjectLink = null;
         if (StringUtils.isNotBlank(connObjectLink)) {
             JexlContext jexlContext = new MapContext();
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/ProvisioningContext.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/ProvisioningContext.java
index b83c66f..a584ad6 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/ProvisioningContext.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/ProvisioningContext.java
@@ -18,6 +18,7 @@
  */
 package org.apache.syncope.core.provisioning.java;
 
+import java.io.IOException;
 import java.io.PrintStream;
 import java.lang.reflect.InvocationTargetException;
 import java.nio.charset.StandardCharsets;
@@ -203,7 +204,7 @@ public class ProvisioningContext implements EnvironmentAware, AsyncConfigurer {
 
     @ConditionalOnMissingBean
     @Bean
-    public JavaMailSender mailSender() throws IllegalArgumentException, NamingException {
+    public JavaMailSender mailSender() throws IllegalArgumentException, NamingException, IOException {
         JavaMailSenderImpl mailSender = new JavaMailSenderImpl() {
 
             @Override
@@ -265,7 +266,9 @@ public class ProvisioningContext implements EnvironmentAware, AsyncConfigurer {
             if (BooleanUtils.toBoolean(mailDebug)) {
                 session = mailSender.getSession();
                 session.setDebug(true);
-                session.setDebugOut(new PrintStream(new LogOutputStream(LOG)));
+                try (LogOutputStream los = new LogOutputStream(LOG)) {
+                    session.setDebugOut(new PrintStream(los));
+                }
             }
         } else {
             mailSender.setSession(session);
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AbstractProvisioningJobDelegate.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AbstractProvisioningJobDelegate.java
index d81f40c..0bcfe1b 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AbstractProvisioningJobDelegate.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AbstractProvisioningJobDelegate.java
@@ -23,7 +23,6 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 import java.util.Objects;
-import javax.annotation.Resource;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.syncope.common.lib.types.AnyTypeKind;
 import org.apache.syncope.common.lib.types.TraceLevel;
@@ -82,9 +81,6 @@ public abstract class AbstractProvisioningJobDelegate<T extends ProvisioningTask
         return sb.toString();
     }
 
-    @Resource(name = "adminUser")
-    protected String adminUser;
-
     /**
      * ConnInstance loader.
      */
diff --git a/ext/flowable/client-console/src/main/java/org/apache/syncope/client/console/panels/NewBpmnProcess.java b/ext/flowable/client-console/src/main/java/org/apache/syncope/client/console/panels/NewBpmnProcess.java
index 177f1b4..6652874 100644
--- a/ext/flowable/client-console/src/main/java/org/apache/syncope/client/console/panels/NewBpmnProcess.java
+++ b/ext/flowable/client-console/src/main/java/org/apache/syncope/client/console/panels/NewBpmnProcess.java
@@ -59,7 +59,7 @@ public class NewBpmnProcess extends TogglePanel<Serializable> {
                 try {
                     BpmnProcessRestClient.setDefinition(MediaType.APPLICATION_XML_TYPE, key.getModelObject(),
                             IOUtils.toString(
-                                    getClass().getResourceAsStream("empty.bpmn20.xml"),
+                                    NewBpmnProcess.class.getResourceAsStream("empty.bpmn20.xml"),
                                     Charsets.UTF_8.name()).replaceAll("%KEY%", key.getModelObject()));
 
                     key.getModel().setObject(null);
diff --git a/ext/flowable/flowable-bpmn/src/main/java/org/apache/syncope/core/flowable/impl/FlowableRuntimeUtils.java b/ext/flowable/flowable-bpmn/src/main/java/org/apache/syncope/core/flowable/impl/FlowableRuntimeUtils.java
index 6f0052d..bb49a05 100644
--- a/ext/flowable/flowable-bpmn/src/main/java/org/apache/syncope/core/flowable/impl/FlowableRuntimeUtils.java
+++ b/ext/flowable/flowable-bpmn/src/main/java/org/apache/syncope/core/flowable/impl/FlowableRuntimeUtils.java
@@ -159,7 +159,6 @@ public final class FlowableRuntimeUtils {
      *
      * @param engine Flowable engine
      * @param procInstId process instance id
-     * @param user user JPA entity
      * @param userTO user transfer object
      * @param password password
      * @param enabled is user to be enabled or not?
@@ -169,7 +168,6 @@ public final class FlowableRuntimeUtils {
     public static void saveForFormSubmit(
             final DomainProcessEngine engine,
             final String procInstId,
-            final User user,
             final UserTO userTO,
             final String password,
             final Boolean enabled,
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 536c29b..10aade4 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
@@ -699,7 +699,6 @@ public class FlowableUserRequestHandler implements UserRequestHandler {
             FlowableRuntimeUtils.saveForFormSubmit(
                     engine,
                     procInstID,
-                    user,
                     dataBinder.getUserTO(user, true),
                     clearPassword,
                     enabled,
diff --git a/ext/flowable/flowable-bpmn/src/main/java/org/apache/syncope/core/flowable/impl/FlowableUserWorkflowAdapter.java b/ext/flowable/flowable-bpmn/src/main/java/org/apache/syncope/core/flowable/impl/FlowableUserWorkflowAdapter.java
index e827345..ff9fb11 100644
--- a/ext/flowable/flowable-bpmn/src/main/java/org/apache/syncope/core/flowable/impl/FlowableUserWorkflowAdapter.java
+++ b/ext/flowable/flowable-bpmn/src/main/java/org/apache/syncope/core/flowable/impl/FlowableUserWorkflowAdapter.java
@@ -154,7 +154,6 @@ public class FlowableUserWorkflowAdapter extends AbstractUserWorkflowAdapter imp
         FlowableRuntimeUtils.saveForFormSubmit(
                 engine,
                 procInst.getProcessInstanceId(),
-                created,
                 dataBinder.getUserTO(created, true),
                 userCR.getPassword(),
                 enabled,
@@ -292,7 +291,6 @@ public class FlowableUserWorkflowAdapter extends AbstractUserWorkflowAdapter imp
         FlowableRuntimeUtils.saveForFormSubmit(
                 engine,
                 procInstID,
-                updated,
                 dataBinder.getUserTO(updated, true),
                 userUR.getPassword() == null ? null : userUR.getPassword().getValue(),
                 null,
@@ -453,7 +451,6 @@ public class FlowableUserWorkflowAdapter extends AbstractUserWorkflowAdapter imp
             FlowableRuntimeUtils.saveForFormSubmit(
                     engine,
                     procInstID,
-                    user,
                     dataBinder.getUserTO(user, true),
                     null,
                     null,
@@ -507,7 +504,6 @@ public class FlowableUserWorkflowAdapter extends AbstractUserWorkflowAdapter imp
             FlowableRuntimeUtils.saveForFormSubmit(
                     engine,
                     procInstID,
-                    user,
                     dataBinder.getUserTO(user, true),
                     null,
                     null,
diff --git a/ext/oidcc4ui/client-console/src/main/java/org/apache/syncope/client/console/wizards/OIDCProviderWizardBuilder.java b/ext/oidcc4ui/client-console/src/main/java/org/apache/syncope/client/console/wizards/OIDCProviderWizardBuilder.java
index 128aaa4..fa8b535 100644
--- a/ext/oidcc4ui/client-console/src/main/java/org/apache/syncope/client/console/wizards/OIDCProviderWizardBuilder.java
+++ b/ext/oidcc4ui/client-console/src/main/java/org/apache/syncope/client/console/wizards/OIDCProviderWizardBuilder.java
@@ -105,7 +105,7 @@ public class OIDCProviderWizardBuilder extends AjaxWizardBuilder<OIDCC4UIProvide
             wizardModel.add(new OPContinue(modelObject, true));
         }
 
-        Mapping mapping = new Mapping(modelObject);
+        Mapping mapping = new Mapping();
         mapping.setOutputMarkupId(true);
 
         ItemTransformersTogglePanel mapItemTransformers = new ItemTransformersTogglePanel(mapping, pageRef);
@@ -327,7 +327,7 @@ public class OIDCProviderWizardBuilder extends AjaxWizardBuilder<OIDCC4UIProvide
 
         private static final long serialVersionUID = 3454904947720856253L;
 
-        Mapping(final OIDCC4UIProviderTO item) {
+        Mapping() {
             setTitleModel(Model.of("Mapping"));
             setSummaryModel(Model.of(StringUtils.EMPTY));
         }
diff --git a/ext/saml2sp4ui/client-console/src/main/java/org/apache/syncope/client/console/wizards/SAML2IdPWizardBuilder.java b/ext/saml2sp4ui/client-console/src/main/java/org/apache/syncope/client/console/wizards/SAML2IdPWizardBuilder.java
index 91dda17..22dba7a 100644
--- a/ext/saml2sp4ui/client-console/src/main/java/org/apache/syncope/client/console/wizards/SAML2IdPWizardBuilder.java
+++ b/ext/saml2sp4ui/client-console/src/main/java/org/apache/syncope/client/console/wizards/SAML2IdPWizardBuilder.java
@@ -97,7 +97,7 @@ public class SAML2IdPWizardBuilder extends AjaxWizardBuilder<SAML2SP4UIIdPTO> {
     protected WizardModel buildModelSteps(final SAML2SP4UIIdPTO modelObject, final WizardModel wizardModel) {
         wizardModel.add(new IdP(modelObject));
 
-        Mapping mapping = new Mapping(modelObject);
+        Mapping mapping = new Mapping();
         mapping.setOutputMarkupId(true);
 
         ItemTransformersTogglePanel mapItemTransformers = new ItemTransformersTogglePanel(mapping, pageRef);
@@ -200,7 +200,7 @@ public class SAML2IdPWizardBuilder extends AjaxWizardBuilder<SAML2SP4UIIdPTO> {
 
         private static final long serialVersionUID = 3454904947720856253L;
 
-        Mapping(final SAML2SP4UIIdPTO item) {
+        Mapping() {
             setTitleModel(Model.of("Mapping"));
             setSummaryModel(Model.of(StringUtils.EMPTY));
         }
diff --git a/ext/scimv2/logic/src/main/java/org/apache/syncope/core/logic/SCIMLogic.java b/ext/scimv2/logic/src/main/java/org/apache/syncope/core/logic/SCIMLogic.java
index e7d3cb3..0c5b342 100644
--- a/ext/scimv2/logic/src/main/java/org/apache/syncope/core/logic/SCIMLogic.java
+++ b/ext/scimv2/logic/src/main/java/org/apache/syncope/core/logic/SCIMLogic.java
@@ -68,7 +68,7 @@ public class SCIMLogic extends AbstractLogic<EntityTO> {
     private void init() {
         try {
             ObjectMapper mapper = new ObjectMapper();
-            JsonNode tree = mapper.readTree(getClass().getResourceAsStream('/' + SCHEMAS_JSON));
+            JsonNode tree = mapper.readTree(SCIMLogic.class.getResourceAsStream('/' + SCHEMAS_JSON));
             if (!tree.isArray()) {
                 throw new IOException("JSON node is not a tree");
             }
diff --git a/fit/build-tools/src/main/java/org/apache/syncope/fit/buildtools/LdifInputStreamLoader.java b/fit/build-tools/src/main/java/org/apache/syncope/fit/buildtools/LdifInputStreamLoader.java
index 460b23f..fe1116e 100644
--- a/fit/build-tools/src/main/java/org/apache/syncope/fit/buildtools/LdifInputStreamLoader.java
+++ b/fit/build-tools/src/main/java/org/apache/syncope/fit/buildtools/LdifInputStreamLoader.java
@@ -29,7 +29,6 @@ import org.apache.directory.api.ldap.model.ldif.LdifReader;
 import org.apache.directory.api.ldap.model.name.Dn;
 import org.apache.directory.server.core.api.CoreSession;
 import org.apache.directory.server.i18n.I18n;
-import org.apache.directory.server.protocol.shared.store.LdifLoadFilter;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -62,19 +61,6 @@ public class LdifInputStreamLoader {
      * @param ldif the file of LDIF entries to load.
      */
     public LdifInputStreamLoader(final CoreSession coreSession, final InputStream ldif) {
-        this(coreSession, ldif, null);
-    }
-
-    /**
-     * Creates a new instance of LdifFileLoader.
-     *
-     * @param coreSession core session
-     * @param ldif LDIF content
-     * @param filters filters
-     */
-    public LdifInputStreamLoader(
-            final CoreSession coreSession, final InputStream ldif, final List<? extends LdifLoadFilter> filters) {
-
         this.coreSession = coreSession;
         this.ldif = ldif;
     }
diff --git a/ide/netbeans/src/main/java/org/apache/syncope/ide/netbeans/view/ResourceExplorerTopComponent.java b/ide/netbeans/src/main/java/org/apache/syncope/ide/netbeans/view/ResourceExplorerTopComponent.java
index a6ca319..dd01591 100644
--- a/ide/netbeans/src/main/java/org/apache/syncope/ide/netbeans/view/ResourceExplorerTopComponent.java
+++ b/ide/netbeans/src/main/java/org/apache/syncope/ide/netbeans/view/ResourceExplorerTopComponent.java
@@ -174,7 +174,8 @@ public final class ResourceExplorerTopComponent extends TopComponent {
 
     @Override
     public Image getIcon() {
-        return new ImageIcon(getClass().getResource("/org/apache/syncope/ide/netbeans/view/favicon.png")).getImage();
+        return new ImageIcon(ResourceExplorerTopComponent.class.getResource(
+                "/org/apache/syncope/ide/netbeans/view/favicon.png")).getImage();
     }
 
     private void resourceExplorerTreeMouseClicked(final java.awt.event.MouseEvent evt) {
@@ -452,7 +453,7 @@ public final class ResourceExplorerTopComponent extends TopComponent {
 
                             default:
                         }
-                        newNode.setBody(IOUtils.toString(getClass().getResourceAsStream(
+                        newNode.setBody(IOUtils.toString(ResourceExplorerTopComponent.class.getResourceAsStream(
                                 "/org/apache/syncope/ide/netbeans/implementations/" + templateClassName + ".groovy"),
                                 StandardCharsets.UTF_8.name()));
                         added = implementationManagerService.create(newNode);
diff --git a/sra/src/main/java/org/apache/syncope/sra/RouteProvider.java b/sra/src/main/java/org/apache/syncope/sra/RouteProvider.java
index e9048be..a3679d7 100644
--- a/sra/src/main/java/org/apache/syncope/sra/RouteProvider.java
+++ b/sra/src/main/java/org/apache/syncope/sra/RouteProvider.java
@@ -124,7 +124,7 @@ public class RouteProvider {
 
     @SuppressWarnings("unchecked")
     private GatewayFilter toFilter(final SRARouteTO route, final SRARouteFilter gwfilter)
-            throws ClassNotFoundException {
+            throws ClassNotFoundException, NumberFormatException {
 
         GatewayFilter filter;
 
@@ -399,7 +399,7 @@ public class RouteProvider {
     }
 
     private AsyncPredicate<ServerWebExchange> toPredicate(final SRARoutePredicate gwpredicate, final boolean negate)
-            throws ClassNotFoundException {
+            throws ClassNotFoundException, NumberFormatException {
 
         AsyncPredicate<ServerWebExchange> predicate;
         switch (gwpredicate.getFactory()) {
diff --git a/sra/src/main/java/org/apache/syncope/sra/SyncopeSRAApplication.java b/sra/src/main/java/org/apache/syncope/sra/SyncopeSRAApplication.java
index 10785b1..f553a20 100644
--- a/sra/src/main/java/org/apache/syncope/sra/SyncopeSRAApplication.java
+++ b/sra/src/main/java/org/apache/syncope/sra/SyncopeSRAApplication.java
@@ -26,7 +26,6 @@ import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.cloud.gateway.route.Route;
 import org.springframework.cloud.gateway.route.RouteLocator;
-import org.springframework.cloud.gateway.route.builder.RouteLocatorBuilder;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.PropertySource;
 import reactor.core.publisher.Flux;
@@ -44,7 +43,7 @@ public class SyncopeSRAApplication {
     private RouteProvider provider;
 
     @Bean
-    public RouteLocator routes(final RouteLocatorBuilder builder) {
+    public RouteLocator routes() {
         return () -> Flux.fromIterable(provider.fetch()).map(Route.AbstractBuilder::build);
     }
 
diff --git a/sra/src/test/java/org/apache/syncope/sra/filters/BodyPropertyAddingGatewayFilterFactory.java b/sra/src/test/java/org/apache/syncope/sra/filters/BodyPropertyAddingGatewayFilterFactory.java
index 853c92b..03e1f68 100644
--- a/sra/src/test/java/org/apache/syncope/sra/filters/BodyPropertyAddingGatewayFilterFactory.java
+++ b/sra/src/test/java/org/apache/syncope/sra/filters/BodyPropertyAddingGatewayFilterFactory.java
@@ -67,7 +67,7 @@ public class BodyPropertyAddingGatewayFilterFactory extends CustomGatewayFilterF
         return new ModifyResponseGatewayFilter(config);
     }
 
-    public class ModifyResponseGatewayFilter implements GatewayFilter, Ordered {
+    public static class ModifyResponseGatewayFilter implements GatewayFilter, Ordered {
 
         private final Config config;