You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@uima.apache.org by "Marshall Schor (JIRA)" <de...@uima.apache.org> on 2011/01/27 23:39:44 UTC

[jira] Updated: (UIMA-2022) APIs for adding new feature to type are inconsistent in defaulting multipleReferencesAllowed, leading to merge failures

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

Marshall Schor updated UIMA-2022:
---------------------------------

    Description: 
The method addFeature(...) on TypeSystemImpl, when the boolean multipleReferencesAllowed is not specified as an argument, default this to "true".

The method addFeature(...) on an instance of TypeDescriptionImpl, when multipleReferencesAllowed is not specified as an argument, default this to "null".

CasCreationUtils mergeFeatures(...) throws a ResourceInitializationException saying INCOMPATIBLE_MULTI_REFS if a feature is has multipleReferencesAllowed as true in one, and "null" in the other.  The comment in the code says that "false" is the default.

The use case driving this is reported in  http://mail-archives.apache.org/mod_mbox/uima-user/201101.mbox/%3C267885741.1859849.1296090121503.JavaMail.root@sz0143a.emeryville.ca.mail.comcast.net%3E.

There are multiple ways to fix this. The actual type stores the value of multipleReferencesAllowed as a "boolean", so "null" is not an option. So, we can't change the value of the multipleReferencesAllowed default to match what happens in TypeDescriptionImpl, namely, to set the value to "null".

Try changing the merge code to allow merging if the feature is not an array or a List (because multipleReferencesAllowed is only used for those cases).

  was:
The method addFeature(...) on TypeSystemImpl, when the boolean multipleReferencesAllowed is not specified as an argument, default this to "true".

The method addFeature(...) on an instance of TypeDescriptionImpl, when multipleReferencesAllowed is not specified as an argument, default this to "null".

CasCreationUtils mergeFeatures(...) throws a ResourceInitializationException saying INCOMPATIBLE_MULTI_REFS if a feature is has multipleReferencesAllowed as true in one, and "null" in the other.  The comment in the code says that "false" is the default.

The use case driving this is reported in  http://mail-archives.apache.org/mod_mbox/uima-user/201101.mbox/%3C267885741.1859849.1296090121503.JavaMail.root@sz0143a.emeryville.ca.mail.comcast.net%3E.

There are multiple ways to fix this. Change the value of the multipleReferencesAllowed default to match what happens in TypeDescriptionImpl, namely, to set the value to "null".


> APIs for adding new feature to type are inconsistent in defaulting multipleReferencesAllowed, leading to merge failures
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: UIMA-2022
>                 URL: https://issues.apache.org/jira/browse/UIMA-2022
>             Project: UIMA
>          Issue Type: Bug
>          Components: Core Java Framework
>    Affects Versions: 2.3.1SDK
>            Reporter: Marshall Schor
>            Assignee: Marshall Schor
>
> The method addFeature(...) on TypeSystemImpl, when the boolean multipleReferencesAllowed is not specified as an argument, default this to "true".
> The method addFeature(...) on an instance of TypeDescriptionImpl, when multipleReferencesAllowed is not specified as an argument, default this to "null".
> CasCreationUtils mergeFeatures(...) throws a ResourceInitializationException saying INCOMPATIBLE_MULTI_REFS if a feature is has multipleReferencesAllowed as true in one, and "null" in the other.  The comment in the code says that "false" is the default.
> The use case driving this is reported in  http://mail-archives.apache.org/mod_mbox/uima-user/201101.mbox/%3C267885741.1859849.1296090121503.JavaMail.root@sz0143a.emeryville.ca.mail.comcast.net%3E.
> There are multiple ways to fix this. The actual type stores the value of multipleReferencesAllowed as a "boolean", so "null" is not an option. So, we can't change the value of the multipleReferencesAllowed default to match what happens in TypeDescriptionImpl, namely, to set the value to "null".
> Try changing the merge code to allow merging if the feature is not an array or a List (because multipleReferencesAllowed is only used for those cases).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.