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 2011/05/20 10:53:03 UTC
svn commit: r1125283 -
/sling/trunk/installer/providers/jcr/src/main/java/org/apache/sling/installer/provider/jcr/impl/JcrInstaller.java
Author: cziegeler
Date: Fri May 20 08:53:03 2011
New Revision: 1125283
URL: http://svn.apache.org/viewvc?rev=1125283&view=rev
Log:
Only invoke installer if really something changed
Modified:
sling/trunk/installer/providers/jcr/src/main/java/org/apache/sling/installer/provider/jcr/impl/JcrInstaller.java
Modified: sling/trunk/installer/providers/jcr/src/main/java/org/apache/sling/installer/provider/jcr/impl/JcrInstaller.java
URL: http://svn.apache.org/viewvc/sling/trunk/installer/providers/jcr/src/main/java/org/apache/sling/installer/provider/jcr/impl/JcrInstaller.java?rev=1125283&r1=1125282&r2=1125283&view=diff
==============================================================================
--- sling/trunk/installer/providers/jcr/src/main/java/org/apache/sling/installer/provider/jcr/impl/JcrInstaller.java (original)
+++ sling/trunk/installer/providers/jcr/src/main/java/org/apache/sling/installer/provider/jcr/impl/JcrInstaller.java Fri May 20 08:53:03 2011
@@ -482,7 +482,7 @@ public class JcrInstaller implements Eve
// Rescan WatchedFolders if needed
final boolean scanWf = WatchedFolder.getRescanTimer().expired();
- if(scanWf) {
+ if (scanWf) {
session.refresh(false);
didRefresh = true;
for(WatchedFolder wf : watchedFolders) {
@@ -492,16 +492,25 @@ public class JcrInstaller implements Eve
WatchedFolder.getRescanTimer().reset();
counters[SCAN_FOLDERS_COUNTER]++;
final WatchedFolder.ScanResult sr = wf.scan();
- logger.info("Registering resource with OSGi installer: {}",sr.toAdd);
- logger.info("Removing resource from OSGi installer: {}", sr.toRemove);
- installer.updateResources(URL_SCHEME, sr.toAdd.toArray(new InstallableResource[sr.toAdd.size()]),
+ boolean toDo = false;
+ if ( sr.toAdd.size() > 0 ) {
+ logger.info("Registering resource with OSGi installer: {}",sr.toAdd);
+ toDo = true;
+ }
+ if ( sr.toRemove.size() > 0 ) {
+ logger.info("Removing resource from OSGi installer: {}", sr.toRemove);
+ toDo = true;
+ }
+ if ( toDo ) {
+ installer.updateResources(URL_SCHEME, sr.toAdd.toArray(new InstallableResource[sr.toAdd.size()]),
sr.toRemove.toArray(new String[sr.toRemove.size()]));
+ }
}
}
// Update list of WatchedFolder if we got any relevant events,
// or if there were any WatchedFolder events
- if(scanWf || updateFoldersListTimer.expired()) {
+ if (scanWf || updateFoldersListTimer.expired()) {
if (!didRefresh) {
session.refresh(false);
didRefresh = true;
@@ -509,14 +518,17 @@ public class JcrInstaller implements Eve
updateFoldersListTimer.reset();
counters[UPDATE_FOLDERS_LIST_COUNTER]++;
final List<String> toRemove = updateFoldersList();
- logger.info("Removing resource from OSGi installer (folder deleted): {}", toRemove);
- installer.updateResources(URL_SCHEME, null,
- toRemove.toArray(new String[toRemove.size()]));
+ if ( toRemove.size() > 0 ) {
+ logger.info("Removing resource from OSGi installer (folder deleted): {}", toRemove);
+ installer.updateResources(URL_SCHEME, null,
+ toRemove.toArray(new String[toRemove.size()]));
+ }
}
try {
Thread.sleep(RUN_LOOP_DELAY_MSEC);
} catch(InterruptedException ignore) {
+ // ignore
}
} catch(Exception e) {