IN PROGRESS - BATCH-505: Job-level ExecutionContext

JobExecutionContext now works
This commit is contained in:
robokaso
2008-05-22 10:44:43 +00:00
parent 5dea8a0144
commit 69d62dd9dd
7 changed files with 427 additions and 202 deletions

View File

@@ -1,12 +1,14 @@
package org.springframework.batch.core.repository.dao;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import org.springframework.batch.core.BatchStatus;
import org.springframework.batch.core.JobExecution;
import org.springframework.batch.core.JobInstance;
import org.springframework.batch.core.JobParameters;
import org.springframework.batch.item.ExecutionContext;
import org.springframework.test.AbstractTransactionalDataSourceSpringContextTests;
public abstract class AbstractJobExecutionDaoTests extends AbstractTransactionalDataSourceSpringContextTests {
@@ -96,4 +98,36 @@ public abstract class AbstractJobExecutionDaoTests extends AbstractTransactional
assertEquals(exec2, dao.getLastJobExecution(jobInstance));
}
public void testSaveAndFindContext() {
dao.saveJobExecution(execution);
ExecutionContext ctx = new ExecutionContext(new HashMap() {
{
put("key", "value");
}
});
execution.setExecutionContext(ctx);
dao.saveOrUpdateExecutionContext(execution);
ExecutionContext retrieved = dao.findExecutionContext(execution);
assertEquals(ctx, retrieved);
}
public void testUpdateContext() {
dao.saveJobExecution(execution);
ExecutionContext ctx = new ExecutionContext(new HashMap() {
{
put("key", "value");
}
});
execution.setExecutionContext(ctx);
dao.saveOrUpdateExecutionContext(execution);
ctx.putLong("longKey", 7);
dao.saveOrUpdateExecutionContext(execution);
ExecutionContext retrieved = dao.findExecutionContext(execution);
assertEquals(ctx, retrieved);
assertEquals(7, retrieved.getLong("longKey"));
}
}