compatibleStatusToFind[i] = compatibleStatusToFindList.get(i);
}
List<String> jobIdFound = null;
List<JobIdFilterResult> jobIdFilterResultList = new ArrayList<JobIdFilterResult>(0);
JobIdFilterResult jobIdFilterResult = null;
List<String> helpJobList = new ArrayList<String>(0);
try {
if ((jobList != null) && (jobList.size() > 0)) {
logger.debug("JobList parameter is not null in jobFilter.");
// find job not existing.
helpJobList.addAll(jobList);
jobIdFound = jobDB.retrieveJobId(jobList, userId);
helpJobList.removeAll(jobIdFound);
for (int i = 0; i < helpJobList.size(); i++) {
jobIdFilterResult = new JobIdFilterResult();
jobIdFilterResult.setJobId(helpJobList.get(i));
jobIdFilterResult.setErrorCode(JobIdFilterFailure.JOBID_ERRORCODE);
jobIdFilterResult.setFailureReason(JobIdFilterFailure.failureReason[JobIdFilterFailure.JOBID_ERRORCODE]);
jobIdFilterResultList.add(jobIdFilterResult);
logger.debug("JobId = " + helpJobList.get(i) + " FailureReason = " + JobIdFilterFailure.failureReason[JobIdFilterFailure.JOBID_ERRORCODE]);
}
helpJobList.clear();
helpJobList.addAll(jobIdFound);
// find job by status.
if (jobIdFound != null && jobIdFound.size() > 0) {
jobIdFound = jobDB.retrieveJobId(jobIdFound, userId, compatibleStatusToFind, fromStatusDate, toStatusDate);
helpJobList.removeAll(jobIdFound);
for (int i = 0; i < helpJobList.size(); i++) {
jobIdFilterResult = new JobIdFilterResult();
jobIdFilterResult.setJobId(helpJobList.get(i));
jobIdFilterResult.setErrorCode(JobIdFilterFailure.STATUS_ERRORCODE);
jobIdFilterResult.setFailureReason(JobIdFilterFailure.failureReason[JobIdFilterFailure.STATUS_ERRORCODE]);
jobIdFilterResultList.add(jobIdFilterResult);
logger.debug("JobId = " + helpJobList.get(i) + " FailureReason = " + JobIdFilterFailure.failureReason[JobIdFilterFailure.STATUS_ERRORCODE]);
}
helpJobList.clear();
helpJobList.addAll(jobIdFound);
}
// find job by date.
if ((jobIdFound != null) && jobIdFound.size() > 0 && (fromDate != null || toDate != null)) {
jobIdFound = jobDB.retrieveByDate(jobIdFound, userId, fromDate, toDate);
helpJobList.removeAll(jobIdFound);
for (int i = 0; i < helpJobList.size(); i++) {
jobIdFilterResult = new JobIdFilterResult();
jobIdFilterResult.setJobId(helpJobList.get(i));
jobIdFilterResult.setErrorCode(JobIdFilterFailure.DATE_ERRORCODE);
jobIdFilterResult.setFailureReason(JobIdFilterFailure.failureReason[JobIdFilterFailure.DATE_ERRORCODE]);
jobIdFilterResultList.add(jobIdFilterResult);
logger.debug("JobId = " + helpJobList.get(i) + " FailureReason = " + JobIdFilterFailure.failureReason[JobIdFilterFailure.DATE_ERRORCODE]);
}
helpJobList.clear();
helpJobList.addAll(jobIdFound);
}
// find job by delegationId.
if ((jobIdFound != null) && jobIdFound.size() > 0 && (delegationId != null)) {
jobIdFound = jobDB.retrieveJobId(jobIdFound, delegationId, null, userId);
helpJobList.removeAll(jobIdFound);
for (int i = 0; i < helpJobList.size(); i++) {
jobIdFilterResult = new JobIdFilterResult();
jobIdFilterResult.setJobId(helpJobList.get(i));
jobIdFilterResult.setErrorCode(JobIdFilterFailure.DELEGATIONID_ERRORCODE);
jobIdFilterResult.setFailureReason(JobIdFilterFailure.failureReason[JobIdFilterFailure.DELEGATIONID_ERRORCODE]);
jobIdFilterResultList.add(jobIdFilterResult);
logger.debug("JobId = " + helpJobList.get(i) + " FailureReason = " + JobIdFilterFailure.failureReason[JobIdFilterFailure.DELEGATIONID_ERRORCODE]);
}
helpJobList.clear();
helpJobList.addAll(jobIdFound);
}
// find job by leaseId.
if ((jobIdFound != null) && jobIdFound.size() > 0 && (leaseId != null)) {
jobIdFound = jobDB.retrieveJobId(jobIdFound, null, leaseId, userId);
helpJobList.removeAll(jobIdFound);
for (int i = 0; i < helpJobList.size(); i++) {
jobIdFilterResult = new JobIdFilterResult();
jobIdFilterResult.setJobId(helpJobList.get(i));
jobIdFilterResult.setErrorCode(JobIdFilterFailure.LEASEID_ERRORCODE);
jobIdFilterResult.setFailureReason(JobIdFilterFailure.failureReason[JobIdFilterFailure.LEASEID_ERRORCODE]);
jobIdFilterResultList.add(jobIdFilterResult);
logger.debug("JobId = " + helpJobList.get(i) + " FailureReason = " + JobIdFilterFailure.failureReason[JobIdFilterFailure.LEASEID_ERRORCODE]);
}
}
} else { // jobList is null or empty.
logger.debug("JobList parameter is null in jobFilter.");
/*
jobIdFound = jobDB.retrieveJobId(null, userId, compatibleStatusToFind, fromStatusDate, toStatusDate);
if ((jobIdFound != null) && (jobIdFound.size() > 0) && (fromDate != null || toDate != null)) {
jobIdFound = jobDB.retrieveByDate(jobIdFound, userId, fromDate, toDate);
}
if ((jobIdFound != null) && (jobIdFound.size() > 0) && ((delegationId != null) || (leaseId != null))) {
jobIdFound = jobDB.retrieveJobId(jobIdFound, delegationId, leaseId, userId);
}
*/
jobIdFound = jobDB.retrieveJobId(userId, delegationId, compatibleStatusToFind, fromStatusDate, toStatusDate, leaseId, fromDate, toDate);
}
// job found.
if (jobIdFound != null) {
for (int i = 0; i < jobIdFound.size(); i++) {
jobIdFilterResult = new JobIdFilterResult();
jobIdFilterResult.setJobId(jobIdFound.get(i));
jobIdFilterResult.setErrorCode(JobIdFilterFailure.OK_ERRORCODE);
jobIdFilterResult.setFailureReason(JobIdFilterFailure.failureReason[JobIdFilterFailure.OK_ERRORCODE]);
jobIdFilterResultList.add(jobIdFilterResult);
}
}
} catch (DatabaseException e) {
logger.error(e.getMessage());