diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/JobExecutionDao.java b/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/JobExecutionDao.java index 24b04bcca..c13b1517d 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/JobExecutionDao.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/JobExecutionDao.java @@ -4,7 +4,6 @@ import java.util.List; import org.springframework.batch.core.JobExecution; import org.springframework.batch.core.JobInstance; -import org.springframework.batch.item.ExecutionContext; /** * Data Access Object for job executions. @@ -45,21 +44,5 @@ public interface JobExecutionDao { * @return last JobExecution for given JobInstance. */ JobExecution getLastJobExecution(JobInstance jobInstance); - - /** - * Find the {@link ExecutionContext} for the given {@link JobExecution}. - * - * @throws IllegalArgumentException if the id is null. - */ - ExecutionContext findExecutionContext(JobExecution jobExecution); - - /** - * Save the {@link ExecutionContext} of the given {@link JobExecution}. - * - * @param jobExecution the {@link JobExecution} containing the - * {@link ExecutionContext} to be saved. - * @throws IllegalArgumentException if the attributes are null. - */ - void persistExecutionContext(JobExecution jobExecution); } diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/repository/dao/AbstractExecutionContextDaoTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/repository/dao/AbstractExecutionContextDaoTests.java new file mode 100644 index 000000000..45cc266d4 --- /dev/null +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/repository/dao/AbstractExecutionContextDaoTests.java @@ -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() { + { + 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() { + { + 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")); + } +} diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/repository/dao/AbstractJobExecutionDaoTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/repository/dao/AbstractJobExecutionDaoTests.java index a508786a1..93d41e073 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/repository/dao/AbstractJobExecutionDaoTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/repository/dao/AbstractJobExecutionDaoTests.java @@ -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() { - { - 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() { - { - 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")); } + }