[ 
https://issues.apache.org/jira/browse/UIMA-5601?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16190382#comment-16190382
 ] 

Marshall Schor edited comment on UIMA-5601 at 10/3/17 9:31 PM:
---------------------------------------------------------------

Current proposal:
# CasCopier copy of sofa, uses special api when setting the sofa string, so 
that no update-document-annotation side effect occurs
# no special handling of copying of types that are document annotation - done 
just like any other type.

I think this satisfies all use cases... I don't see any dependency on how the 
sofa string is set. Did I miss something?

Re: exception for multiple creations of instances of (subtypes-of) 
DocumentAnnotation - not sure this is worth doing...


was (Author: schor):
Current proposal:
# CasCopier copy of sofa, uses special api when setting the sofa string, so 
that no update-document-annotation side effect occurs
# no special handling of copying of types that are document annotation - done 
just like any other type.

I think this satisfies all use cases... Did I miss some?

Re: exception for multiple creations of instances of (subtypes-of) 
DocumentAnnotation - not sure this is worth doing...

> 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