]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - org.argeo.cms/src/org/argeo/cms/cmd/Sync.java
Introduce Argeo Sync
[lgpl/argeo-commons.git] / org.argeo.cms / src / org / argeo / cms / cmd / Sync.java
diff --git a/org.argeo.cms/src/org/argeo/cms/cmd/Sync.java b/org.argeo.cms/src/org/argeo/cms/cmd/Sync.java
deleted file mode 100644 (file)
index 515ef6c..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-package org.argeo.cms.cmd;
-
-import java.net.URI;
-import java.nio.file.FileSystems;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.spi.FileSystemProvider;
-import java.time.ZonedDateTime;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.argeo.cms.CmsException;
-import org.argeo.jackrabbit.fs.DavexFsProvider;
-import org.argeo.util.LangUtils;
-
-public class Sync {
-       private final static Log log = LogFactory.getLog(Sync.class);
-
-       public static void main(String args[]) {
-               Map<String, String> arguments = new HashMap<>();
-               boolean skipNext = false;
-               String currValue = null;
-               for (int i = 0; i < args.length; i++) {
-                       if (skipNext) {
-                               skipNext = false;
-                               currValue = null;
-                               continue;
-                       }
-                       String arg = args[i];
-                       if (arg.startsWith("-")) {
-                               if (i + 1 < args.length) {
-                                       if (!args[i + 1].startsWith("-")) {
-                                               currValue = args[i + 1];
-                                               skipNext = true;
-                                       }
-                               }
-                               arguments.put(arg, currValue);
-                       } else {
-                               // TODO add multiple?
-                       }
-               }
-
-               try {
-                       URI sourceUri = new URI(arguments.get("-i"));
-                       URI targetUri = new URI(arguments.get("-o"));
-                       FileSystemProvider sourceFsProvider = createFsProvider(sourceUri);
-                       FileSystemProvider targetFsProvider = createFsProvider(targetUri);
-                       Path sourceBasePath = sourceFsProvider.getPath(sourceUri);
-                       Path targetBasePath = targetFsProvider.getPath(targetUri);
-                       SyncFileVisitor syncFileVisitor = new SyncFileVisitor(sourceBasePath, targetBasePath);
-                       ZonedDateTime begin = ZonedDateTime.now();
-                       Files.walkFileTree(sourceBasePath, syncFileVisitor);
-                       if (log.isDebugEnabled())
-                               log.debug("Sync from " + sourceBasePath + " to " + targetBasePath + " took " + LangUtils.since(begin));
-               } catch (Exception e) {
-                       e.printStackTrace();
-               }
-       }
-
-       private static FileSystemProvider createFsProvider(URI uri) {
-               FileSystemProvider fsProvider;
-               if (uri.getScheme().equals("file"))
-                       fsProvider = FileSystems.getDefault().provider();
-               else if (uri.getScheme().equals("davex"))
-                       fsProvider = new DavexFsProvider();
-               else
-                       throw new CmsException("URI scheme not supported for " + uri);
-               return fsProvider;
-       }
-
-       static enum Arg {
-               to, from;
-       }
-}