IN PROGRESS - BATCH-518: removed ExecutionContext-related methods from JobExecutionDao

This commit is contained in:
robokaso
2008-07-29 12:56:06 +00:00
parent fad0ea2441
commit cccf34c7bd
3 changed files with 60 additions and 69 deletions

View File

@@ -0,0 +1,59 @@
package org.springframework.batch.core.repository.dao;
import java.util.HashMap;
import static org.junit.Assert.*;
import org.springframework.batch.core.JobExecution;
import org.springframework.batch.item.ExecutionContext;
public abstract class AbstractExecutionContextDaoTests {
private ExecutionContextDao dao;
private JobExecutionDao jobDao;
private JobExecution execution;
public void testSaveAndFindContext() {
jobDao.saveJobExecution(execution);
ExecutionContext ctx = new ExecutionContext(new HashMap<String, Object>() {
{
put("key", "value");
}
});
execution.setExecutionContext(ctx);
dao.persistExecutionContext(execution);
ExecutionContext retrieved = dao.getExecutionContext(execution);
assertEquals(ctx, retrieved);
}
public void testSaveAndFindEmptyContext() {
jobDao.saveJobExecution(execution);
ExecutionContext ctx = new ExecutionContext();
execution.setExecutionContext(ctx);
dao.persistExecutionContext(execution);
ExecutionContext retrieved = dao.getExecutionContext(execution);
assertEquals(ctx, retrieved);
}
public void testUpdateContext() {
jobDao.saveJobExecution(execution);
ExecutionContext ctx = new ExecutionContext(new HashMap<String, Object>() {
{
put("key", "value");
}
});
execution.setExecutionContext(ctx);
dao.persistExecutionContext(execution);
ctx.putLong("longKey", 7);
dao.persistExecutionContext(execution);
ExecutionContext retrieved = dao.getExecutionContext(execution);
assertEquals(ctx, retrieved);
assertEquals(7, retrieved.getLong("longKey"));
}
}

View File

@@ -1,14 +1,12 @@
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 {
@@ -75,63 +73,14 @@ public abstract class AbstractJobExecutionDaoTests extends AbstractTransactional
JobExecution exec1 = new JobExecution(jobInstance);
exec1.setCreateTime(new Date(0));
ExecutionContext ctx = new ExecutionContext() {
{
put("key", "value");
}
};
JobExecution exec2 = new JobExecution(jobInstance);
exec2.setExecutionContext(ctx);
exec2.setCreateTime(new Date(1));
dao.saveJobExecution(exec1);
dao.saveJobExecution(exec2);
dao.persistExecutionContext(exec2);
JobExecution last = dao.getLastJobExecution(jobInstance);
assertEquals(exec2, last);
assertEquals("value", last.getExecutionContext().getString("key"));
}
public void testSaveAndFindContext() {
dao.saveJobExecution(execution);
ExecutionContext ctx = new ExecutionContext(new HashMap<String, Object>() {
{
put("key", "value");
}
});
execution.setExecutionContext(ctx);
dao.persistExecutionContext(execution);
ExecutionContext retrieved = dao.findExecutionContext(execution);
assertEquals(ctx, retrieved);
}
public void testSaveAndFindEmptyContext() {
dao.saveJobExecution(execution);
ExecutionContext ctx = new ExecutionContext();
execution.setExecutionContext(ctx);
dao.persistExecutionContext(execution);
ExecutionContext retrieved = dao.findExecutionContext(execution);
assertEquals(ctx, retrieved);
}
public void testUpdateContext() {
dao.saveJobExecution(execution);
ExecutionContext ctx = new ExecutionContext(new HashMap<String, Object>() {
{
put("key", "value");
}
});
execution.setExecutionContext(ctx);
dao.persistExecutionContext(execution);
ctx.putLong("longKey", 7);
dao.persistExecutionContext(execution);
ExecutionContext retrieved = dao.findExecutionContext(execution);
assertEquals(ctx, retrieved);
assertEquals(7, retrieved.getLong("longKey"));
}
}