/** * Get the given structure classes from by name or return all classes if null or empty * * @param typeNames the types to get * @return the structure classes * @throws ResourceInitializationException */ public static Set<Class<? extends Structure>> getStructureClasses(String... typeNames) throws ResourceInitializationException { return TypeUtils.getTypeClasses(Structure.class, typeNames); }
/** * Get the given structure classes from by name or return all classes if null or empty * * @param typeNames the types to get * @return the structure classes * @throws ResourceInitializationException */ public static Set<Class<? extends Structure>> getStructureClasses(String... typeNames) throws ResourceInitializationException { return TypeUtils.getTypeClasses(Structure.class, typeNames); }
@Test public void testCanGetTypeClass() throws ResourceInitializationException { Set<Class<? extends Entity>> typeClasses = TypeUtils.getTypeClasses(Entity.class, new String[] {Person.class.getSimpleName()}); assertEquals(1, typeClasses.size()); assertTrue(typeClasses.contains(Person.class)); } }
@Test public void testWhereNameEndMatches() throws UIMAException, BaleenException { Set<Class<? extends Structure>> c = TypeUtils.getTypeClasses(Structure.class, "Header", "TableHeader"); assertEquals(2, c.size()); assertTrue(c.contains(Header.class)); assertTrue(c.contains(TableHeader.class)); }
@Override public void doInitialize(UimaContext aContext) throws ResourceInitializationException { super.doInitialize(aContext); try { Set<Class<? extends Entity>> typeClasses = TypeUtils.getTypeClasses(Entity.class, typeNames); EntityGraphOptions.Builder builder = EntityGraphOptions.builder() .withContentHashAsId(contentHashAsId) .withEvents(outputEvents) .withStopFeatures(filterFeatures) .withAggregateProperties(aggregate) .withTypeClasses(typeClasses) .withMultiValueProperties(multiValueProperties) .withDefaultValueStrategy(createValueStrategy(defaultValueStrategyType)) .withValueCoercer(valueCoercer); if (valueStrategyTypes != null) { for (int i = 0; i < valueStrategyTypes.length; i += 2) { builder.withValueStrategy( valueStrategyTypes[i], createValueStrategy(valueStrategyTypes[i + 1])); } } addOptions(builder); factory = new EntityGraphFactory(getMonitor(), builder.build()); } catch (Exception e) { throw new ResourceInitializationException(e); } }
@Override public void doInitialize(UimaContext aContext) throws ResourceInitializationException { super.doInitialize(aContext); try { Set<Class<? extends Entity>> typeClasses = TypeUtils.getTypeClasses(Entity.class, typeNames); EntityGraphOptions.Builder builder = EntityGraphOptions.builder() .withContentHashAsId(contentHashAsId) .withEvents(outputEvents) .withStopFeatures(filterFeatures) .withAggregateProperties(aggregate) .withTypeClasses(typeClasses) .withMultiValueProperties(multiValueProperties) .withDefaultValueStrategy(createValueStrategy(defaultValueStrategyType)) .withValueCoercer(valueCoercer); if (valueStrategyTypes != null) { for (int i = 0; i < valueStrategyTypes.length; i += 2) { builder.withValueStrategy( valueStrategyTypes[i], createValueStrategy(valueStrategyTypes[i + 1])); } } addOptions(builder); factory = new EntityGraphFactory(getMonitor(), builder.build()); } catch (Exception e) { throw new ResourceInitializationException(e); } }
@Override public void doInitialize(UimaContext aContext) throws ResourceInitializationException { super.doInitialize(aContext); Set<Class<? extends Entity>> typeClasses = TypeUtils.getTypeClasses(Entity.class, typeNames); DocumentGraphOptions.Builder builder = DocumentGraphOptions.builder() .withContentHashAsId(contentHashAsId) .withContent(outputContent) .withMeta(outputMeta) .withReferenceTargets(outputReferents) .withRelations(outputRelations) .withRelationsAsLinks(outputRelationsAsLinks) .withEvents(outputEvents) .withDocument(outputDocument) .withStopFeatures(filterFeatures) .withValueCoercer(valueCoercer) .withTypeClasses(typeClasses); addOptions(builder); factory = new DocumentGraphFactory(getMonitor(), builder.build()); }
@Override public void doInitialize(UimaContext aContext) throws ResourceInitializationException { super.doInitialize(aContext); Set<Class<? extends Entity>> typeClasses = TypeUtils.getTypeClasses(Entity.class, typeNames); DocumentGraphOptions.Builder builder = DocumentGraphOptions.builder() .withContentHashAsId(contentHashAsId) .withContent(outputContent) .withMeta(outputMeta) .withReferenceTargets(outputReferents) .withRelations(outputRelations) .withRelationsAsLinks(outputRelationsAsLinks) .withEvents(outputEvents) .withDocument(outputDocument) .withStopFeatures(filterFeatures) .withValueCoercer(valueCoercer) .withTypeClasses(typeClasses); addOptions(builder); factory = new DocumentGraphFactory(getMonitor(), builder.build()); }
@Test public void testDocumentGraphWithTypeFiltering() throws UIMAException { Set<Class<? extends Entity>> typeClasses = TypeUtils.getTypeClasses(Entity.class, Person.class.getSimpleName()); DocumentGraphOptions options = DocumentGraphOptions.builder().withTypeClasses(typeClasses).build(); DocumentGraphFactory factory = createfactory(options); JCas jCas = JCasFactory.createJCas(); JCasTestGraphUtil.populateJcas(jCas); Graph graph = factory.create(jCas); assertEquals(2, graph.traversal().V().hasLabel(REFERENCE_TARGET).count().next().intValue()); assertEquals(1, graph.traversal().V().hasLabel(EVENT).count().next().intValue()); assertEquals(3, graph.traversal().V().hasLabel(MENTION).count().next().intValue()); assertEquals(1, graph.traversal().V().hasLabel(RELATION).count().next().intValue()); assertEquals(3, graph.traversal().E().hasLabel(MENTION_OF).count().next().intValue()); assertEquals(2, graph.traversal().E().hasLabel(PARTICIPANT_IN).count().next().intValue()); assertNoDocumentNode(graph); assertNoRelationEdges(graph); assertEquals(7, IteratorUtils.count(graph.vertices())); assertEquals(7, IteratorUtils.count(graph.edges())); }