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ò <[email protected]> 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>
