@Override public void exportData(ProjectExportRequest aRequest, ExportedProject aExProject, File aStage) throws IOException { File metaInfDir = new File(aStage + META_INF); FileUtils.forceMkdir(metaInfDir); File metaInf = projectService.getMetaInfFolder(aRequest.getProject()); if (metaInf.exists()) { FileUtils.copyDirectory(metaInf, metaInfDir); } }
ProjectExportRequest request = new ProjectExportRequest(project, aFormat.orElse(WebAnnoTsv3FormatSupport.ID), true); File exportedFile = exportService.exportProject(request);
@Override public void run() { File file; try { // We are in a new thread. Set up thread-specific MDC MDC.put(Logging.KEY_USERNAME, username); MDC.put(Logging.KEY_PROJECT_ID, String.valueOf(model.getProject().getId())); MDC.put(Logging.KEY_REPOSITORY_PATH, documentService.getDir().toString()); state = State.RUNNING; file = exportService.exportProject(model); fileName = file.getAbsolutePath(); projectName = model.getProject().getName(); state = State.COMPLETED; } catch (ClosedByInterruptException e) { cancel(); } catch (Throwable e) { LOG.error("Unexpected error during project export", e); model.addMessage(LogMessage.error(this, "Unexpected error during project export: %s", ExceptionUtils.getRootCauseMessage(e))); state = State.FAILED; // This marks the progression as complete and causes ProgressBar#onFinished // to be called where we display the messages model.progress = 100; } }
throws Exception Project project = aRequest.getProject(); if (FORMAT_AUTO.equals(aRequest.getFormat())) { format = new WebAnnoTsv3FormatSupport(); format = importExportService.getWritableFormatById(aRequest.getFormat()) .orElseGet(() -> { aRequest.addMessage(LogMessage.error(this, "No writer found for format " + "[%s] - exporting as WebAnno TSV instead.", aRequest.getFormat())); return new WebAnnoTsv3FormatSupport(); }); (aRequest.isIncludeInProgress() && SourceDocumentState.CURATION_IN_PROGRESS.equals(sourceDocument.getState())) || SourceDocumentState.CURATION_FINISHED.equals(sourceDocument.getState())
throws UIMAException, ClassNotFoundException, IOException Project project = aRequest.getProject(); if (FORMAT_AUTO.equals(aRequest.getFormat())) { format = new WebAnnoTsv3FormatSupport(); format = importExportService.getWritableFormatById(aRequest.getFormat()) .orElseGet(() -> { aRequest.addMessage(LogMessage.error(this,"[%s] No writer found for " + "format [%s] - exporting as WebAnno TSV instead.", sourceDocument.getName(), aRequest.getFormat())); return new WebAnnoTsv3FormatSupport(); });
ProjectExportException Project project = aModel.getProject(); if (FORMAT_AUTO.equals(aModel.getFormat())) { format = new WebAnnoTsv3FormatSupport(); format = importExportService.getWritableFormatById(aModel.getFormat()) .orElseGet(() -> {
private ArgumentCaptor<AnnotationLayer> runExportImportAndFetchEvents() throws Exception { // Export the project ProjectExportRequest exportRequest = new ProjectExportRequest(); exportRequest.setProject(project); ExportedProject exportedProject = new ExportedProject(); sut.exportData(exportRequest, exportedProject, workFolder); // Import the project again ArgumentCaptor<AnnotationLayer> captor = ArgumentCaptor.forClass(AnnotationLayer.class); doNothing().when(annotationService).createLayer(captor.capture()); ProjectImportRequest importRequest = new ProjectImportRequest(true); ZipFile zipFile = mock(ZipFile.class); sut.importData(importRequest, project, exportedProject, zipFile); return captor; } }
@Override public void onClick(final AjaxRequestTarget target) { enabled = false; ProjectExportForm.this.getModelObject().progress = 0; target.add(ProjectExportPanel.this.getPage()); fileGenerationProgress.start(target); Authentication authentication = SecurityContextHolder.getContext() .getAuthentication(); ProjectExportRequest request = ProjectExportForm.this.getModelObject(); request.setProject(ProjectExportPanel.this.getModelObject()); runnable = new FileGenerator(request, authentication.getName()); thread = new Thread(runnable); thread.start(); } });
throws Exception Project project = aRequest.getProject(); if (FORMAT_AUTO.equals(aRequest.getFormat())) { format = new WebAnnoTsv3FormatSupport(); format = importExportService.getWritableFormatById(aRequest.getFormat()) .orElseGet(() -> { aRequest.addMessage(LogMessage.error(this, "No writer found for format " + "[%s] - exporting as WebAnno TSV instead.", aRequest.getFormat())); return new WebAnnoTsv3FormatSupport(); }); (aRequest.isIncludeInProgress() && SourceDocumentState.CURATION_IN_PROGRESS.equals(sourceDocument.getState())) || SourceDocumentState.CURATION_FINISHED.equals(sourceDocument.getState())
throws UIMAException, ClassNotFoundException, IOException Project project = aRequest.getProject(); if (FORMAT_AUTO.equals(aRequest.getFormat())) { format = new WebAnnoTsv3FormatSupport(); format = importExportService.getWritableFormatById(aRequest.getFormat()) .orElseGet(() -> { aRequest.addMessage(LogMessage.error(this,"[%s] No writer found for " + "format [%s] - exporting as WebAnno TSV instead.", sourceDocument.getName(), aRequest.getFormat())); return new WebAnnoTsv3FormatSupport(); });
ProjectExportException Project project = aModel.getProject(); if (FORMAT_AUTO.equals(aModel.getFormat())) { format = new WebAnnoTsv3FormatSupport(); format = importExportService.getWritableFormatById(aModel.getFormat()) .orElseGet(() -> {
@Override public void onClick(final AjaxRequestTarget target) { enabled = false; ProjectExportForm.this.getModelObject().progress = 0; target.add(ProjectExportPanel.this.getPage()); fileGenerationProgress.start(target); Authentication authentication = SecurityContextHolder.getContext() .getAuthentication(); ProjectExportRequest request = ProjectExportForm.this.getModelObject(); request.setProject(ProjectExportPanel.this.getModelObject()); runnable = new FileGenerator(request, authentication.getName()); thread = new Thread(runnable); thread.start(); } });
@Override public void exportData(ProjectExportRequest aRequest, ExportedProject aExProject, File aStage) throws IOException { File metaInfDir = new File(aStage + META_INF); FileUtils.forceMkdir(metaInfDir); File metaInf = projectService.getMetaInfFolder(aRequest.getProject()); if (metaInf.exists()) { FileUtils.copyDirectory(metaInf, metaInfDir); } }
@Override public void run() { File file; try { // We are in a new thread. Set up thread-specific MDC MDC.put(Logging.KEY_USERNAME, username); MDC.put(Logging.KEY_PROJECT_ID, String.valueOf(model.getProject().getId())); MDC.put(Logging.KEY_REPOSITORY_PATH, documentService.getDir().toString()); state = State.RUNNING; file = exportService.exportProject(model); fileName = file.getAbsolutePath(); projectName = model.getProject().getName(); state = State.COMPLETED; } catch (ClosedByInterruptException e) { cancel(); } catch (Throwable e) { LOG.error("Unexpected error during project export", e); model.addMessage(LogMessage.error(this, "Unexpected error during project export: %s", ExceptionUtils.getRootCauseMessage(e))); state = State.FAILED; // This marks the progression as complete and causes ProgressBar#onFinished // to be called where we display the messages model.progress = 100; } }
ProjectExportRequest request = new ProjectExportRequest(project, aFormat.orElse(WebAnnoTsv3FormatSupport.ID), true); File exportedFile = exportService.exportProject(request);
@Override protected String load() { SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd_HHmm"); return ProjectExportForm.this.getModelObject().getProject().getName() + "_curated_documents_" + fmt.format(new Date()) + ".zip"; } }) {
throws IOException, ProjectExportException Project project = aRequest.getProject(); File trainDocumentDir = new File(aCopyDir + TRAIN_FOLDER); FileUtils.forceMkdir(trainDocumentDir); log.error("Source file [{}] related to project couldn't be located in repository", trainingDocument.getName(), ExceptionUtils.getRootCause(e)); aRequest.addMessage(LogMessage.error(this, "Source file [%s] related to project couldn't be located in repository", trainingDocument.getName()));
public ProjectExportForm(String id, IModel<Project> aProject) new ProjectExportRequest(ProjectExportRequest.FORMAT_AUTO, true)));
@Override protected String load() { SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd_HHmm"); return ProjectExportForm.this.getModelObject().getProject().getName() + "_curated_documents_" + fmt.format(new Date()) + ".zip"; } }) {
throws IOException, ProjectExportException Project project = aRequest.getProject(); File sourceDocumentDir = new File(aStage + SOURCE_FOLDER); FileUtils.forceMkdir(sourceDocumentDir); log.error("Source file [{}] related to project couldn't be located in repository", sourceDocument.getName(), ExceptionUtils.getRootCause(e)); aRequest.addMessage(LogMessage.error(this, "Source file [%s] related to project couldn't be located in repository", sourceDocument.getName()));