[ https://issues.apache.org/jira/browse/UIMA-5601?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16190346#comment-16190346 ]
Marshall Schor edited comment on UIMA-5601 at 10/3/17 9:04 PM: --------------------------------------------------------------- Please read this with the understanding that it was written before I saw your comments :-) (Browser cache issue) Some other ideas: For CAS Copier, actions, we could disable the automatic updating of the document annotation instance when the sofa string is set. It would then be up to the user to copy the appropriate document annotation. For users wishing to create their own instance of subtype-of-documentAnnotation, they could be in charge of deleting first any existing document annotation (or subtype) from the CAS view, and deciding what (if any) of existing other instance's field's should be preserved in the new subtype-of-documentAnnotation. This fix would make minimal changes to UIMA - namely, only avoiding the automatic side-effect update for setting the sofa string when copying. I would lean toward this, I think. WDYT? was (Author: schor): some other ideas: For CAS Copier, actions, we could disable the automatic updating of the document annotation instance when the sofa string is set. It would then be up to the user to copy the appropriate document annotation. For users wishing to create their own instance of subtype-of-documentAnnotation, they could be in charge of deleting first any existing document annotation (or subtype) from the CAS view, and deciding what (if any) of existing other instance's field's should be preserved in the new subtype-of-documentAnnotation. This fix would make minimal changes to UIMA - namely, only avoiding the automatic side-effect update for setting the sofa string when copying. I would lean toward this, I think. WDYT? > uv3: CasCopier problems with custom subclasses of DocumentAnnotation > -------------------------------------------------------------------- > > Key: UIMA-5601 > URL: https://issues.apache.org/jira/browse/UIMA-5601 > Project: UIMA > Issue Type: Bug > Components: Core Java Framework > Affects Versions: 3.0.0SDK-beta > Reporter: Richard Eckart de Castilho > > It seems as if there may be a bug in the way that CasCopier handles the > documen annotation. > Specifically, it seems as if the CasCopier incorrectly handles the case where > the target CAS already contains a document annotation. In my case, I do: > * create the target CAS > * add a document annotation (DocumentMetaData extends DocumentAnnotation) to > the target CAS > * create the CasCopier with the source and target CAS > * copy several FSes but *not* the document annotation > Expected: > * target CAS contains 1 DocumentMetaData annotation > Actual > * target CAS contains 2 DocumentMetaData annotation > Also, it seems that `isDocumentAnnotation` may not able to handle it if a CAS > uses a custom subclass of DocumentAnnotation: > {noformat} > private <T extends FeatureStructure> boolean isDocumentAnnotation(T aFS) { > if (((TOP)aFS)._getTypeCode() != TypeSystemConstants.docTypeCode) { > return false; > } > if (srcCasDocumentAnnotation == null) { > srcCasDocumentAnnotation = > srcCasViewImpl.getDocumentAnnotationNoCreate(); > } > return aFS == srcCasDocumentAnnotation; > } > {noformat} -- This message was sent by Atlassian JIRA (v6.4.14#64029)