You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by fm...@apache.org on 2008/08/28 16:03:47 UTC

svn commit: r689826 - /felix/trunk/bundlerepository/src/main/java/org/apache/felix/bundlerepository/ResourceImpl.java

Author: fmeschbe
Date: Thu Aug 28 07:03:47 2008
New Revision: 689826

URL: http://svn.apache.org/viewvc?rev=689826&view=rev
Log:
FELIX-108 Prevent NullPointerException if a locally installed bundle
does not have a Bundle-SymbolicName or version

Modified:
    felix/trunk/bundlerepository/src/main/java/org/apache/felix/bundlerepository/ResourceImpl.java

Modified: felix/trunk/bundlerepository/src/main/java/org/apache/felix/bundlerepository/ResourceImpl.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundlerepository/src/main/java/org/apache/felix/bundlerepository/ResourceImpl.java?rev=689826&r1=689825&r2=689826&view=diff
==============================================================================
--- felix/trunk/bundlerepository/src/main/java/org/apache/felix/bundlerepository/ResourceImpl.java (original)
+++ felix/trunk/bundlerepository/src/main/java/org/apache/felix/bundlerepository/ResourceImpl.java Thu Aug 28 07:03:47 2008
@@ -67,16 +67,24 @@
 
     public boolean equals(Object o)
     {
+        if (getSymbolicName() == null || getVersion() == null)
+        {
+            return this == o;
+        }
         if (o instanceof Resource)
         {
-            return ((Resource) o).getSymbolicName().equals(getSymbolicName())
-                && ((Resource) o).getVersion().equals(getVersion());
+            return getSymbolicName().equals(((Resource) o).getSymbolicName())
+                && getVersion().equals(((Resource) o).getVersion());
         }
         return false;
     }
 
     public int hashCode()
     {
+        if (getSymbolicName() == null || getVersion() == null)
+        {
+            return super.hashCode();
+        }
         return getSymbolicName().hashCode() ^ getVersion().hashCode();
     }