Type System Merging does not work consistently when a type is declared twice
with different supertypes
------------------------------------------------------------------------------------------------------
Key: UIMA-826
URL: https://issues.apache.org/jira/browse/UIMA-826
Project: UIMA
Issue Type: Bug
Components: Core Java Framework
Affects Versions: 2.2.1
Reporter: Adam Lally
Assignee: Adam Lally
Fix For: 2.2.2
When type system merging is done, if the same type is declared twice with
different supertypes, then the result depends on the order in which the types
are declared.
For example, given the type system descriptors:
TS1.xml:
<typeSystemDescription xmlns="http://uima.apache.org/resourceSpecifier">
<types>
<typeDescription>
<name>Sub</name>
<description>Example type.</description>
<supertypeName>uima.tcas.Annotation</supertypeName>
</typeDescription>
</types>
</typeSystemDescription>
TS2.xml:
<typeSystemDescription xmlns="http://uima.apache.org/resourceSpecifier">
<types>
<typeDescription>
<name>Sub</name>
<description>Example type.</description>
<supertypeName>Super</supertypeName>
</typeDescription>
<typeDescription>
<name>Super</name>
<description>Example type.</description>
<supertypeName>uima.tcas.Annotation</supertypeName>
</typeDescription>
</types>
</typeSystemDescription>
If you merge them in the order TS1.xml, TS2.xml it will fail with the error
message: "The Type Sub is declared twice, with incompatible supertypes Super
and uima.tcas.Annotation". But if you merge them in the order TS2.xml, TS1.xml
it will succeed!
The intended behavior is that the merge should succeed and the resulting
supertype should be "Super" (the lower of the two declared supertypes in the
type hierarchy). It is only supposed to fail if the different declared
supertypes are not in the same inheritance chain (neither inherits from the
other). But that code is broken in the case where the two subtype declarations
are processed before the supertype declarations.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.