correcting utf8 chars
[cdmlib.git] / cdmlib-io / src / main / java / eu / etaxonomy / cdm / io / berlinModel / out / BerlinModelAuthorExport.java
index b41bea671f5667da2fb32bd7ae26f8712290b3d2..69f64d3deec4b6ba58698e34b727a1f489281a4b 100644 (file)
@@ -16,14 +16,15 @@ import org.springframework.stereotype.Component;
 import org.springframework.transaction.TransactionStatus;\r
 \r
 import eu.etaxonomy.cdm.io.berlinModel.out.mapper.CreatedAndNotesMapper;\r
+import eu.etaxonomy.cdm.io.berlinModel.out.mapper.DbExtensionMapper;\r
 import eu.etaxonomy.cdm.io.berlinModel.out.mapper.DbStringMapper;\r
+import eu.etaxonomy.cdm.io.berlinModel.out.mapper.DbTimePeriodMapper;\r
 import eu.etaxonomy.cdm.io.berlinModel.out.mapper.IdMapper;\r
-import eu.etaxonomy.cdm.io.common.IExportConfigurator;\r
 import eu.etaxonomy.cdm.io.common.Source;\r
 import eu.etaxonomy.cdm.model.agent.AgentBase;\r
 import eu.etaxonomy.cdm.model.agent.Person;\r
-import eu.etaxonomy.cdm.model.agent.Team;\r
 import eu.etaxonomy.cdm.model.common.CdmBase;\r
+import eu.etaxonomy.cdm.model.common.ExtensionType;\r
 \r
 \r
 /**\r
@@ -32,10 +33,10 @@ import eu.etaxonomy.cdm.model.common.CdmBase;
  * @version 1.0\r
  */\r
 @Component\r
