diff --git a/infrastructure/src/main/java/org/springframework/batch/io/cursor/HibernateInputSource.java b/infrastructure/src/main/java/org/springframework/batch/io/cursor/HibernateCursorInputSource.java
similarity index 90%
rename from infrastructure/src/main/java/org/springframework/batch/io/cursor/HibernateInputSource.java
rename to infrastructure/src/main/java/org/springframework/batch/io/cursor/HibernateCursorInputSource.java
index a31ee9bec..5c104d8c7 100644
--- a/infrastructure/src/main/java/org/springframework/batch/io/cursor/HibernateInputSource.java
+++ b/infrastructure/src/main/java/org/springframework/batch/io/cursor/HibernateCursorInputSource.java
@@ -31,16 +31,17 @@ import org.springframework.beans.factory.InitializingBean;
import org.springframework.transaction.support.TransactionSynchronization;
import org.springframework.transaction.support.TransactionSynchronizationAdapter;
import org.springframework.util.Assert;
+import org.springframework.util.ClassUtils;
/**
* {@link InputSource} for reading database records built on top of Hibernate.
*
* @author Robert Kasanicky
*/
-public class HibernateInputSource implements InputSource, Restartable, InitializingBean, DisposableBean,
+public class HibernateCursorInputSource implements InputSource, Restartable, InitializingBean, DisposableBean,
ResourceLifecycle {
- private static final String RESTART_DATA_ROW_NUMBER_KEY = "HibernateInputSource.rowNumber";
+ private static final String RESTART_DATA_ROW_NUMBER_KEY = ClassUtils.getShortName(HibernateCursorInputSource.class)+".rowNumber";
private SessionFactory sessionFactory;
private StatelessSession session;
diff --git a/infrastructure/src/main/java/org/springframework/batch/io/driving/IbatisInputSource.java b/infrastructure/src/main/java/org/springframework/batch/io/driving/IbatisDrivingQueryInputSource.java
similarity index 84%
rename from infrastructure/src/main/java/org/springframework/batch/io/driving/IbatisInputSource.java
rename to infrastructure/src/main/java/org/springframework/batch/io/driving/IbatisDrivingQueryInputSource.java
index d6e4c120f..0af20f4b3 100644
--- a/infrastructure/src/main/java/org/springframework/batch/io/driving/IbatisInputSource.java
+++ b/infrastructure/src/main/java/org/springframework/batch/io/driving/IbatisDrivingQueryInputSource.java
@@ -18,6 +18,8 @@ package org.springframework.batch.io.driving;
import org.springframework.batch.io.driving.support.IbatisKeyGenerator;
import org.springframework.orm.ibatis.SqlMapClientTemplate;
+import com.ibatis.sqlmap.client.SqlMapClient;
+
/**
* Extension of {@link DrivingQueryInputSource} that maps keys to
* objects. An iBatis query id must be set to map and return each 'detail record'.
@@ -25,7 +27,7 @@ import org.springframework.orm.ibatis.SqlMapClientTemplate;
* @author Lucas Ward
* @see IbatisKeyGenerator
*/
-public class IbatisInputSource extends DrivingQueryInputSource {
+public class IbatisDrivingQueryInputSource extends DrivingQueryInputSource {
private String detailsQueryId;
@@ -54,8 +56,8 @@ public class IbatisInputSource extends DrivingQueryInputSource {
*
* @param sqlMapClientTemplate
*/
- public void setSqlMapClientTemplate(
- SqlMapClientTemplate sqlMapClientTemplate) {
- this.sqlMapClientTemplate = sqlMapClientTemplate;
+ public void setSqlMapClient(
+ SqlMapClient sqlMapClient) {
+ this.sqlMapClientTemplate = new SqlMapClientTemplate(sqlMapClient);
}
}
diff --git a/infrastructure/src/test/java/org/springframework/batch/io/cursor/HibernateInputSourceIntegrationTests.java b/infrastructure/src/test/java/org/springframework/batch/io/cursor/HibernateInputSourceIntegrationTests.java
index 83331c505..1c0937737 100644
--- a/infrastructure/src/test/java/org/springframework/batch/io/cursor/HibernateInputSourceIntegrationTests.java
+++ b/infrastructure/src/test/java/org/springframework/batch/io/cursor/HibernateInputSourceIntegrationTests.java
@@ -2,14 +2,14 @@ package org.springframework.batch.io.cursor;
import org.hibernate.SessionFactory;
import org.springframework.batch.io.InputSource;
-import org.springframework.batch.io.cursor.HibernateInputSource;
+import org.springframework.batch.io.cursor.HibernateCursorInputSource;
import org.springframework.batch.io.support.AbstractDataSourceInputSourceIntegrationTests;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.springframework.orm.hibernate3.LocalSessionFactoryBean;
/**
- * Tests for {@link HibernateInputSource}
+ * Tests for {@link HibernateCursorInputSource}
*
* @author Robert Kasanicky
*/
@@ -25,7 +25,7 @@ public class HibernateInputSourceIntegrationTests extends AbstractDataSourceInpu
String hsqlQuery = "from Foo";
- HibernateInputSource inputSource = new HibernateInputSource();
+ HibernateCursorInputSource inputSource = new HibernateCursorInputSource();
inputSource.setQueryString(hsqlQuery);
inputSource.setSessionFactory(sessionFactory);
inputSource.afterPropertiesSet();
diff --git a/infrastructure/src/test/java/org/springframework/batch/io/driving/IbatisInputSourceIntegrationTests.java b/infrastructure/src/test/java/org/springframework/batch/io/driving/IbatisInputSourceIntegrationTests.java
index 8efec8e3e..2a7e7ef98 100644
--- a/infrastructure/src/test/java/org/springframework/batch/io/driving/IbatisInputSourceIntegrationTests.java
+++ b/infrastructure/src/test/java/org/springframework/batch/io/driving/IbatisInputSourceIntegrationTests.java
@@ -1,12 +1,10 @@
package org.springframework.batch.io.driving;
import org.springframework.batch.io.InputSource;
-import org.springframework.batch.io.driving.IbatisInputSource;
import org.springframework.batch.io.driving.support.IbatisKeyGenerator;
import org.springframework.batch.io.support.AbstractDataSourceInputSourceIntegrationTests;
import org.springframework.core.io.ClassPathResource;
import org.springframework.orm.ibatis.SqlMapClientFactoryBean;
-import org.springframework.orm.ibatis.SqlMapClientTemplate;
import com.ibatis.sqlmap.client.SqlMapClient;
@@ -24,15 +22,14 @@ public class IbatisInputSourceIntegrationTests extends AbstractDataSourceInputSo
factory.setDataSource(super.getJdbcTemplate().getDataSource());
factory.afterPropertiesSet();
SqlMapClient sqlMapClient = (SqlMapClient) factory.getObject();
- SqlMapClientTemplate sqlMapClientTemplate = new SqlMapClientTemplate(sqlMapClient);
- IbatisInputSource inputSource = new IbatisInputSource();
+ IbatisDrivingQueryInputSource inputSource = new IbatisDrivingQueryInputSource();
IbatisKeyGenerator keyGenerator = new IbatisKeyGenerator();
keyGenerator.setDrivingQueryId("getAllFooIds");
inputSource.setDetailsQueryId("getFooById");
keyGenerator.setRestartQueryId("getAllFooIdsRestart");
keyGenerator.setSqlMapClient(sqlMapClient);
- inputSource.setSqlMapClientTemplate(sqlMapClientTemplate);
+ inputSource.setSqlMapClient(sqlMapClient);
inputSource.setKeyGenerator(keyGenerator);
return inputSource;
diff --git a/samples/src/main/resources/jobs/hibernateJob.xml b/samples/src/main/resources/jobs/hibernateJob.xml
index 5ad0b3a5e..e97fbcc64 100644
--- a/samples/src/main/resources/jobs/hibernateJob.xml
+++ b/samples/src/main/resources/jobs/hibernateJob.xml
@@ -43,7 +43,7 @@
-
diff --git a/samples/src/main/resources/jobs/ibatisJob.xml b/samples/src/main/resources/jobs/ibatisJob.xml
index 4c3a88239..a997709ae 100644
--- a/samples/src/main/resources/jobs/ibatisJob.xml
+++ b/samples/src/main/resources/jobs/ibatisJob.xml
@@ -45,13 +45,18 @@
-
-
-
+
+
+
+
+
+
+