RESOLVED - BATCH-951: MapJobInstanceDao.getLastJobInstances doesn't return the last job instance

reverted list ordering
This commit is contained in:
robokaso
2008-12-04 21:37:45 +00:00
parent 708364f1cc
commit 6cf0720768
2 changed files with 9 additions and 22 deletions

View File

@@ -47,13 +47,6 @@ public class MapJobInstanceDao implements JobInstanceDao {
}
/*
* (non-Javadoc)
*
* @see
* org.springframework.batch.core.repository.dao.JobInstanceDao#getJobInstance
* (java.lang.Long)
*/
public JobInstance getJobInstance(Long instanceId) {
for (JobInstance instance : jobInstances) {
if (instance.getId().equals(instanceId)) {
@@ -63,13 +56,6 @@ public class MapJobInstanceDao implements JobInstanceDao {
return null;
}
/*
* (non-Javadoc)
*
* @see
* org.springframework.batch.core.repository.dao.JobInstanceDao#getJobNames
* ()
*/
public List<String> getJobNames() {
List<String> result = new ArrayList<String>();
for (JobInstance instance : jobInstances) {
@@ -79,12 +65,6 @@ public class MapJobInstanceDao implements JobInstanceDao {
return result;
}
/*
* (non-Javadoc)
*
* @seeorg.springframework.batch.core.repository.dao.JobInstanceDao#
* getLastJobInstances(java.lang.String, int)
*/
public List<JobInstance> getLastJobInstances(String jobName, int count) {
List<JobInstance> result = new ArrayList<JobInstance>();
for (JobInstance instance : jobInstances) {
@@ -95,7 +75,7 @@ public class MapJobInstanceDao implements JobInstanceDao {
Collections.sort(result, new Comparator<JobInstance>() {
// sort by ID descending
public int compare(JobInstance o1, JobInstance o2) {
return Long.signum(o1.getId() - o2.getId());
return Long.signum(o2.getId() - o1.getId());
}
});
int length = count > result.size() ? result.size() : count;

View File

@@ -122,11 +122,18 @@ public abstract class AbstractJobInstanceDaoTests extends AbstractTransactionalJ
// unrelated job instance that should be ignored by the query
dao.createJobInstance("anotherJob", new JobParameters());
// we need two instances of the same job to check ordering
dao.createJobInstance(fooJob, new JobParameters());
List<JobInstance> jobInstances = dao.getLastJobInstances(fooJob, 2);
assertEquals(1, jobInstances.size());
assertEquals(2, jobInstances.size());
assertEquals(fooJob, jobInstances.get(0).getJobName());
assertEquals(fooJob, jobInstances.get(1).getJobName());
assertEquals(Integer.valueOf(0), jobInstances.get(0).getVersion());
assertEquals(Integer.valueOf(0), jobInstances.get(1).getVersion());
assertTrue("Last instance should be first on the list", jobInstances.get(0).getId() > jobInstances.get(1).getId());
}