-public class BerlinModelAuthorExport extends BerlinModelExportBase {\r
+public class BerlinModelAuthorExport extends BerlinModelExportBase<Person> {\r
        private static final Logger logger = Logger.getLogger(BerlinModelAuthorExport.class);\r
 \r
-       private static int modCount = 1000;\r
+       private static int modCount = 5000;\r
        private static final String dbTableName = "Author";\r
        private static final String pluralString = "Authors";\r
        private static final Class<? extends CdmBase> standardMethodParameter = Person.class;\r
@@ -43,11 +44,9 @@ public class BerlinModelAuthorExport extends BerlinModelExportBase {
                super();\r
        }\r
        \r
-       /* (non-Javadoc)\r
-        * @see eu.etaxonomy.cdm.io.common.CdmIoBase#doCheck(eu.etaxonomy.cdm.io.common.IImportConfigurator)\r
-        */\r
+\r
        @Override\r
-       protected boolean doCheck(IExportConfigurator config){\r
+       protected boolean doCheck(BerlinModelExportState state){\r
                boolean result = true;\r
                logger.warn("Checking for "+pluralString+" not yet implemented");\r
                //result &= checkArticlesWithoutJournal(bmiConfig);\r
@@ -61,26 +60,24 @@ public class BerlinModelAuthorExport extends BerlinModelExportBase {
                BerlinModelExportMapping mapping = new BerlinModelExportMapping(tableName);\r
                mapping.addMapper(IdMapper.NewInstance("AuthorId"));\r
                mapping.addMapper(DbStringMapper.NewInstance("nomenclaturalTitle", "Abbrev"));\r
-               mapping.addMapper(DbStringMapper.NewInstance("firstName", "FirstName"));\r
-               mapping.addMapper(DbStringMapper.NewInstance("lastName", "LastName"));\r
-               mapping.addMapper(DbStringMapper.NewInstance("lifespan", "Dates"));\r
-\r
-//TODO         \r
-//             mapping.addMapper(DbStringMapper.NewInstance("", "NomStandard"));\r
-//             mapping.addMapper(DbStringMapper.NewInstance("", "Kürzel"));\r
-//             mapping.addMapper(DbStringMapper.NewInstance("", "DraftKürz"));\r
-//             mapping.addMapper(DbStringMapper.NewInstance("", "Initials"));\r
-\r
+               mapping.addMapper(DbStringMapper.NewInstance("firstname", "FirstName"));\r
+               mapping.addMapper(DbStringMapper.NewInstance("lastname", "LastName"));\r
+               mapping.addMapper(DbTimePeriodMapper.NewInstance("lifespan", "Dates"));\r
+               mapping.addMapper(DbExtensionMapper.NewInstance(ExtensionType.NOMENCLATURAL_STANDARD(), "NomStandard"));\r
+               mapping.addMapper(DbExtensionMapper.NewInstance(ExtensionType.AREA_OF_INTREREST(), "AreaOfInterest"));\r
+               mapping.addMapper(DbExtensionMapper.NewInstance(ExtensionType.ABBREVIATION(), "Initials"));\r
+//             mapping.addMapper(DbExtensionMapper.NewInstance(ExtensionType.ABBREVIATION(),Kürzel")); //Initials used instead\r
+//             mapping.addMapper(DbExtensionMapper.NewInstance(ExtensionType.ABBREVIATION(), "DraftKürz")); //Initials used instead\r
                mapping.addMapper(CreatedAndNotesMapper.NewInstance());\r
                \r
                return mapping;\r
        }\r
        \r
-       \r
-       protected boolean doInvoke(BerlinModelExportState<BerlinModelExportConfigurator> state){\r
-               //MapWrapper<AgentBase> teamMap = (MapWrapper<AgentBase>)stores.get(ICdmIO.AUTHOR_STORE);\r
-               //MapWrapper<AgentBase> teamMap = (MapWrapper<AgentBase>)stores.get(ICdmIO.AUTHOR_STORE);\r
-               \r
+       /* (non-Javadoc)\r
+        * @see eu.etaxonomy.cdm.io.berlinModel.out.BerlinModelExportBase#doInvoke(eu.etaxonomy.cdm.io.berlinModel.out.BerlinModelExportState)\r
+        */\r
+       @Override\r
+       protected boolean doInvoke(BerlinModelExportState state) {\r
                try{\r
                        BerlinModelExportConfigurator bmeConfig = (BerlinModelExportConfigurator)state.getConfig();\r
                        \r
@@ -89,8 +86,8 @@ public class BerlinModelAuthorExport extends BerlinModelExportBase {
                        doDelete(bmeConfig);\r
                        \r
                        TransactionStatus txStatus = startTransaction(true);\r
-                       Class<Team> clazz = Team.class;\r
-                       List<? extends AgentBase> persons = getAgentService().list(clazz, 100000000, 0);\r
+                       Class<Person> clazz = Person.class;\r
+                       List<AgentBase> persons = getAgentService().list(clazz, 100000000, 0, null, null);\r
                        \r
                        BerlinModelExportMapping mapping = getMapping();\r
                        mapping.initialize(state);\r
@@ -105,7 +102,7 @@ public class BerlinModelAuthorExport extends BerlinModelExportBase {
                        }\r
                        \r
                        commitTransaction(txStatus);\r
-                       logger.info("end make "+pluralString+"  ...");\r
+                       logger.info("end make "+pluralString+"  ..." + getSuccessString(success));\r
                        return success;\r
                }catch(SQLException e){\r
                        e.printStackTrace();\r
@@ -115,16 +112,69 @@ public class BerlinModelAuthorExport extends BerlinModelExportBase {
        }\r
        \r
        protected boolean doDelete(BerlinModelExportConfigurator config){\r
+               \r
+               //TODO make more generic for all BerlinModelExport classes\r
                String sql;\r
                Source destination =  config.getDestination();\r
+               //RelPTaxon\r
+               sql = "DELETE FROM RelPTaxon";\r
+               destination.setQuery(sql);\r
+               destination.update(sql);\r
+               //Fact\r
+               sql = "DELETE FROM Fact";\r
+               destination.setQuery(sql);\r
+               destination.update(sql);\r
+               //PTaxon\r
+               sql = "DELETE FROM PTaxon";\r
+               destination.setQuery(sql);\r
+               destination.update(sql);\r
+               \r
+               //NameHistory\r
+               sql = "DELETE FROM NameHistory";\r
+               destination.setQuery(sql);\r
+               destination.update(sql);\r
+               //RelName\r
+               sql = "DELETE FROM RelName";\r
+               destination.setQuery(sql);\r
+               destination.update(sql);\r
+               //NomStatusRel\r
+               sql = "DELETE FROM NomStatusRel";\r
+               destination.setQuery(sql);\r
+               destination.update(sql);\r
+               //Name\r
+               sql = "DELETE FROM Name";\r
+               destination.setQuery(sql);\r
+               destination.update(sql);\r
+               //RefDetail\r
+               sql = "DELETE FROM RefDetail";\r
+               destination.setQuery(sql);\r
+               destination.update(sql);\r
+               //Reference\r
+               sql = "DELETE FROM Reference";\r
+               destination.setQuery(sql);\r
+               destination.update(sql);\r
+               //AuthorTeamSequence\r
+               sql = "DELETE FROM AuthorTeamSequence";\r
+               destination.setQuery(sql);\r
+               destination.update(sql);\r
+               //AuthorTeam\r
+               sql = "DELETE FROM AuthorTeam";\r
+               destination.setQuery(sql);\r
+               destination.update(sql);\r
+               //Author\r
+               sql = "DELETE FROM Author";\r
+               destination.setQuery(sql);\r
+               destination.update(sql);\r
                return true;\r
        }\r
        \r
+       \r
        /* (non-Javadoc)\r
-        * @see eu.etaxonomy.cdm.io.common.CdmIoBase#isIgnore(eu.etaxonomy.cdm.io.common.IImportConfigurator)\r
+        * @see eu.etaxonomy.cdm.io.common.CdmIoBase#isIgnore(eu.etaxonomy.cdm.io.common.IIoConfigurator)\r
         */\r
-       protected boolean isIgnore(IExportConfigurator config){\r
-               return ! ((BerlinModelExportConfigurator)config).isDoAuthors();\r
+       @Override\r
+       protected boolean isIgnore(BerlinModelExportState state) {\r
+               return ! state.getConfig().isDoAuthors();\r
        }\r
 \r
        /* (non-Javadoc)\r
@@ -135,4 +185,6 @@ public class BerlinModelAuthorExport extends BerlinModelExportBase {
                return standardMethodParameter;\r
        }\r
 \r
+\r
+\r
 }\r