]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/RepoSync.java
Implement order for versions and name versions.
[gpl/argeo-slc.git] / runtime / org.argeo.slc.repo / src / main / java / org / argeo / slc / repo / RepoSync.java
index 18e86492844a71e121d499d33a21e1877eadfa46..7f1e1e32d2f70b7cd4e4f6424dbaf6f2dc755445 100644 (file)
@@ -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);
                        }