Hi Richard, FinalStep() in a CasMultiplier aggregate means to stop further flow in the aggregate and return the CAS to the component that passed the CAS into the aggregate, or if a child-CAS, passed the child's parent-CAS into the aggregate.
FinalStep(true) is used to stop a child-CAS from being returned to the component. But the contract for an AE is CAS-in/CAS-out, which means a CAS coming into an AE must be returned. Eddie On Sun, Sep 6, 2015 at 9:59 AM, Richard Eckart de Castilho <[email protected]> wrote: > Hi Eddie, > > ok, but why can input CASes created outside the aggregate not be dropped? > > Cheers, > > -- Richard > > On 06.09.2015, at 15:58, Eddie Epstein <[email protected]> wrote: > > > Hi Torsten, > > > > The documentation says ... > > > > public FinalStep(boolean aForceCasToBeDropped) > > > > Creates a new FinalStep, and may indicate that a CAS should be dropped. > > This can only be used for CASes that are produced internally to the > > aggregate. > > It is an error to attempt to drop a CAS that was passed as input to the > > aggregate. > > > > The error must be because the drop is being applied to a CAS passed into > the > > aggregate from the outside, not created by a CasMultiplier inside the > > aggregate. > > > > Eddie > > > > > > On Wed, Sep 2, 2015 at 4:22 PM, Zesch, Torsten <[email protected] > > > > wrote: > > > >> Hi all, > >> > >> I'm trying to implement a FlowController that drops CASes matching > certain > >> critera. The FlowController is defined on an inner AAE which sets > >> casproduced to true. The inner AAE resides in an outer AAE which > contains > >> additional processing before and after the inner AAE. > >> > >> Reader -> Outer AAE { ProcŠ Inner AAE { FlowController } ProcŠ Consumer} > >> The aggregate receives various input CASes and is supposed to drop some > >> but not others. When I try to drop a CAS in my FlowController now, I get > >> the error > >> > >> Caused by: > org.apache.uima.analysis_engine.AnalysisEngineProcessException: > >> The FlowController attempted to drop a CAS that was passed as input to > the > >> Aggregate AnalysisEngine containing that FlowController. The only CASes > >> that may be dropped are those that are created within the same Aggregate > >> AnalysisEngine as the FlowController. > >> > >> How can I drop CASes using a FlowController such that they do not > proceed > >> in the outer aggregate? > >> > >> > >> thanks, > >> Torsten > >
