Please open a bug in the bugzilla system for this. -- BJ Hargrave Senior Technical Staff Member, IBM OSGi Fellow and CTO of the OSGi Alliance hargr...@us.ibm.com
office: +1 386 848 1781 mobile: +1 386 848 3788 From: 岡野 真一 <okano-shini...@sei.co.jp> To: equinox-dev@eclipse.org Date: 2009/04/24 05:37 Subject: [equinox-dev] ServiceReference.compareTo(Object) Sent by: equinox-dev-boun...@eclipse.org Hi all ! I am using Equinox 3.4.2, and I thik I found a bug. The Javadoc of "org.osgi.framework.ServiceReference.compareTo(Object)" says the following: This ServiceReference is less than the specified ServiceReference if it has a lower service ranking and greater if it has a higher service ranking. Otherwise, if this ServiceReference and the specified ServiceReference have the same service ranking, this ServiceReference is less than the specified ServiceReference if it has a higher service id and greater if it has a lower service id. But, org.eclipse.osgi.framework.internal.core.ServiceReferenceImpl.compareTo(Object) (version=3.4.3.R34x_v20081215-1030) is implemented the following. if (this.getRanking() != other.getRanking()) return this.getRanking() > other.getRanking() ? -1 : 1; return this.getId() == other.getId() ? 0 : this.getId() > other.getId() ? 1 : -1; I think the following is correct. if (this.getRanking() != other.getRanking()) return this.getRanking() > other.getRanking() ? 1 : -1; // <-- return this.getId() == other.getId() ? 0 : this.getId() > other.getId() ? -1 : 1; // <<- I'm sorry if I have a mistake, or if it had already been discussed. Thanks. -- ------------------------------------------------------------- Shinichi Okano (okano-shini...@sei.co.jp) _______________________________________________ equinox-dev mailing list equinox-dev@eclipse.org https://dev.eclipse.org/mailman/listinfo/equinox-dev
_______________________________________________ equinox-dev mailing list equinox-dev@eclipse.org https://dev.eclipse.org/mailman/listinfo/equinox-dev