Author: cziegeler
Date: Fri Jul 23 06:35:21 2010
New Revision: 966986
URL: http://svn.apache.org/viewvc?rev=966986&view=rev
Log:
Fix path handling
Modified:
sling/trunk/installer/jcr/jcrinstall/src/main/java/org/apache/sling/jcr/jcrinstall/impl/FolderNameFilter.java
sling/trunk/installer/jcr/jcrinstall/src/main/java/org/apache/sling/jcr/jcrinstall/impl/JcrInstaller.java
Modified:
sling/trunk/installer/jcr/jcrinstall/src/main/java/org/apache/sling/jcr/jcrinstall/impl/FolderNameFilter.java
URL:
http://svn.apache.org/viewvc/sling/trunk/installer/jcr/jcrinstall/src/main/java/org/apache/sling/jcr/jcrinstall/impl/FolderNameFilter.java?rev=966986&r1=966985&r2=966986&view=diff
==============================================================================
---
sling/trunk/installer/jcr/jcrinstall/src/main/java/org/apache/sling/jcr/jcrinstall/impl/FolderNameFilter.java
(original)
+++
sling/trunk/installer/jcr/jcrinstall/src/main/java/org/apache/sling/jcr/jcrinstall/impl/FolderNameFilter.java
Fri Jul 23 06:35:21 2010
@@ -40,7 +40,7 @@ class FolderNameFilter {
private final String regexp;
private final RunMode runMode;
private final String [] rootPaths;
- private Map<String, Integer> rootPriorities = new HashMap<String,
Integer>();
+ private final Map<String, Integer> rootPriorities = new HashMap<String,
Integer>();
private final Logger log = LoggerFactory.getLogger(getClass());
/** getPriority computes priorities as follows: each root gets its own
base priority,
@@ -50,7 +50,7 @@ class FolderNameFilter {
public static final int RUNMODE_PRIORITY_BOOST = 1;
public static final int DEFAULT_ROOT_PRIORITY = 99;
- FolderNameFilter(String [] rootsConfig, String regexp, RunMode runMode) {
+ FolderNameFilter(final String [] rootsConfig, final String regexp, final
RunMode runMode) {
this.regexp = regexp;
this.pattern = Pattern.compile(regexp);
this.runMode = runMode;
@@ -77,7 +77,7 @@ class FolderNameFilter {
/**
* Return the list of root paths.
- * Every entry in the list ends with a slash
+ * Every entry in the list starts with a slash
*/
String [] getRootPaths() {
return rootPaths;
@@ -85,10 +85,10 @@ class FolderNameFilter {
static String cleanupRootPath(final String str) {
String result = str.trim();
- if(!result.startsWith("/")) {
+ if (!result.startsWith("/")) {
result = "/" + result;
}
- if(result.endsWith("/")) {
+ if (result.endsWith("/")) {
result = result.substring(0, result.length() - 1);
}
return result;
Modified:
sling/trunk/installer/jcr/jcrinstall/src/main/java/org/apache/sling/jcr/jcrinstall/impl/JcrInstaller.java
URL:
http://svn.apache.org/viewvc/sling/trunk/installer/jcr/jcrinstall/src/main/java/org/apache/sling/jcr/jcrinstall/impl/JcrInstaller.java?rev=966986&r1=966985&r2=966986&view=diff
==============================================================================
---
sling/trunk/installer/jcr/jcrinstall/src/main/java/org/apache/sling/jcr/jcrinstall/impl/JcrInstaller.java
(original)
+++
sling/trunk/installer/jcr/jcrinstall/src/main/java/org/apache/sling/jcr/jcrinstall/impl/JcrInstaller.java
Fri Jul 23 06:35:21 2010
@@ -205,8 +205,8 @@ public class JcrInstaller implements Eve
}
// Setup folder filtering and watching
- final String [] rootsConfig =
OsgiUtil.toStringArray(context.getProperties().get(PROP_SEARCH_PATH),
DEFAULT_SEARCH_PATH);
- folderNameFilter = new FolderNameFilter(rootsConfig, folderNameRegexp,
runMode);
+ folderNameFilter = new
FolderNameFilter(OsgiUtil.toStringArray(context.getProperties().get(PROP_SEARCH_PATH),
DEFAULT_SEARCH_PATH),
+ folderNameRegexp, runMode);
roots = folderNameFilter.getRootPaths();
for (String path : roots) {
listeners.add(new RootFolderListener(session, folderNameFilter,
path, updateFoldersListTimer));
@@ -291,16 +291,16 @@ public class JcrInstaller implements Eve
/** Find the paths to watch under rootPath, according to our
folderNameFilter,
* and add them to result */
- void findPathsToWatch(String rootPath, List<WatchedFolder> result) throws
RepositoryException {
+ void findPathsToWatch(final String rootPath, final List<WatchedFolder>
result) throws RepositoryException {
Session s = null;
try {
s =
repository.loginAdministrative(repository.getDefaultWorkspace());
- if (!s.getRootNode().hasNode(rootPath)) {
+ if (!s.itemExists(rootPath) || !s.getItem(rootPath).isNode() ) {
log.info("Bundles root node {} not found, ignored", rootPath);
} else {
log.debug("Bundles root node {} found, looking for bundle
folders inside it", rootPath);
- final Node n = s.getRootNode().getNode(rootPath);
+ final Node n = (Node)s.getItem(rootPath);
findPathsUnderNode(n, result);
}
} finally {
@@ -314,8 +314,7 @@ public class JcrInstaller implements Eve
* Add n to result if it is a folder that we must watch, and recurse into
its children
* to do the same.
*/
- void findPathsUnderNode(Node n, List<WatchedFolder> result) throws
RepositoryException
- {
+ void findPathsUnderNode(final Node n, final List<WatchedFolder> result)
throws RepositoryException {
final String path = n.getPath();
final int priority = folderNameFilter.getPriority(path);
if (priority > 0) {
@@ -332,16 +331,6 @@ public class JcrInstaller implements Eve
}
}
- /**
- * Return the relative path for supplied path
- */
- static String relPath(String path) {
- if (path.startsWith("/")) {
- return path.substring(1);
- }
- return path;
- }
-
/** Add WatchedFolder to our list if it doesn't exist yet */
private void addWatchedFolder(WatchedFolder toAdd) {
WatchedFolder existing = null;