From f95575a1ca5fdd8e97900dbfb78d6150215dc957 Mon Sep 17 00:00:00 2001 From: Richard Eckart de Castilho Date: Tue, 13 Jun 2023 12:08:40 +0200 Subject: [PATCH] #4066 - Display document name on export failure - Refactor error handling to be better able to capture a helpful error message that includes the document name --- .../webanno/api/DocumentImportExportService.java | 4 ++-- .../clarin/webanno/api/export/ProjectExporter.java | 3 ++- .../constraints/export/ConstraintsExporter.java | 3 ++- .../curation/export/CuratedDocumentsExporter.java | 12 ++++++++++-- .../curation/export/CurationWorkflowExporter.java | 1 - .../export/DocumentImportExportServiceImpl.java | 8 ++++---- .../export/exporters/ProjectSettingsExporter.java | 1 - .../guidelines/exporters/GuidelinesExporter.java | 4 +++- .../span/gazeteer/exporter/GazeteerExporter.java | 3 ++- .../imls/weblicht/exporter/ChainExporter.java | 3 ++- .../kb/exporter/KnowledgeBaseExporter.java | 2 +- .../log/exporter/LoggedEventExporter.java | 2 +- .../project/export/ProjectExportServiceImpl.java | 3 +++ .../export/task/ProjectExportTask_ImplBase.java | 14 +++++++++++++- .../exporters/ProjectPermissionsExporter.java | 1 - .../exporters/AnnotationDocumentExporter.java | 13 ++++++++++--- .../inception/schema/exporters/LayerExporter.java | 1 - .../inception/schema/exporters/TagSetExporter.java | 1 - .../project/exporters/ProjectInviteExporter.java | 1 - .../event/exporter/WorkloadManagerExporter.java | 1 - 20 files changed, 55 insertions(+), 26 deletions(-) diff --git a/inception/inception-api/src/main/java/de/tudarmstadt/ukp/clarin/webanno/api/DocumentImportExportService.java b/inception/inception-api/src/main/java/de/tudarmstadt/ukp/clarin/webanno/api/DocumentImportExportService.java index 1b5787348dd..e5405c31def 100644 --- a/inception/inception-api/src/main/java/de/tudarmstadt/ukp/clarin/webanno/api/DocumentImportExportService.java +++ b/inception/inception-api/src/main/java/de/tudarmstadt/ukp/clarin/webanno/api/DocumentImportExportService.java @@ -264,12 +264,12 @@ File exportAnnotationDocument(SourceDocument document, String user, FormatSuppor File exportAnnotationDocument(SourceDocument document, String user, FormatSupport aFormat, String fileName, Mode mode, boolean stripExtension, Map, Object> aBulkOperationContext) - throws UIMAException, IOException, ClassNotFoundException; + throws UIMAException, IOException; File exportAnnotationDocument(SourceDocument aDocument, String aUser, FormatSupport aFormat, Mode aMode, boolean aStripExtension, Map, Object> aBulkOperationContext) - throws UIMAException, IOException, ClassNotFoundException; + throws UIMAException, IOException; /** * @return a type system with all the types that should be present in an exported CAS. This diff --git a/inception/inception-api/src/main/java/de/tudarmstadt/ukp/clarin/webanno/api/export/ProjectExporter.java b/inception/inception-api/src/main/java/de/tudarmstadt/ukp/clarin/webanno/api/export/ProjectExporter.java index 48723e14d6d..a4baf41b260 100644 --- a/inception/inception-api/src/main/java/de/tudarmstadt/ukp/clarin/webanno/api/export/ProjectExporter.java +++ b/inception/inception-api/src/main/java/de/tudarmstadt/ukp/clarin/webanno/api/export/ProjectExporter.java @@ -18,6 +18,7 @@ package de.tudarmstadt.ukp.clarin.webanno.api.export; import java.io.File; +import java.io.IOException; import java.util.Collections; import java.util.List; import java.util.zip.ZipEntry; @@ -40,7 +41,7 @@ default List> getExportDependencies() void exportData(FullProjectExportRequest aRequest, ProjectExportTaskMonitor aMonitor, ExportedProject aExProject, File aStage) - throws Exception; + throws ProjectExportException, IOException, InterruptedException; void importData(ProjectImportRequest aRequest, Project aProject, ExportedProject aExProject, ZipFile aZip) diff --git a/inception/inception-constraints/src/main/java/de/tudarmstadt/ukp/clarin/webanno/constraints/export/ConstraintsExporter.java b/inception/inception-constraints/src/main/java/de/tudarmstadt/ukp/clarin/webanno/constraints/export/ConstraintsExporter.java index 5fc49f31591..2af71c60541 100644 --- a/inception/inception-constraints/src/main/java/de/tudarmstadt/ukp/clarin/webanno/constraints/export/ConstraintsExporter.java +++ b/inception/inception-constraints/src/main/java/de/tudarmstadt/ukp/clarin/webanno/constraints/export/ConstraintsExporter.java @@ -18,6 +18,7 @@ package de.tudarmstadt.ukp.clarin.webanno.constraints.export; import java.io.File; +import java.io.IOException; import java.util.Enumeration; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; @@ -52,7 +53,7 @@ public class ConstraintsExporter @Override public void exportData(FullProjectExportRequest aRequest, ProjectExportTaskMonitor aMonitor, ExportedProject aExProject, File aStage) - throws Exception + throws IOException { File constraintsDir = new File(aStage + CONSTRAINTS); FileUtils.forceMkdir(constraintsDir); diff --git a/inception/inception-curation/src/main/java/de/tudarmstadt/ukp/inception/curation/export/CuratedDocumentsExporter.java b/inception/inception-curation/src/main/java/de/tudarmstadt/ukp/inception/curation/export/CuratedDocumentsExporter.java index 3d8ed615ec3..e5d807b15e2 100644 --- a/inception/inception-curation/src/main/java/de/tudarmstadt/ukp/inception/curation/export/CuratedDocumentsExporter.java +++ b/inception/inception-curation/src/main/java/de/tudarmstadt/ukp/inception/curation/export/CuratedDocumentsExporter.java @@ -43,6 +43,7 @@ import org.apache.commons.io.FileUtils; import org.apache.commons.io.FilenameUtils; +import org.apache.commons.lang3.exception.ExceptionUtils; import org.apache.commons.lang3.tuple.Pair; import org.apache.uima.UIMAException; import org.slf4j.Logger; @@ -102,11 +103,13 @@ public List> getImportDependencies() * * @param aStage * The folder where curated documents are copied to be exported as Zip File + * @throws IOException + * @throws ProjectExportException */ @Override public void exportData(FullProjectExportRequest aRequest, ProjectExportTaskMonitor aMonitor, ExportedProject aExProject, File aStage) - throws Exception + throws IOException, ProjectExportException { Project project = aRequest.getProject(); @@ -166,7 +169,7 @@ public void exportData(FullProjectExportRequest aRequest, ProjectExportTaskMonit private void exportAdditionalFormat(Map, Object> bulkOperationContext, SourceDocument srcDoc, File curationDir, FormatSupport format) - throws ProjectExportException, IOException, ClassNotFoundException, UIMAException + throws ProjectExportException, IOException { File curationFile = null; try { @@ -175,6 +178,11 @@ private void exportAdditionalFormat(Map, Object> bulkOpera var filename = CURATION_USER + "." + getExtension(curationFile.getName()); FileUtils.copyFile(curationFile, new File(curationDir, filename)); } + catch (UIMAException | IOException e) { + throw new ProjectExportException("Error exporting annotations of " + srcDoc.getName() + + " for user [" + CURATION_USER + "] as [" + format.getName() + "]: " + + ExceptionUtils.getRootCauseMessage(e), e); + } finally { if (curationFile != null) { forceDelete(curationFile); diff --git a/inception/inception-curation/src/main/java/de/tudarmstadt/ukp/inception/curation/export/CurationWorkflowExporter.java b/inception/inception-curation/src/main/java/de/tudarmstadt/ukp/inception/curation/export/CurationWorkflowExporter.java index 3a1b04bf2bc..13461ad9c20 100644 --- a/inception/inception-curation/src/main/java/de/tudarmstadt/ukp/inception/curation/export/CurationWorkflowExporter.java +++ b/inception/inception-curation/src/main/java/de/tudarmstadt/ukp/inception/curation/export/CurationWorkflowExporter.java @@ -62,7 +62,6 @@ public CurationWorkflowExporter(CurationService aCurationService) @Override public void exportData(FullProjectExportRequest aRequest, ProjectExportTaskMonitor aMonitor, ExportedProject aExProject, File aStage) - throws Exception { Project project = aRequest.getProject(); diff --git a/inception/inception-export/src/main/java/de/tudarmstadt/ukp/inception/export/DocumentImportExportServiceImpl.java b/inception/inception-export/src/main/java/de/tudarmstadt/ukp/inception/export/DocumentImportExportServiceImpl.java index df59c506df5..531d4f86af7 100644 --- a/inception/inception-export/src/main/java/de/tudarmstadt/ukp/inception/export/DocumentImportExportServiceImpl.java +++ b/inception/inception-export/src/main/java/de/tudarmstadt/ukp/inception/export/DocumentImportExportServiceImpl.java @@ -210,7 +210,7 @@ public FormatSupport getFallbackFormat() @Transactional public File exportAnnotationDocument(SourceDocument aDocument, String aUser, FormatSupport aFormat, Mode aMode) - throws UIMAException, IOException, ClassNotFoundException + throws UIMAException, IOException { return exportAnnotationDocument(aDocument, aUser, aFormat, aDocument.getName(), aMode, true, null); @@ -220,7 +220,7 @@ public File exportAnnotationDocument(SourceDocument aDocument, String aUser, @Transactional public File exportAnnotationDocument(SourceDocument aDocument, String aUser, FormatSupport aFormat, String aFileName, Mode aMode) - throws UIMAException, IOException, ClassNotFoundException + throws UIMAException, IOException { return exportAnnotationDocument(aDocument, aUser, aFormat, aFileName, aMode, true, null); } @@ -230,7 +230,7 @@ public File exportAnnotationDocument(SourceDocument aDocument, String aUser, public File exportAnnotationDocument(SourceDocument aDocument, String aUser, FormatSupport aFormat, Mode aMode, boolean aStripExtension, Map, Object> aBulkOperationContext) - throws UIMAException, IOException, ClassNotFoundException + throws IOException, UIMAException { return exportAnnotationDocument(aDocument, aUser, aFormat, aDocument.getName(), aMode, aStripExtension, aBulkOperationContext); @@ -241,7 +241,7 @@ public File exportAnnotationDocument(SourceDocument aDocument, String aUser, public File exportAnnotationDocument(SourceDocument aDocument, String aUser, FormatSupport aFormat, String aFileName, Mode aMode, boolean aStripExtension, Map, Object> aBulkOperationContext) - throws UIMAException, IOException, ClassNotFoundException + throws IOException, UIMAException { try (var logCtx = withProjectLogger(aDocument.getProject())) { Map, Object> bulkOperationContext = aBulkOperationContext; diff --git a/inception/inception-export/src/main/java/de/tudarmstadt/ukp/inception/export/exporters/ProjectSettingsExporter.java b/inception/inception-export/src/main/java/de/tudarmstadt/ukp/inception/export/exporters/ProjectSettingsExporter.java index 41776ce7f37..1c44c6d235e 100644 --- a/inception/inception-export/src/main/java/de/tudarmstadt/ukp/inception/export/exporters/ProjectSettingsExporter.java +++ b/inception/inception-export/src/main/java/de/tudarmstadt/ukp/inception/export/exporters/ProjectSettingsExporter.java @@ -50,7 +50,6 @@ public ProjectSettingsExporter(ProjectService aProjectService) @Override public void exportData(FullProjectExportRequest aRequest, ProjectExportTaskMonitor aMonitor, ExportedProject aExProject, File aStage) - throws Exception { Project project = aRequest.getProject(); aExProject.setDescription(project.getDescription()); diff --git a/inception/inception-guidelines/src/main/java/de/tudarmstadt/ukp/inception/guidelines/exporters/GuidelinesExporter.java b/inception/inception-guidelines/src/main/java/de/tudarmstadt/ukp/inception/guidelines/exporters/GuidelinesExporter.java index 13fa5680b58..f7edf840a23 100644 --- a/inception/inception-guidelines/src/main/java/de/tudarmstadt/ukp/inception/guidelines/exporters/GuidelinesExporter.java +++ b/inception/inception-guidelines/src/main/java/de/tudarmstadt/ukp/inception/guidelines/exporters/GuidelinesExporter.java @@ -64,11 +64,13 @@ public GuidelinesExporter(GuidelinesService aGuidelinesService) /** * Copy Project guidelines from the file system of this project to the export folder + * + * @throws IOException */ @Override public void exportData(FullProjectExportRequest aRequest, ProjectExportTaskMonitor aMonitor, ExportedProject aExProject, File aStage) - throws Exception + throws IOException { File guidelineDir = new File(aStage + GUIDELINES_FOLDER); FileUtils.forceMkdir(guidelineDir); diff --git a/inception/inception-imls-stringmatch/src/main/java/de/tudarmstadt/ukp/inception/recommendation/imls/stringmatch/span/gazeteer/exporter/GazeteerExporter.java b/inception/inception-imls-stringmatch/src/main/java/de/tudarmstadt/ukp/inception/recommendation/imls/stringmatch/span/gazeteer/exporter/GazeteerExporter.java index ea6acbc3c2a..c06efa08d09 100644 --- a/inception/inception-imls-stringmatch/src/main/java/de/tudarmstadt/ukp/inception/recommendation/imls/stringmatch/span/gazeteer/exporter/GazeteerExporter.java +++ b/inception/inception-imls-stringmatch/src/main/java/de/tudarmstadt/ukp/inception/recommendation/imls/stringmatch/span/gazeteer/exporter/GazeteerExporter.java @@ -24,6 +24,7 @@ import static java.util.Arrays.asList; import java.io.File; +import java.io.IOException; import java.io.InputStream; import java.nio.file.Files; import java.util.ArrayList; @@ -83,7 +84,7 @@ public List> getImportDependencies() @Override public void exportData(FullProjectExportRequest aRequest, ProjectExportTaskMonitor aMonitor, ExportedProject aExProject, File aStage) - throws Exception + throws IOException { Project project = aRequest.getProject(); diff --git a/inception/inception-imls-weblicht/src/main/java/de/tudarmstadt/ukp/inception/recommendation/imls/weblicht/exporter/ChainExporter.java b/inception/inception-imls-weblicht/src/main/java/de/tudarmstadt/ukp/inception/recommendation/imls/weblicht/exporter/ChainExporter.java index 6a12e6fb39e..64bb8021ecd 100644 --- a/inception/inception-imls-weblicht/src/main/java/de/tudarmstadt/ukp/inception/recommendation/imls/weblicht/exporter/ChainExporter.java +++ b/inception/inception-imls-weblicht/src/main/java/de/tudarmstadt/ukp/inception/recommendation/imls/weblicht/exporter/ChainExporter.java @@ -24,6 +24,7 @@ import static java.util.Arrays.asList; import java.io.File; +import java.io.IOException; import java.io.InputStream; import java.nio.file.Files; import java.util.ArrayList; @@ -84,7 +85,7 @@ public List> getImportDependencies() @Override public void exportData(FullProjectExportRequest aRequest, ProjectExportTaskMonitor aMonitor, ExportedProject aExProject, File aStage) - throws Exception + throws IOException { Project project = aRequest.getProject(); diff --git a/inception/inception-kb/src/main/java/de/tudarmstadt/ukp/inception/kb/exporter/KnowledgeBaseExporter.java b/inception/inception-kb/src/main/java/de/tudarmstadt/ukp/inception/kb/exporter/KnowledgeBaseExporter.java index 7492ad8a97c..ba23f2ec61f 100644 --- a/inception/inception-kb/src/main/java/de/tudarmstadt/ukp/inception/kb/exporter/KnowledgeBaseExporter.java +++ b/inception/inception-kb/src/main/java/de/tudarmstadt/ukp/inception/kb/exporter/KnowledgeBaseExporter.java @@ -101,7 +101,7 @@ public List> getImportDependencies() @Override public void exportData(FullProjectExportRequest aRequest, ProjectExportTaskMonitor aMonitor, ExportedProject aExProject, File aFile) - throws Exception + throws InterruptedException, IOException { Project project = aRequest.getProject(); List exportedKnowledgeBases = new ArrayList<>(); diff --git a/inception/inception-log/src/main/java/de/tudarmstadt/ukp/inception/log/exporter/LoggedEventExporter.java b/inception/inception-log/src/main/java/de/tudarmstadt/ukp/inception/log/exporter/LoggedEventExporter.java index 9052d939265..cfd322402f5 100644 --- a/inception/inception-log/src/main/java/de/tudarmstadt/ukp/inception/log/exporter/LoggedEventExporter.java +++ b/inception/inception-log/src/main/java/de/tudarmstadt/ukp/inception/log/exporter/LoggedEventExporter.java @@ -90,7 +90,7 @@ public List> getImportDependencies() @Override public void exportData(FullProjectExportRequest aRequest, ProjectExportTaskMonitor aMonitor, ExportedProject aExProject, File aFile) - throws Exception + throws IOException { Project project = aRequest.getProject(); diff --git a/inception/inception-project-export/src/main/java/de/tudarmstadt/ukp/inception/project/export/ProjectExportServiceImpl.java b/inception/inception-project-export/src/main/java/de/tudarmstadt/ukp/inception/project/export/ProjectExportServiceImpl.java index 8080c25f41a..bdbbbbc3479 100644 --- a/inception/inception-project-export/src/main/java/de/tudarmstadt/ukp/inception/project/export/ProjectExportServiceImpl.java +++ b/inception/inception-project-export/src/main/java/de/tudarmstadt/ukp/inception/project/export/ProjectExportServiceImpl.java @@ -268,6 +268,9 @@ private ExportedProject exportProjectToPath(FullProjectExportRequest aRequest, } } } + catch (ProjectExportException e) { + throw e; + } catch (InterruptedException | IOException e) { // IOExceptions like java.nio.channels.ClosedByInterruptException should be thrown up // as-is. This allows us to handle export cancellation in the project export UI panel diff --git a/inception/inception-project-export/src/main/java/de/tudarmstadt/ukp/inception/project/export/task/ProjectExportTask_ImplBase.java b/inception/inception-project-export/src/main/java/de/tudarmstadt/ukp/inception/project/export/task/ProjectExportTask_ImplBase.java index 884784d1f35..3b8842e5950 100644 --- a/inception/inception-project-export/src/main/java/de/tudarmstadt/ukp/inception/project/export/task/ProjectExportTask_ImplBase.java +++ b/inception/inception-project-export/src/main/java/de/tudarmstadt/ukp/inception/project/export/task/ProjectExportTask_ImplBase.java @@ -41,6 +41,7 @@ import org.springframework.messaging.simp.SimpMessagingTemplate; import de.tudarmstadt.ukp.clarin.webanno.api.config.RepositoryProperties; +import de.tudarmstadt.ukp.clarin.webanno.api.export.ProjectExportException; import de.tudarmstadt.ukp.clarin.webanno.api.export.ProjectExportRequest_ImplBase; import de.tudarmstadt.ukp.clarin.webanno.api.export.ProjectExportTaskHandle; import de.tudarmstadt.ukp.clarin.webanno.api.export.ProjectExportTaskMonitor; @@ -108,10 +109,21 @@ public void run() catch (ClosedByInterruptException | InterruptedException e) { monitor.setStateAndProgress(CANCELLED, 100); } + catch (ProjectExportException e) { + // This marks the progression as complete and causes ProgressBar#onFinished + // to be called where we display the messages + // Message needs to be added before setting the state, otherwise the notification for + // the + // message may be throttled and it may never be displayed + monitor.addMessage(LogMessage.error(this, "Project export failed: %s", e.getMessage())); + monitor.setStateAndProgress(FAILED, 100); + log.error("Error during project export", e); + } catch (Throwable e) { // This marks the progression as complete and causes ProgressBar#onFinished // to be called where we display the messages - // Message needs to be aded before setting the state, otherwise the notification for the + // Message needs to be added before setting the state, otherwise the notification for + // the // message may be throttled and it may never be displayed monitor.addMessage(LogMessage.error(this, "Unexpected error during project export: %s", getRootCauseMessage(e))); diff --git a/inception/inception-project/src/main/java/de/tudarmstadt/ukp/clarin/webanno/project/exporters/ProjectPermissionsExporter.java b/inception/inception-project/src/main/java/de/tudarmstadt/ukp/clarin/webanno/project/exporters/ProjectPermissionsExporter.java index c823079d96c..7bbe1941aba 100644 --- a/inception/inception-project/src/main/java/de/tudarmstadt/ukp/clarin/webanno/project/exporters/ProjectPermissionsExporter.java +++ b/inception/inception-project/src/main/java/de/tudarmstadt/ukp/clarin/webanno/project/exporters/ProjectPermissionsExporter.java @@ -78,7 +78,6 @@ public ProjectPermissionsExporter(ProjectService aProjectService, UserDao aUserS @Override public void exportData(FullProjectExportRequest aRequest, ProjectExportTaskMonitor aMonitor, ExportedProject aExProject, File aStage) - throws Exception { Project project = aRequest.getProject(); diff --git a/inception/inception-schema/src/main/java/de/tudarmstadt/ukp/inception/schema/exporters/AnnotationDocumentExporter.java b/inception/inception-schema/src/main/java/de/tudarmstadt/ukp/inception/schema/exporters/AnnotationDocumentExporter.java index 7e07bd93410..ccf5ba71f13 100644 --- a/inception/inception-schema/src/main/java/de/tudarmstadt/ukp/inception/schema/exporters/AnnotationDocumentExporter.java +++ b/inception/inception-schema/src/main/java/de/tudarmstadt/ukp/inception/schema/exporters/AnnotationDocumentExporter.java @@ -57,6 +57,7 @@ import org.apache.commons.io.FileUtils; import org.apache.commons.io.FilenameUtils; +import org.apache.commons.lang3.exception.ExceptionUtils; import org.apache.commons.lang3.time.DurationFormatUtils; import org.apache.commons.lang3.tuple.Pair; import org.apache.uima.UIMAException; @@ -71,6 +72,7 @@ import de.tudarmstadt.ukp.clarin.webanno.api.DocumentService; import de.tudarmstadt.ukp.clarin.webanno.api.config.RepositoryProperties; import de.tudarmstadt.ukp.clarin.webanno.api.export.FullProjectExportRequest; +import de.tudarmstadt.ukp.clarin.webanno.api.export.ProjectExportException; import de.tudarmstadt.ukp.clarin.webanno.api.export.ProjectExportTaskMonitor; import de.tudarmstadt.ukp.clarin.webanno.api.export.ProjectExporter; import de.tudarmstadt.ukp.clarin.webanno.api.export.ProjectImportRequest; @@ -134,7 +136,7 @@ public List> getImportDependencies() @Override public void exportData(FullProjectExportRequest aRequest, ProjectExportTaskMonitor aMonitor, ExportedProject aExProject, File aStage) - throws UIMAException, ClassNotFoundException, IOException, InterruptedException + throws IOException, InterruptedException, ProjectExportException { exportAnnotationDocuments(aMonitor, aRequest.getProject(), aExProject); exportAnnotationDocumentContents(aRequest, aMonitor, aExProject, aStage); @@ -165,7 +167,7 @@ private void exportAnnotationDocuments(ProjectExportTaskMonitor aMonitor, Projec private void exportAnnotationDocumentContents(FullProjectExportRequest aRequest, ProjectExportTaskMonitor aMonitor, ExportedProject aExProject, File aStage) - throws UIMAException, ClassNotFoundException, IOException, InterruptedException + throws IOException, InterruptedException, ProjectExportException { Project project = aRequest.getProject(); @@ -292,7 +294,7 @@ private void exportSerializedCas(File aStage, SourceDocument srcDoc, AnnotationD private void exportAdditionalFormat(File aStage, Map, Object> bulkOperationContext, SourceDocument srcDoc, FormatSupport format, String aUsername) - throws UIMAException, IOException, ClassNotFoundException + throws IOException, ProjectExportException { File annDocDir = new File( aStage.getAbsolutePath() + ANNOTATION_ORIGINAL_FOLDER + srcDoc.getName()); @@ -312,6 +314,11 @@ private void exportAdditionalFormat(File aStage, copyFileToDirectory(annFile, annDocDir); } } + catch (UIMAException e) { + throw new ProjectExportException("Error exporting annotations of " + srcDoc.getName() + + " for user [" + aUsername + "] as [" + format.getName() + "]: " + + ExceptionUtils.getRootCauseMessage(e), e); + } finally { if (annFile != null) { forceDelete(annFile); diff --git a/inception/inception-schema/src/main/java/de/tudarmstadt/ukp/inception/schema/exporters/LayerExporter.java b/inception/inception-schema/src/main/java/de/tudarmstadt/ukp/inception/schema/exporters/LayerExporter.java index 44e77043373..e33d9a3304e 100644 --- a/inception/inception-schema/src/main/java/de/tudarmstadt/ukp/inception/schema/exporters/LayerExporter.java +++ b/inception/inception-schema/src/main/java/de/tudarmstadt/ukp/inception/schema/exporters/LayerExporter.java @@ -88,7 +88,6 @@ public List> getImportDependencies() @Override public void exportData(FullProjectExportRequest aRequest, ProjectExportTaskMonitor aMonitor, ExportedProject aExProject, File aStage) - throws Exception { List exLayers = new ArrayList<>(); diff --git a/inception/inception-schema/src/main/java/de/tudarmstadt/ukp/inception/schema/exporters/TagSetExporter.java b/inception/inception-schema/src/main/java/de/tudarmstadt/ukp/inception/schema/exporters/TagSetExporter.java index f6d27b0ee8f..765c040b755 100644 --- a/inception/inception-schema/src/main/java/de/tudarmstadt/ukp/inception/schema/exporters/TagSetExporter.java +++ b/inception/inception-schema/src/main/java/de/tudarmstadt/ukp/inception/schema/exporters/TagSetExporter.java @@ -63,7 +63,6 @@ public TagSetExporter(AnnotationSchemaService aAnnotationService) @Override public void exportData(FullProjectExportRequest aRequest, ProjectExportTaskMonitor aMonitor, ExportedProject aExProject, File aStage) - throws Exception { List extTagSets = new ArrayList<>(); for (TagSet tagSet : annotationService.listTagSets(aRequest.getProject())) { diff --git a/inception/inception-sharing/src/main/java/de/tudarmstadt/ukp/inception/sharing/project/exporters/ProjectInviteExporter.java b/inception/inception-sharing/src/main/java/de/tudarmstadt/ukp/inception/sharing/project/exporters/ProjectInviteExporter.java index 7661f6f3523..15e65522cac 100644 --- a/inception/inception-sharing/src/main/java/de/tudarmstadt/ukp/inception/sharing/project/exporters/ProjectInviteExporter.java +++ b/inception/inception-sharing/src/main/java/de/tudarmstadt/ukp/inception/sharing/project/exporters/ProjectInviteExporter.java @@ -59,7 +59,6 @@ public ProjectInviteExporter(InviteService aInviteService) @Override public void exportData(FullProjectExportRequest aRequest, ProjectExportTaskMonitor aMonitor, ExportedProject aExProject, File aStage) - throws Exception { Project project = aRequest.getProject(); diff --git a/inception/inception-workload/src/main/java/de/tudarmstadt/ukp/inception/workload/event/exporter/WorkloadManagerExporter.java b/inception/inception-workload/src/main/java/de/tudarmstadt/ukp/inception/workload/event/exporter/WorkloadManagerExporter.java index feba49a8f6d..843af2f695f 100644 --- a/inception/inception-workload/src/main/java/de/tudarmstadt/ukp/inception/workload/event/exporter/WorkloadManagerExporter.java +++ b/inception/inception-workload/src/main/java/de/tudarmstadt/ukp/inception/workload/event/exporter/WorkloadManagerExporter.java @@ -58,7 +58,6 @@ public WorkloadManagerExporter(WorkloadManagementService aWorkloadManagementServ @Override public void exportData(FullProjectExportRequest aRequest, ProjectExportTaskMonitor aMonitor, ExportedProject aExProject, File aFile) - throws Exception { Project project = aRequest.getProject(); WorkloadManager workloadManager = workloadManagementService