Attachment Methods
public Attachment ucStoreAttachment(
Attachment attachment)
public Attachment ucStoreAttachment(Attachment attach) { // session object
String attachId = attach.getAttachmentId();
String problemId = String.valueOf(attach.getProblemId());
String zeros = "00000000";
String zeroId = zeros.substring(problemId.length()) + problemId;
String millions = zeroId.substring(0, 2);
String thousands = zeroId.substring(2, 5);
String rootDir = "";
rootDir = Z.config.getConfigValue("ATTACHMENT_ROOT_DIR");
if (rootDir == null) {
rootDir = System.getProperty("java.io.tmpdir");
}
String attachDir = rootDir + "/" + millions + "/" + thousands + "/" +
problemId + "/" + attachId;
String fileName = attach.getFileName();
try {
File inputFile = attach.getTempFile();
File outputDir = null;
File outputFile = null;
long filesize = inputFile.length();
boolean status = false;
outputDir = new File(attachDir);
// Create the output directory
if (!outputDir.exists()) {
outputDir.mkdirs();
}
if (outputDir.exists()) {
outputFile = new File(attachDir, fileName);
}
Z.log.writeToLog(Z.log.INFO, "THE File is : " + outputFile.getAbsolutePath());
if (inputFile != null && outputFile != null) {
status = this.copyFile(inputFile, outputFile);
}
if (status) {
attach.setExternalAttachmentIdent(outputFile.getAbsolutePath());
attach.setStoredInExternalSystem(true);
attach.setToBeStoredInternal(false);
attach.setStoredLocal("N");
}
}
catch (Exception e) {
ErrorWriter.write(e, ErrorWriter.LOG);
}
return attach;
}