How about the filter adds a FeatureStructure indicating that the CAS should be dropped. Then when the INNER_AAE returns the CAS, the flow controller in the OUTER_AAE sends the CAS to FinalStep?
Eddie On Sun, Sep 6, 2015 at 11:08 AM, Richard Eckart de Castilho <r...@apache.org> wrote: > Eddie, > > we (Torsten and I) have the case that a reader produces a number of CASes > and we want to filter out some of them because they do not match a given > criteria. > > The pipeline/flow structure we are using looks as follows: > > READER -> OUTER_AAE { AEs..., INNER_AAE { FILTER }, AEs..., CONSUMER } > > READER, OUTER_AAE, AEs and CONSUMER are assumed to be fixed. > > INNER_AAE is meant to be an extension point and the FILTER inside it > is meant to remove all CASes that do not match our criteria such > that those do not reach the CONSUMER. > > So we do explicitly not want certain CASes to continue the processing path. > > -- Richard > > On 06.09.2015, at 17:04, Eddie Epstein <eaepst...@gmail.com> wrote: > > > Richard, > > > > In general the input CAS must continue down some processing path. > > Where is it stored and what triggers its continued processing if it is > not > > returned? > > > > Eddie > > > > On Sun, Sep 6, 2015 at 10:28 AM, Richard Eckart de Castilho < > r...@apache.org> > > wrote: > > > >> Hi Eddie, > >> > >> in most cases, we use process(CAS) and in such a case what you describe > >> is very logical. > >> > >> However, when setting outputsNewCases to true, doesn't the contract > change? > >> My understanding is that processAndOutputNewCASes(CAS) is being > >> used and in such a case. Why shouldn't it be ok that the iterator > >> returned by processAndOutputNewCASes does not contain the input CAS? > >> > >> Cheers, > >> > >> -- Richard > >> > >> On 06.09.2015, at 16:21, Eddie Epstein <eaepst...@gmail.com> wrote: > >> > >>> 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 < > >> r...@apache.org> > >>> wrote: > >>> > >>>> Hi Eddie, > >>>> > >>>> ok, but why can input CASes created outside the aggregate not be > >> dropped? > >>>> > >>>> Cheers, > >>>> > >>>> -- Richard > >> > >> > >