public void processRecord(Object record) throws Exception { CreateSelectiveServiceRecordImpl ssRecord = (CreateSelectiveServiceRecordImpl) record; ssRecord.appendDebug( "Started Processing Record with Applicant ID = " + ssRecord.getApplicant().getId()); Applicant applicant = null; try { applicant = applicantDao.findByIdBasicInfoForCreateSelectiveService(ssRecord.getApplicant().getId()); } catch (DataAccessException e) { String msg = "DB Error: Failure to retrieve applicant with id: " + applicant.getId(); throw getBaseExceptionType(msg, e, logger, LOG_DEBUG); } if (applicant != null) { ssRecord.setApplicant(applicant); ssRecord.setAuditValues(); } else { return; } try { OtherInfo otherInfo = applicant.getOtherInfo(); applicantDao.updateSelectiveServiceStatus( otherInfo, DLRConstants.SELECTIVE_SERVICE_STATUS_SENT_TO_USSS); applicantDao.updateSelectiveServiceSentFlag(otherInfo, new Boolean(true)); ssRecord.appendDebug("After Update Selective Service Status & SentFlag"); } catch (DataAccessException e) { String msg = "DB Error: Failure to update Selective Service Status " + "for applicant with id " + applicant.getId(); throw getBaseExceptionType(msg, e, logger, LOG_DEBUG); } }