@Override @Transactional public TypeAdapter getAdapter(AnnotationLayer aLayer) { return layerSupportRegistry.getLayerSupport(aLayer).createAdapter(aLayer); } }
@Override public LayerSupport getLayerSupport(String aId) { return getLayerSupports().stream().filter(fs -> fs.getId().equals(aId)).findFirst() .orElse(null); }
@Override public LayerType getLayerType(AnnotationLayer aLayer) { if (aLayer.getType() == null) { return null; } // Figure out which layer support provides the given type. // If we can find a suitable layer support, then use it to resolve the type to a LayerType LayerType featureType = null; for (LayerSupport s : getLayerSupports()) { Optional<LayerType> ft = s.getLayerType(aLayer); if (ft.isPresent()) { featureType = ft.get(); break; } } return featureType; } }
@Override public void render(VDocument aResponse, int windowBeginOffset, int windowEndOffset, JCas aJCas, List<AnnotationLayer> aLayers) { // Render (custom) layers for (AnnotationLayer layer : aLayers) { List<AnnotationFeature> features = annotationService.listAnnotationFeature(layer); Renderer renderer = layerSupportRegistry.getLayerSupport(layer).getRenderer(layer); renderer.render(aJCas, features, aResponse, windowBeginOffset, windowEndOffset); } } }
/** * Get the types of all layers the user should be able to create. There can also be internal * types reserved for built-in features. These are not returned. */ default List<LayerType> getAllTypes() { List<LayerType> allTypes = new ArrayList<>(); for (LayerSupport layerSupport : getLayerSupports()) { List<LayerType> types = layerSupport.getSupportedLayerTypes(); types.stream().forEach(allTypes::add); } allTypes.sort(comparing(LayerType::getUiName)); return allTypes; } }
@Override public TypeSystemDescription getProjectTypes(Project aProject) { // Create a new type system from scratch TypeSystemDescription tsd = new TypeSystemDescription_impl(); for (AnnotationLayer type : listAnnotationLayer(aProject)) { if (type.isBuiltIn()) { continue; } LayerSupport<?> layerSupport = layerSupportRegistry.getLayerSupport(type); layerSupport.generateTypes(tsd, type); } return tsd; }
if (s.accepts(aLayer)) { support = s; if (aLayer.getId() != null) {
@Override public void render(VDocument aResponse, int windowBeginOffset, int windowEndOffset, JCas aJCas, List<AnnotationLayer> aLayers) { // Render (custom) layers for (AnnotationLayer layer : aLayers) { List<AnnotationFeature> features = annotationService.listAnnotationFeature(layer); Renderer renderer = layerSupportRegistry.getLayerSupport(layer).getRenderer(layer); renderer.render(aJCas, features, aResponse, windowBeginOffset, windowEndOffset); } } }
/** * Get the types of all layers the user should be able to create. There can also be internal * types reserved for built-in features. These are not returned. */ default List<LayerType> getAllTypes() { List<LayerType> allTypes = new ArrayList<>(); for (LayerSupport layerSupport : getLayerSupports()) { List<LayerType> types = layerSupport.getSupportedLayerTypes(); types.stream().forEach(allTypes::add); } allTypes.sort(comparing(LayerType::getUiName)); return allTypes; } }
@Override public TypeSystemDescription getProjectTypes(Project aProject) { // Create a new type system from scratch TypeSystemDescription tsd = new TypeSystemDescription_impl(); for (AnnotationLayer type : listAnnotationLayer(aProject)) { if (type.isBuiltIn()) { continue; } LayerSupport<?> layerSupport = layerSupportRegistry.getLayerSupport(type); layerSupport.generateTypes(tsd, type); } return tsd; }
if (s.accepts(aLayer)) { support = s; if (aLayer.getId() != null) {
@Override @Transactional public TypeAdapter getAdapter(AnnotationLayer aLayer) { return layerSupportRegistry.getLayerSupport(aLayer).createAdapter(aLayer); } }
Renderer renderer = layerSupportRegistry.getLayerSupport(layer).getRenderer(layer);
/** * Get the layer type for the given annotation layer. If the current layer support does * not provide any layer type for the given layer, an empty value is returned. As we * usually use {@link LayerType} objects in layer type selection lists, this method is * helpful in obtaining the selected value of such a list from the {@link AnnotationLayer} * object being edited. * * @param aLayer * a layer definition. * @return the corresponding layer type. */ default Optional<LayerType> getLayerType(AnnotationLayer aLayer) { return getSupportedLayerTypes().stream() .filter(t -> t.getName().equals(aLayer.getType())).findFirst(); }
@Override public LayerSupport getLayerSupport(String aId) { return getLayerSupports().stream().filter(fs -> fs.getId().equals(aId)).findFirst() .orElse(null); }
@Override public LayerType getLayerType(AnnotationLayer aLayer) { if (aLayer.getType() == null) { return null; } // Figure out which layer support provides the given type. // If we can find a suitable layer support, then use it to resolve the type to a LayerType LayerType featureType = null; for (LayerSupport s : getLayerSupports()) { Optional<LayerType> ft = s.getLayerType(aLayer); if (ft.isPresent()) { featureType = ft.get(); break; } } return featureType; } }
@Mock TypeAdapter getAdapter(AnnotationLayer aLayer) { return layerSupportRegistry.getLayerSupport(aLayer).createAdapter(aLayer); }
Renderer renderer = layerSupportRegistry.getLayerSupport(layer).getRenderer(layer);
/** * Get the layer type for the given annotation layer. If the current layer support does * not provide any layer type for the given layer, an empty value is returned. As we * usually use {@link LayerType} objects in layer type selection lists, this method is * helpful in obtaining the selected value of such a list from the {@link AnnotationLayer} * object being edited. * * @param aLayer * a layer definition. * @return the corresponding layer type. */ default Optional<LayerType> getLayerType(AnnotationLayer aLayer) { return getSupportedLayerTypes().stream() .filter(t -> t.getName().equals(aLayer.getType())).findFirst(); }
when(schemaService.getAdapter(any(AnnotationLayer.class))).then(_call -> { AnnotationLayer layer = _call.getArgument(0); return layerRegistry.getLayerSupport(layer).createAdapter(layer); });