public AnnotationLayer(String aName, String aUiName, String aType, Project aProject, boolean aBuiltIn, AnchoringMode aAnchoringMode) { setName(aName); setUiName(aUiName); setProject(aProject); setBuiltIn(aBuiltIn); setType(aType); setAnchoringMode(aAnchoringMode); }
public AnnotationLayer(String aName, String aUiName, String aType, Project aProject, boolean aBuiltIn, AnchoringMode aAnchoringMode) { setName(aName); setUiName(aUiName); setProject(aProject); setBuiltIn(aBuiltIn); setType(aType); setAnchoringMode(aAnchoringMode); }
layer.setName(removeEnd(aTD.getName(), "Chain")); layer.setUiName(removeEnd(type.getShortName(), "Chain")); layer.setType(CHAIN_TYPE); chainDetailMap.put(layer.getName(), chainDetails.get()); layer.setName(aTD.getName()); layer.setUiName(type.getShortName()); layer.setType(RELATION_TYPE); relationDetailMap.put(layer.getName(), relationDetails.get()); layer.setName(aTD.getName()); layer.setUiName(type.getShortName()); layer.setType(SPAN_TYPE);
layer.setName(removeEnd(aTD.getName(), "Chain")); layer.setUiName(removeEnd(type.getShortName(), "Chain")); layer.setType(CHAIN_TYPE); chainDetailMap.put(layer.getName(), chainDetails.get()); layer.setName(aTD.getName()); layer.setUiName(type.getShortName()); layer.setType(RELATION_TYPE); relationDetailMap.put(layer.getName(), relationDetails.get()); layer.setName(aTD.getName()); layer.setUiName(type.getShortName()); layer.setType(SPAN_TYPE);
layer.setDescription("span annoattion"); layer.setName("pos"); layer.setType(WebAnnoConst.SPAN_TYPE);
@Test public void testOK() throws Exception { AnnotationLayer relationLayer = new AnnotationLayer(); relationLayer.setName(Dependency.class.getName()); relationLayer.setType(WebAnnoConst.RELATION_TYPE); Mockito.when(annotationService.listAnnotationLayer(Mockito.isNull())) .thenReturn(Arrays.asList(relationLayer)); JCas jcas = JCasFactory.createJCas(); jcas.setDocumentText("This is a test."); Token spanThis = new Token(jcas, 0, 4); spanThis.addToIndexes(); Token spanIs = new Token(jcas, 6, 8); spanIs.addToIndexes(); Token spanA = new Token(jcas, 9, 10); spanA.addToIndexes(); Dependency dep1 = new Dependency(jcas, 0, 8); dep1.setGovernor(spanThis); dep1.setDependent(spanIs); dep1.addToIndexes(); Dependency dep2 = new Dependency(jcas, 6, 10); dep2.setGovernor(spanIs); dep2.setDependent(spanA); dep2.addToIndexes(); List<LogMessage> messages = new ArrayList<>(); boolean result = check.check(null, jcas.getCas(), messages); messages.forEach(System.out::println); assertTrue(result); }
relationLayer.setName(Dependency.class.getName()); relationLayer.setType(WebAnnoConst.RELATION_TYPE); Mockito.when(annotationService.listAnnotationLayer(Mockito.isNull())) .thenReturn(Arrays.asList(relationLayer));
@Test public void testOkBecauseCoref() throws Exception { AnnotationLayer relationLayer = new AnnotationLayer(); relationLayer.setName(CoreferenceChain.class.getName()); relationLayer.setType(WebAnnoConst.CHAIN_TYPE); Mockito.when(annotationService.listAnnotationLayer(Mockito.isNull())) .thenReturn(Arrays.asList(relationLayer)); JCas jcas = JCasFactory.createJCas(); jcas.setDocumentText("This is a test."); Token spanThis = new Token(jcas, 0, 4); spanThis.addToIndexes(); Token spanIs = new Token(jcas, 6, 8); spanIs.addToIndexes(); Token spanA = new Token(jcas, 9, 10); spanA.addToIndexes(); Dependency dep1 = new Dependency(jcas, 0, 8); dep1.setGovernor(spanThis); dep1.setDependent(spanIs); dep1.addToIndexes(); Dependency dep2 = new Dependency(jcas, 0, 10); dep2.setGovernor(spanA); dep2.setDependent(spanIs); dep2.addToIndexes(); List<LogMessage> messages = new ArrayList<>(); boolean result = check.check(null, jcas.getCas(), messages); messages.forEach(System.out::println); assertTrue(result); }
@Deprecated public static void setLayer(AnnotationSchemaService aAnnotationService, AnnotationLayer aLayer, ExportedAnnotationLayer aExLayer, Project aProject, User aUser) throws IOException { aLayer.setAllowStacking(aExLayer.isAllowStacking()); aLayer.setBuiltIn(aExLayer.isBuiltIn()); aLayer.setReadonly(aExLayer.isReadonly()); aLayer.setCrossSentence(aExLayer.isCrossSentence()); aLayer.setDescription(aExLayer.getDescription()); aLayer.setEnabled(aExLayer.isEnabled()); if (aExLayer.getAnchoringMode() == null) { // This allows importing old projects which did not have the anchoring mode yet aLayer.setAnchoringMode(aExLayer.isLockToTokenOffset(), aExLayer.isMultipleTokens()); } else { aLayer.setAnchoringMode(aExLayer.getAnchoringMode()); } aLayer.setLinkedListBehavior(aExLayer.isLinkedListBehavior()); aLayer.setUiName(aExLayer.getUiName()); aLayer.setName(aExLayer.getName()); aLayer.setProject(aProject); aLayer.setType(aExLayer.getType()); aAnnotationService.createLayer(aLayer); }
layerTypes.setModel(LambdaModelAdapter.of( () -> layerSupportRegistry.getLayerType(LayerDetailForm.this.getModelObject()), (v) -> LayerDetailForm.this.getModelObject().setType(v.getName()))); layerTypes.add(new AjaxFormComponentUpdatingBehavior("change")
layerTypes.setModel(LambdaModelAdapter.of( () -> layerSupportRegistry.getLayerType(LayerDetailForm.this.getModelObject()), (v) -> LayerDetailForm.this.getModelObject().setType(v.getName()))); layerTypes.add(new AjaxFormComponentUpdatingBehavior("change")
public static void setLayer(AnnotationService aAnnotationService, AnnotationLayer aLayer, de.tudarmstadt.ukp.clarin.webanno.model.export.AnnotationLayer aExLayer, Project aProject, User aUser) throws IOException { aLayer.setAllowStacking(aExLayer.isAllowStacking()); aLayer.setBuiltIn(aExLayer.isBuiltIn()); aLayer.setCrossSentence(aExLayer.isCrossSentence()); aLayer.setDescription(aExLayer.getDescription()); aLayer.setEnabled(aExLayer.isEnabled()); aLayer.setLockToTokenOffset(aExLayer.isLockToTokenOffset()); aLayer.setMultipleTokens(aExLayer.isMultipleTokens()); aLayer.setLinkedListBehavior(aExLayer.isLinkedListBehavior()); aLayer.setUiName(aExLayer.getUiName()); aLayer.setName(aExLayer.getName()); aLayer.setProject(aProject); aLayer.setType(aExLayer.getType()); aAnnotationService.createLayer(aLayer, aUser); }
@Deprecated public static void setLayer(AnnotationSchemaService aAnnotationService, AnnotationLayer aLayer, ExportedAnnotationLayer aExLayer, Project aProject, User aUser) throws IOException { aLayer.setAllowStacking(aExLayer.isAllowStacking()); aLayer.setBuiltIn(aExLayer.isBuiltIn()); aLayer.setReadonly(aExLayer.isReadonly()); aLayer.setCrossSentence(aExLayer.isCrossSentence()); aLayer.setDescription(aExLayer.getDescription()); aLayer.setEnabled(aExLayer.isEnabled()); if (aExLayer.getAnchoringMode() == null) { // This allows importing old projects which did not have the anchoring mode yet aLayer.setAnchoringMode(aExLayer.isLockToTokenOffset(), aExLayer.isMultipleTokens()); } else { aLayer.setAnchoringMode(aExLayer.getAnchoringMode()); } aLayer.setValidationMode(aExLayer.getValidationMode() != null ? aExLayer.getValidationMode() : ValidationMode.NEVER); aLayer.setLinkedListBehavior(aExLayer.isLinkedListBehavior()); aLayer.setUiName(aExLayer.getUiName()); aLayer.setName(aExLayer.getName()); aLayer.setProject(aProject); aLayer.setType(aExLayer.getType()); aAnnotationService.createLayer(aLayer); }
public void importLayer(AnnotationLayer aLayer, ExportedAnnotationLayer aExLayer, Project aProject) throws IOException { aLayer.setAllowStacking(aExLayer.isAllowStacking()); aLayer.setBuiltIn(aExLayer.isBuiltIn()); aLayer.setReadonly(aExLayer.isReadonly()); aLayer.setCrossSentence(aExLayer.isCrossSentence()); aLayer.setDescription(aExLayer.getDescription()); aLayer.setEnabled(aExLayer.isEnabled()); if (aExLayer.getAnchoringMode() == null) { // This allows importing old projects which did not have the anchoring mode yet aLayer.setAnchoringMode(aExLayer.isLockToTokenOffset(), aExLayer.isMultipleTokens()); } else { aLayer.setAnchoringMode(aExLayer.getAnchoringMode()); } aLayer.setLinkedListBehavior(aExLayer.isLinkedListBehavior()); aLayer.setUiName(aExLayer.getUiName()); aLayer.setName(aExLayer.getName()); aLayer.setProject(aProject); aLayer.setType(aExLayer.getType()); annotationService.createLayer(aLayer); }
public void importLayer(AnnotationLayer aLayer, ExportedAnnotationLayer aExLayer, Project aProject) throws IOException { aLayer.setAllowStacking(aExLayer.isAllowStacking()); aLayer.setBuiltIn(aExLayer.isBuiltIn()); aLayer.setReadonly(aExLayer.isReadonly()); aLayer.setCrossSentence(aExLayer.isCrossSentence()); aLayer.setDescription(aExLayer.getDescription()); aLayer.setEnabled(aExLayer.isEnabled()); if (aExLayer.getAnchoringMode() == null) { // This allows importing old projects which did not have the anchoring mode yet aLayer.setAnchoringMode(aExLayer.isLockToTokenOffset(), aExLayer.isMultipleTokens()); } else { aLayer.setAnchoringMode(aExLayer.getAnchoringMode()); } aLayer.setValidationMode(aExLayer.getValidationMode() != null ? aExLayer.getValidationMode() : ValidationMode.NEVER); aLayer.setLinkedListBehavior(aExLayer.isLinkedListBehavior()); aLayer.setUiName(aExLayer.getUiName()); aLayer.setName(aExLayer.getName()); aLayer.setProject(aProject); aLayer.setType(aExLayer.getType()); annotationService.createLayer(aLayer); }
relationLayer.setName("webanno.custom.Relation"); relationLayer.setUiName("Relation"); relationLayer.setType(WebAnnoConst.RELATION_TYPE); relationLayer.setAnchoringMode(AnchoringMode.CHARACTERS); relationLayer.setAllowStacking(true); relationTargetLayer.setName("webanno.custom.RelationTarget"); relationTargetLayer.setUiName("RelationTarget"); relationTargetLayer.setType(WebAnnoConst.SPAN_TYPE); relationTargetLayer.setAnchoringMode(AnchoringMode.CHARACTERS); relationTargetLayer.setAllowStacking(true);
@Test public void testSpanWithSlotFeatures() throws Exception { TypeSystemDescription tsd = createTypeSystemDescription("tsd/spanWithSlotFeatures"); TypeSystemAnalysis analysis = TypeSystemAnalysis.of(tsd); AnnotationLayer slotSpanLayer = new AnnotationLayer(); slotSpanLayer.setName("webanno.custom.SlotSpan"); slotSpanLayer.setUiName("SlotSpan"); slotSpanLayer.setType(WebAnnoConst.SPAN_TYPE); slotSpanLayer.setAnchoringMode(AnchoringMode.CHARACTERS); slotSpanLayer.setAllowStacking(true); slotSpanLayer.setCrossSentence(true); AnnotationFeature freeSlot = new AnnotationFeature( "freeSlot", CAS.TYPE_NAME_ANNOTATION); AnnotationFeature boundSlot = new AnnotationFeature( "boundSlot", "webanno.custom.SlotSpan"); SoftAssertions softly = new SoftAssertions(); softly.assertThat(analysis.getLayers()) .containsExactly(slotSpanLayer) .usingFieldByFieldElementComparator(); softly.assertThat(analysis.getFeatures(slotSpanLayer.getName())) .containsExactlyInAnyOrder(freeSlot, boundSlot) .usingFieldByFieldElementComparator(); softly.assertAll(); }
@Test public void testChain() throws Exception { TypeSystemDescription tsd = createTypeSystemDescription( "tsd/chain"); TypeSystemAnalysis analysis = TypeSystemAnalysis.of(tsd); AnnotationLayer chainLayer = new AnnotationLayer(); chainLayer.setName("webanno.custom.Chain"); chainLayer.setUiName("Chain"); chainLayer.setType(WebAnnoConst.CHAIN_TYPE); chainLayer.setAnchoringMode(AnchoringMode.CHARACTERS); chainLayer.setAllowStacking(true); chainLayer.setCrossSentence(true); AnnotationFeature referenceRelationFeature = new AnnotationFeature( "referenceRelation", CAS.TYPE_NAME_STRING); AnnotationFeature referenceTypeFeature = new AnnotationFeature( "referenceType", CAS.TYPE_NAME_STRING); SoftAssertions softly = new SoftAssertions(); softly.assertThat(analysis.getLayers()) .containsExactlyInAnyOrder(chainLayer) .usingFieldByFieldElementComparator(); softly.assertThat(analysis.getFeatures(chainLayer.getName())) .containsExactlyInAnyOrder(referenceRelationFeature, referenceTypeFeature) .usingFieldByFieldElementComparator(); softly.assertAll(); }
spanLayer.setName("webanno.custom.Span"); spanLayer.setUiName("Span"); spanLayer.setType(WebAnnoConst.SPAN_TYPE); spanLayer.setAnchoringMode(AnchoringMode.CHARACTERS); spanLayer.setAllowStacking(true);