You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2015/01/05 11:11:41 UTC

svn commit: r1649493 - /sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/OsgiInstallerImpl.java

Author: cziegeler
Date: Mon Jan  5 10:11:41 2015
New Revision: 1649493

URL: http://svn.apache.org/r1649493
Log:
SLING-4279 : Events through the ResourceChangeListener might not be processed immediately

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

Modified: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/OsgiInstallerImpl.java
URL: http://svn.apache.org/viewvc/sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/OsgiInstallerImpl.java?rev=1649493&r1=1649492&r2=1649493&view=diff
==============================================================================
--- sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/OsgiInstallerImpl.java (original)
+++ sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/OsgiInstallerImpl.java Mon Jan  5 10:11:41 2015
@@ -102,6 +102,9 @@ implements OsgiInstaller, ResourceChange
     /** Removed resources from clients. */
     private final Set<String> urlsToRemove = new HashSet<String>();
 
+    /** Update infos to process. */
+    private final List<UpdateInfo> updateInfos = new ArrayList<OsgiInstallerImpl.UpdateInfo>();
+
     /** Are we still activate? */
     private volatile boolean active = true;
 
@@ -310,7 +313,10 @@ implements OsgiInstaller, ResourceChange
      * This method should only be invoked from within a synchronized (newResources) block!
      */
     private boolean hasNewResources() {
-        return !this.newResources.isEmpty() || !this.newResourcesSchemes.isEmpty() || !this.urlsToRemove.isEmpty();
+        return !this.newResources.isEmpty()
+            || !this.newResourcesSchemes.isEmpty()
+            || !this.urlsToRemove.isEmpty()
+            || !this.updateInfos.isEmpty();
     }
 
     /**
@@ -935,8 +941,6 @@ implements OsgiInstaller, ResourceChange
         public Map<String, Object> attributes;
     }
 
-    private final List<UpdateInfo> updateInfos = new ArrayList<OsgiInstallerImpl.UpdateInfo>();
-
     /**
      * Store the changes in an internal queue, the queue is processed in {@link #processUpdateInfos()}.
      * @see org.apache.sling.installer.api.ResourceChangeListener#resourceAddedOrUpdated(java.lang.String, java.lang.String, java.io.InputStream, java.util.Dictionary, Map)