public int run(String[] args) throws Exception { if (args.length == 0) { System.err.println("Usage: MigrationTool <S3 file system URI>"); System.err.println("\t<S3 file system URI>\tfilesystem to migrate"); ToolRunner.printGenericCommandUsage(System.err); return -1; } URI uri = URI.create(args[0]); initialize(uri); FileSystemStore newStore = new Jets3tFileSystemStore(); newStore.initialize(uri, getConf()); if (get("%2F") != null) { System.err.println("Current version number is [unversioned]."); System.err.println("Target version number is " + newStore.getVersion() + "."); Store oldStore = new UnversionedStore(); migrate(oldStore, newStore); return 0; } else { S3Object root = get("/"); if (root != null) { String version = (String) root.getMetadata("fs-version"); if (version == null) { System.err.println("Can't detect version - exiting."); } else { String newVersion = newStore.getVersion(); System.err.println("Current version number is " + version + "."); System.err.println("Target version number is " + newVersion + "."); if (version.equals(newStore.getVersion())) { System.err.println("No migration required."); return 0; } // use version number to create Store // Store oldStore = ... // migrate(oldStore, newStore); System.err.println("Not currently implemented."); return 0; } } System.err.println("Can't detect version - exiting."); return 0; } }