+1 sounds right to me.. -Marshall
Adam Lally (JIRA) wrote:
Annotators are not prevented from calling CAS.release()
--------------------------------------------------------
Key: UIMA-437
URL: https://issues.apache.org/jira/browse/UIMA-437
Project: UIMA
Issue Type: Bug
Components: Core Java Framework
Reporter: Adam Lally
Assignee: Marshall Schor
Fix For: 2.2
Annotators are prohibited from calling CAS.reset() but not CAS.release().
Since release() in turn calls reset(), previously this was effectively prohibited as
well. However, Marshall undid that in his recent work - making release()
"unlock" the CAS prohibited functions.
This was done to allow CAS Mutipliers to release the CAS - which we currently
say is a best practice when an error occurs in a CAS Multiplier.
So I think CAS Multipliers need to be allowed to call release() on CASes that
they obtain from the CAS pool. But analysis components (either annotators or
CAS multipliers) should not be allowed to release() CASes passed to their
process() methods.