Change incrementer column name as suggested by Thmoas

This commit is contained in:
dsyer
2008-06-28 08:17:49 +00:00
parent 98367c87e7
commit c52e7d0aba
2 changed files with 13 additions and 13 deletions

View File

@@ -59,18 +59,18 @@ public class DefaultDataFieldMaxValueIncrementerFactory implements DataFieldMaxV
private DataSource dataSource;
private String primaryKeyColumnName = "id";
private String incrementerColumnName = "id";
/**
* Public setter for the primary key column name (defaults to "id"). Only
* used by some platforms (Derby, HSQL, MySQL), and should be fine for use
* with Spring Batch meta data as long as the default batch schema hasn't
* been changed.
* Public setter for the column name (defaults to "id") in the incrementer.
* Only used by some platforms (Derby, HSQL, MySQL), and should be fine for
* use with Spring Batch meta data as long as the default batch schema
* hasn't been changed.
*
* @param primaryKeyColumnName the primary key column name to set
* @param incrementerColumnName the primary key column name to set
*/
public void setPrimaryKeyColumnName(String primaryKeyColumnName) {
this.primaryKeyColumnName = primaryKeyColumnName;
public void setIncrementerColumnName(String incrementerColumnName) {
this.incrementerColumnName = incrementerColumnName;
}
public DefaultDataFieldMaxValueIncrementerFactory(DataSource dataSource) {
@@ -82,13 +82,13 @@ public class DefaultDataFieldMaxValueIncrementerFactory implements DataFieldMaxV
return new DB2SequenceMaxValueIncrementer(dataSource, incrementerName);
}
else if (DB_TYPE_DERBY.equals(incrementerType)) {
return new DerbyMaxValueIncrementer(dataSource, incrementerName, primaryKeyColumnName);
return new DerbyMaxValueIncrementer(dataSource, incrementerName, incrementerColumnName);
}
else if (DB_TYPE_HSQL.equals(incrementerType)) {
return new HsqlMaxValueIncrementer(dataSource, incrementerName, primaryKeyColumnName);
return new HsqlMaxValueIncrementer(dataSource, incrementerName, incrementerColumnName);
}
else if (DB_TYPE_MYSQL.equals(incrementerType)) {
return new MySQLMaxValueIncrementer(dataSource, incrementerName, primaryKeyColumnName);
return new MySQLMaxValueIncrementer(dataSource, incrementerName, incrementerColumnName);
}
else if (DB_TYPE_ORACLE.equals(incrementerType)) {
return new OracleSequenceMaxValueIncrementer(dataSource, incrementerName);

View File

@@ -20,7 +20,6 @@ import javax.sql.DataSource;
import junit.framework.TestCase;
import org.easymock.MockControl;
import org.springframework.batch.item.database.support.DefaultDataFieldMaxValueIncrementerFactory;
import org.springframework.jdbc.support.incrementer.DB2SequenceMaxValueIncrementer;
import org.springframework.jdbc.support.incrementer.DerbyMaxValueIncrementer;
import org.springframework.jdbc.support.incrementer.HsqlMaxValueIncrementer;
@@ -34,7 +33,7 @@ import org.springframework.jdbc.support.incrementer.PostgreSQLSequenceMaxValueIn
*/
public class DefaultDataFieldMaxValueIncrementerFactoryTests extends TestCase {
DataFieldMaxValueIncrementerFactory factory;
private DefaultDataFieldMaxValueIncrementerFactory factory;
/* (non-Javadoc)
* @see junit.framework.TestCase#setUp()
@@ -88,6 +87,7 @@ public class DefaultDataFieldMaxValueIncrementerFactoryTests extends TestCase {
}
public void testOracle(){
factory.setIncrementerColumnName("ID");
assertTrue(factory.getIncrementer("oracle", "NAME") instanceof OracleSequenceMaxValueIncrementer);
}