Rework Fauna Europaea import
[cdmlib.git] / cdmlib-io / src / main / java / eu / etaxonomy / cdm / io / faunaEuropaea / FaunaEuropaeaTaxonNameImport.java
index cfdd549c350251434aed6d5d6c9a7bfa9b5af5af..158f96c3865dcab024a6b5d610ca98f8333e6be7 100644 (file)
@@ -67,8 +67,6 @@ public class FaunaEuropaeaTaxonNameImport extends FaunaEuropaeaImportBase  {
 \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
@@ -110,23 +108,10 @@ public class FaunaEuropaeaTaxonNameImport extends FaunaEuropaeaImportBase  {
        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
@@ -135,7 +120,7 @@ public class FaunaEuropaeaTaxonNameImport extends FaunaEuropaeaImportBase  {
 \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
@@ -144,19 +129,9 @@ public class FaunaEuropaeaTaxonNameImport extends FaunaEuropaeaImportBase  {
                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
@@ -180,12 +155,13 @@ public class FaunaEuropaeaTaxonNameImport extends FaunaEuropaeaImportBase  {
 \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
@@ -303,6 +279,7 @@ public class FaunaEuropaeaTaxonNameImport extends FaunaEuropaeaImportBase  {
                                                }\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
@@ -316,22 +293,17 @@ public class FaunaEuropaeaTaxonNameImport extends FaunaEuropaeaImportBase  {
                                        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
@@ -355,10 +327,6 @@ public class FaunaEuropaeaTaxonNameImport extends FaunaEuropaeaImportBase  {
 \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
@@ -366,11 +334,10 @@ public class FaunaEuropaeaTaxonNameImport extends FaunaEuropaeaImportBase  {
 \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
@@ -737,20 +704,12 @@ public class FaunaEuropaeaTaxonNameImport extends FaunaEuropaeaImportBase  {
        }\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