Skip to content

Commit

Permalink
#3855 - Editor views only need a SourceDocument
Browse files Browse the repository at this point in the history
- Replace AnnotationDocument with SourceDocument
  • Loading branch information
reckart committed Mar 8, 2023
1 parent 25ce352 commit 3ef3925
Show file tree
Hide file tree
Showing 19 changed files with 68 additions and 87 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@
*/
package de.tudarmstadt.ukp.inception.editor.view;

import de.tudarmstadt.ukp.clarin.webanno.model.AnnotationDocument;
import de.tudarmstadt.ukp.clarin.webanno.model.SourceDocument;
import de.tudarmstadt.ukp.clarin.webanno.support.extensionpoint.ExtensionPoint;

public interface DocumentViewExtensionPoint
extends ExtensionPoint<AnnotationDocument, DocumentViewFactory>
extends ExtensionPoint<SourceDocument, DocumentViewFactory>
{

}
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,11 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;

import de.tudarmstadt.ukp.clarin.webanno.model.AnnotationDocument;
import de.tudarmstadt.ukp.clarin.webanno.model.SourceDocument;
import de.tudarmstadt.ukp.clarin.webanno.support.extensionpoint.ExtensionPoint_ImplBase;

public class DocumentViewExtensionPointImpl
extends ExtensionPoint_ImplBase<AnnotationDocument, DocumentViewFactory>
extends ExtensionPoint_ImplBase<SourceDocument, DocumentViewFactory>
implements DocumentViewExtensionPoint
{

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,11 @@
import org.apache.wicket.Component;
import org.apache.wicket.model.IModel;

import de.tudarmstadt.ukp.clarin.webanno.model.AnnotationDocument;
import de.tudarmstadt.ukp.clarin.webanno.model.SourceDocument;
import de.tudarmstadt.ukp.clarin.webanno.support.extensionpoint.Extension;

public interface DocumentViewFactory
extends Extension<AnnotationDocument>
extends Extension<SourceDocument>
{
Component createView(String aId, IModel<AnnotationDocument> aDocument, String aEditorFactoryId);
Component createView(String aId, IModel<SourceDocument> aDocument, String aEditorFactoryId);
}
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@

import de.tudarmstadt.ukp.clarin.webanno.api.CasProvider;
import de.tudarmstadt.ukp.clarin.webanno.api.DocumentService;
import de.tudarmstadt.ukp.clarin.webanno.model.AnnotationDocument;
import de.tudarmstadt.ukp.inception.editor.AnnotationEditorRegistry;
import de.tudarmstadt.ukp.inception.editor.action.AnnotationActionHandler;
import de.tudarmstadt.ukp.inception.editor.view.DocumentViewExtensionPoint;
Expand Down Expand Up @@ -77,11 +76,8 @@ protected Component makeView()

AnnotatorState state = getModelObject();

AnnotationDocument annDoc = documentService.getAnnotationDocument(state.getDocument(),
state.getUser());

return documentViewExtensionPoint.getExtension(getDescription().getView()) //
.map(ext -> ext.createView(CID_VIS, Model.of(annDoc), editorFactoryId)) //
.map(ext -> ext.createView(CID_VIS, Model.of(state.getDocument()), editorFactoryId)) //
.orElseGet(() -> new Label(CID_VIS,
"Unsupported view: [" + getDescription().getView() + "]"));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
import org.apache.wicket.spring.injection.annot.SpringBean;

import de.tudarmstadt.ukp.clarin.webanno.api.DocumentService;
import de.tudarmstadt.ukp.clarin.webanno.model.AnnotationDocument;
import de.tudarmstadt.ukp.clarin.webanno.model.SourceDocument;

public class XHtmlXmlDocumentIFrameView
extends WebMarkupContainer
Expand All @@ -35,9 +35,9 @@ public class XHtmlXmlDocumentIFrameView

private final String editorFactoryId;

private IModel<AnnotationDocument> document;
private IModel<SourceDocument> document;

public XHtmlXmlDocumentIFrameView(String aId, IModel<AnnotationDocument> aDoc,
public XHtmlXmlDocumentIFrameView(String aId, IModel<SourceDocument> aDoc,
String aEditorFactoryId)
{
super(aId);
Expand All @@ -50,8 +50,8 @@ public XHtmlXmlDocumentIFrameView(String aId, IModel<AnnotationDocument> aDoc,
protected void onComponentTag(ComponentTag aTag)
{
aTag.setName("iframe");
aTag.put("src", viewController.getDocumentUrl(document.getObject().getDocument())
+ "?editor=" + editorFactoryId);
aTag.put("src",
viewController.getDocumentUrl(document.getObject()) + "?editor=" + editorFactoryId);
super.onComponentTag(aTag);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
import org.apache.wicket.Component;
import org.apache.wicket.model.IModel;

import de.tudarmstadt.ukp.clarin.webanno.model.AnnotationDocument;
import de.tudarmstadt.ukp.clarin.webanno.model.SourceDocument;
import de.tudarmstadt.ukp.inception.editor.view.DocumentViewFactory;
import de.tudarmstadt.ukp.inception.externaleditor.config.ExternalEditorAutoConfiguration;

Expand All @@ -42,14 +42,13 @@ public String getId()
}

@Override
public boolean accepts(AnnotationDocument aContext)
public boolean accepts(SourceDocument aContext)
{
return false;
}

@Override
public Component createView(String aId, IModel<AnnotationDocument> aDoc,
String aEditorFactoryId)
public Component createView(String aId, IModel<SourceDocument> aDoc, String aEditorFactoryId)
{
return new XHtmlXmlDocumentIFrameView(aId, aDoc, aEditorFactoryId);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
import org.apache.wicket.spring.injection.annot.SpringBean;

import de.tudarmstadt.ukp.clarin.webanno.api.DocumentService;
import de.tudarmstadt.ukp.clarin.webanno.model.AnnotationDocument;
import de.tudarmstadt.ukp.clarin.webanno.model.SourceDocument;

public class XmlDocumentIFrameView
extends WebMarkupContainer
Expand All @@ -35,10 +35,9 @@ public class XmlDocumentIFrameView

private final String editorFactoryId;

private IModel<AnnotationDocument> document;
private IModel<SourceDocument> document;

public XmlDocumentIFrameView(String aId, IModel<AnnotationDocument> aDoc,
String aEditorFactoryId)
public XmlDocumentIFrameView(String aId, IModel<SourceDocument> aDoc, String aEditorFactoryId)
{
super(aId);

Expand All @@ -50,8 +49,8 @@ public XmlDocumentIFrameView(String aId, IModel<AnnotationDocument> aDoc,
protected void onComponentTag(ComponentTag aTag)
{
aTag.setName("iframe");
aTag.put("src", viewConteoller.getDocumentUrl(document.getObject().getDocument())
+ "?editor=" + editorFactoryId);
aTag.put("src",
viewConteoller.getDocumentUrl(document.getObject()) + "?editor=" + editorFactoryId);
super.onComponentTag(aTag);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
import org.apache.wicket.Component;
import org.apache.wicket.model.IModel;

import de.tudarmstadt.ukp.clarin.webanno.model.AnnotationDocument;
import de.tudarmstadt.ukp.clarin.webanno.model.SourceDocument;
import de.tudarmstadt.ukp.inception.editor.view.DocumentViewFactory;
import de.tudarmstadt.ukp.inception.externaleditor.config.ExternalEditorAutoConfiguration;

Expand All @@ -42,14 +42,13 @@ public String getId()
}

@Override
public boolean accepts(AnnotationDocument aContext)
public boolean accepts(SourceDocument aContext)
{
return false;
}

@Override
public Component createView(String aId, IModel<AnnotationDocument> aDoc,
String aEditorFactoryId)
public Component createView(String aId, IModel<SourceDocument> aDoc, String aEditorFactoryId)
{
return new XmlDocumentIFrameView(aId, aDoc, aEditorFactoryId);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@

import de.tudarmstadt.ukp.clarin.webanno.api.CasProvider;
import de.tudarmstadt.ukp.clarin.webanno.api.DocumentService;
import de.tudarmstadt.ukp.clarin.webanno.model.AnnotationDocument;
import de.tudarmstadt.ukp.inception.editor.AnnotationEditorFactory;
import de.tudarmstadt.ukp.inception.editor.action.AnnotationActionHandler;
import de.tudarmstadt.ukp.inception.editor.view.DocumentViewFactory;
Expand Down Expand Up @@ -60,10 +59,8 @@ protected Component makeView()
{
AnnotatorState state = getModelObject();

AnnotationDocument annDoc = documentService.getAnnotationDocument(state.getDocument(),
state.getUser());

return viewFactory.createView(CID_VIS, Model.of(annDoc), editorFactory.getBeanName());
return viewFactory.createView(CID_VIS, Model.of(state.getDocument()),
editorFactory.getBeanName());
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
import org.apache.wicket.spring.injection.annot.SpringBean;

import de.tudarmstadt.ukp.clarin.webanno.api.DocumentService;
import de.tudarmstadt.ukp.clarin.webanno.model.AnnotationDocument;
import de.tudarmstadt.ukp.clarin.webanno.model.SourceDocument;
import de.tudarmstadt.ukp.inception.externaleditor.xhtml.XHtmlXmlDocumentIFrameView;

/**
Expand All @@ -38,9 +38,9 @@ public class HtmlDocumentIFrameView
private @SpringBean DocumentService documentService;
private @SpringBean HtmlDocumentViewController htmlDocumentViewController;

private IModel<AnnotationDocument> document;
private IModel<SourceDocument> document;

public HtmlDocumentIFrameView(String aId, IModel<AnnotationDocument> aDoc)
public HtmlDocumentIFrameView(String aId, IModel<SourceDocument> aDoc)
{
super(aId);

Expand All @@ -51,8 +51,7 @@ public HtmlDocumentIFrameView(String aId, IModel<AnnotationDocument> aDoc)
protected void onComponentTag(ComponentTag aTag)
{
aTag.setName("iframe");
aTag.put("src",
htmlDocumentViewController.getDocumentUrl(document.getObject().getDocument()));
aTag.put("src", htmlDocumentViewController.getDocumentUrl(document.getObject()));
super.onComponentTag(aTag);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
import org.apache.wicket.Component;
import org.apache.wicket.model.IModel;

import de.tudarmstadt.ukp.clarin.webanno.model.AnnotationDocument;
import de.tudarmstadt.ukp.clarin.webanno.model.SourceDocument;
import de.tudarmstadt.ukp.inception.editor.view.DocumentViewFactory;
import de.tudarmstadt.ukp.inception.externaleditor.xhtml.XHtmlXmlDocumentIFrameViewFactory;
import de.tudarmstadt.ukp.inception.htmleditor.config.HtmlAnnotationEditorSupportAutoConfiguration;
Expand All @@ -47,14 +47,13 @@ public String getId()
}

@Override
public boolean accepts(AnnotationDocument aContext)
public boolean accepts(SourceDocument aContext)
{
return HtmlFormatSupport.ID.equals(aContext.getDocument().getFormat());
return HtmlFormatSupport.ID.equals(aContext.getFormat());
}

@Override
public Component createView(String aId, IModel<AnnotationDocument> aDoc,
String aEditorFactoryId)
public Component createView(String aId, IModel<SourceDocument> aDoc, String aEditorFactoryId)
{
return new HtmlDocumentIFrameView(aId, aDoc);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@

import de.tudarmstadt.ukp.clarin.webanno.api.CasProvider;
import de.tudarmstadt.ukp.clarin.webanno.api.DocumentService;
import de.tudarmstadt.ukp.clarin.webanno.model.AnnotationDocument;
import de.tudarmstadt.ukp.inception.editor.AnnotationEditorFactory;
import de.tudarmstadt.ukp.inception.editor.action.AnnotationActionHandler;
import de.tudarmstadt.ukp.inception.editor.view.DocumentViewFactory;
Expand Down Expand Up @@ -60,10 +59,8 @@ protected Component makeView()
{
AnnotatorState state = getModelObject();

AnnotationDocument annDoc = documentService.getAnnotationDocument(state.getDocument(),
state.getUser());

return viewFactory.createView(CID_VIS, Model.of(annDoc), editorFactory.getBeanName());
return viewFactory.createView(CID_VIS, Model.of(state.getDocument()),
editorFactory.getBeanName());
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@
*/
package de.tudarmstadt.ukp.clarin.webanno.model;

import static de.tudarmstadt.ukp.clarin.webanno.support.WebAnnoConst.CURATION_USER;
import static de.tudarmstadt.ukp.clarin.webanno.support.WebAnnoConst.INITIAL_CAS_PSEUDO_USER;

import java.io.Serializable;
import java.util.Date;
import java.util.Objects;
Expand All @@ -36,6 +39,7 @@
import javax.persistence.TemporalType;
import javax.persistence.UniqueConstraint;

import org.apache.commons.lang3.Validate;
import org.hibernate.annotations.Type;

/**
Expand Down Expand Up @@ -123,7 +127,7 @@ public AnnotationDocument()

public AnnotationDocument(String aUser, SourceDocument aDocument)
{
user = aUser;
setUser(aUser);
document = aDocument;
name = aDocument.getName();
project = aDocument.getProject();
Expand Down Expand Up @@ -176,6 +180,9 @@ public String getUser()

public void setUser(String aUser)
{
Validate.isTrue(!CURATION_USER.equals(aUser));
Validate.isTrue(!INITIAL_CAS_PSEUDO_USER.equals(aUser));

user = aUser;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,6 @@

import de.tudarmstadt.ukp.clarin.webanno.api.CasProvider;
import de.tudarmstadt.ukp.clarin.webanno.api.DocumentService;
import de.tudarmstadt.ukp.clarin.webanno.model.AnnotationDocument;
import de.tudarmstadt.ukp.inception.editor.AnnotationEditorExtensionRegistry;
import de.tudarmstadt.ukp.inception.editor.action.AnnotationActionHandler;
import de.tudarmstadt.ukp.inception.editor.view.DocumentViewFactory;
Expand Down Expand Up @@ -118,9 +117,7 @@ protected Component makeView()
return new WrongFileFormatPanel(VIS, format);
}

AnnotationDocument annDoc = documentService.getAnnotationDocument(state.getDocument(),
state.getUser());
view = (PdfDocumentIFrameView) viewFactory.createView(VIS, Model.of(annDoc),
view = (PdfDocumentIFrameView) viewFactory.createView(VIS, Model.of(state.getDocument()),
viewFactory.getId());
return view;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,6 @@
import org.xml.sax.SAXException;

import de.tudarmstadt.ukp.clarin.webanno.api.DocumentService;
import de.tudarmstadt.ukp.clarin.webanno.model.AnnotationDocument;
import de.tudarmstadt.ukp.clarin.webanno.model.SourceDocument;
import de.tudarmstadt.ukp.inception.pdfeditor.PdfAnnotationEditor;
import de.tudarmstadt.ukp.inception.pdfeditor.pdfanno.model.PdfExtractFile;
Expand All @@ -72,8 +71,7 @@ public class PdfDocumentIFrameView

private PdfExtractFile pdfExtractFile;

public PdfDocumentIFrameView(String aId, IModel<AnnotationDocument> aDoc,
String aEditorFactoryId)
public PdfDocumentIFrameView(String aId, IModel<SourceDocument> aDoc, String aEditorFactoryId)
{
super(aId, aDoc);

Expand All @@ -87,7 +85,7 @@ public PdfDocumentIFrameView(String aId, IModel<AnnotationDocument> aDoc,
@Override
public void onRequest()
{
SourceDocument doc = aDoc.getObject().getDocument();
SourceDocument doc = aDoc.getObject();

File pdfFile = documentService.getSourceDocumentFile(doc);

Expand Down Expand Up @@ -120,7 +118,7 @@ public void respond(AjaxRequestTarget aTarget)
{
initialize(aTarget);
String pdftext = pdfExtractFile.getPdftxt();
SourceDocument doc = aDoc.getObject().getDocument();
SourceDocument doc = aDoc.getObject();

StringResourceStream resource = new StringResourceStream(pdftext, "text/plain");

Expand Down Expand Up @@ -177,14 +175,14 @@ public PdfExtractFile getPdfExtractFile()
}

@SuppressWarnings("unchecked")
public IModel<AnnotationDocument> getModel()
public IModel<SourceDocument> getModel()
{
return (IModel<AnnotationDocument>) getDefaultModel();
return (IModel<SourceDocument>) getDefaultModel();
}

private void initialize(AjaxRequestTarget aTarget)
{
File pdfFile = documentService.getSourceDocumentFile(getModel().getObject().getDocument());
File pdfFile = documentService.getSourceDocumentFile(getModel().getObject());

try {
String pdfText = PDFExtractor.processFileToString(pdfFile);
Expand Down

0 comments on commit 3ef3925

Please sign in to comment.