private String render(JCas aJcas, AnnotatorState aBratAnnotatorModel, ColoringStrategy aCurationColoringStrategy) throws IOException { List<AnnotationLayer> layersToRender = new ArrayList<>(); for (AnnotationLayer layer : aBratAnnotatorModel.getAnnotationLayers()) { boolean isSegmentationLayer = layer.getName().equals(Token.class.getName()) || layer.getName().equals(Sentence.class.getName()); boolean isUnsupportedLayer = layer.getType().equals(CHAIN_TYPE); if (layer.isEnabled() && !isSegmentationLayer && !isUnsupportedLayer) { layersToRender.add(layer); } } VDocument vdoc = new VDocument(); preRenderer.render(vdoc, aBratAnnotatorModel.getWindowBeginOffset(), aBratAnnotatorModel.getWindowEndOffset(), aJcas, layersToRender); GetDocumentResponse response = new GetDocumentResponse(); BratRenderer.render(response, aBratAnnotatorModel, vdoc, aJcas, annotationService, aCurationColoringStrategy); return JSONUtil.toInterpretableJsonString(response); }
private String render(JCas aJcas, AnnotatorState aBratAnnotatorModel, ColoringStrategy aCurationColoringStrategy) throws IOException { List<AnnotationLayer> layersToRender = new ArrayList<>(); for (AnnotationLayer layer : aBratAnnotatorModel.getAnnotationLayers()) { boolean isSegmentationLayer = layer.getName().equals(Token.class.getName()) || layer.getName().equals(Sentence.class.getName()); boolean isUnsupportedLayer = layer.getType().equals(CHAIN_TYPE); if (layer.isEnabled() && !isSegmentationLayer && !isUnsupportedLayer) { layersToRender.add(layer); } } VDocument vdoc = new VDocument(); preRenderer.render(vdoc, aBratAnnotatorModel.getWindowBeginOffset(), aBratAnnotatorModel.getWindowEndOffset(), aJcas, layersToRender); GetDocumentResponse response = new GetDocumentResponse(); BratRenderer.render(response, aBratAnnotatorModel, vdoc, aJcas, annotationService, aCurationColoringStrategy); return JSONUtil.toInterpretableJsonString(response); }
asList(new RelationCrossSentenceBehavior())); VDocument vdoc = new VDocument(); sut.render(jcas, asList(), vdoc, 0, jcas.getDocumentText().length());
protected VDocument render(JCas aJCas, int windowBeginOffset, int windowEndOffset) VDocument vdoc = new VDocument(); preRenderer.render(vdoc, windowBeginOffset, windowEndOffset, aJCas, getLayersToRender());
protected VDocument render(JCas aJCas, int windowBeginOffset, int windowEndOffset) VDocument vdoc = new VDocument(); preRenderer.render(vdoc, windowBeginOffset, windowEndOffset, aJCas, getLayersToRender());
@Test public void thatSpanCrossSentenceBehaviorOnRenderGeneratesErrors() { neLayer.setCrossSentence(false); jcas.setDocumentText(StringUtils.repeat("a", 20)); new Sentence(jcas, 0, 10).addToIndexes(); new Sentence(jcas, 10, 20).addToIndexes(); NamedEntity ne = new NamedEntity(jcas, 5, 15); ne.addToIndexes(); SpanAdapter adapter = new SpanAdapter(featureSupportRegistry, null, neLayer, asList(), asList(new SpanCrossSentenceBehavior())); SpanRenderer sut = new SpanRenderer(adapter, featureSupportRegistry, asList(new SpanCrossSentenceBehavior())); VDocument vdoc = new VDocument(); sut.render(jcas, asList(), vdoc, 0, jcas.getDocumentText().length()); assertThat(vdoc.comments()) .usingFieldByFieldElementComparator() .containsExactlyInAnyOrder(new VComment(ne, VCommentType.ERROR, "Crossing sentence bounardies is not permitted.")); }
asList(new RelationStackingBehavior())); VDocument vdoc = new VDocument(); sut.render(jcas, asList(), vdoc, 0, jcas.getDocumentText().length());
@Test public void thatSpanStackingBehaviorOnRenderGeneratesErrors() { neLayer.setAllowStacking(false); jcas.setDocumentText(StringUtils.repeat("a", 10)); new Sentence(jcas, 0, 10).addToIndexes(); NamedEntity ne1 = new NamedEntity(jcas, 3, 8); ne1.addToIndexes(); NamedEntity ne2 = new NamedEntity(jcas, 3, 8); ne2.addToIndexes(); SpanAdapter adapter = new SpanAdapter(featureSupportRegistry, null, neLayer, asList(), asList(new SpanStackingBehavior())); SpanRenderer sut = new SpanRenderer(adapter, featureSupportRegistry, asList(new SpanStackingBehavior())); VDocument vdoc = new VDocument(); sut.render(jcas, asList(), vdoc, 0, jcas.getDocumentText().length()); assertThat(vdoc.comments()) .usingFieldByFieldElementComparator() .containsExactlyInAnyOrder( new VComment(ne1, VCommentType.ERROR, "Stacking is not permitted."), new VComment(ne2, VCommentType.ERROR, "Stacking is not permitted.")); } }
JCas jcas = getJCasProvider().get(); VDocument vdoc = new VDocument(); preRenderer.render(vdoc, aState.getWindowBeginOffset(), aState.getWindowEndOffset(), jcas, getLayersToRender());
JCas jcas = getJCasProvider().get(); VDocument vdoc = new VDocument(); preRenderer.render(vdoc, aState.getWindowBeginOffset(), aState.getWindowEndOffset(), jcas, getLayersToRender());
VDocument vdoc = new VDocument(); preRenderer.render(vdoc, state.getWindowBeginOffset(), state.getWindowEndOffset(), jCas, schemaService.listAnnotationLayer(project));