Hi, can you provide the full code for your sample pipeline? I think that would make it easier to help.
With the present information, I can only give some general advice. - it is not mandatory to have the type system java classes (JCas wrappers) present in a project if none of your components (Readers, AEs, CCs) use them. - it is possible to manually load a type system description (TSD) and pass it to the components. But then the TSD is the second argument to the createXXXDescription call, e.g. createEngineDescription(SimpleCC.class, tsd, SimpleCC.PARAM_OUTPUT_DIR, "…"); - the type systems of all components in a pipeline is automatically merged when a pipeline is run (e.g. using SimplePipeline.runPipeline). Thus, it would also work to pass a TSD with all types used in the pipeline only to the reader, but not to any of the subsequent components. - alternatively, it is possible to have uimaFIT automatically detect your types [1]. If you do that, there is no need at all to pass the TSD to the component - it happens automatically. createEngineDescription(SimpleCC.class, SimpleCC.PARAM_OUTPUT_DIR, "…"); - if you want to retrieve annotation from the CAS without using the JCas wrappers, you can have a look at the CasUtil class. E.g. CasUtil.select(cas, CasUtil.getType(cas, "my.package.name.MyType")) Mind, this call works only if "MyType" inherits from the built-in "Annotation" type. Otherwise, you would use "selectFS" instead of "select". I would recommend using the CAS/CasUtil only if you want to implement a generic component that can be configured to work with different types. If your component is fixed to a certain type system, then using the JCas/JCasUtil is much more convenient. -- Richard [1] http://uima.apache.org/d/uimafit-current/tools.uimafit.book.html#ugr.tools.uimafit.typesystem On 23.01.2014, at 06:21, Luca Foppiano <l...@foppiano.org> wrote: > Hi Everybody, > I'm starting playing with uima-fit and I'm trying to integrate the > whitespace annotator into my simple pipeline composed by a collection > reader a simple AE (plays with the text, doesn't annotate) and I want to > add a whitespace annotator to be applied to the text. > > I've download the trunk version of the Whitespace annotator on github, I've > extracted the type system definition from the descriptor XML and referenced > it from uimafit. The pipeline worked without crashing. > > Now I want to add an AE that takes the annotations and do something with > that (print them for example). > > I could not find a way to work around the fact the type system java class > were not present in the project, is this a mandatory requirement? > > What I've tried is to do something like: > > //Get the type autogeneated type system (SentenceAnnotation, > TokenAnnotation) > TypeDescription[] types = tsd.getTypes(); > > [...] > //..and try to pass them to my annotator > AnalysisEngineDescription casConsumer = > AnalysisEngineFactory.createEngineDescription(SimpleCC.class, > SimpleCC.OUTPUT_DIR_PARAM, > "/home/lf84914/development/epo/apl/data/out", > * types, null*); > > but then, in the AE's code, I have no idea how to use them. > > Any suggestions? > > Thank everybody in advance. > -- > Luca Foppiano > > Software Engineer > +31615253280 > l...@foppiano.org > www.foppiano.org