You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by ri...@apache.org on 2009/02/18 18:27:51 UTC
svn commit: r745581 -
/felix/trunk/framework/src/main/java/org/apache/felix/framework/ServiceRegistrationImpl.java
Author: rickhall
Date: Wed Feb 18 17:27:51 2009
New Revision: 745581
URL: http://svn.apache.org/viewvc?rev=745581&view=rev
Log:
Modified service reference comparison to check whether rank is an Integer and
if not set the rank to zero. (FELIX-948)
Modified:
felix/trunk/framework/src/main/java/org/apache/felix/framework/ServiceRegistrationImpl.java
Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/ServiceRegistrationImpl.java
URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/ServiceRegistrationImpl.java?rev=745581&r1=745580&r2=745581&view=diff
==============================================================================
--- felix/trunk/framework/src/main/java/org/apache/felix/framework/ServiceRegistrationImpl.java (original)
+++ felix/trunk/framework/src/main/java/org/apache/felix/framework/ServiceRegistrationImpl.java Wed Feb 18 17:27:51 2009
@@ -461,12 +461,18 @@
return 0; // same service
}
- Integer rank = (Integer) getProperty(Constants.SERVICE_RANKING);
- Integer otherRank = (Integer) other.getProperty(Constants.SERVICE_RANKING);
+ Object rankObj = (Integer) getProperty(Constants.SERVICE_RANKING);
+ Object otherRankObj = (Integer) other.getProperty(Constants.SERVICE_RANKING);
// If no rank, then spec says it defaults to zero.
- rank = (rank == null) ? new Integer(0) : rank;
- otherRank = (otherRank == null) ? new Integer(0) : otherRank;
+ rankObj = (rankObj == null) ? new Integer(0) : rankObj;
+ otherRankObj = (otherRankObj == null) ? new Integer(0) : otherRankObj;
+
+ // If rank is not Integer, then spec says it defaults to zero.
+ Integer rank = (rankObj instanceof Integer)
+ ? new Integer(0) : (Integer) rankObj;
+ Integer otherRank = (otherRankObj instanceof Integer)
+ ? new Integer(0) : (Integer) otherRankObj;
// Sort by rank in ascending order.
if (rank.compareTo(otherRank) < 0)