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