@Override public AnalysisEngineAction getAction() { return new AnalysisEngineAction(Collections.emptySet(), ImmutableSet.of(Metadata.class)); } }
@Test public void test() { AnalysisEngineAction aea = new AnalysisEngineAction(ImmutableSet.of(Annotation.class), Collections.emptySet()); assertEquals(1, aea.getInputs().size()); assertTrue(aea.getInputs().contains(Annotation.class)); assertEquals(0, aea.getOutputs().size()); assertNotNull(aea.toString()); } }
@Test public void test() { AnalysisEngineActionStore store = AnalysisEngineActionStore.getInstance(); assertNotNull(store); String uuid = UUID.randomUUID().toString(); AnalysisEngineAction action = new AnalysisEngineAction(ImmutableSet.of(Annotation.class), Collections.emptySet()); AnalysisEngineAction empty = store.get(uuid); assertEquals(0, empty.getInputs().size()); assertEquals(0, empty.getOutputs().size()); store.add(uuid, action); AnalysisEngineAction a = store.get(uuid); assertEquals(action.getInputs(), a.getInputs()); assertEquals(action.getOutputs(), a.getOutputs()); AnalysisEngineAction b = store.remove(uuid); assertEquals(action.getInputs(), b.getInputs()); assertEquals(action.getOutputs(), b.getOutputs()); AnalysisEngineAction empty2 = store.get(uuid); assertEquals(0, empty2.getInputs().size()); assertEquals(0, empty2.getOutputs().size()); } }
private void addAnnotatorDependencies( Graph<AnalysisEngine, Integer> graph, AnalysisEngine ae1, AnalysisEngine ae2) { // If there's already a dependency, then just return as we don't want multiple edges if (graph.findEdge(ae1, ae2) != null) return; // If the inputs of ae1 match the outputs of ae2, then ae1 is dependent on ae2 // We don't need to check both ways as this will be caught by the loop, although // we could be more efficient here. AnalysisEngineAction a1 = getAction(ae1); AnalysisEngineAction a2 = getAction(ae2); if (overlaps(a1.getInputs(), a2.getOutputs())) { graph.addEdge(++edgeId, ae2, ae1, EdgeType.DIRECTED); return; } }
private void addAnnotatorDependencies( Graph<AnalysisEngine, Integer> graph, AnalysisEngine ae1, AnalysisEngine ae2) { // If there's already a dependency, then just return as we don't want multiple edges if (graph.findEdge(ae1, ae2) != null) return; // If the inputs of ae1 match the outputs of ae2, then ae1 is dependent on ae2 // We don't need to check both ways as this will be caught by the loop, although // we could be more efficient here. AnalysisEngineAction a1 = getAction(ae1); AnalysisEngineAction a2 = getAction(ae2); if (overlaps(a1.getInputs(), a2.getOutputs())) { graph.addEdge(++edgeId, ae2, ae1, EdgeType.DIRECTED); return; } }
@Override public AnalysisEngineAction getAction() { return new AnalysisEngineAction(Collections.emptySet(), ImmutableSet.of(Metadata.class)); } }
@Override public AnalysisEngineAction getAction() { return new AnalysisEngineAction( ImmutableSet.of(Entity.class, WordToken.class, ReferenceTarget.class), ImmutableSet.of(ReferenceTarget.class)); }
@Override public AnalysisEngineAction getAction() { return new AnalysisEngineAction( ImmutableSet.of( Entity.class, Sentence.class, Paragraph.class, Temporal.class, Location.class), ImmutableSet.of(Event.class)); }
@Override public AnalysisEngineAction getAction() { return new AnalysisEngineAction( ImmutableSet.of(DocumentAnnotation.class, Metadata.class, Relation.class, Entity.class), Collections.emptySet()); } }
@Override public AnalysisEngineAction getAction() { return new AnalysisEngineAction(Collections.emptySet(), ImmutableSet.of(Metadata.class)); } }
@Override public AnalysisEngineAction getAction() { return new AnalysisEngineAction( ImmutableSet.of(), ImmutableSet.of(Sentence.class, WordToken.class, Dependency.class)); } }
@Override public AnalysisEngineAction getAction() { return new AnalysisEngineAction( ImmutableSet.of( Entity.class, Sentence.class, Paragraph.class, Temporal.class, Location.class), ImmutableSet.of(Event.class)); }
@Override public AnalysisEngineAction getAction() { return new AnalysisEngineAction( ImmutableSet.of(DocumentAnnotation.class, Metadata.class, Relation.class, Entity.class), Collections.emptySet()); } }
@Override public AnalysisEngineAction getAction() { return new AnalysisEngineAction( ImmutableSet.of(TemplateRecord.class, TemplateField.class), Collections.emptySet()); } }
@Override public AnalysisEngineAction getAction() { return new AnalysisEngineAction(Collections.emptySet(), ImmutableSet.of(Metadata.class)); } }
@Override public AnalysisEngineAction getAction() { return new AnalysisEngineAction( ImmutableSet.of(), ImmutableSet.of(Sentence.class, WordToken.class, Dependency.class)); } }
@Override public AnalysisEngineAction getAction() { return new AnalysisEngineAction( ImmutableSet.of(Entity.class, WordToken.class, ReferenceTarget.class), ImmutableSet.of(ReferenceTarget.class)); }
@SuppressWarnings("unchecked") @Override public AnalysisEngineAction getAction() { Set<Class<? extends Annotation>> classes = new HashSet<>(); for (Class<?> c : structuralClasses) { classes.add((Class<? extends Annotation>) c); } return new AnalysisEngineAction(classes, Collections.emptySet()); } }
@SuppressWarnings("unchecked") @Override public AnalysisEngineAction getAction() { Set<Class<? extends Annotation>> classes = new HashSet<>(); for (Class<?> c : structuralClasses) { classes.add((Class<? extends Annotation>) c); } return new AnalysisEngineAction(classes, Collections.emptySet()); } }
/** * Get the action from the store, with the give UUID. If the store doesn't contain the key, then a * new empty AnalysisEngineAction is returned. */ public AnalysisEngineAction get(String uuid) { if (store.containsKey(uuid)) return store.get(uuid); return new AnalysisEngineAction(Collections.emptySet(), Collections.emptySet()); } }