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:57 UTC
[syncope] 01/03: Upgrading PDFBox
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>