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 2021/04/08 11:33:56 UTC

[syncope] branch master updated (6b42a8f -> 8fb68d8)

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

ilgrosso pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/syncope.git.


    from 6b42a8f  [SYNCOPE-1545] WA > SAML 2.0 (#259)
     new bbccbfc  Upgrading PDFBox
     new 414d480  Upgrading AdminLTE
     new 8fb68d8  Force Maven 3.6.3 to avoid issues with transitive deps and https://maven.apache.org/docs/3.8.1/release-notes.html#how-to-fix-when-i-get-a-http-repository-blocked

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .github/workflows/codeql-analysis.yml              |  4 ++++
 .github/workflows/crosschecks.yml                  |  4 ++++
 .github/workflows/fit_Payara.yml                   |  4 ++++
 .github/workflows/fit_Tomcat_H2_JSON.yml           |  4 ++++
 .github/workflows/fit_Tomcat_H2_XML.yml            |  4 ++++
 .github/workflows/fit_Tomcat_H2_YAML.yml           |  4 ++++
 .github/workflows/fit_WA_SAML2PS4UI_OIDCC4UI.yml   |  4 ++++
 .github/workflows/fit_WA_SRA_CASClient.yml         |  4 ++++
 .github/workflows/fit_WA_SRA_OAuth2.yml            |  4 ++++
 .github/workflows/fit_WA_SRA_OIDC.yml              |  4 ++++
 .github/workflows/fit_WA_SRA_SAML2.yml             |  4 ++++
 .github/workflows/fit_Wildfly.yml                  |  4 ++++
 client/idrepo/common-ui/pom.xml                    |  5 +++++
 .../html/form/preview/BinaryCertPreviewer.java     |  5 ++---
 .../html/form/preview/BinaryImagePreviewer.java    |  5 ++---
 .../html/form/preview/BinaryPDFPreviewer.java      |  8 ++++----
 ...ctBinaryPreviewer.java => BinaryPreviewer.java} |  6 +++---
 .../html/form/preview/BinaryTextPreviewer.java     |  5 ++---
 .../markup/html/form/preview/DefaultPreviewer.java |  2 +-
 client/idrepo/console/pom.xml                      |  5 -----
 .../client/console/commons/PreviewUtils.java       | 22 ++++++++++++----------
 .../init/ClassPathScanImplementationLookup.java    | 14 +++++++-------
 .../wicket/markup/html/form/BinaryFieldPanel.java  | 16 ++++------------
 .../syncope/client/console/themes/css/AdminLTE.css | 16 ++++++++--------
 .../client/console/themes/js/AdminLTE-app.min.js   |  6 +++---
 .../client/enduser/commons/PreviewUtils.java       | 22 ++++++++++++----------
 .../init/ClassPathScanImplementationLookup.java    | 16 ++++++++--------
 .../enduser/markup/html/form/BinaryFieldPanel.java | 16 ++++------------
 .../client/console/panels/NewBpmnProcess.java      | 10 +++++-----
 pom.xml                                            |  2 +-
 30 files changed, 131 insertions(+), 98 deletions(-)
 rename client/idrepo/{console/src/main/java/org/apache/syncope/client/console/wicket => common-ui/src/main/java/org/apache/syncope/client/ui/commons}/markup/html/form/preview/BinaryCertPreviewer.java (92%)
 rename client/idrepo/{console/src/main/java/org/apache/syncope/client/console/wicket => common-ui/src/main/java/org/apache/syncope/client/ui/commons}/markup/html/form/preview/BinaryImagePreviewer.java (89%)
 rename client/idrepo/{console/src/main/java/org/apache/syncope/client/console/wicket => common-ui/src/main/java/org/apache/syncope/client/ui/commons}/markup/html/form/preview/BinaryPDFPreviewer.java (94%)
 rename client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/preview/{AbstractBinaryPreviewer.java => BinaryPreviewer.java} (89%)
 rename client/idrepo/{console/src/main/java/org/apache/syncope/client/console/wicket => common-ui/src/main/java/org/apache/syncope/client/ui/commons}/markup/html/form/preview/BinaryTextPreviewer.java (93%)

[syncope] 02/03: Upgrading AdminLTE

Posted by il...@apache.org.
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

commit 414d480d5fb3cdba10d9ddcae91c622dc941cc0f
Author: Francesco Chicchiriccò <il...@apache.org>
AuthorDate: Thu Apr 8 13:11:59 2021 +0200

    Upgrading AdminLTE
---
 .../syncope/client/console/themes/css/AdminLTE.css       | 16 ++++++++--------
 .../syncope/client/console/themes/js/AdminLTE-app.min.js |  6 +++---
 2 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/themes/css/AdminLTE.css b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/themes/css/AdminLTE.css
index ca6d83e..611eb24 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/themes/css/AdminLTE.css
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/themes/css/AdminLTE.css
@@ -1,12 +1,12 @@
 /*!
- *   AdminLTE v3.0.4
+ *   AdminLTE v3.1.0
  *   Author: Colorlib
- *   Website: AdminLTE.io <http://adminlte.io>
- *   License: Open source - MIT <http://opensource.org/licenses/MIT>
+ *   Website: AdminLTE.io <https://adminlte.io>
+ *   License: Open source - MIT <https://opensource.org/licenses/MIT>
  *//*!
- * Bootstrap v4.4.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors
- * Copyright 2011-2019 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#ffffff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:"Sour [...]
+ * Bootstrap v4.6.0 (https://getbootstrap.com/)
+ * Copyright 2011-2021 The Bootstrap Authors
+ * Copyright 2011-2021 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+ */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:"Source  [...]
 /*# sourceMappingURL=adminlte.min.css.map */
