On Thu, Aug 12, 2010 at 3:55 PM, Marshall Schor <[email protected]> wrote:
> While trying to address the issue that resulted in re-opening > > https://issues.apache.org/jira/browse/UIMA-1840 > > I've discovered several corner cases where the impl may not be doing the > right thing. > > Here's one: > > ResultSpec has typeXXX:featYYY > > type system has subtype of typeXXX, call it typeXXXsub > > In this case, it seems to me that containsFeature(typeXXXsub:featYYY) > should return true, but I think it will return false in our current impl. > Returning true seems correct to me. > ======== > > Another case: > > ResultSpec has typeXXX, allFeatures > > In this case, it seem also that containsFeature(typeXXXsub:featYYY) could > return true, but I can also see an argument where it would not. > > Argument for returning true: the designation of allFeatures for typeXXX is > thought to mean all features for this type, and all features for any > subtypes, including those features introduced only in the subtypes. > > Argument for returning false: the designation of allFeatures for typeXXX is > thought to mean all features just of this type. If subtypes introduce > additional features, those are not covered by this specification. > > This may be a nit, which no one is (currently) using, but I'd like to have > a clear definition for it and make the impl conform. > I vote for the latter. True should be returned only if featYYY is defined in typeXXX. -Adam
