Thanks, Kevin and BJ. On Tue, 20 Jun 2006 14:49:44 -0400 BJ Hargrave <[EMAIL PROTECTED]> wrote:
BJ> > As far as I understand, ServiceReference.getPropertyKeys must return not BJ> > Constants.SERVICE_ID="service.id" but "Service.Id". BJ> BJ> No. You have it reversed. The last key set was done by the framework BJ> during the processing of registerService and it used the value of BJ> Constants.SERVICE_ID. The last set was done by the framework and not by BJ> the user. The spec states that these keys will be overwritten by the BJ> framework when registering a service. I misunderstand the meaning of "last". That's fine !! That's what I want:-) BJ> > Q2. Why did OSGi Alliance decide the spec as "A Framework must return BJ> > the key in ServiceReference.getPropertyKeys in exactly the same case as BJ> > it was last set." ? (why not decided as "return keys in lower case", at BJ> > least for Constants.*** keys) BJ> BJ> The service properties are case-preserving with case-insensitive lookup. BJ> In hindsight, the expert group regrets that decision. We should have gone BJ> case-sensitive. But it is too late to change now without risking breaking BJ> backwards compatibility. BJ> BJ> As we have created and will create new specification we have chosen and BJ> will choose case-sensitive where possible. I understand. I would like to clarify one more point. How about other keys assigned by the specification, which is determined by not the framework but a bundle developer? (e.g. service.ranking, service.vendor, ...) In other words, if a bundle registers with "Service.Ranking" as a key, what should ServiceReference.getPropertyKeys() return? "service.ranking" or "Service.Ranking". --------------------- NTT Cyber Solutions Laboratories Ikuo YAMASAKI E-mail: [EMAIL PROTECTED] _______________________________________________ osgi-dev mailing list osgi-dev@bundles.osgi.org http://bundles.osgi.org/mailman/listinfo/osgi-dev