You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by bd...@apache.org on 2008/11/17 16:10:37 UTC
svn commit: r718257 - in
/incubator/sling/trunk/extensions/jcrinstall/src/main/java/org/apache/sling/jcr/jcrinstall/jcr/impl:
RepositoryObserver.java WatchedFolder.java
Author: bdelacretaz
Date: Mon Nov 17 07:10:37 2008
New Revision: 718257
URL: http://svn.apache.org/viewvc?rev=718257&view=rev
Log:
SLING-735 - Sort the list of WatchedFolders fore more predictable install sequences
Modified:
incubator/sling/trunk/extensions/jcrinstall/src/main/java/org/apache/sling/jcr/jcrinstall/jcr/impl/RepositoryObserver.java
incubator/sling/trunk/extensions/jcrinstall/src/main/java/org/apache/sling/jcr/jcrinstall/jcr/impl/WatchedFolder.java
Modified: incubator/sling/trunk/extensions/jcrinstall/src/main/java/org/apache/sling/jcr/jcrinstall/jcr/impl/RepositoryObserver.java
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/extensions/jcrinstall/src/main/java/org/apache/sling/jcr/jcrinstall/jcr/impl/RepositoryObserver.java?rev=718257&r1=718256&r2=718257&view=diff
==============================================================================
--- incubator/sling/trunk/extensions/jcrinstall/src/main/java/org/apache/sling/jcr/jcrinstall/jcr/impl/RepositoryObserver.java (original)
+++ incubator/sling/trunk/extensions/jcrinstall/src/main/java/org/apache/sling/jcr/jcrinstall/jcr/impl/RepositoryObserver.java Mon Nov 17 07:10:37 2008
@@ -30,6 +30,8 @@
import java.util.List;
import java.util.Properties;
import java.util.Set;
+import java.util.SortedSet;
+import java.util.TreeSet;
import javax.jcr.Item;
import javax.jcr.Node;
@@ -66,7 +68,7 @@
*/
public class RepositoryObserver implements Runnable, BundleListener {
- protected Set<WatchedFolder> folders;
+ protected SortedSet<WatchedFolder> folders;
private RegexpFilter folderNameFilter;
private RegexpFilter filenameFilter;
private ResourceOverrideRules roRules;
@@ -151,7 +153,7 @@
}
// Find folders to watch
- folders = new HashSet<WatchedFolder>();
+ folders = new TreeSet<WatchedFolder>();
for(String root : roots) {
folders.addAll(findWatchedFolders(root));
}
Modified: incubator/sling/trunk/extensions/jcrinstall/src/main/java/org/apache/sling/jcr/jcrinstall/jcr/impl/WatchedFolder.java
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/extensions/jcrinstall/src/main/java/org/apache/sling/jcr/jcrinstall/jcr/impl/WatchedFolder.java?rev=718257&r1=718256&r2=718257&view=diff
==============================================================================
--- incubator/sling/trunk/extensions/jcrinstall/src/main/java/org/apache/sling/jcr/jcrinstall/jcr/impl/WatchedFolder.java (original)
+++ incubator/sling/trunk/extensions/jcrinstall/src/main/java/org/apache/sling/jcr/jcrinstall/jcr/impl/WatchedFolder.java Mon Nov 17 07:10:37 2008
@@ -46,7 +46,7 @@
* to it (non-recursively) and sending the appropriate messages
* to the OsgiController service.
*/
-class WatchedFolder implements EventListener {
+class WatchedFolder implements EventListener, Comparable<Object> {
private final String path;
private final OsgiController controller;
private long nextScan;
@@ -112,8 +112,16 @@
final WatchedFolder other = (WatchedFolder) obj;
return path.equals(other.path);
}
+
+ public int compareTo(Object obj) {
+ if (!(obj instanceof WatchedFolder)) {
+ return 1;
+ }
+ final WatchedFolder other = (WatchedFolder) obj;
+ return path.compareTo(other.path);
+ }
- @Override
+ @Override
public int hashCode() {
return path.hashCode();
}