RepositoryAddress dst = new RepositoryAddress((String) cl.getValue(dstAddr)); boolean recursive = cl.hasOption(optRecursive); RepositoryCopier rcp = new RepositoryCopier(); if (!quiet) { rcp.setTracker(new DefaultProgressListener()); rcp.setBatchSize(Integer.parseInt(cl.getValue(optSize).toString())); rcp.setThrottle(Integer.parseInt(cl.getValue(optThrottle).toString())); rcp.setResumeFrom(cl.getValue(optResumeFrom).toString()); rcp.setUpdate(cl.hasOption(optUpdate)); rcp.setOnlyNewer(cl.hasOption(optNewer)); rcp.setNoOrdering(cl.hasOption(optNoOrdering)); rcp.setCredentialsProvider(app.getCredentialsStore()); DefaultWorkspaceFilter srcFilter = new DefaultWorkspaceFilter(); PathFilterSet excludes = new PathFilterSet("/"); rcp.setSourceFilter(srcFilter); rcp.copy(src, dst, recursive);
String dstName = checkNameSpace(Text.getName(dstPath)); Node srcRoot; try { totalSize = 0; start = System.currentTimeMillis(); copy(srcRoot, dstRoot, dstName, recursive); if (numNodes > 0) { track("", "Saving %d nodes...", numNodes); dstSession.save(); track("", "Done."); track("", "Copy completed. %d nodes in %dms. %d bytes", totalNodes, end-start, totalSize); } catch (RepositoryException e) { log.error("Error during copy: {}", e.toString());
String dstPath = dstParent.getPath() + "/" + dstName; if (srcFilter != null && !srcFilter.contains(path)) { track(path, "------ I"); return; dst = dstParent.getNode(dstName); if (skip) { track(path, "------ S"); } else if (overwrite) { if (onlyNewer && dstName.equals("jcr:content")) { if (isNewer(src, dst)) { track(dstPath, "%06d U", ++totalNodes); } else { overwrite = false; recursive = false; track(dstPath, "%06d -", ++totalNodes); track(dstPath, "%06d U", ++totalNodes); dst = sysCopy(src, dstParent, dstName); track(dstPath, "%06d -", ++totalNodes); track(path, "------ S"); dst = null; } else if (useSysView) { dst = sysCopy(src, dstParent, dstName); } else { dst = dstParent.addNode(dstName, src.getPrimaryNodeType().getName());
public void copy(RepositoryAddress src, RepositoryAddress dst, boolean recursive) { track("", "Copy %s to %s (%srecursive)", src, dst, recursive ? "" : "non-"); srcCreds = credentialsProvider.getCredentials(src); srcSession = login(srcRepo, srcCreds, src.getWorkspace()); } catch (RepositoryException e) { log.error("Error while logging in src repository {}: {}", src, e.toString()); dstCreds = credentialsProvider.getCredentials(dst); dstSession = login(dstRepo, dstCreds, dst.getWorkspace()); } catch (RepositoryException e) { log.error("Error while logging in dst repository {}: {}", dst, e.toString()); return; copy(srcSession, src.getPath(), dstSession, dst.getPath(), recursive); } finally { if (srcSession != null) {