[ 
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)

Reply via email to