uima-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Richard Eckart de Castilho (JIRA)" <...@uima.apache.org>
Subject [jira] [Commented] (UIMA-5601) uv3: CasCopier problems with custom subclasses of DocumentAnnotation
Date Tue, 03 Oct 2017 21:13:00 GMT

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

Richard Eckart de Castilho commented on UIMA-5601:

In the DKPro Core scenario, the target CAS is obtained, initialized with the custom document
annotation (DocumentMetaData) and also the soft string in the target CAS is set. Only then
the CasCopier is created and used to copy FSes. So I guess for that case, your suggestion
would work.

I'm unsure about making behavior depending on whether the sofa string has already been set
or not. I think I'd prefer a consistent final result irrespective of how the sofa string is
set. It feels rather unrelated to the document annotation.

> 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
> * 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

View raw message