2009/4/24 岡野 真一 <[email protected]>: > 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.
Looks reasonable. Why not open a bug at bugs.eclipse.org? Alex _______________________________________________ equinox-dev mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/equinox-dev
