[
https://issues.apache.org/jira/browse/UIMA-5102?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15477329#comment-15477329
]
Marshall Schor commented on UIMA-5102:
--------------------------------------
Yes, that was added sometime back, because it's an error to add a FS which is a
subtype of AnnotationBase (and therefore has references to offsets in the sofa)
to an index of a different view (where those offsets would be invalid).
> auto set missing AnnotationBase sofaRef feature
> -----------------------------------------------
>
> Key: UIMA-5102
> URL: https://issues.apache.org/jira/browse/UIMA-5102
> Project: UIMA
> Issue Type: Improvement
> Components: Core Java Framework
> Affects Versions: 2.9.0SDK
> Reporter: Marshall Schor
> Assignee: Marshall Schor
> Priority: Minor
> Fix For: 3.0.0SDKexp, 2.9.1SDK
>
>
> This Jira describes a possible approach to automatically recovering from an
> error condition, which might be implemented.
> Sometimes, the sofa feature of a FS which is a subtype of AnnotationBase is
> missing (is null) when the FS is being added to the indexes of some
> particular CAS View. One way this can happen is during (lenient)
> deserialization of XMI or XCAS CASes, after some update has occurred to the
> type system, which changes a type from not being a subtype of AnnotationBase,
> to having that as a supertype.
> In this case (where the sofa reference is null), instead of throwing an
> exception, set the sofa reference to the likely proper value - the sofa that
> corresponds to the view it is being indexed in. If there is no sofa for that
> view (unlikely but possible), throw an exception.
> If this recovery is done, output a diminishing frequency log message about
> it.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)