@Override public boolean accepts(AnnotationLayer aLayer, AnnotationFeature aFeature) { if (aLayer == null || aFeature == null) { return false; } return asList(AnchoringMode.SINGLE_TOKEN, AnchoringMode.TOKENS).contains( aLayer.getAnchoringMode()) && WebAnnoConst.SPAN_TYPE.equals(aLayer.getType()); }
@Override public boolean accepts(AnnotationLayer aLayer, AnnotationFeature aFeature) { if (aLayer == null || aFeature == null) { return false; } return asList(AnchoringMode.SINGLE_TOKEN, AnchoringMode.TOKENS).contains( aLayer.getAnchoringMode()) && WebAnnoConst.SPAN_TYPE.equals(aLayer.getType()); }
@Override public boolean accepts(AnnotationLayer aLayer, AnnotationFeature aFeature) { if (aLayer == null || aFeature == null) { return false; } return asList(SINGLE_TOKEN, TOKENS).contains(aLayer.getAnchoringMode()) && !aLayer.isCrossSentence() && SPAN_TYPE.equals(aLayer.getType()) && aFeature.getType().startsWith(PREFIX); }
@Override public boolean accepts(AnnotationLayer aLayer, AnnotationFeature aFeature) { if (aLayer == null || aFeature == null) { return false; } return asList(SINGLE_TOKEN, TOKENS).contains(aLayer.getAnchoringMode()) && !aLayer.isCrossSentence() && SPAN_TYPE.equals(aLayer.getType()) && aFeature.getType().startsWith(PREFIX); }
@Override public boolean accepts(AnnotationLayer aLayer, AnnotationFeature aFeature) { if (aLayer == null || aFeature == null) { return false; } return (asList(SINGLE_TOKEN, TOKENS).contains(aLayer.getAnchoringMode())) && !aLayer.isCrossSentence() && SPAN_TYPE.equals(aLayer.getType()) && (CAS.TYPE_NAME_STRING.equals(aFeature.getType()) || aFeature.isVirtualFeature()); } }
@Override public boolean accepts(AnnotationLayer aLayer, AnnotationFeature aFeature) { if (aLayer == null || aFeature == null) { return false; } return (asList(SINGLE_TOKEN, TOKENS).contains(aLayer.getAnchoringMode())) && !aLayer.isCrossSentence() && SPAN_TYPE.equals(aLayer.getType()) && CAS.TYPE_NAME_STRING.equals(aFeature.getType()) || aFeature.isVirtualFeature(); }
@Override public boolean accepts(AnnotationLayer aLayer, AnnotationFeature aFeature) { if (aLayer == null || aFeature == null) { return false; } return (asList(SINGLE_TOKEN, TOKENS).contains(aLayer.getAnchoringMode())) && !aLayer.isCrossSentence() && "span".equals(aLayer.getType()) && (CAS.TYPE_NAME_STRING.equals(aFeature.getType()) || aFeature.isVirtualFeature()); }
@Override public boolean accepts(AnnotationLayer aLayer, AnnotationFeature aFeature) { if (aLayer == null || aFeature == null) { return false; } return (asList(AnchoringMode.SENTENCES).contains(aLayer.getAnchoringMode())) && !aLayer.isCrossSentence() && SPAN_TYPE.equals(aLayer.getType()) && CAS.TYPE_NAME_STRING.equals(aFeature.getType()) || aFeature.isVirtualFeature(); }
@Override public boolean accepts(AnnotationLayer aLayer, AnnotationFeature aFeature) { if (aLayer == null || aFeature == null) { return false; } return (asList(SINGLE_TOKEN, TOKENS).contains(aLayer.getAnchoringMode())) && !aLayer.isCrossSentence() && SPAN_TYPE.equals(aLayer.getType()) && (CAS.TYPE_NAME_STRING.equals(aFeature.getType()) || aFeature.isVirtualFeature()); } }
@Override public boolean accepts(AnnotationLayer aLayer, AnnotationFeature aFeature) { if (aLayer == null || aFeature == null) { return false; } return (asList(SINGLE_TOKEN, TOKENS).contains(aLayer.getAnchoringMode())) && !aLayer.isCrossSentence() && "span".equals(aLayer.getType()) && (CAS.TYPE_NAME_STRING.equals(aFeature.getType()) || aFeature.isVirtualFeature()); }
@Override public boolean accepts(AnnotationLayer aLayer, AnnotationFeature aFeature) { if (aLayer == null || aFeature == null) { return false; } return (asList(SINGLE_TOKEN, TOKENS).contains(aLayer.getAnchoringMode())) && !aLayer.isCrossSentence() && SPAN_TYPE.equals(aLayer.getType()) && CAS.TYPE_NAME_STRING.equals(aFeature.getType()) || aFeature.isVirtualFeature(); } }
@Override public boolean accepts(AnnotationLayer aLayer, AnnotationFeature aFeature) { if (aLayer == null || aFeature == null) { return false; } return SINGLE_TOKEN.equals(aLayer.getAnchoringMode()) && SPAN_TYPE.equals(aLayer.getType()) && CAS.TYPE_NAME_STRING.equals(aFeature.getType()); }
public static String createTemplate(AnnotationFeature aFeature, File templateFile, int aOther) throws IOException { StringBuffer sb = new StringBuffer(); if (aFeature == null) { setMorphoTemplate(sb, aOther); } else { switch (aFeature.getLayer().getAnchoringMode()) { case SINGLE_TOKEN: setMorphoTemplate(sb, aOther); break; case TOKENS: setNgramForLable(sb, aOther); break; default: throw new IllegalStateException("Unsupported anchoring mode: [" + aFeature.getLayer().getAnchoringMode() + "]"); } } sb.append("\n"); sb.append("B\n"); FileUtils.writeStringToFile(templateFile, sb.toString()); return templateFile.getAbsolutePath(); }
@Override public boolean accepts(AnnotationLayer aLayer, AnnotationFeature aFeature) { if (aLayer == null || aFeature == null) { return false; } return SINGLE_TOKEN.equals(aLayer.getAnchoringMode()) && SPAN_TYPE.equals(aLayer.getType()) && (CAS.TYPE_NAME_STRING.equals(aFeature.getType()) || aFeature.isVirtualFeature()); }
@Override public boolean accepts(AnnotationLayer aLayer, AnnotationFeature aFeature) { if (aLayer == null || aFeature == null) { return false; } return SINGLE_TOKEN.equals(aLayer.getAnchoringMode()) && SPAN_TYPE.equals(aLayer.getType()) && (CAS.TYPE_NAME_STRING.equals(aFeature.getType()) || aFeature.isVirtualFeature()); }
private boolean isForwardable() { AnnotatorState state = getModelObject(); AnnotationLayer selectedLayer = state.getSelectedAnnotationLayer(); if (isNull(selectedLayer) || isNull(selectedLayer.getId())) { return false; } if (!selectedLayer.getType().equals(WebAnnoConst.SPAN_TYPE)) { return false; } if (!SINGLE_TOKEN.equals(selectedLayer.getAnchoringMode())) { return false; } // no forward annotation for multi-feature and zero-feature layers (where features count // which are are both enabled and visible). if (getEnabledFeatures(selectedLayer).size() != 1) { return false; } // we allow forward annotation only for a feature with a tagset if (annotationService.listAnnotationFeature(selectedLayer).get(0).getTagset() != null) { // there should be at least one tag in the tagset TagSet tagSet = annotationService.listAnnotationFeature(selectedLayer).get(0) .getTagset(); return !annotationService.listTags(tagSet).isEmpty(); } // Or layers with a single visible/enabled free-text feature. return true; }
@Override public CreateSpanAnnotationRequest onCreate(TypeAdapter aAdapter, CreateSpanAnnotationRequest aRequest) throws AnnotationException { if (aRequest.getBegin() == aRequest.getEnd()) { if (!aAdapter.getLayer().getAnchoringMode().isZeroSpanAllowed()) { throw new AnnotationException( "Cannot create zero-width annotation on layers that lock to token boundaries."); } return aRequest; } int[] originalRange = new int[] { aRequest.getBegin(), aRequest.getEnd() }; int[] adjustedRange = adjust(aRequest.getJcas(), aAdapter.getLayer().getAnchoringMode(), originalRange); if (adjustedRange.equals(originalRange)) { return aRequest; } else { return aRequest.changeSpan(adjustedRange[0], adjustedRange[1]); } }
@Override public CreateSpanAnnotationRequest onCreate(TypeAdapter aAdapter, CreateSpanAnnotationRequest aRequest) throws AnnotationException { if (aRequest.getBegin() == aRequest.getEnd()) { if (!aAdapter.getLayer().getAnchoringMode().isZeroSpanAllowed()) { throw new AnnotationException( "Cannot create zero-width annotation on layers that lock to token boundaries."); } return aRequest; } int[] originalRange = new int[] { aRequest.getBegin(), aRequest.getEnd() }; int[] adjustedRange = adjust(aRequest.getJcas(), aAdapter.getLayer().getAnchoringMode(), originalRange); if (adjustedRange.equals(originalRange)) { return aRequest; } else { return aRequest.changeSpan(adjustedRange[0], adjustedRange[1]); } }
private Metadata buildMetadata(CAS aCas) throws RecommendationException { CASMetadata casMetadata = getCasMetadata(aCas); AnnotationLayer layer = recommender.getLayer(); return new Metadata( layer.getName(), recommender.getFeature().getName(), casMetadata.getProjectId(), layer.getAnchoringMode().getId(), layer.isCrossSentence() ); }
private Metadata buildMetadata(CAS aCas) throws RecommendationException { CASMetadata casMetadata = getCasMetadata(aCas); AnnotationLayer layer = recommender.getLayer(); return new Metadata( layer.getName(), recommender.getFeature().getName(), casMetadata.getProjectId(), layer.getAnchoringMode().getId(), layer.isCrossSentence() ); }