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] [Updated] (UIMA-5601) uv3: CasCopier problems with custom subclasses of DocumentAnnotation
Date Mon, 02 Oct 2017 19:41:00 GMT

     [ https://issues.apache.org/jira/browse/UIMA-5601?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Richard Eckart de Castilho updated UIMA-5601:
---------------------------------------------
    Description: 
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}


  was:
It seems as if there may be a bug in the way that CasCopier handles the documen annotation.


E.g. it seems that `isDocumentAnnotation` isn't 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}

I still need to investigate more. Right now, I only know that some DKPro Core tests that make
use of the CasCopier end up with two DocumentMetaData annotations (a subtype of DocumentAnnotation)
in the CAS instead of 1 (which would be expected).


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

Mime
View raw message