On 8/12/2010 5:38 PM, Adam Lally wrote: > 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.
This seems more correct to me, also. -Marshall > -Adam >
