}
else {
logger.error(strM, e);
}
objSourceFileList.Rollback();
throw new JobSchedulerException(strM, e);
}
finally {
objSourceFileList.EndTransaction();
}
objSourceFileList.sendMails();
// TODO in die Klasse SOSFileList oder SOSFtpCommand
rc = printState(rc);
// }
// TODO das mu� beim JobScheduler-Job in die Parameter zur�ck, aber nur da
// siehe hierzu das Interface ...
// arguments.put("successful_transfers", String.valueOf(count));
// return the number of transferred files
// arguments.put("status", "success");
return rc;
}
catch (Exception e) {
// arguments.put("status", "error");
// failed_transfer++;
// arguments.put("failed_transfers", String.valueOf(failed_transfer));
rc = false;
e.printStackTrace(System.err);
throw (new JobSchedulerException("could not process file transfer: " + e.getMessage()));
}
finally {
if (jump) { // jump host ist angegeben, hier m�ssen z.B. tempor�r generierte Verzeichnisse auf Remote host gel�scht werden
rc = doPostCommands(rc, objSourceFileList);
}
}
}
catch (Exception e) {
e.printStackTrace(System.err);
logger.error("data transfer failed: ", e);
// if (sosString.parseToString(logger.getWarning()).length() > 0 || sosString.parseToString(logger.getError()).length() > 0) {
// //TODO in die Order/Job-Parameter
// getArguments().put("last_error", logger.getWarning() + " " + logger.getError());
// }
// TODO das mu� in die SOSFileList geschoben werden bzw in die SOSFTPCommand
// writeHistory(localFile != null ? localFile.getAbsolutePath() : "", "");
throw new JobSchedulerException("processing aborted.", e);
}
}