Skip to content

Commit

Permalink
Merge pull request #3856 from inception-project/refactoring/3855-Edit…
Browse files Browse the repository at this point in the history
…or-views-only-need-a-SourceDocument

#3855 - Editor views only need a SourceDocument
  • Loading branch information
reckart committed Mar 11, 2023
2 parents 4d0ca3e + 461c52c commit 3a9f0d2
Show file tree
Hide file tree
Showing 19 changed files with 61 additions and 88 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 @@ -41,7 +41,6 @@
/**
* A persistence object for meta-data of annotation documents. The content of annotation document is
* stored in a file system.
*
*/
@Entity
@Table(name = "annotation_document", uniqueConstraints = {
Expand Down Expand Up @@ -123,7 +122,7 @@ public AnnotationDocument()

public AnnotationDocument(String aUser, SourceDocument aDocument)
{
user = aUser;
setUser(aUser);
document = aDocument;
name = aDocument.getName();
project = aDocument.getProject();
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
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.pdfeditor.config.PdfAnnotationEditorSupportAutoConfiguration;

Expand All @@ -45,14 +45,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 PdfDocumentIFrameView(aId, aDoc, aEditorFactoryId);
}
Expand Down

0 comments on commit 3a9f0d2

Please sign in to comment.