import java.util.Map;\r
\r
import org.apache.log4j.Logger;\r
+import org.springframework.transaction.TransactionStatus;\r
\r
import eu.etaxonomy.cdm.common.CdmUtils;\r
import eu.etaxonomy.cdm.io.common.CdmImportBase;\r
implements ICdmImport<FaunaEuropaeaImportConfigurator,FaunaEuropaeaImportState> {\r
private static final Logger logger = Logger.getLogger(FaunaEuropaeaImportBase.class);\r
\r
- /* Highest taxon index in the FauEu database */\r
+// /* Max number of taxa to retrieve (for test purposes) */\r
+// protected static final int maxTaxa = 1000;\r
+// /* Max number of taxa to be saved with one service call */\r
+// protected int limit = 20000; // TODO: Make configurable\r
+// /* Interval for progress info message when retrieving taxa */\r
+// protected static final int modCount = 10000;\r
+// /* Highest taxon index in the FauEu database */\r
// protected int highestTaxonIndex = 0;\r
\r
protected boolean resultSetHasColumn(ResultSet rs, String columnName){\r
+ ", n = " + n); \r
}\r
\r
- // save taxa in chunks of <=limit\r
+ // save taxa in blocks of <=limit\r
\r
for (int j = 1; j <= n + 1; j++)\r
{\r
int offset = j - 1;\r
int start = offset * limit;\r
\r
- if(logger.isInfoEnabled()) { logger.info("Saving taxa: " + start + " - " + (start + limit - 1)); }\r
+ if(logger.isInfoEnabled()) { \r
+ logger.info("Saving taxa: " + start + " - " + (start + limit - 1)); \r
+ }\r
\r
if(logger.isInfoEnabled()) { \r
logger.info("index = " + j \r
\r
if (j == n + 1) {\r
limit = nbrOfTaxa - n * limit;\r
- if(logger.isInfoEnabled()) { logger.info("n = " + n + ", limit = " + limit); }\r
+ if(logger.isInfoEnabled()) { \r
+ logger.info("n = " + n + ", limit = " + limit); \r
+ }\r
}\r
\r
+ TransactionStatus txStatus = startTransaction();\r
+ \r
Collection<TaxonBase> taxonMapPart = taxonStore.objects(start, limit);\r
getTaxonService().saveTaxonAll(taxonMapPart);\r
taxonMapPart = null;\r
- //taxonStore.removeObjects(start, limit);\r
+ taxonStore.removeObjects(start, limit);\r
+ \r
+ commitTransaction(txStatus);\r
+\r
}\r
\r
return success;\r