From 97835a76d8f9f664d61ed981fd4e7a88fec8f3d1 Mon Sep 17 00:00:00 2001 From: robokaso Date: Mon, 28 Jul 2008 12:14:56 +0000 Subject: [PATCH] IN PROGRESS - BATCH-518: clean up the *Or* repository methods created standalone ExecutionContextDao interface --- .../repository/dao/ExecutionContextDao.java | 37 +++++++++++++++++++ .../dao/JdbcExecutionContextDao.java | 6 +-- .../repository/dao/JdbcJobExecutionDao.java | 2 +- .../repository/dao/JdbcStepExecutionDao.java | 2 +- 4 files changed, 42 insertions(+), 5 deletions(-) create mode 100644 spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/ExecutionContextDao.java diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/ExecutionContextDao.java b/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/ExecutionContextDao.java new file mode 100644 index 000000000..2f3ef6926 --- /dev/null +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/ExecutionContextDao.java @@ -0,0 +1,37 @@ +package org.springframework.batch.core.repository.dao; + +import org.springframework.batch.core.JobExecution; +import org.springframework.batch.core.StepExecution; +import org.springframework.batch.item.ExecutionContext; + +/** + * DAO interface for persisting and retrieving {@link ExecutionContext}s. + * + * @author Robert Kasanicky + */ +public interface ExecutionContextDao { + + /** + * @param jobExecution + * @return execution context associated with the given jobExecution + */ + ExecutionContext getExecutionContext(JobExecution jobExecution); + + /** + * @param stepExecution + * @return execution context associated with the given stepExecution + */ + ExecutionContext getExecutionContext(StepExecution stepExecution); + + /** + * Persist the execution context associated with the given jobExecution + * @param jobExecution + */ + void persistExecutionContext(final JobExecution jobExecution); + + /** + * Persist the execution context associated with the given stepExecution + * @param stepExecution + */ + void persistExecutionContext(final StepExecution stepExecution); +} diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/JdbcExecutionContextDao.java b/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/JdbcExecutionContextDao.java index e2c4d165b..552a9c977 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/JdbcExecutionContextDao.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/JdbcExecutionContextDao.java @@ -29,7 +29,7 @@ import org.springframework.util.Assert; * @author Lucas Ward * @author Robert Kasanicky */ -class JdbcExecutionContextDao extends AbstractJdbcBatchMetadataDao { +public class JdbcExecutionContextDao extends AbstractJdbcBatchMetadataDao implements ExecutionContextDao { private static final String STEP_DISCRIMINATOR = "S"; @@ -83,7 +83,7 @@ class JdbcExecutionContextDao extends AbstractJdbcBatchMetadataDao { * jobExecution * @param jobExecution */ - public void saveOrUpdateExecutionContext(final JobExecution jobExecution) { + public void persistExecutionContext(final JobExecution jobExecution) { Long executionId = jobExecution.getId(); ExecutionContext executionContext = jobExecution.getExecutionContext(); Assert.notNull(executionId, "ExecutionId must not be null."); @@ -97,7 +97,7 @@ class JdbcExecutionContextDao extends AbstractJdbcBatchMetadataDao { * stepExecution * @param stepExecution */ - public void saveOrUpdateExecutionContext(final StepExecution stepExecution) { + public void persistExecutionContext(final StepExecution stepExecution) { Long executionId = stepExecution.getId(); ExecutionContext executionContext = stepExecution.getExecutionContext(); diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/JdbcJobExecutionDao.java b/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/JdbcJobExecutionDao.java index 3e5972fc5..0ee653889 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/JdbcJobExecutionDao.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/JdbcJobExecutionDao.java @@ -237,7 +237,7 @@ public class JdbcJobExecutionDao extends AbstractJdbcBatchMetadataDao implements } public void persistExecutionContext(JobExecution jobExecution) { - ecDao.saveOrUpdateExecutionContext(jobExecution); + ecDao.persistExecutionContext(jobExecution); } public void setLobHandler(LobHandler lobHandler) { diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/JdbcStepExecutionDao.java b/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/JdbcStepExecutionDao.java index a7152b078..3e88fda21 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/JdbcStepExecutionDao.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/JdbcStepExecutionDao.java @@ -139,7 +139,7 @@ public class JdbcStepExecutionDao extends AbstractJdbcBatchMetadataDao implement */ public void persistExecutionContext(final StepExecution stepExecution) { - ecDao.saveOrUpdateExecutionContext(stepExecution); + ecDao.persistExecutionContext(stepExecution); } /*