uima-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <...@uima.apache.org>
Subject [jira] [Commented] (UIMA-5793) FSUtil.getFeature fails when called with Object.class on multi-valued features
Date Sat, 07 Jul 2018 23:03:00 GMT

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

ASF GitHub Bot commented on UIMA-5793:

reckart opened a new pull request #12: [UIMA-5793] FSUtil.getFeature fails when called with
Object.class on multi-valued features
URL: https://github.com/apache/uima-uimafit/pull/12
   - Support retrieving values using Object as class
   - Also support various additional ways of retrieving feature values using suitable target
   - Added more tests

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:

> FSUtil.getFeature fails when called with Object.class on multi-valued features
> ------------------------------------------------------------------------------
>                 Key: UIMA-5793
>                 URL: https://issues.apache.org/jira/browse/UIMA-5793
>             Project: UIMA
>          Issue Type: Improvement
>          Components: uimaFIT
>            Reporter: Richard Eckart de Castilho
>            Assignee: Richard Eckart de Castilho
>            Priority: Minor
>             Fix For: 3.0.0uimaFIT, 2.5.0uimaFIT
> When FSUtil.getFeature(fs, feature, type) is called on a feature that is multi-valued
and type is Object, then the method fails with a message like
> {noformat}
> Unable to coerce value of feature [de.tudarmstadt.ukp.inception.api.kb.type.Fact:object]
with type [de.tudarmstadt.ukp.inception.api.kb.type.FactObjectLink[]] into [java.lang.Object]
> {noformat}
> This is because Object is no an array or collection type. However, FSUtil.getFeatures
should handle this as a special case. When the Object is used, basically any return value
is acceptable. FSUtil should have defined behavior here, e.g. returning either an array or
a list representation of the multi-value.
> This is what current work-around code looks like:
> {code}
>     private Object getValue(FeatureStructure fs, AnnotationFeature aFeature)
>     {
>         Object value;
>         Feature f = fs.getType().getFeatureByBaseName(aFeature.getName());
>         if (f.getRange().isPrimitive()) {
>             value = FSUtil.getFeature(fs, aFeature.getName(), Object.class);
>         }
>         else if (FSUtil.isMultiValuedFeature(fs, f)) {
>             value = FSUtil.getFeature(fs, aFeature.getName(), List.class);
>         }
>         else {
>             value = FSUtil.getFeature(fs, aFeature.getName(), FeatureStructure.class);
>         }
>         return value;
>     }
> {code}

This message was sent by Atlassian JIRA

View raw message