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)