Author: cziegeler
Date: Sun Jun  3 13:48:45 2012
New Revision: 1345673

URL: http://svn.apache.org/viewvc?rev=1345673&view=rev
Log:
SLING-2500 : NPE in SortingServiceTracker#getSortedServices

Modified:
    
sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/SortingServiceTracker.java

Modified: 
sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/SortingServiceTracker.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/SortingServiceTracker.java?rev=1345673&r1=1345672&r2=1345673&view=diff
==============================================================================
--- 
sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/SortingServiceTracker.java
 (original)
+++ 
sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/SortingServiceTracker.java
 Sun Jun  3 13:48:45 2012
@@ -118,19 +118,21 @@ public class SortingServiceTracker<T>
      * Return a sorted list of the services references.
      */
     public List<ServiceReference> getSortedServiceReferences() {
+        List<ServiceReference> result = this.sortedReferences;
         if ( this.sortedReferences == null || this.lastRefCount < 
this.getTrackingCount() ) {
             this.lastRefCount = this.getTrackingCount();
             final ServiceReference[] references = this.getServiceReferences();
             if ( references == null || references.length == 0 ) {
-                this.sortedReferences = Collections.emptyList();
+                result = Collections.emptyList();
             } else {
                 Arrays.sort(references);
-                this.sortedReferences = new ArrayList<ServiceReference>();
+                result = new ArrayList<ServiceReference>();
                 for(int i=0;i<references.length;i++) {
-                    this.sortedReferences.add(references[references.length - 1 
- i]);
+                    result.add(references[references.length - 1 - i]);
                 }
             }
+            this.sortedReferences = result;
         }
-        return this.sortedReferences;
+        return result;
     }
 }


Reply via email to