protected int setKeyAuto ( Configuration table, Column column, int currentIndex, int rowIndex,
Connection conn, PreparedStatement statement, Map objectModel, String outputMode, Map results )
throws ConfigurationException, SQLException, Exception {
int columnCount = 0;
ServiceSelector autoincrSelector = null;
AutoIncrementModule autoincr = null;
try {
autoincrSelector = (ServiceSelector) this.manager.lookup(DATABASE_MODULE_SELECTOR);
if (column.mode != null && autoincrSelector != null && autoincrSelector.isSelectable(column.mode)){
autoincr = (AutoIncrementModule) autoincrSelector.select(column.mode);
}
if ( autoincr.includeInQuery() ) {
if ( autoincr.includeAsValue() ) {
Object value = autoincr.getPreValue( table, column.columnConf, column.modeConf, conn, objectModel );
this.setColumn(objectModel, outputMode, results, table, column.columnConf, rowIndex, value, statement, currentIndex);
columnCount = 1;
}
} else {
if (getLogger().isDebugEnabled())
getLogger().debug( "Automatically setting key" );
}
} finally {
if (autoincrSelector != null) {
if (autoincr != null)
autoincrSelector.release(autoincr);
this.manager.release(autoincrSelector);
}
}
return columnCount;