public synchronized void updateDatabase(UploadAnswer answer) {
if (answer.getErrorString().startsWith("553")) {
answer.setErrorString(answer.getErrorString().concat("Please check if the file name already exists."));
}
resultObj.setResultString(answer.getErrorString());
resultObj.setState(answer.getUploadStatus().toString());
resultObj.setUploadPercent(answer.getUploadPct());
if (answer.getUploadStatus() == Status.UPLOAD_IN_PROGRESS) {
asyncMgr.updateAsyncJobAttachment(asyncJobId, type.toString(), 1L);
asyncMgr.updateAsyncJobStatus(asyncJobId, JobInfo.Status.IN_PROGRESS.ordinal(), ApiSerializerHelper.toSerializedString(resultObj));
} else if (answer.getUploadStatus() == Status.UPLOADED) {
resultObj.setResultString("Success");
asyncMgr.completeAsyncJob(asyncJobId, JobInfo.Status.SUCCEEDED, 1, ApiSerializerHelper.toSerializedString(resultObj));
} else {
asyncMgr.completeAsyncJob(asyncJobId, JobInfo.Status.FAILED, 2, ApiSerializerHelper.toSerializedString(resultObj));
}
UploadVO updateBuilder = uploadDao.createForUpdate();
updateBuilder.setUploadPercent(answer.getUploadPct());
updateBuilder.setUploadState(answer.getUploadStatus());
updateBuilder.setLastUpdated(new Date());
updateBuilder.setErrorString(answer.getErrorString());
updateBuilder.setJobId(answer.getJobId());
uploadDao.update(getUploadId(), updateBuilder);
}