\ No newline at end of file
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/themes/js/AdminLTE-app.min.js b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/themes/js/AdminLTE-app.min.js
index 6323494..7626816 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/themes/js/AdminLTE-app.min.js
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/themes/js/AdminLTE-app.min.js
@@ -1,7 +1,7 @@
 /*!
- * AdminLTE v3.0.4 (https://adminlte.io)
- * Copyright 2014-2020 Colorlib <http://colorlib.com>
+ * AdminLTE v3.1.0 (https://adminlte.io)
+ * Copyright 2014-2021 Colorlib <https://colorlib.com>
  * Licensed under MIT (https://github.com/ColorlibHQ/AdminLTE/blob/master/LICENSE)
  */
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t=t||self).adminlte={})}(this,(function(t){"use strict";var e=function(t){var e="ControlSidebar",i="lte.controlsidebar",n=t.fn[e],s={COLLAPSED:"collapsed.lte.controlsidebar",EXPANDED:"expanded.lte.controlsidebar"},o=".control-sidebar",a=".control-sidebar-content",r='[data-widget="control-sidebar"]',l=".main-header",c=".main-footer",d="control-sideb [...]
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("jquery")):"function"==typeof define&&define.amd?define(["exports","jquery"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).adminlte={},e.jQuery)}(this,(function(e,t){"use strict";function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=a(t),i="CardRefresh",o="lte.cardrefresh",s=n.default.fn[i],l="card",r='[data-card-widget="card-refresh"]',d={source:"",sourceSelector:"" [...]
 //# sourceMappingURL=adminlte.min.js.map
\ No newline at end of file

[syncope] 03/03: Force Maven 3.6.3 to avoid issues with transitive deps and https://maven.apache.org/docs/3.8.1/release-notes.html#how-to-fix-when-i-get-a-http-repository-blocked

Posted by il...@apache.org.
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

commit 8fb68d86d7ecd05e93372cd59803a9c6a27148a0
Author: Francesco Chicchiriccò <il...@apache.org>
AuthorDate: Thu Apr 8 13:33:29 2021 +0200

    Force Maven 3.6.3 to avoid issues with transitive deps and https://maven.apache.org/docs/3.8.1/release-notes.html#how-to-fix-when-i-get-a-http-repository-blocked
---
 .github/workflows/codeql-analysis.yml            | 4 ++++
 .github/workflows/crosschecks.yml                | 4 ++++
 .github/workflows/fit_Payara.yml                 | 4 ++++
 .github/workflows/fit_Tomcat_H2_JSON.yml         | 4 ++++
 .github/workflows/fit_Tomcat_H2_XML.yml          | 4 ++++
 .github/workflows/fit_Tomcat_H2_YAML.yml         | 4 ++++
 .github/workflows/fit_WA_SAML2PS4UI_OIDCC4UI.yml | 4 ++++
 .github/workflows/fit_WA_SRA_CASClient.yml       | 4 ++++
 .github/workflows/fit_WA_SRA_OAuth2.yml          | 4 ++++
 .github/workflows/fit_WA_SRA_OIDC.yml            | 4 ++++
 .github/workflows/fit_WA_SRA_SAML2.yml           | 4 ++++
 .github/workflows/fit_Wildfly.yml                | 4 ++++
 12 files changed, 48 insertions(+)

diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml
index cb00413..1f2d43b 100644
--- a/.github/workflows/codeql-analysis.yml
+++ b/.github/workflows/codeql-analysis.yml
@@ -46,6 +46,10 @@ jobs:
       uses: actions/setup-java@v1.4.3
       with:
         java-version: 11
+    - name: Setup Maven
+      uses: stCarolas/setup-maven@v4
+      with:
+        maven-version: 3.6.3
     - uses: actions/cache@v2.1.1
       with:
         path: ~/.m2
diff --git a/.github/workflows/crosschecks.yml b/.github/workflows/crosschecks.yml
index a237fbb..275a02b 100644
--- a/.github/workflows/crosschecks.yml
+++ b/.github/workflows/crosschecks.yml
@@ -43,6 +43,10 @@ jobs:
       uses: actions/setup-java@v1.4.3
       with:
         java-version: ${{ matrix.java }}
+    - name: Setup Maven
+      uses: stCarolas/setup-maven@v4
+      with:
+        maven-version: 3.6.3
     - uses: actions/cache@v2.1.1
       with:
         path: ~/.m2
diff --git a/.github/workflows/fit_Payara.yml b/.github/workflows/fit_Payara.yml
index 6c5efb6..3881961 100644
--- a/.github/workflows/fit_Payara.yml
+++ b/.github/workflows/fit_Payara.yml
@@ -42,6 +42,10 @@ jobs:
       uses: actions/setup-java@v1.4.3
       with:
         java-version: 11
+    - name: Setup Maven
+      uses: stCarolas/setup-maven@v4
+      with:
+        maven-version: 3.6.3
     - uses: actions/cache@v2.1.1
       with:
         path: ~/.m2
diff --git a/.github/workflows/fit_Tomcat_H2_JSON.yml b/.github/workflows/fit_Tomcat_H2_JSON.yml
index a16c263..39ff609 100644
--- a/.github/workflows/fit_Tomcat_H2_JSON.yml
+++ b/.github/workflows/fit_Tomcat_H2_JSON.yml
@@ -42,6 +42,10 @@ jobs:
       uses: actions/setup-java@v1.4.3
       with:
         java-version: 11
+    - name: Setup Maven
+      uses: stCarolas/setup-maven@v4
+      with:
+        maven-version: 3.6.3
     - uses: actions/cache@v2.1.1
       with:
         path: ~/.m2
diff --git a/.github/workflows/fit_Tomcat_H2_XML.yml b/.github/workflows/fit_Tomcat_H2_XML.yml
index 0ea167e..0e335a6 100644
--- a/.github/workflows/fit_Tomcat_H2_XML.yml
+++ b/.github/workflows/fit_Tomcat_H2_XML.yml
@@ -42,6 +42,10 @@ jobs:
       uses: actions/setup-java@v1.4.3
       with:
         java-version: 11
+    - name: Setup Maven
+      uses: stCarolas/setup-maven@v4
+      with:
+        maven-version: 3.6.3
     - uses: actions/cache@v2.1.1
       with:
         path: ~/.m2
diff --git a/.github/workflows/fit_Tomcat_H2_YAML.yml b/.github/workflows/fit_Tomcat_H2_YAML.yml
index 146463c..c97dffe 100644
--- a/.github/workflows/fit_Tomcat_H2_YAML.yml
+++ b/.github/workflows/fit_Tomcat_H2_YAML.yml
@@ -42,6 +42,10 @@ jobs:
       uses: actions/setup-java@v1.4.3
       with:
         java-version: 11
+    - name: Setup Maven
+      uses: stCarolas/setup-maven@v4
+      with:
+        maven-version: 3.6.3
     - uses: actions/cache@v2.1.1
       with:
         path: ~/.m2
diff --git a/.github/workflows/fit_WA_SAML2PS4UI_OIDCC4UI.yml b/.github/workflows/fit_WA_SAML2PS4UI_OIDCC4UI.yml
index 31018fb..333f742 100644
--- a/.github/workflows/fit_WA_SAML2PS4UI_OIDCC4UI.yml
+++ b/.github/workflows/fit_WA_SAML2PS4UI_OIDCC4UI.yml
@@ -42,6 +42,10 @@ jobs:
       uses: actions/setup-java@v1.4.3
       with:
         java-version: 11
+    - name: Setup Maven
+      uses: stCarolas/setup-maven@v4
+      with:
+        maven-version: 3.6.3
     - uses: actions/cache@v2.1.1
       with:
         path: ~/.m2
diff --git a/.github/workflows/fit_WA_SRA_CASClient.yml b/.github/workflows/fit_WA_SRA_CASClient.yml
index e64d931..bbcd6aa 100644
--- a/.github/workflows/fit_WA_SRA_CASClient.yml
+++ b/.github/workflows/fit_WA_SRA_CASClient.yml
@@ -42,6 +42,10 @@ jobs:
       uses: actions/setup-java@v1.4.3
       with:
         java-version: 11
+    - name: Setup Maven
+      uses: stCarolas/setup-maven@v4
+      with:
+        maven-version: 3.6.3
     - uses: actions/cache@v2.1.1
       with:
         path: ~/.m2
diff --git a/.github/workflows/fit_WA_SRA_OAuth2.yml b/.github/workflows/fit_WA_SRA_OAuth2.yml
index da80087..a679e8a 100644
--- a/.github/workflows/fit_WA_SRA_OAuth2.yml
+++ b/.github/workflows/fit_WA_SRA_OAuth2.yml
@@ -42,6 +42,10 @@ jobs:
       uses: actions/setup-java@v1.4.3
       with:
         java-version: 11
+    - name: Setup Maven
+      uses: stCarolas/setup-maven@v4
+      with:
+        maven-version: 3.6.3
     - uses: actions/cache@v2.1.1
       with:
         path: ~/.m2
diff --git a/.github/workflows/fit_WA_SRA_OIDC.yml b/.github/workflows/fit_WA_SRA_OIDC.yml
index 1233e4f..b1b11ee 100644
--- a/.github/workflows/fit_WA_SRA_OIDC.yml
+++ b/.github/workflows/fit_WA_SRA_OIDC.yml
@@ -42,6 +42,10 @@ jobs:
       uses: actions/setup-java@v1.4.3
       with:
         java-version: 11
+    - name: Setup Maven
+      uses: stCarolas/setup-maven@v4
+      with:
+        maven-version: 3.6.3
     - uses: actions/cache@v2.1.1
       with:
         path: ~/.m2
diff --git a/.github/workflows/fit_WA_SRA_SAML2.yml b/.github/workflows/fit_WA_SRA_SAML2.yml
index 790c868..d9941a5 100644
--- a/.github/workflows/fit_WA_SRA_SAML2.yml
+++ b/.github/workflows/fit_WA_SRA_SAML2.yml
@@ -42,6 +42,10 @@ jobs:
       uses: actions/setup-java@v1.4.3
       with:
         java-version: 11
+    - name: Setup Maven
+      uses: stCarolas/setup-maven@v4
+      with:
+        maven-version: 3.6.3
     - uses: actions/cache@v2.1.1
       with:
         path: ~/.m2
diff --git a/.github/workflows/fit_Wildfly.yml b/.github/workflows/fit_Wildfly.yml
index f7bf119..d251564 100644
--- a/.github/workflows/fit_Wildfly.yml
+++ b/.github/workflows/fit_Wildfly.yml
@@ -42,6 +42,10 @@ jobs:
       uses: actions/setup-java@v1.4.3
       with:
         java-version: 11
+    - name: Setup Maven
+      uses: stCarolas/setup-maven@v4
+      with:
+        maven-version: 3.6.3
     - uses: actions/cache@v2.1.1
       with:
         path: ~/.m2

[syncope] 01/03: Upgrading PDFBox

Posted by il...@apache.org.
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

commit bbccbfcd83caeebe9c6fd7f83550731ae6a2e3a3
Author: Francesco Chicchiriccò <il...@apache.org>
AuthorDate: Thu Apr 8 12:14:09 2021 +0200

    Upgrading PDFBox
---
 client/idrepo/common-ui/pom.xml                    |  5 +++++
 .../html/form/preview/BinaryCertPreviewer.java     |  5 ++---
 .../html/form/preview/BinaryImagePreviewer.java    |  5 ++---
 .../html/form/preview/BinaryPDFPreviewer.java      |  8 ++++----
 ...ctBinaryPreviewer.java => BinaryPreviewer.java} |  6 +++---
 .../html/form/preview/BinaryTextPreviewer.java     |  5 ++---
 .../markup/html/form/preview/DefaultPreviewer.java |  2 +-
 client/idrepo/console/pom.xml                      |  5 -----
 .../client/console/commons/PreviewUtils.java       | 22 ++++++++++++----------
 .../init/ClassPathScanImplementationLookup.java    | 14 +++++++-------
 .../wicket/markup/html/form/BinaryFieldPanel.java  | 16 ++++------------
 .../client/enduser/commons/PreviewUtils.java       | 22 ++++++++++++----------
 .../init/ClassPathScanImplementationLookup.java    | 16 ++++++++--------
 .../enduser/markup/html/form/BinaryFieldPanel.java | 16 ++++------------
 .../client/console/panels/NewBpmnProcess.java      | 10 +++++-----
 pom.xml                                            |  2 +-
 16 files changed, 72 insertions(+), 87 deletions(-)

diff --git a/client/idrepo/common-ui/pom.xml b/client/idrepo/common-ui/pom.xml
index 583c570..abcd893 100644
--- a/client/idrepo/common-ui/pom.xml
+++ b/client/idrepo/common-ui/pom.xml
@@ -96,6 +96,11 @@ under the License.
     </dependency>
 
     <dependency>
+      <groupId>org.apache.pdfbox</groupId>
+      <artifactId>pdfbox</artifactId>
+    </dependency>
+      
+    <dependency>
       <groupId>org.apache.syncope.common.keymaster</groupId>
       <artifactId>syncope-common-keymaster-client-api</artifactId>
       <version>${project.version}</version>
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/preview/BinaryCertPreviewer.java b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/preview/BinaryCertPreviewer.java
similarity index 92%
rename from client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/preview/BinaryCertPreviewer.java
rename to client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/preview/BinaryCertPreviewer.java
index 1803f78..1b2ed20 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/preview/BinaryCertPreviewer.java
+++ b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/preview/BinaryCertPreviewer.java
@@ -16,9 +16,8 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.syncope.client.console.wicket.markup.html.form.preview;
+package org.apache.syncope.client.ui.commons.markup.html.form.preview;
 
-import org.apache.syncope.client.ui.commons.markup.html.form.preview.AbstractBinaryPreviewer;
 import java.io.ByteArrayInputStream;
 import java.security.cert.CertificateFactory;
 import java.security.cert.X509Certificate;
@@ -32,7 +31,7 @@ import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.model.Model;
 
 @BinaryPreview(mimeTypes = { "application/x-x509-ca-cert", "application/x-x509-user-cert", "application/pkix-cert" })
-public class BinaryCertPreviewer extends AbstractBinaryPreviewer {
+public class BinaryCertPreviewer extends BinaryPreviewer {
 
     private static final long serialVersionUID = -5843835939538055110L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/preview/BinaryImagePreviewer.java b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/preview/BinaryImagePreviewer.java
similarity index 89%
rename from client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/preview/BinaryImagePreviewer.java
rename to client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/preview/BinaryImagePreviewer.java
index 7397462..c720cf1 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/preview/BinaryImagePreviewer.java
+++ b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/preview/BinaryImagePreviewer.java
@@ -16,9 +16,8 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.syncope.client.console.wicket.markup.html.form.preview;
+package org.apache.syncope.client.ui.commons.markup.html.form.preview;
 
-import org.apache.syncope.client.ui.commons.markup.html.form.preview.AbstractBinaryPreviewer;
 import org.apache.syncope.client.ui.commons.annotations.BinaryPreview;
 import org.apache.wicket.Component;
 import org.apache.wicket.extensions.markup.html.image.resource.ThumbnailImageResource;
@@ -27,7 +26,7 @@ import org.apache.wicket.request.resource.DynamicImageResource;
 import org.apache.wicket.request.resource.IResource;
 
 @BinaryPreview(mimeTypes = { "image/jpeg", "image/png", "image/gif", "image/bmp", "image/x-png", "image/vnd.wap.wbmp" })
-public class BinaryImagePreviewer extends AbstractBinaryPreviewer {
+public class BinaryImagePreviewer extends BinaryPreviewer {
 
     private static final long serialVersionUID = 3338812359368457349L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/preview/BinaryPDFPreviewer.java b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/preview/BinaryPDFPreviewer.java
similarity index 94%
rename from client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/preview/BinaryPDFPreviewer.java
rename to client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/preview/BinaryPDFPreviewer.java
index f815904..d41b0c5 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/preview/BinaryPDFPreviewer.java
+++ b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/preview/BinaryPDFPreviewer.java
@@ -16,9 +16,8 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.syncope.client.console.wicket.markup.html.form.preview;
+package org.apache.syncope.client.ui.commons.markup.html.form.preview;
 
-import org.apache.syncope.client.ui.commons.markup.html.form.preview.AbstractBinaryPreviewer;
 import java.awt.Graphics2D;
 import java.awt.RenderingHints;
 import java.awt.image.BufferedImage;
@@ -27,6 +26,7 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.Serializable;
 import java.time.Instant;
+import org.apache.pdfbox.Loader;
 import org.apache.pdfbox.cos.COSObject;
 import org.apache.pdfbox.io.MemoryUsageSetting;
 import org.apache.pdfbox.pdmodel.DefaultResourceCache;
@@ -43,7 +43,7 @@ import org.apache.wicket.request.resource.DynamicImageResource;
 import org.apache.wicket.request.resource.IResource;
 
 @BinaryPreview(mimeTypes = { "application/pdf" })
-public class BinaryPDFPreviewer extends AbstractBinaryPreviewer {
+public class BinaryPDFPreviewer extends BinaryPreviewer {
 
     private static final long serialVersionUID = -6606409541566687016L;
 
@@ -64,7 +64,7 @@ public class BinaryPDFPreviewer extends AbstractBinaryPreviewer {
         firstPage = null;
 
         try (InputStream bais = new ByteArrayInputStream(uploadedBytes);
-                PDDocument document = PDDocument.load(bais, MemoryUsageSetting.setupTempFileOnly())) {
+                PDDocument document = Loader.loadPDF(bais, MemoryUsageSetting.setupTempFileOnly())) {
 
             document.setResourceCache(new DefaultResourceCache() {
 
diff --git a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/preview/AbstractBinaryPreviewer.java b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/preview/BinaryPreviewer.java
similarity index 89%
rename from client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/preview/AbstractBinaryPreviewer.java
rename to client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/preview/BinaryPreviewer.java
index 21ba718..29f79f9 100644
--- a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/preview/AbstractBinaryPreviewer.java
+++ b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/preview/BinaryPreviewer.java
@@ -24,15 +24,15 @@ import org.apache.wicket.markup.html.panel.Panel;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public abstract class AbstractBinaryPreviewer extends Panel {
+public abstract class BinaryPreviewer extends Panel {
 
-    protected static final Logger LOG = LoggerFactory.getLogger(AbstractBinaryPreviewer.class);
+    protected static final Logger LOG = LoggerFactory.getLogger(BinaryPreviewer.class);
 
     private static final long serialVersionUID = -2482706463911903025L;
 
     protected final String mimeType;
 
-    public AbstractBinaryPreviewer(final String id, final String mimeType) {
+    public BinaryPreviewer(final String id, final String mimeType) {
         super(id);
         this.mimeType = mimeType;
     }
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/preview/BinaryTextPreviewer.java b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/preview/BinaryTextPreviewer.java
similarity index 93%
rename from client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/preview/BinaryTextPreviewer.java
rename to client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/preview/BinaryTextPreviewer.java
index fe893d7..5632cea 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/preview/BinaryTextPreviewer.java
+++ b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/preview/BinaryTextPreviewer.java
@@ -16,9 +16,8 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.syncope.client.console.wicket.markup.html.form.preview;
+package org.apache.syncope.client.ui.commons.markup.html.form.preview;
 
-import org.apache.syncope.client.ui.commons.markup.html.form.preview.AbstractBinaryPreviewer;
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.InputStream;
@@ -34,7 +33,7 @@ import org.apache.wicket.model.Model;
 import org.apache.wicket.util.io.IOUtils;
 
 @BinaryPreview(mimeTypes = { "application/json", "application/xml" })
-public class BinaryTextPreviewer extends AbstractBinaryPreviewer {
+public class BinaryTextPreviewer extends BinaryPreviewer {
 
     private static final long serialVersionUID = 3808379310090668773L;
 
diff --git a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/preview/DefaultPreviewer.java b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/preview/DefaultPreviewer.java
index 74a81c1..bf7e13b 100644
--- a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/preview/DefaultPreviewer.java
+++ b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/preview/DefaultPreviewer.java
@@ -22,7 +22,7 @@ import org.apache.syncope.client.ui.commons.annotations.BinaryPreview;
 import org.apache.wicket.Component;
 
 @BinaryPreview(mimeTypes = {})
-public class DefaultPreviewer extends AbstractBinaryPreviewer {
+public class DefaultPreviewer extends BinaryPreviewer {
 
     private static final long serialVersionUID = 3338812359368457349L;
 
diff --git a/client/idrepo/console/pom.xml b/client/idrepo/console/pom.xml
index 8f53c23..db78158 100644
--- a/client/idrepo/console/pom.xml
+++ b/client/idrepo/console/pom.xml
@@ -70,11 +70,6 @@ under the License.
     </dependency>
 
     <dependency>
-      <groupId>org.apache.pdfbox</groupId>
-      <artifactId>pdfbox</artifactId>
-    </dependency>
-      
-    <dependency>
       <groupId>org.webjars</groupId>
       <artifactId>font-awesome</artifactId>
     </dependency>
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/commons/PreviewUtils.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/commons/PreviewUtils.java
index 002d4f9..e1785a7 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/commons/PreviewUtils.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/commons/PreviewUtils.java
@@ -20,33 +20,35 @@ package org.apache.syncope.client.console.commons;
 
 import org.apache.commons.lang3.StringUtils;
 import org.apache.syncope.client.console.init.ClassPathScanImplementationLookup;
-import org.apache.syncope.client.ui.commons.markup.html.form.preview.AbstractBinaryPreviewer;
+import org.apache.syncope.client.ui.commons.markup.html.form.preview.BinaryPreviewer;
 import org.apache.syncope.client.ui.commons.markup.html.form.preview.DefaultPreviewer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.util.ClassUtils;
 
 public class PreviewUtils {
 
+    protected static final Logger LOG = LoggerFactory.getLogger(PreviewUtils.class);
+
     @Autowired
     private ClassPathScanImplementationLookup lookup;
 
-    public static AbstractBinaryPreviewer getDefaultPreviewer(final String mimeType) {
-        return new DefaultPreviewer("previewer", mimeType);
-    }
-
-    public AbstractBinaryPreviewer getPreviewer(final String mimeType) {
+    public BinaryPreviewer getPreviewer(final String mimeType) {
         if (StringUtils.isBlank(mimeType)) {
-            return null;
+            return new DefaultPreviewer("previewer", mimeType);
         }
 
-        Class<? extends AbstractBinaryPreviewer> previewer = lookup.getPreviewerClass(mimeType);
+        Class<? extends BinaryPreviewer> previewer = lookup.getPreviewerClass(mimeType);
         try {
             return previewer == null
-                    ? null
+                    ? new DefaultPreviewer("previewer", mimeType)
                     : ClassUtils.getConstructorIfAvailable(previewer, String.class, String.class).
                             newInstance(new Object[] { "previewer", mimeType });
         } catch (Exception e) {
-            return null;
+            LOG.error("While getting BinaryPreviewer for {}", mimeType, e);
+
+            return new DefaultPreviewer("previewer", mimeType);
         }
     }
 }
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/init/ClassPathScanImplementationLookup.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/init/ClassPathScanImplementationLookup.java
index b49ed98..65df3a8 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/init/ClassPathScanImplementationLookup.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/init/ClassPathScanImplementationLookup.java
@@ -41,7 +41,7 @@ import org.apache.syncope.client.console.annotations.IdMPage;
 import org.apache.syncope.client.ui.commons.annotations.Resource;
 import org.apache.syncope.client.console.pages.BasePage;
 import org.apache.syncope.client.ui.commons.panels.BaseSSOLoginFormPanel;
-import org.apache.syncope.client.ui.commons.markup.html.form.preview.AbstractBinaryPreviewer;
+import org.apache.syncope.client.ui.commons.markup.html.form.preview.BinaryPreviewer;
 import org.apache.syncope.client.console.widgets.BaseExtWidget;
 import org.apache.syncope.client.console.widgets.ExtAlertWidget;
 import org.apache.syncope.common.lib.policy.AccountRuleConf;
@@ -120,7 +120,7 @@ public class ClassPathScanImplementationLookup {
         ClassPathScanningCandidateComponentProvider scanner = new ClassPathScanningCandidateComponentProvider(false);
 
         scanner.addIncludeFilter(new AssignableTypeFilter(BasePage.class));
-        scanner.addIncludeFilter(new AssignableTypeFilter(AbstractBinaryPreviewer.class));
+        scanner.addIncludeFilter(new AssignableTypeFilter(BinaryPreviewer.class));
         scanner.addIncludeFilter(new AssignableTypeFilter(UserFormFinalizer.class));
         scanner.addIncludeFilter(new AssignableTypeFilter(BaseExtPage.class));
         scanner.addIncludeFilter(new AssignableTypeFilter(BaseExtWidget.class));
@@ -186,8 +186,8 @@ public class ClassPathScanImplementationLookup {
                         } else {
                             idRepoPages.add((Class<? extends BasePage>) clazz);
                         }
-                    } else if (AbstractBinaryPreviewer.class.isAssignableFrom(clazz)) {
-                        addClass(AbstractBinaryPreviewer.class.getName(), clazz);
+                    } else if (BinaryPreviewer.class.isAssignableFrom(clazz)) {
+                        addClass(BinaryPreviewer.class.getName(), clazz);
                     } else if (UserFormFinalizer.class.isAssignableFrom(clazz)) {
                         addClass(UserFormFinalizer.class.getName(), clazz);
                     } else if (BaseSSOLoginFormPanel.class.isAssignableFrom(clazz)) {
@@ -260,11 +260,11 @@ public class ClassPathScanImplementationLookup {
                 collect(Collectors.toList());
     }
 
-    public Class<? extends AbstractBinaryPreviewer> getPreviewerClass(final String mimeType) {
+    public Class<? extends BinaryPreviewer> getPreviewerClass(final String mimeType) {
         LOG.debug("Searching for previewer class for MIME type: {}", mimeType);
 
-        Class<? extends AbstractBinaryPreviewer> previewer = null;
-        for (Class<? extends AbstractBinaryPreviewer> candidate : getClasses(AbstractBinaryPreviewer.class)) {
+        Class<? extends BinaryPreviewer> previewer = null;
+        for (Class<? extends BinaryPreviewer> candidate : getClasses(BinaryPreviewer.class)) {
             LOG.debug("Evaluating previewer class {} for MIME type {}", candidate.getName(), mimeType);
             if (candidate.isAnnotationPresent(BinaryPreview.class)
                     && ArrayUtils.contains(candidate.getAnnotation(BinaryPreview.class).mimeTypes(), mimeType)) {
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/BinaryFieldPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/BinaryFieldPanel.java
index decccf0..bc48ae0 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/BinaryFieldPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/BinaryFieldPanel.java
@@ -29,6 +29,7 @@ import java.io.ByteArrayInputStream;
 import java.util.ArrayList;
 import java.util.Base64;
 import java.util.Locale;
+import java.util.Optional;
 import javax.ws.rs.core.HttpHeaders;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
@@ -39,7 +40,7 @@ import org.apache.syncope.client.ui.commons.Constants;
 import org.apache.syncope.client.console.commons.PreviewUtils;
 import org.apache.syncope.client.ui.commons.HttpResourceStream;
 import org.apache.syncope.client.ui.commons.markup.html.form.FieldPanel;
-import org.apache.syncope.client.ui.commons.markup.html.form.preview.AbstractBinaryPreviewer;
+import org.apache.syncope.client.ui.commons.markup.html.form.preview.BinaryPreviewer;
 import org.apache.syncope.client.ui.commons.markup.html.form.BaseBinaryFieldPanel;
 import org.apache.syncope.client.ui.commons.pages.BaseWebPage;
 import org.apache.syncope.client.ui.commons.rest.ResponseHolder;
@@ -84,7 +85,7 @@ public class BinaryFieldPanel extends BaseBinaryFieldPanel {
 
     private final BinaryFieldDownload fileDownload;
 
-    private final AbstractBinaryPreviewer previewer;
+    private final BinaryPreviewer previewer;
 
     private final IndicatingAjaxLink<Void> resetLink;
 
@@ -280,16 +281,7 @@ public class BinaryFieldPanel extends BaseBinaryFieldPanel {
         String modelObj = model.getObject();
 
         if (StringUtils.isNotBlank(modelObj)) {
-            final Component panelPreview;
-            if (previewer == null) {
-                panelPreview = PreviewUtils.getDefaultPreviewer(mimeType);
-            } else {
-                panelPreview = previewer.preview(modelObj);
-            }
-
-            if (panelPreview != null) {
-                changePreviewer(panelPreview);
-            }
+            Optional.ofNullable(previewer.preview(modelObj)).ifPresent(this::changePreviewer);
         }
 
         downloadLink.setEnabled(StringUtils.isNotBlank(modelObj));
diff --git a/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/commons/PreviewUtils.java b/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/commons/PreviewUtils.java
index 0bde2a5..c0dbe05 100644
--- a/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/commons/PreviewUtils.java
+++ b/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/commons/PreviewUtils.java
@@ -20,33 +20,35 @@ package org.apache.syncope.client.enduser.commons;
 
 import org.apache.commons.lang3.StringUtils;
 import org.apache.syncope.client.enduser.init.ClassPathScanImplementationLookup;
-import org.apache.syncope.client.ui.commons.markup.html.form.preview.AbstractBinaryPreviewer;
+import org.apache.syncope.client.ui.commons.markup.html.form.preview.BinaryPreviewer;
 import org.apache.syncope.client.ui.commons.markup.html.form.preview.DefaultPreviewer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.util.ClassUtils;
 
 public class PreviewUtils {
 
+    protected static final Logger LOG = LoggerFactory.getLogger(PreviewUtils.class);
+
     @Autowired
     private ClassPathScanImplementationLookup lookup;
 
-    public static AbstractBinaryPreviewer getDefaultPreviewer(final String mimeType) {
-        return new DefaultPreviewer("previewer", mimeType);
-    }
-
-    public AbstractBinaryPreviewer getPreviewer(final String mimeType) {
+    public BinaryPreviewer getPreviewer(final String mimeType) {
         if (StringUtils.isBlank(mimeType)) {
-            return null;
+            return new DefaultPreviewer("previewer", mimeType);
         }
 
-        Class<? extends AbstractBinaryPreviewer> previewer = lookup.getPreviewerClass(mimeType);
+        Class<? extends BinaryPreviewer> previewer = lookup.getPreviewerClass(mimeType);
         try {
             return previewer == null
-                    ? null
+                    ? new DefaultPreviewer("previewer", mimeType)
                     : ClassUtils.getConstructorIfAvailable(previewer, String.class, String.class).
                             newInstance(new Object[] { "previewer", mimeType });
         } catch (Exception e) {
-            return null;
+            LOG.error("While getting BinaryPreviewer for {}", mimeType, e);
+
+            return new DefaultPreviewer("previewer", mimeType);
         }
     }
 }
diff --git a/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/init/ClassPathScanImplementationLookup.java b/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/init/ClassPathScanImplementationLookup.java
index 9122d8f..c89afff 100644
--- a/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/init/ClassPathScanImplementationLookup.java
+++ b/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/init/ClassPathScanImplementationLookup.java
@@ -29,7 +29,7 @@ import org.apache.syncope.client.enduser.pages.BaseExtPage;
 import org.apache.syncope.client.ui.commons.annotations.BinaryPreview;
 import org.apache.syncope.client.ui.commons.annotations.ExtPage;
 import org.apache.syncope.client.ui.commons.annotations.Resource;
-import org.apache.syncope.client.ui.commons.markup.html.form.preview.AbstractBinaryPreviewer;
+import org.apache.syncope.client.ui.commons.markup.html.form.preview.BinaryPreviewer;
 import org.apache.syncope.client.ui.commons.panels.BaseSSOLoginFormPanel;
 import org.apache.wicket.request.resource.AbstractResource;
 import org.slf4j.Logger;
@@ -48,7 +48,7 @@ public class ClassPathScanImplementationLookup {
 
     private List<Class<? extends AbstractResource>> resources;
 
-    private List<Class<? extends AbstractBinaryPreviewer>> previewers;
+    private List<Class<? extends BinaryPreviewer>> previewers;
 
     private List<Class<? extends BaseExtPage>> extPages;
 
@@ -75,7 +75,7 @@ public class ClassPathScanImplementationLookup {
         scanner.addIncludeFilter(new AssignableTypeFilter(AbstractResource.class));
         scanner.addIncludeFilter(new AssignableTypeFilter(BaseExtPage.class));
         scanner.addIncludeFilter(new AssignableTypeFilter(BaseSSOLoginFormPanel.class));
-        scanner.addIncludeFilter(new AssignableTypeFilter(AbstractBinaryPreviewer.class));
+        scanner.addIncludeFilter(new AssignableTypeFilter(BinaryPreviewer.class));
         scanner.addIncludeFilter(new AssignableTypeFilter(BaseEnduserWebPage.class));
 
         scanner.findCandidateComponents(getBasePackage()).forEach(bd -> {
@@ -98,8 +98,8 @@ public class ClassPathScanImplementationLookup {
                             LOG.error("Could not find annotation {} in {}, ignoring",
                                     Resource.class.getName(), clazz.getName());
                         }
-                    } else if (AbstractBinaryPreviewer.class.isAssignableFrom(clazz)) {
-                        previewers.add((Class<? extends AbstractBinaryPreviewer>) clazz);
+                    } else if (BinaryPreviewer.class.isAssignableFrom(clazz)) {
+                        previewers.add((Class<? extends BinaryPreviewer>) clazz);
                     } else if (BaseSSOLoginFormPanel.class.isAssignableFrom(clazz)) {
                         ssoLoginFormPanels.add((Class<? extends BaseSSOLoginFormPanel>) clazz);
                     } else if (BaseEnduserWebPage.class.isAssignableFrom(clazz)) {
@@ -122,10 +122,10 @@ public class ClassPathScanImplementationLookup {
         LOG.debug("Wicket Resources found: {}", resources);
     }
 
-    public Class<? extends AbstractBinaryPreviewer> getPreviewerClass(final String mimeType) {
+    public Class<? extends BinaryPreviewer> getPreviewerClass(final String mimeType) {
         LOG.debug("Searching for previewer class for MIME type: {}", mimeType);
-        Class<? extends AbstractBinaryPreviewer> previewer = null;
-        for (Class<? extends AbstractBinaryPreviewer> candidate : previewers) {
+        Class<? extends BinaryPreviewer> previewer = null;
+        for (Class<? extends BinaryPreviewer> candidate : previewers) {
             LOG.debug("Evaluating previewer class {} for MIME type {}", candidate.getName(), mimeType);
             if (candidate.isAnnotationPresent(BinaryPreview.class)
                     && ArrayUtils.contains(candidate.getAnnotation(BinaryPreview.class).mimeTypes(), mimeType)) {
diff --git a/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/markup/html/form/BinaryFieldPanel.java b/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/markup/html/form/BinaryFieldPanel.java
index 7de1299..512283d 100644
--- a/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/markup/html/form/BinaryFieldPanel.java
+++ b/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/markup/html/form/BinaryFieldPanel.java
@@ -29,6 +29,7 @@ import java.io.ByteArrayInputStream;
 import java.util.ArrayList;
 import java.util.Base64;
 import java.util.Locale;
+import java.util.Optional;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
 import org.apache.commons.lang3.StringUtils;
@@ -39,7 +40,7 @@ import org.apache.syncope.client.enduser.commons.PreviewUtils;
 import org.apache.syncope.client.ui.commons.Constants;
 import org.apache.syncope.client.ui.commons.markup.html.form.BaseBinaryFieldPanel;
 import org.apache.syncope.client.ui.commons.markup.html.form.FieldPanel;
-import org.apache.syncope.client.ui.commons.markup.html.form.preview.AbstractBinaryPreviewer;
+import org.apache.syncope.client.ui.commons.markup.html.form.preview.BinaryPreviewer;
 import org.apache.syncope.client.ui.commons.pages.BaseWebPage;
 import org.apache.syncope.client.ui.commons.rest.ResponseHolder;
 import org.apache.wicket.Component;
@@ -83,7 +84,7 @@ public class BinaryFieldPanel extends BaseBinaryFieldPanel {
 
     private final AjaxDownload fileDownload;
 
-    private final AbstractBinaryPreviewer previewer;
+    private final BinaryPreviewer previewer;
 
     private final IndicatingAjaxLink<Void> resetLink;
 
@@ -279,16 +280,7 @@ public class BinaryFieldPanel extends BaseBinaryFieldPanel {
         String modelObj = model.getObject();
 
         if (StringUtils.isNotBlank(modelObj)) {
-            final Component panelPreview;
-            if (previewer == null) {
-                panelPreview = PreviewUtils.getDefaultPreviewer(mimeType);
-            } else {
-                panelPreview = previewer.preview(modelObj);
-            }
-
-            if (panelPreview != null) {
-                changePreviewer(panelPreview);
-            }
+            Optional.ofNullable(previewer.preview(modelObj)).ifPresent(this::changePreviewer);
         }
 
         downloadLink.setEnabled(StringUtils.isNotBlank(modelObj));
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 6652874..5b4a196 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
@@ -19,13 +19,13 @@
 package org.apache.syncope.client.console.panels;
 
 import java.io.Serializable;
+import java.nio.charset.StandardCharsets;
 import javax.ws.rs.core.MediaType;
 import org.apache.commons.io.IOUtils;
-import org.apache.pdfbox.util.Charsets;
 import org.apache.syncope.client.console.SyncopeConsoleSession;
 import org.apache.syncope.client.ui.commons.Constants;
-import org.apache.syncope.client.console.pages.BasePage;
 import org.apache.syncope.client.console.rest.BpmnProcessRestClient;
+import org.apache.syncope.client.ui.commons.pages.BaseWebPage;
 import org.apache.wicket.PageReference;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.markup.html.form.AjaxSubmitLink;
@@ -60,7 +60,7 @@ public class NewBpmnProcess extends TogglePanel<Serializable> {
                     BpmnProcessRestClient.setDefinition(MediaType.APPLICATION_XML_TYPE, key.getModelObject(),
                             IOUtils.toString(
                                     NewBpmnProcess.class.getResourceAsStream("empty.bpmn20.xml"),
-                                    Charsets.UTF_8.name()).replaceAll("%KEY%", key.getModelObject()));
+                                    StandardCharsets.UTF_8).replaceAll("%KEY%", key.getModelObject()));
 
                     key.getModel().setObject(null);
                     SyncopeConsoleSession.get().success(getString(Constants.OPERATION_SUCCEEDED));
@@ -70,12 +70,12 @@ public class NewBpmnProcess extends TogglePanel<Serializable> {
                     LOG.error("While creating new BPMN process", e);
                     SyncopeConsoleSession.get().onException(e);
                 }
-                ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target);
+                ((BaseWebPage) pageRef.getPage()).getNotificationPanel().refresh(target);
             }
 
             @Override
             protected void onError(final AjaxRequestTarget target) {
-                ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target);
+                ((BaseWebPage) pageRef.getPage()).getNotificationPanel().refresh(target);
             }
         });
     }
diff --git a/pom.xml b/pom.xml
index 81e6d7e..fba2ab3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1888,7 +1888,7 @@ under the License.
       <dependency>
         <groupId>org.apache.pdfbox</groupId>
         <artifactId>pdfbox</artifactId>
-        <version>2.0.23</version>
+        <version>3.0.0-RC1</version>
       </dependency>
 
       <dependency>