X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;ds=sidebyside;f=runtime%2Forg.argeo.slc.repo%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Frepo%2FRepoSync.java;h=7f1e1e32d2f70b7cd4e4f6424dbaf6f2dc755445;hb=3b44f736ec89e7bad73a333786e1a64dff34b579;hp=18e86492844a71e121d499d33a21e1877eadfa46;hpb=702f1e0c7d73edeb739dd62cd4248f489e1420b7;p=gpl%2Fargeo-slc.git diff --git a/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/RepoSync.java b/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/RepoSync.java index 18e864928..7f1e1e32d 100644 --- a/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/RepoSync.java +++ b/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/RepoSync.java @@ -206,8 +206,10 @@ public class RepoSync implements Runnable { .getQueryManager() .createQuery( "select file from [" - + (true ? "nt:file" : "nt:base") - + "] as file", Query.JCR_SQL2); + + (true ? NodeType.NT_FILE + : NodeType.NT_BASE) + "] as file", + Query.JCR_SQL2); + QueryResult result = countQuery.execute(); Long expectedCount = result.getNodes().getSize(); return expectedCount; @@ -248,6 +250,7 @@ public class RepoSync implements Runnable { if (log.isDebugEnabled()) log.debug("Synced " + sourceSession.getWorkspace().getName()); } catch (Exception e) { + e.printStackTrace(); throw new SlcException("Cannot sync " + sourceSession.getWorkspace().getName() + " to " + targetSession.getWorkspace().getName(), e); @@ -315,7 +318,8 @@ public class RepoSync implements Runnable { copyProperties(sourceNode, targetNode); // next level - for (NodeIterator ni = sourceNode.getNodes(); ni.hasNext();) { + NodeIterator ni = sourceNode.getNodes(); + while (ni != null && ni.hasNext()) { Node sourceChild = ni.nextNode(); syncNode(sourceChild, targetSession); }