I opened bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=273593 to track this
Tom
|------------>
| From: |
|------------>
>--------------------------------------------------------------------------------------------------------------------------------------------|
|BJ Hargrave/Austin/i...@ibmus
|
>--------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| To: |
|------------>
>--------------------------------------------------------------------------------------------------------------------------------------------|
|Equinox development mailing list <[email protected]>
|
>--------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| Date: |
|------------>
>--------------------------------------------------------------------------------------------------------------------------------------------|
|04/24/2009 07:49 AM
|
>--------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| Subject: |
|------------>
>--------------------------------------------------------------------------------------------------------------------------------------------|
|Re: [equinox-dev] ServiceReference.compareTo(Object)
|
>--------------------------------------------------------------------------------------------------------------------------------------------|
Please open a bug in the bugzilla system for this.
--
BJ Hargrave
Senior Technical Staff office: +1 386 848
Member, IBM 1781
OSGi Fellow and CTO of the mobile: +1 386 848
OSGi Alliance 3788
[email protected]
From: 岡野 真一 <[email protected]>
To: [email protected]
Date: 2009/04/24 05:37
Subject: [equinox-dev] ServiceReference.compareTo(Object)
Sent by: [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.
Thanks.
--
-------------------------------------------------------------
Shinichi Okano ([email protected])
_______________________________________________
equinox-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/equinox-dev
_______________________________________________
equinox-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/equinox-dev
<<inline: graycol.gif>>
<<inline: ecblank.gif>>
_______________________________________________ equinox-dev mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/equinox-dev
