private void copyMissingLogs(
     JwList<String> missingFilenames, String targetPath, String sourcePath) {
   for (String e : missingFilenames) {
     String sourceFilename = JwUtility.joinPath(sourcePath, e);
     String targetFilename = JwUtility.joinPath(targetPath, e);
     File sourceFile = new File(sourceFilename);
     File targetFile = new File(targetFilename);
     JwUtility.copyFile(sourceFile, targetFile);
   }
 }
 private void ftpMissingLogs(
     JwList<String> missingFilenames, String targetPath, String sourcePath) {
   JwFtpClient logFtpClient = null;
   try {
     logFtpClient = AcFtpClient.getLogFtpClient();
     for (String e : missingFilenames) {
       String sourceFilename = JwUtility.joinPath(sourcePath, e);
       String targetFilename = JwUtility.joinPath(targetPath, e);
       logFtpClient.put(targetFilename, sourceFilename);
     }
   } finally {
     if (logFtpClient != null) logFtpClient.close();
   }
 }
 private void initializeLocalTargetDirectory() {
   File f = new File(getTargetLogPath());
   if (f.exists()) return;
   JwUtility.createDirectory(f);
 }
 private String getTargetLogPath() {
   return JwUtility.joinPath(getTargetRootPath(), getLocalHostname());
 }
 private String getLocalHostname() {
   return JwUtility.getCanonicalLocalHostname();
 }