X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=server%2Fruntime%2Forg.argeo.server.jcr%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fjcr%2FJcrUtils.java;h=2176e757cacac3141eb2e7c90a39302e085e0a8b;hb=3a3d316af102ba410d1d9e6de349d0c8f7ac044f;hp=f3db14895acbf5676f5ee18c749fc3d63694ce88;hpb=b02a753a51e59ccce8ea6d71f01431d98c06a066;p=lgpl%2Fargeo-commons.git diff --git a/server/runtime/org.argeo.server.jcr/src/main/java/org/argeo/jcr/JcrUtils.java b/server/runtime/org.argeo.server.jcr/src/main/java/org/argeo/jcr/JcrUtils.java index f3db14895..2176e757c 100644 --- a/server/runtime/org.argeo.server.jcr/src/main/java/org/argeo/jcr/JcrUtils.java +++ b/server/runtime/org.argeo.server.jcr/src/main/java/org/argeo/jcr/JcrUtils.java @@ -1207,14 +1207,26 @@ public class JcrUtils implements ArgeoJcrConstants { } } - /** Update lastModified recursively until this parent. */ + /** + * Update lastModified recursively until this parent. + * + * @param node + * the node + * @param untilPath + * the base path, null is equivalent to "/" + */ public static void updateLastModifiedAndParents(Node node, String untilPath) { try { - if (!node.getPath().startsWith(untilPath)) + if (untilPath != null && !node.getPath().startsWith(untilPath)) throw new ArgeoException(node + " is not under " + untilPath); updateLastModified(node); - if (!node.getPath().equals(untilPath)) - updateLastModifiedAndParents(node.getParent(), untilPath); + if (untilPath == null) { + if (!node.getPath().equals("/")) + updateLastModifiedAndParents(node.getParent(), untilPath); + } else { + if (!node.getPath().equals(untilPath)) + updateLastModifiedAndParents(node.getParent(), untilPath); + } } catch (RepositoryException e) { throw new ArgeoException("Cannot update lastModified from " + node + " until " + untilPath, e); @@ -1403,6 +1415,7 @@ public class JcrUtils implements ArgeoJcrConstants { * files * @return how many files were copied */ + @SuppressWarnings("resource") public static Long copyFiles(Node fromNode, Node toNode, Boolean recursive, ArgeoMonitor monitor) { long count = 0l;