\r
/* Max number of taxa to retrieve (for test purposes) */\r
private int maxTaxa = 0;\r
- /* Interval for progress info message when retrieving taxa */\r
-// private int modCount = 10000;\r
\r
\r
/* (non-Javadoc)\r
protected boolean doInvoke(FaunaEuropaeaImportState state) { \r
\r
ProfilerController.memorySnapshot();\r
-\r
-// TransactionStatus txStatus = null;\r
boolean success = true;\r
- \r
if(logger.isInfoEnabled()) { logger.info("Start making taxa..."); }\r
\r
-// if (state.getConfig().isUseTransactions()) {\r
-// txStatus = startTransaction();\r
-// }\r
- \r
- success = retrieveTaxa(state);\r
-// success = processTaxaSecondPass(state);\r
-// success = saveTaxa(state, state.getHighestTaxonIndex(), state.getConfig().getLimitSave());\r
- \r
-// if (state.getConfig().isUseTransactions()) {\r
-// commitTransaction(txStatus);\r
-// }\r
+ success = processTaxa(state);\r
\r
logger.info("End making taxa...");\r
ProfilerController.memorySnapshot();\r
\r
\r
/** Retrieve taxa from FauEu DB, fill TaxonStore */\r
- private boolean retrieveTaxa(FaunaEuropaeaImportState state) {\r
+ private boolean processTaxa(FaunaEuropaeaImportState state) {\r
\r
int limit = state.getConfig().getLimitSave();\r
\r
Map<String, MapWrapper<? extends CdmBase>> stores = state.getStores();\r
MapWrapper<TeamOrPersonBase> authorStore = (MapWrapper<TeamOrPersonBase>)stores.get(ICdmIO.TEAM_STORE);\r
\r
-// MapWrapper<TaxonBase> nameStore = (MapWrapper<TaxonBase>)stores.get(ICdmIO.TAXONNAME_STORE);\r
-// MapWrapper<TaxonBase> taxonStore = (MapWrapper<TaxonBase>)stores.get(ICdmIO.TAXON_STORE);\r
-// Map<Integer, FaunaEuropaeaTaxon> fauEuTaxonMap = state.getFauEuTaxonMap();\r
- \r
Map<Integer, TaxonBase<?>> taxonMap = null;\r
Map<Integer, FaunaEuropaeaTaxon> fauEuTaxonMap = null;\r
\r
-// Map<Integer, TaxonBase<?>> taxonMap = new HashMap<Integer, TaxonBase<?>>(limit);\r
-// Map<Integer, FaunaEuropaeaTaxon> fauEuTaxonMap = new HashMap<Integer, FaunaEuropaeaTaxon>(limit);\r
- \r
-// state.setFauEuTaxonMap(fauEuTaxonMap);\r
-// state.setFauEuTaxonMap(fauEuTaxonMap);\r
-\r
FaunaEuropaeaImportConfigurator fauEuConfig = state.getConfig();\r
ReferenceBase<?> sourceRef = fauEuConfig.getSourceReference();\r
\r
\r
while (rs.next()) {\r
\r
- if ((i++ % limit) == 0) { \r
- if (state.getConfig().isUseTransactions()) {\r
- txStatus = startTransaction();\r
- }\r
+ if ((i++ % limit) == 0) {\r
+ \r
+ ProfilerController.memorySnapshot();\r
+ txStatus = startTransaction();\r
taxonMap = new HashMap<Integer, TaxonBase<?>>(limit);\r
fauEuTaxonMap = new HashMap<Integer, FaunaEuropaeaTaxon>(limit);\r
+ \r
if(logger.isInfoEnabled()) {\r
logger.info("i = " + i + " - Transaction started"); \r
}\r
}\r
taxonMap.put(taxonId, taxonBase);\r
fauEuTaxonMap.put(taxonId, fauEuTaxon);\r
+ \r
// if (logger.isDebugEnabled()) { \r
// logger.debug("Stored taxon base (" + taxonId + ") " + localName); \r
// }\r
e.printStackTrace();\r
}\r
\r
- if ((i % limit) == 0 && i != 1 ) { \r
+ if (((i % limit) == 0 && i != 1 )) { \r
\r
success = processTaxaSecondPass(state, taxonMap, fauEuTaxonMap);\r
- success = saveTaxa(state, taxonMap);\r
+ saveTaxa(state, taxonMap);\r
\r
-// taxonStore.makeNewMap((IService)getTaxonService());\r
+ ProfilerController.memorySnapshot();\r
\r
- if (logger.isDebugEnabled()) {\r
- logger.debug("Final size of taxon store is: " + taxonMap.size());\r
- }\r
taxonMap = null;\r
fauEuTaxonMap = null;\r
+ commitTransaction(txStatus);\r
\r
- if (state.getConfig().isUseTransactions()) {\r
- commitTransaction(txStatus);\r
- }\r
if(logger.isInfoEnabled()) {\r
logger.info("i = " + i + " - Transaction committed"); \r
}\r
\r
if(logger.isDebugEnabled()) { logger.debug("Processing taxa second pass..."); }\r
\r
-// Map<String, MapWrapper<? extends CdmBase>> stores = state.getStores();\r
-// MapWrapper<TaxonBase> taxonStore = (MapWrapper<TaxonBase>)stores.get(ICdmIO.TAXON_STORE);\r
-// Map<Integer, FaunaEuropaeaTaxon> fauEuTaxonMap = state.getFauEuTaxonMap();\r
-\r
FaunaEuropaeaImportConfigurator fauEuConfig = state.getConfig();\r
ReferenceBase<?> sourceRef = fauEuConfig.getSourceReference();\r
\r
\r
for (int id : taxonMap.keySet())\r
{\r
- TaxonBase<?> taxonBase = taxonMap.get(id);\r
if (logger.isDebugEnabled()) { logger.debug("Taxon # " + id); }\r
\r
+ TaxonBase<?> taxonBase = taxonMap.get(id);\r
TaxonNameBase<?,?> taxonName = taxonBase.getName();\r
- \r
FaunaEuropaeaTaxon fauEuTaxon = fauEuTaxonMap.get(id);\r
\r
String nameString = \r
}\r
\r
\r
- protected boolean saveTaxa(FaunaEuropaeaImportState state, Map<Integer, TaxonBase<?>> taxonMap) {\r
+ protected void saveTaxa(FaunaEuropaeaImportState state, Map<Integer, TaxonBase<?>> taxonMap) {\r
\r
- boolean success = true;\r
-\r
-// Map<String, MapWrapper<? extends CdmBase>> stores = state.getStores();\r
-// MapWrapper<TaxonBase> taxonStore = (MapWrapper<TaxonBase>)stores.get(ICdmIO.TAXON_STORE);\r
- \r
if(logger.isDebugEnabled()) { logger.debug("Saving taxa ..."); }\r
\r
-\r
getTaxonService().saveTaxonAll(taxonMap.values());\r
\r
-\r
- return success;\r
}\r
\r
\r