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