The problems are gone... I should learn how to use uimaFIT correctly. Oh
dear, so much trouble for nothing...

On the other hand, this will not solve my problems when I enforce the
usage of Ruta as a java library. However, I think I can take care of the
upcoming problems on the Ruta side of the code, e.g., with the factory
you mentioned.

Thanks Richard :-)

Best,

Peter

Am 25.08.2015 um 11:47 schrieb Richard Eckart de Castilho:
> On 25.08.2015, at 11:32, Peter Klügl <[email protected]> wrote:
>
>>> How about you rewrite your test using createEngineDescription() and either 
>>> SimplePipeline or you create an AAE from your individual engines, 
>>> instantiate then and call process() on it once?
>> I added an alternative without uimaFIT where I use xml descriptors.
>> Here, the JCas cover class instances remain.
>>
>> It's not about that the tests fail. The uimaFIT test also is fulfilled
>> since Ruta regenerates the information anyway right now. This is rather
>> a requirement for future development of Ruta.
>>
>> I could restrict the usage of Ruta with a policy like "If you use Ruta
>> with uimaFIT, then you have to create the CAS also with uimaFIT or with
>> the resource manager of the uimaFIT analysis engine..., or it will get
>> really slow when you use it as a java library or you use several
>> separate Ruta analysis engines in one pipeline."
>>
>> If there are other options, I really want to avoid that. I rather prefer
>> to reduce restrictions like getting rid of the type priorities.
> Using createEngine in a row is imho a really bad habit. Users should
> use createEngineDescription as long as possible and either leave it
> to a pipeline (SimplePipeline or CpePipeline) to instantiate the engines,
> or do only a single createEngine that instantiates a whole aggregate and
> call process once.
>
> So if you use the "recommended" way with
>
> engine = createEngine(
>     createEngineDescription(
>       createEngineDescription(AE1.class,...),
>       createEngineDescription(AE2.class,...),
>       createEngineDescription(AE3.class,...));
>
> engine.process(cas);
>
> do you then still have the problem?
>
> Cheers,
>
> -- Richard

Reply via email to