@Override public void analyzeAndRepair(SourceDocument aDocument, String aUsername, CAS aCas) { analyzeAndRepair(aDocument.getProject(), aDocument.getName(), aDocument.getId(), aUsername, aCas); }
private void uploadSourceDocument(ZipFile zip, ZipEntry entry, Project project, String aFileType) throws IOException, UIMAException { String fileName = FilenameUtils.getName(entry.toString()); InputStream zipStream = zip.getInputStream(entry); SourceDocument document = new SourceDocument(); document.setName(fileName); document.setProject(project); document.setFormat(aFileType); // Meta data entry to the database // Import source document to the project repository folder documentRepository.uploadSourceDocument(zipStream, document); } }
@Override protected void onConfigure() { super.onConfigure(); setEnabled(state.getDocument() != null && !documentService .getSourceDocument(state.getDocument().getProject(), state.getDocument().getName()) .getState().equals(SourceDocumentState.CURATION_FINISHED)); }
SourceDocument document = new SourceDocument(); document.setProject(project); document.setName(aName); document.setFormat(aFormat); case ANNOTATION_IN_PROGRESS: // fallthrough case ANNOTATION_FINISHED: // fallthrough document.setState(state); documentService.createSourceDocument(document); break; "State of document [" + document.getId() + "] set to [" + aState.get() + "]"); .buildAndExpand(project.getId(), document.getId()).toUri()) .body(rDocument);
/** * Returns the prediction used to generate the VID */ public Optional<AnnotationSuggestion> getPrediction(SourceDocument aDocument, int aBegin, int aEnd, String aLabel) { return predictions.values().stream() .filter(f -> f.getDocumentName().equals(aDocument.getName())) .filter(f -> f.getBegin() == aBegin && f.getEnd() == aEnd) .filter(f -> f.getLabel().equals(aLabel)) .max(Comparator.comparingInt(AnnotationSuggestion::getId)); }
@Override @Transactional public void createSourceDocument(SourceDocument aDocument) { Validate.notNull(aDocument, "Source document must be specified"); if (isNull(aDocument.getId())) { entityManager.persist(aDocument); } else { entityManager.merge(aDocument); } }
/** * Create s {@link SourceDocument} from the exported {@link SourceDocument} * * @param aImportedProjectSetting * the exported project. * @param aImportedProject * the project. * @throws IOException * if an I/O error occurs. */ private void importSourceDocuments(ExportedProject aImportedProjectSetting, Project aImportedProject) throws IOException { for (ExportedSourceDocument importedSourceDocument : aImportedProjectSetting .getSourceDocuments()) { SourceDocument sourceDocument = new SourceDocument(); sourceDocument.setFormat(importedSourceDocument.getFormat()); sourceDocument.setName(importedSourceDocument.getName()); sourceDocument.setState(importedSourceDocument.getState()); sourceDocument.setProject(aImportedProject); sourceDocument.setTimestamp(importedSourceDocument.getTimestamp()); sourceDocument.setSentenceAccessed(importedSourceDocument.getSentenceAccessed()); sourceDocument.setCreated(importedSourceDocument.getCreated()); sourceDocument.setUpdated(importedSourceDocument.getUpdated()); documentService.createSourceDocument(sourceDocument); } }
private void exportSourceDocuments(Project aProject, ExportedProject exProject) { List<ExportedSourceDocument> sourceDocuments = new ArrayList<>(); // add source documents to a project List<SourceDocument> documents = documentService.listSourceDocuments(aProject); for (SourceDocument sourceDocument : documents) { ExportedSourceDocument exDocument = new ExportedSourceDocument(); exDocument.setFormat(sourceDocument.getFormat()); exDocument.setName(sourceDocument.getName()); exDocument.setState(sourceDocument.getState()); exDocument.setTimestamp(sourceDocument.getTimestamp()); exDocument.setSentenceAccessed(sourceDocument.getSentenceAccessed()); exDocument.setCreated(sourceDocument.getCreated()); exDocument.setUpdated(sourceDocument.getUpdated()); sourceDocuments.add(exDocument); } exProject.setSourceDocuments(sourceDocuments); }
public static boolean isDocumentFinished(DocumentService aRepository, AnnotatorState aBratAnnotatorModel) { try { if (aBratAnnotatorModel.getMode().equals(Mode.CURATION)) { // Load document freshly from DB so we get the latest state. The document state // in the annotator state might be stale. SourceDocument doc = aRepository.getSourceDocument( aBratAnnotatorModel.getDocument().getProject().getId(), aBratAnnotatorModel.getDocument().getId()); return doc.getState().equals(SourceDocumentState.CURATION_FINISHED); } else { // if annotationDocument is finished, disable editing AnnotationDocument adoc = aRepository.getAnnotationDocument( aBratAnnotatorModel.getDocument(), aBratAnnotatorModel.getUser()); return adoc.getState().equals(AnnotationDocumentState.FINISHED); } } catch (Exception e) { return false; } }
/** * Create s {@link SourceDocument} from the exported {@link SourceDocument} */ public static void createSourceDocument( de.tudarmstadt.ukp.clarin.webanno.model.export.Project aImportedProjectSetting, Project aImportedProject, RepositoryService aRepository, Map<de.tudarmstadt.ukp.clarin.webanno.model.export.AnnotationFeature, AnnotationFeature> aFeatureMap) throws IOException { String username = SecurityContextHolder.getContext().getAuthentication().getName(); User user = aRepository.getUser(username); for (de.tudarmstadt.ukp.clarin.webanno.model.export.SourceDocument importedSourceDocument : aImportedProjectSetting .getSourceDocuments()) { SourceDocument sourceDocument = new SourceDocument(); sourceDocument.setFormat(importedSourceDocument.getFormat()); sourceDocument.setName(importedSourceDocument.getName()); sourceDocument.setState(importedSourceDocument.getState()); sourceDocument.setProject(aImportedProject); sourceDocument.setTimestamp(importedSourceDocument.getTimestamp()); if (aFeatureMap.size() > 0) { sourceDocument.setFeature(aFeatureMap.get(importedSourceDocument.getFeature())); } sourceDocument.setProcessed(false);// automation re-start in the new // project settings sourceDocument.setTrainingDocument(importedSourceDocument.isTrainingDocument()); sourceDocument.setSentenceAccessed(importedSourceDocument.getSentenceAccessed()); aRepository.createSourceDocument(sourceDocument, user); } }
private SourceDocument makeSourceDocument(long aProjectId, long aDocumentId) { Project project = new Project(); project.setId(aProjectId); SourceDocument doc = new SourceDocument(); doc.setProject(project); doc.setId(aDocumentId); return doc; } }
@Override public long getProject(DocumentStateChangedEvent aEvent) { return aEvent.getDocument().getProject().getId(); }
@Override public File getDocumentFolder(SourceDocument aDocument) throws IOException { Validate.notNull(aDocument, "Source document must be specified"); File sourceDocFolder = new File(repositoryProperties.getPath(), "/" + PROJECT_FOLDER + "/" + aDocument.getProject().getId() + "/" + DOCUMENT_FOLDER + "/" + aDocument.getId() + "/" + SOURCE_FOLDER); FileUtils.forceMkdir(sourceDocFolder); return sourceDocFolder; }
public DocumentStateChangedEvent(Object aSource, SourceDocument aDocument, SourceDocumentState aPreviousState) { super(aSource); document = aDocument; previousState = aPreviousState; newState = aDocument.getState(); }
private SourceDocument makeSourceDocument(long aProjectId, long aDocumentId, String aDocName) { Project project = new Project(); project.setId(aProjectId); SourceDocument doc = new SourceDocument(); doc.setProject(project); doc.setId(aDocumentId); doc.setName(aDocName); return doc; }
@Override @Transactional public SourceDocumentState setSourceDocumentState(SourceDocument aDocument, SourceDocumentState aState) { Validate.notNull(aDocument, "Source document must be specified"); Validate.notNull(aState, "State must be specified"); SourceDocumentState oldState = aDocument.getState(); aDocument.setState(aState); createSourceDocument(aDocument); // Notify about change in document state if (!Objects.equals(oldState, aDocument.getState())) { applicationEventPublisher .publishEvent(new DocumentStateChangedEvent(this, aDocument, oldState)); } return oldState; }
project.setId(1l); SourceDocument doc = new SourceDocument(); doc.setProject(project); doc.setId(2l); doc.setState(SourceDocumentState.ANNOTATION_IN_PROGRESS);
user3.setUsername("user3"); document = new SourceDocument();