protected void logCopy() { String path = FileSystemUtils.getRelativePathQuietly(relativeDir, dstDir); Object[] args = { path, org.kuali.common.util.LoggerUtils.getLogMsg(includes, excludes) }; logger.debug("srcDir - [{}]", LocationUtils.getCanonicalPath(srcDir)); logger.info("Copying to - [{}] - {}", args); }
@Override public List<SyncResult> sync(List<DirRequest> requests) { logger.info("Synchronizing {} directories", requests.size()); for (DirRequest request : requests) { String src = FileSystemUtils.getRelativePathQuietly(request.getRelativeDir(), request.getSourceDir()); String dst = FileSystemUtils.getRelativePathQuietly(request.getRelativeDir(), request.getTargetDir()); logger.info(" [{}] -> [{}]", src, dst); } // Scan the file system and record the differences between the directories. // This does a deep, heavy, scan of both directories. // It recursively examines the contents of both directories. // Files that exist in both, are compared for equality using an MD5 checksum List<DirDiff> diffs = getDiffs(requests); // Use the diff info to generate a list of files to copy List<CopyFileRequest> copyRequests = getCopyFileRequests(diffs); // Show how many files we are copying if (copyRequests.size() > 0) { logger.info("Copying {} files", copyRequests.size()); } // Copy the files and record the results List<CopyFileResult> copyResults = FileSystemUtils.copyFiles(copyRequests); // Log the number of files copied logger.debug("Copied {} files", copyResults.size()); // Convert the diff information into sync information (adds, deletes, updates) List<SyncResult> results = getSyncResults(diffs); // return the sync info return results; }
@Override public void write(List<ScanResult> results) { List<WriteLines> lines = getWriteLines(results); List<WriteProperties> properties = getWriteProperties(results); for (WriteLines element : CollectionUtils.toEmptyList(lines)) { WriteRequest request = element.getRequest(); String relativePath = FileSystemUtils.getRelativePathQuietly(request.getRelativeDir(), request.getOutputFile()); logger.info("Creating [{}] - {} resources", relativePath, element.getLines().size()); write(request, element.getLines()); } for (WriteProperties element : CollectionUtils.toEmptyList(properties)) { WriteRequest request = element.getRequest(); PropertyUtils.store(element.getProperties(), request.getOutputFile(), request.getEncoding()); } }