From 86f797a8867dee6e1815e676810b8575f7e059c4 Mon Sep 17 00:00:00 2001 From: Dalibor Aksic <93644806+Daksic28@users.noreply.github.com> Date: Fri, 17 Jan 2025 13:50:03 +0100 Subject: [PATCH] [26870] Service angepasst mit isSupportedFile (#418) --- .../converter/JodRestDocumentConverter.java | 17 +++++++++++++++++ .../handler/GlobalInboxEntryImportHandler.java | 9 ++------- .../global_inbox/ui/parts/GlobalInboxPart.java | 2 -- .../omnivore/ui/inbox/DocHandleUiProvider.java | 7 +------ .../elexis/omnivore/ui/views/OmnivoreView.java | 6 +----- 5 files changed, 21 insertions(+), 20 deletions(-) diff --git a/bundles/at.medevit.elexis.documents.converter/src/at/medevit/elexis/documents/converter/JodRestDocumentConverter.java b/bundles/at.medevit.elexis.documents.converter/src/at/medevit/elexis/documents/converter/JodRestDocumentConverter.java index f65a6d90d8..49e59ab086 100644 --- a/bundles/at.medevit.elexis.documents.converter/src/at/medevit/elexis/documents/converter/JodRestDocumentConverter.java +++ b/bundles/at.medevit.elexis.documents.converter/src/at/medevit/elexis/documents/converter/JodRestDocumentConverter.java @@ -11,6 +11,7 @@ import java.nio.file.Path; import java.nio.file.StandardCopyOption; import java.text.SimpleDateFormat; +import java.util.EnumSet; import java.util.Optional; import org.apache.commons.lang3.StringUtils; @@ -21,6 +22,7 @@ import ch.elexis.core.documents.DocumentStore; import ch.elexis.core.exceptions.ElexisException; import ch.elexis.core.model.IDocument; +import ch.elexis.core.model.MimeType; import ch.elexis.core.services.IConfigService; import ch.elexis.core.services.IDocumentConverter; import io.swagger.client.ApiException; @@ -35,6 +37,11 @@ public class JodRestDocumentConverter implements IDocumentConverter { @Reference private IConfigService configService; + private static final EnumSet SUPPORTED_MIME_TYPES = EnumSet.of(MimeType.doc, MimeType.docx, MimeType.xls, + MimeType.xlsx, MimeType.odt, MimeType.ods, MimeType.odp, MimeType.rtf, + MimeType.txt, MimeType.html, MimeType.csv, MimeType.jpg, MimeType.jpeg, MimeType.png, MimeType.bmp, + MimeType.gif, MimeType.tiff, MimeType.svg); + @Override public Optional convertToPdf(IDocument document) { ConverterControllerApi apiInstance = new ConverterControllerApi(); @@ -133,4 +140,14 @@ private boolean isServiceAvailable(String serverHost, int serverPort, Integer ti } return false; } + + @Override + public boolean isSupportedFile(IDocument document) { + if (document == null || StringUtils.isBlank(document.getExtension())) { + return false; + } + String extension = document.getExtension().toLowerCase(); + MimeType mimeType = MimeType.getByExtension(extension); + return SUPPORTED_MIME_TYPES.contains(mimeType); + } } diff --git a/bundles/ch.elexis.global_inbox/src/ch/elexis/global_inbox/ui/handler/GlobalInboxEntryImportHandler.java b/bundles/ch.elexis.global_inbox/src/ch/elexis/global_inbox/ui/handler/GlobalInboxEntryImportHandler.java index 0a3497619f..1f30f723bc 100644 --- a/bundles/ch.elexis.global_inbox/src/ch/elexis/global_inbox/ui/handler/GlobalInboxEntryImportHandler.java +++ b/bundles/ch.elexis.global_inbox/src/ch/elexis/global_inbox/ui/handler/GlobalInboxEntryImportHandler.java @@ -11,7 +11,6 @@ import javax.inject.Inject; import javax.inject.Named; -import org.apache.commons.lang3.StringUtils; import org.eclipse.e4.core.di.annotations.CanExecute; import org.eclipse.e4.core.di.annotations.Execute; import org.eclipse.e4.core.services.events.IEventBroker; @@ -103,12 +102,8 @@ public void execute(@Named(IServiceConstants.ACTIVE_SELECTION) GlobalInboxEntry new GlobalInboxUtil().removeFiles(globalInboxEntry); - // update document preview with imported document - if (StringUtils.containsIgnoreCase(document.getMimeType(), "pdf")) { //$NON-NLS-1$ - eventBroker.send(ElexisUiEventTopics.EVENT_PREVIEW_MIMETYPE_PDF, document); - } else if (StringUtils.containsIgnoreCase(document.getMimeType(), "docx")) { - eventBroker.post(ElexisUiEventTopics.EVENT_PREVIEW_MIMETYPE_PDF, document); - } + + eventBroker.send(ElexisUiEventTopics.EVENT_PREVIEW_MIMETYPE_PDF, document); boolean automaticBilling = configService.getLocal(Preferences.PREF_AUTOBILLING, false); if (automaticBilling && AutomaticBilling.isEnabled()) { diff --git a/bundles/ch.elexis.global_inbox/src/ch/elexis/global_inbox/ui/parts/GlobalInboxPart.java b/bundles/ch.elexis.global_inbox/src/ch/elexis/global_inbox/ui/parts/GlobalInboxPart.java index 66e41292d3..83ee63376c 100644 --- a/bundles/ch.elexis.global_inbox/src/ch/elexis/global_inbox/ui/parts/GlobalInboxPart.java +++ b/bundles/ch.elexis.global_inbox/src/ch/elexis/global_inbox/ui/parts/GlobalInboxPart.java @@ -88,7 +88,6 @@ public int compare(Viewer viewer, Object e1, Object e2) { if (globalInboxEntry != null) { File mainFile = globalInboxEntry.getPdfPreviewFile(); - if (globalInboxEntry.getMimetype().toLowerCase().contains("pdf")) { //$NON-NLS-1$ try { IDocument mainFileDocument = FileDocument.of(mainFile); eventBroker.post(ElexisUiEventTopics.EVENT_PREVIEW_MIMETYPE_PDF, mainFileDocument); @@ -96,7 +95,6 @@ public int compare(Viewer viewer, Object e1, Object e2) { LoggerFactory.getLogger(getClass()).warn("Exception", e); //$NON-NLS-1$ } } - } }); tv.addDoubleClickListener(new IDoubleClickListener() { diff --git a/bundles/ch.elexis.omnivore.ui/src/ch/elexis/omnivore/ui/inbox/DocHandleUiProvider.java b/bundles/ch.elexis.omnivore.ui/src/ch/elexis/omnivore/ui/inbox/DocHandleUiProvider.java index 7d04c766a6..f833effd0f 100644 --- a/bundles/ch.elexis.omnivore.ui/src/ch/elexis/omnivore/ui/inbox/DocHandleUiProvider.java +++ b/bundles/ch.elexis.omnivore.ui/src/ch/elexis/omnivore/ui/inbox/DocHandleUiProvider.java @@ -4,7 +4,6 @@ import java.util.Collections; import java.util.List; -import org.apache.commons.lang3.StringUtils; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.viewers.IColorProvider; import org.eclipse.jface.viewers.IToolTipProvider; @@ -86,12 +85,8 @@ public void singleClicked(IInboxElement element) { if (isProviderFor(element)) { IDocumentHandle document = (IDocumentHandle) obj; if (document != null && !document.isCategory()) { - if (StringUtils.containsIgnoreCase(document.getMimeType(), "pdf")) { //$NON-NLS-1$ ContextServiceHolder.get().postEvent(ElexisUiEventTopics.EVENT_PREVIEW_MIMETYPE_PDF, document); - } - else if (StringUtils.containsIgnoreCase(document.getMimeType(), "docx")) { //$NON-NLS-1$ - ContextServiceHolder.get().postEvent(ElexisUiEventTopics.EVENT_PREVIEW_MIMETYPE_PDF, document); - } + } } } diff --git a/bundles/ch.elexis.omnivore.ui/src/ch/elexis/omnivore/ui/views/OmnivoreView.java b/bundles/ch.elexis.omnivore.ui/src/ch/elexis/omnivore/ui/views/OmnivoreView.java index d530c5578b..7c02c549f6 100644 --- a/bundles/ch.elexis.omnivore.ui/src/ch/elexis/omnivore/ui/views/OmnivoreView.java +++ b/bundles/ch.elexis.omnivore.ui/src/ch/elexis/omnivore/ui/views/OmnivoreView.java @@ -472,11 +472,7 @@ public void modifyText(ModifyEvent e) { viewer.addSelectionChangedListener(ev -> { IDocumentHandle docHandle = (IDocumentHandle) ev.getStructuredSelection().getFirstElement(); if (docHandle != null && !docHandle.isCategory()) { - if (StringUtils.containsIgnoreCase(docHandle.getMimeType(), "pdf")) { //$NON-NLS-1$ - eventBroker.post(ElexisUiEventTopics.EVENT_PREVIEW_MIMETYPE_PDF, docHandle); - } else if (StringUtils.containsIgnoreCase(docHandle.getMimeType(), "docx")) { //$NON-NLS-1$ - eventBroker.post(ElexisUiEventTopics.EVENT_PREVIEW_MIMETYPE_PDF, docHandle); - } + eventBroker.post(ElexisUiEventTopics.EVENT_PREVIEW_MIMETYPE_PDF, docHandle); } }); makeActions();