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