Remove generics from Reference in cdmlib-app #5830
[cdmlib-apps.git] / cdm-eflora / src / main / java / eu / etaxonomy / cdm / io / eflora / centralAfrica / ferns / CentralAfricaFernsTaxonImport.java
index 41ccc54d80e3eb376578757e41125a6b3711e838..16b10970ff7714fac9fe5cd2b26a4a04a98472cf 100644 (file)
@@ -1,8 +1,8 @@
 /**\r
 * Copyright (C) 2007 EDIT\r
-* European Distributed Institute of Taxonomy \r
+* European Distributed Institute of Taxonomy\r
 * http://www.e-taxonomy.eu\r
-* \r
+*\r
 * The contents of this file are subject to the Mozilla Public License Version 1.1\r
 * See LICENSE.TXT at the top of this package for the full license terms.\r
 */\r
@@ -57,60 +57,52 @@ import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignationStatus;
 import eu.etaxonomy.cdm.model.name.TaxonNameBase;\r
 import eu.etaxonomy.cdm.model.name.TypeDesignationBase;\r
 import eu.etaxonomy.cdm.model.occurrence.Collection;\r
-import eu.etaxonomy.cdm.model.occurrence.DerivedUnitBase;\r
-import eu.etaxonomy.cdm.model.occurrence.Specimen;\r
+import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;\r
 import eu.etaxonomy.cdm.model.reference.Reference;\r
 import eu.etaxonomy.cdm.model.reference.ReferenceFactory;\r
 import eu.etaxonomy.cdm.model.taxon.Synonym;\r
 import eu.etaxonomy.cdm.model.taxon.Taxon;\r
 import eu.etaxonomy.cdm.model.taxon.TaxonBase;\r
 import eu.etaxonomy.cdm.strategy.parser.NonViralNameParserImpl;\r
+import eu.etaxonomy.cdm.strategy.parser.TimePeriodParser;\r
 \r
 \r
 /**\r
  * @author a.mueller\r
  * @created 20.02.2010\r
- * @version 1.0\r
  */\r
 @Component\r
 public class CentralAfricaFernsTaxonImport  extends CentralAfricaFernsImportBase<TaxonBase> implements IMappingImport<TaxonBase, CentralAfricaFernsImportState>{\r
        private static final Logger logger = Logger.getLogger(CentralAfricaFernsTaxonImport.class);\r
-       \r
+\r
        public static final UUID TNS_EXT_UUID = UUID.fromString("41cb0450-ac84-4d73-905e-9c7773c23b05");\r
-       \r
-       \r
-       private DbImportMapping mapping;\r
-       \r
+\r
+\r
+       private DbImportMapping<?,?> mapping;\r
+\r
        //second path is not used anymore, there is now an ErmsTaxonRelationImport class instead\r
-       private boolean isSecondPath = false;\r
-       \r
+//     private boolean isSecondPath = false;\r
+\r
        private static final String pluralString = "taxa";\r
        private static final String dbTableName = "[African pteridophytes]";\r
-       private static final Class cdmTargetClass = TaxonBase.class;\r
+       private static final Class<?> cdmTargetClass = TaxonBase.class;\r
 \r
        public CentralAfricaFernsTaxonImport(){\r
                super(pluralString, dbTableName, cdmTargetClass);\r
        }\r
-       \r
-       \r
 \r
-       /* (non-Javadoc)\r
-        * @see eu.etaxonomy.cdm.io.eflora.centralAfrica.ferns.CentralAfricaFernsImportBase#getIdQuery()\r
-        */\r
+\r
        @Override\r
-       protected String getIdQuery() {\r
+    protected String getIdQuery() {\r
                String strQuery = " SELECT [Taxon number] FROM " + dbTableName ;\r
                return strQuery;\r
        }\r
 \r
-\r
-       /* (non-Javadoc)\r
-        * @see eu.etaxonomy.cdm.io.eflora.centralAfrica.ferns.CentralAfricaFernsImportBase#getMapping()\r
-        */\r
-       protected DbImportMapping getMapping() {\r
+       @Override\r
+       protected DbImportMapping<?,?> getMapping() {\r
                if (mapping == null){\r
                        mapping = new DbImportMapping();\r
-                       \r
+\r
                        mapping.addMapper(DbImportObjectCreationMapper.NewInstance(this, "Taxon number", TAXON_NAMESPACE)); //id + tu_status\r
 \r
                        mapping.addMapper(DbImportMethodMapper.NewInstance(this, "mapTypes", ResultSet.class, CentralAfricaFernsImportState.class));\r
@@ -118,7 +110,7 @@ public class CentralAfricaFernsTaxonImport  extends CentralAfricaFernsImportBase
 \r
                        mapping.addMapper(DbImportMethodMapper.NewInstance(this, "mapReferences", ResultSet.class, CentralAfricaFernsImportState.class));\r
                        mapping.addMapper(DbImportMethodMapper.NewInstance(this, "mapNomRemarks", ResultSet.class, CentralAfricaFernsImportState.class));\r
-                       \r
+\r
                        mapping.addMapper(DbImportExtensionMapper.NewInstance("Illustrations - non-original", CentralAfricaFernsTransformer.uuidIllustrationsNonOriginal, "Illustrations - non-original", "Illustrations - non-original", null));\r
 \r
 //                     mapping.addMapper(DbImportTextDataCreationMapper.NewInstance("Illustrations - non-original", objectToCreateNamespace, dbTaxonFkAttribute, this.TAXON_NAMESPACE, "Illustrations - non-original", Language.ENGLISH(), Feature, null);\r
@@ -129,26 +121,26 @@ public class CentralAfricaFernsTaxonImport  extends CentralAfricaFernsImportBase
 \r
                        mapping.addMapper(DbNotYetImplementedMapper.NewInstance("Basionym of", "Needs better understanding"));\r
                        mapping.addMapper(DbNotYetImplementedMapper.NewInstance("Synonym of", "Needs better understanding. Strange values like "));\r
-                       \r
-                       \r
+\r
+\r
                        mapping.addMapper(DbNotYetImplementedMapper.NewInstance("Chromosome number" , "Wrong data. Seems to be 'reference full'"));\r
-                       \r
+\r
                        mapping.addMapper(DbNotYetImplementedMapper.NewInstance("Book Publisher & Place" , "How to access the reference via String mapper?"));\r
-                       \r
+\r
                        mapping.addMapper(DbNotYetImplementedMapper.NewInstance("Reprint no" , "What's this?"));\r
                        mapping.addMapper(DbNotYetImplementedMapper.NewInstance("Date verified" , "Needed?"));\r
-                       \r
-                       \r
-//                     \r
+\r
+\r
+//\r
 //                     UUID credibilityUuid = ErmsTransformer.uuidCredibility;\r
 //                     mapping.addMapper(DbImportExtensionMapper.NewInstance("tu_credibility", credibilityUuid, "credibility", "credibility", "credibility")); //Werte: null, unknown, marked for deletion\r
-//                     \r
+//\r
                        //ignore\r
 //                     mapping.addMapper(DbIgnoreMapper.NewInstance("cache_citation", "citation cache not needed in PESI"));\r
-                       \r
+\r
                        //not yet implemented or ignore\r
 //                     mapping.addMapper(DbNotYetImplementedMapper.NewInstance("tu_hidden", "Needs DbImportMarkerMapper implemented"));\r
-                       \r
+\r
                }\r
                return mapping;\r
        }\r
@@ -167,15 +159,13 @@ public class CentralAfricaFernsTaxonImport  extends CentralAfricaFernsImportBase
        }\r
 \r
 \r
-       /* (non-Javadoc)\r
-        * @see eu.etaxonomy.cdm.io.berlinModel.in.IPartitionedIO#getRelatedObjectsForPartition(java.sql.ResultSet)\r
-        */\r
-       public Map<Object, Map<String, ? extends CdmBase>> getRelatedObjectsForPartition(ResultSet rs) {\r
-               String nameSpace;\r
-               Class cdmClass;\r
-               Set<String> idSet;\r
+       @Override\r
+       public Map<Object, Map<String, ? extends CdmBase>> getRelatedObjectsForPartition(ResultSet rs, CentralAfricaFernsImportState state) {\r
+//             String nameSpace;\r
+//             Class<?> cdmClass;\r
+//             Set<String> idSet;\r
                Map<Object, Map<String, ? extends CdmBase>> result = new HashMap<Object, Map<String, ? extends CdmBase>>();\r
-               \r
+\r
                try{\r
                                Set<String> nameIdSet = new HashSet<String>();\r
                                Set<String> referenceIdSet = new HashSet<String>();\r
@@ -195,7 +185,7 @@ public class CentralAfricaFernsTaxonImport  extends CentralAfricaFernsImportBase
                }\r
                return result;\r
        }\r
-       \r
+\r
        private TaxonBase mapTypes(ResultSet rs, CentralAfricaFernsImportState state) throws SQLException{\r
                TaxonBase<?> taxonBase = state.getRelatedObject(state.CURRENT_OBJECT_NAMESPACE, state.CURRENT_OBJECT_ID, TaxonBase.class);\r
                TaxonNameBase name = taxonBase.getName();\r
@@ -209,8 +199,8 @@ public class CentralAfricaFernsTaxonImport  extends CentralAfricaFernsImportBase
                }\r
                return taxonBase;\r
        }\r
-       \r
-       \r
+\r
+\r
        private String[] getTypeInfo(ResultSet rs, int i) throws SQLException {\r
                String[] typeInfo = new String[3];\r
                String number;\r
@@ -222,7 +212,7 @@ public class CentralAfricaFernsTaxonImport  extends CentralAfricaFernsImportBase
                typeInfo[0] = rs.getString("Type" + number);\r
                typeInfo[1] = rs.getString("Type collector and number" + number);\r
                typeInfo[2] = rs.getString("Type location" + number);\r
-               \r
+\r
                return typeInfo;\r
        }\r
 \r
@@ -243,7 +233,7 @@ public class CentralAfricaFernsTaxonImport  extends CentralAfricaFernsImportBase
                List<SpecimenTypeDesignation> designations = new ArrayList<SpecimenTypeDesignation>();\r
                typeLocationString = CdmUtils.Nz(typeLocationString);\r
                if (typeLocationString.equalsIgnoreCase("not located")){\r
-                       \r
+\r
                }else{\r
                        String[] splits = typeLocationString.split(";");\r
                        for (String split : splits){\r
@@ -262,7 +252,7 @@ public class CentralAfricaFernsTaxonImport  extends CentralAfricaFernsImportBase
                                designation.setNotDesignated(true);\r
                        }\r
 \r
-                       DerivedUnitBase specimen = designation.getTypeSpecimen();\r
+                       DerivedUnit specimen = designation.getTypeSpecimen();\r
 \r
                        if (lastFacade != null){\r
                                lastFacade.addDuplicate(specimen);\r
@@ -273,22 +263,22 @@ public class CentralAfricaFernsTaxonImport  extends CentralAfricaFernsImportBase
                                } catch (DerivedUnitFacadeNotSupportedException e) {\r
                                        throw new RuntimeException(e);\r
                                }\r
-                               \r
+\r
                                //TODO not so nice\r
                                lastFacade.setLocality(typeString);\r
                                makeTypeCollectorInfo(lastFacade, typeCollectorString);\r
-                               \r
+\r
                        }\r
                }\r
-                       \r
+\r
        }\r
 \r
 \r
 \r
-       private List<SpecimenTypeDesignation> handleTypeLocationPart(CentralAfricaFernsImportState state, \r
+       private List<SpecimenTypeDesignation> handleTypeLocationPart(CentralAfricaFernsImportState state,\r
                                String typeString, String typeCollectorString, String typeLocationPart) {\r
                List<SpecimenTypeDesignation> result = new ArrayList<SpecimenTypeDesignation>();\r
-               String[] splits = typeLocationPart.split(","); \r
+               String[] splits = typeLocationPart.split(",");\r
                //see also SpecimenTypeParser\r
                String typeTypePattern = "(holo.|lecto.|iso.|isolecto.|syn.|isosyn.|neo.|isoneo.)";\r
                String collectionPattern = "^[A-Z]+(\\-[A-Z]+)?";\r
@@ -296,7 +286,7 @@ public class CentralAfricaFernsTaxonImport  extends CentralAfricaFernsImportBase
                String addInfoPattern = "[!\\+\\?]?";\r
                String typeCollectionPattern = collectionPattern + "\\s?" + numberPattern + addInfoPattern;\r
                SpecimenTypeDesignation lastDesignation = null;\r
-               \r
+\r
                for (String split: splits){\r
                        split = split.trim();\r
                        if (StringUtils.isBlank(split)){\r
@@ -306,7 +296,7 @@ public class CentralAfricaFernsTaxonImport  extends CentralAfricaFernsImportBase
                        }else if (split.trim().matches(typeTypePattern)){\r
                                makeSpecimentTypeStatus(lastDesignation, split);\r
                        }else if(split.matches(typeCollectionPattern)){\r
-                               \r
+\r
                                lastDesignation = makeSpecimenTypeCollection(lastDesignation, split, collectionPattern, numberPattern, addInfoPattern);\r
                        }else if(split.equalsIgnoreCase("not located")){\r
                                lastDesignation = makeCachedSpecimenDesignation(split);\r
@@ -322,7 +312,7 @@ public class CentralAfricaFernsTaxonImport  extends CentralAfricaFernsImportBase
                                logger.warn("Last Designation is null");\r
                        }\r
                }\r
-               \r
+\r
                return result;\r
        }\r
 \r
@@ -335,7 +325,7 @@ public class CentralAfricaFernsTaxonImport  extends CentralAfricaFernsImportBase
        private SpecimenTypeDesignation makeCachedSpecimenDesignation(String split) {\r
                SpecimenTypeDesignation lastDesignation;\r
                lastDesignation = SpecimenTypeDesignation.NewInstance();\r
-               Specimen specimen = Specimen.NewInstance();\r
+               DerivedUnit specimen = DerivedUnit.NewPreservedSpecimenInstance();\r
                specimen.setTitleCache(split, true);\r
                lastDesignation.setTypeSpecimen(specimen);\r
                return lastDesignation;\r
@@ -345,9 +335,9 @@ public class CentralAfricaFernsTaxonImport  extends CentralAfricaFernsImportBase
 \r
        private SpecimenTypeDesignation makeSpecimenTypeCollection(SpecimenTypeDesignation designation, String collectionString, String strCollectionPattern, String strNumberPattern, String strAddInfoPattern) {\r
                SpecimenTypeDesignation result = SpecimenTypeDesignation.NewInstance();\r
-               Specimen specimen = Specimen.NewInstance();\r
+               DerivedUnit specimen = DerivedUnit.NewPreservedSpecimenInstance();\r
                result.setTypeSpecimen(specimen);\r
-               \r
+\r
                //collection\r
                Pattern collectionPattern = Pattern.compile(strCollectionPattern);\r
                Matcher matcher = collectionPattern.matcher(collectionString);\r
@@ -358,8 +348,8 @@ public class CentralAfricaFernsTaxonImport  extends CentralAfricaFernsImportBase
                Collection collection = getCollection(strCollection);\r
                specimen.setCollection(collection);\r
                collectionString = collectionString.substring(strCollection.length()).trim();\r
-               \r
-               \r
+\r
+\r
                //collection number\r
                Pattern numberPattern = Pattern.compile(strNumberPattern);\r
                matcher = numberPattern.matcher(collectionString);\r
@@ -372,7 +362,7 @@ public class CentralAfricaFernsTaxonImport  extends CentralAfricaFernsImportBase
                }else{\r
                        //throw new RuntimeException("numberString doesn't match: " + collectionString);\r
                }\r
-               \r
+\r
                //additional info\r
                Pattern addInfoPattern = Pattern.compile(strAddInfoPattern);\r
                matcher = addInfoPattern.matcher(collectionString);\r
@@ -408,7 +398,7 @@ public class CentralAfricaFernsTaxonImport  extends CentralAfricaFernsImportBase
 \r
 \r
        private void makeSpecimentTypeStatus(SpecimenTypeDesignation designation, String type) {\r
-               SpecimenTypeDesignationStatus status; \r
+               SpecimenTypeDesignationStatus status;\r
                if (type.equalsIgnoreCase("iso.")){\r
                        status = SpecimenTypeDesignationStatus.ISOTYPE();\r
                }else if (type.equalsIgnoreCase("isolecto.")){\r
@@ -463,7 +453,7 @@ public class CentralAfricaFernsTaxonImport  extends CentralAfricaFernsImportBase
                }else{\r
                        typeString = handleDesignatedBy(nameTypeDesignation, typeString);\r
                }\r
-               \r
+\r
 //             String strSecondNamePattern = "([^\\(]*|\\(.*\\))+;.+"; //never ending story\r
                String strSecondNamePattern = ".+;.+";\r
                String firstName;\r
@@ -502,7 +492,7 @@ public class CentralAfricaFernsTaxonImport  extends CentralAfricaFernsImportBase
                }\r
                nameTypeDesignation.setTypeStatus(status);\r
                name.addTypeDesignation(nameTypeDesignation, false);\r
-               \r
+\r
        }\r
 \r
 \r
@@ -513,16 +503,16 @@ public class CentralAfricaFernsTaxonImport  extends CentralAfricaFernsImportBase
                if (strName.endsWith(",")){\r
                        strName = strName.substring(0, strName.length() -1);\r
                }\r
-               BotanicalName result = (BotanicalName)NonViralNameParserImpl.NewInstance().parseFullName(strName, NomenclaturalCode.ICBN, Rank.SPECIES());\r
+               BotanicalName result = (BotanicalName)NonViralNameParserImpl.NewInstance().parseFullName(strName, NomenclaturalCode.ICNAFP, Rank.SPECIES());\r
                return result;\r
        }\r
 \r
 \r
 \r
        private BotanicalName[] getNameTypeName(String strName) {\r
-               //TODO implement get existing names \r
+               //TODO implement get existing names\r
                logger.info("Not yet fully implemented");\r
-               \r
+\r
                BotanicalName[] result = new BotanicalName[2];\r
                if (strName.endsWith(",")){\r
                        strName = strName.substring(0, strName.length() -1);\r
@@ -537,17 +527,17 @@ public class CentralAfricaFernsTaxonImport  extends CentralAfricaFernsImportBase
                                acceptedName = acceptedName.substring(0, acceptedName.length()-1);\r
                        }\r
                        acceptedName = acceptedName.replaceFirst("=", "").trim();\r
-                       result[1] = (BotanicalName)NonViralNameParserImpl.NewInstance().parseFullName(acceptedName, NomenclaturalCode.ICBN, null);\r
+                       result[1] = (BotanicalName)NonViralNameParserImpl.NewInstance().parseFullName(acceptedName, NomenclaturalCode.ICNAFP, null);\r
                        strName = notAcceptedName;\r
                }\r
-               \r
-               result[0] = (BotanicalName)NonViralNameParserImpl.NewInstance().parseFullName(strName, NomenclaturalCode.ICBN, Rank.SPECIES());\r
+\r
+               result[0] = (BotanicalName)NonViralNameParserImpl.NewInstance().parseFullName(strName, NomenclaturalCode.ICNAFP, Rank.SPECIES());\r
                return result;\r
        }\r
 \r
 \r
 \r
-       private String handleDesignatedBy(TypeDesignationBase typeDesignation, String typeString) {\r
+       private String handleDesignatedBy(TypeDesignationBase<?> typeDesignation, String typeString) {\r
                String[] splitDesignated = typeString.split(", designated by ");\r
                if (splitDesignated.length > 1){\r
                        Reference designationCitation = getDesignationCitation(typeDesignation, splitDesignated[1]);\r
@@ -561,7 +551,7 @@ public class CentralAfricaFernsTaxonImport  extends CentralAfricaFernsImportBase
 \r
 \r
 \r
-       private Reference getDesignationCitation(TypeDesignationBase typeDesignation, String citationString) {\r
+       private Reference getDesignationCitation(TypeDesignationBase<?> typeDesignation, String citationString) {\r
                // TODO try to find an existing Reference\r
                Reference result = ReferenceFactory.newGeneric();\r
                String strBracketPattern = "\\((10 Oct. )?\\d{4}:\\s?(\\d{1,3}(--\\d{1,3})?|[XLVI]{1,7}|\\.{1,8})\\)\\.?";\r
@@ -587,9 +577,9 @@ public class CentralAfricaFernsTaxonImport  extends CentralAfricaFernsImportBase
                        bracket = bracket.substring(0, bracket.length()-1);\r
                }\r
                Team team = Team.NewTitledInstance(authorPart, authorPart);\r
-               result.setAuthorTeam(team);\r
+               result.setAuthorship(team);\r
                String[] bracketSplit = bracket.split(":");\r
-               TimePeriod datePublished = TimePeriod.parseString(bracketSplit[0].trim());\r
+               TimePeriod datePublished = TimePeriodParser.parseString(bracketSplit[0].trim());\r
                result.setDatePublished(datePublished);\r
                String citationMicroReference = bracketSplit[1].trim();\r
                citationMicroReference = citationMicroReference.replace("--", "-");\r
@@ -605,7 +595,7 @@ public class CentralAfricaFernsTaxonImport  extends CentralAfricaFernsImportBase
                String reNumber = "(s\\.n\\.|\\d.*)";\r
                Pattern reNumberPattern = Pattern.compile(reNumber);\r
                Matcher matcher = reNumberPattern.matcher(collectorAndNumberString);\r
-               \r
+\r
                if ( matcher.find()){\r
                        int numberStart = matcher.start();\r
                        String number = collectorAndNumberString.substring(numberStart).trim();\r
@@ -616,10 +606,10 @@ public class CentralAfricaFernsTaxonImport  extends CentralAfricaFernsImportBase
                        specimen.setFieldNumber(number);\r
                        TeamOrPersonBase team = getTeam(collectorString);\r
                        specimen.setCollector(team);\r
-                       \r
+\r
                }else{\r
                        logger.warn("collector string did not match number pattern: " + collectorAndNumberString);\r
-                       \r
+\r
                }\r
        }\r
 \r
@@ -642,30 +632,30 @@ public class CentralAfricaFernsTaxonImport  extends CentralAfricaFernsImportBase
                String volume = rs.getString("Book / Journal volume");\r
                String pages = rs.getString("Book / Journal pages");\r
                String illustrations = rs.getString("Illustration/s");\r
-               \r
+\r
                String fascicle = rs.getString("Book / Journal fascicle");\r
                String part = rs.getString("Book / Journal part");\r
                String paperTitle = rs.getString("Book / Paper title");\r
-               \r
+\r
                String datePublishedString = rs.getString("Date published");\r
                String referenceString = referenceFullString;\r
                if (StringUtils.isBlank(referenceString)){\r
                        referenceString = referenceAbbreviatedString;\r
                }\r
-               \r
+\r
                TaxonBase<?> taxonBase = state.getRelatedObject(state.CURRENT_OBJECT_NAMESPACE, state.CURRENT_OBJECT_ID, TaxonBase.class);\r
-               if (StringUtils.isNotBlank(referenceString) || StringUtils.isNotBlank(volume) || \r
-                                       StringUtils.isNotBlank(pages) || StringUtils.isNotBlank(illustrations) || \r
+               if (StringUtils.isNotBlank(referenceString) || StringUtils.isNotBlank(volume) ||\r
+                                       StringUtils.isNotBlank(pages) || StringUtils.isNotBlank(illustrations) ||\r
                                        StringUtils.isNotBlank(datePublishedString) || StringUtils.isNotBlank(paperTitle)){\r
-                       NonViralName name = CdmBase.deproxy(taxonBase.getName(), NonViralName.class);\r
+                       NonViralName<?> name = CdmBase.deproxy(taxonBase.getName(), NonViralName.class);\r
                        Reference reference = ReferenceFactory.newGeneric();\r
-                       reference.setAuthorTeam((TeamOrPersonBase)name.getCombinationAuthorTeam());\r
+                       reference.setAuthorship(name.getCombinationAuthorship());\r
                        reference.setTitle(referenceString);\r
                        reference.setVolume(volume);\r
                        reference.setEdition(part);\r
                        Reference inrefernce = null;\r
                        //TODO parser\r
-                       TimePeriod datePublished = TimePeriod.parseString(datePublishedString);\r
+                       TimePeriod datePublished = TimePeriodParser.parseString(datePublishedString);\r
                        reference.setDatePublished(datePublished);\r
                        if (StringUtils.isNotBlank(paperTitle)){\r
                                Reference innerReference = ReferenceFactory.newGeneric();\r
@@ -676,7 +666,7 @@ public class CentralAfricaFernsTaxonImport  extends CentralAfricaFernsImportBase
                        }else{\r
                                name.setNomenclaturalReference(reference);\r
                        }\r
-                       \r
+\r
                        //details\r
                        String details = CdmUtils.concat(", ", pages, illustrations);\r
                        details = StringUtils.isBlank(details) ? null : details.trim();\r
@@ -688,7 +678,7 @@ public class CentralAfricaFernsTaxonImport  extends CentralAfricaFernsImportBase
                        } catch (UndefinedTransformerMethodException e) {\r
                                e.printStackTrace();\r
                        }\r
-                       \r
+\r
                }else{\r
                        logger.warn(taxonNumber + " - Taxon has no reference");\r
                }\r
@@ -697,14 +687,14 @@ public class CentralAfricaFernsTaxonImport  extends CentralAfricaFernsImportBase
 \r
        /**\r
         * for internal use only, used by MethodMapper\r
-        * @throws Exception \r
+        * @throws Exception\r
         */\r
        private TaxonBase mapNomRemarks(ResultSet rs, CentralAfricaFernsImportState state) throws Exception{\r
                try {\r
                        String taxonNumber = state.getTaxonNumber();\r
                        String nomRemarksString = rs.getString("Nom  remarks");\r
                        String taxonStatus = rs.getString("Current/Synonym");\r
-                       \r
+\r
                        TaxonBase<?> taxonBase = state.getRelatedObject(state.CURRENT_OBJECT_NAMESPACE, state.CURRENT_OBJECT_ID, TaxonBase.class);\r
                        if (StringUtils.isNotBlank(nomRemarksString)){\r
                                NonViralName name = CdmBase.deproxy(taxonBase.getName(), NonViralName.class);\r
@@ -716,9 +706,9 @@ public class CentralAfricaFernsTaxonImport  extends CentralAfricaFernsImportBase
                }\r
        }\r
 \r
-       \r
+\r
        private void parseNomRemark(CentralAfricaFernsImportState state, NonViralName name, String nomRemarksString, String taxonStatus, String taxonNumber) {\r
-               \r
+\r
                if (nomRemarksString.equalsIgnoreCase("comb. illeg.")){\r
                        name.addStatus(NomenclaturalStatus.NewInstance(NomenclaturalStatusType.COMBINATION_ILLEGITIMATE()));\r
                        return;\r
@@ -763,15 +753,15 @@ public class CentralAfricaFernsTaxonImport  extends CentralAfricaFernsImportBase
                        return;\r
                }\r
 \r
-               \r
+\r
                if (StringUtils.isNotBlank(nomRemarksString)){\r
                        ExtensionType extensionType = getExtensionType(state, CentralAfricaFernsTransformer.uuidNomenclaturalRemarks, "Nomenclatural remarks", "Nomenclatural remarks", null);\r
                        name.addExtension(nomRemarksString, extensionType);\r
                }\r
-               \r
-               \r
-               \r
-               \r
+\r
+\r
+\r
+\r
        }\r
 \r
 \r
@@ -779,13 +769,14 @@ public class CentralAfricaFernsTaxonImport  extends CentralAfricaFernsImportBase
        /* (non-Javadoc)\r
         * @see eu.etaxonomy.cdm.io.common.mapping.IMappingImport#createObject(java.sql.ResultSet)\r
         */\r
-       public TaxonBase createObject(ResultSet rs, CentralAfricaFernsImportState state) throws SQLException {\r
+       @Override\r
+    public TaxonBase createObject(ResultSet rs, CentralAfricaFernsImportState state) throws SQLException {\r
                BotanicalName taxonName = BotanicalName.NewInstance(null);\r
                Reference sec = state.getConfig().getSourceReference();\r
-               \r
+\r
                String taxonNumber = rs.getString("Taxon number");\r
                state.setTaxonNumber(taxonNumber);\r
-               \r
+\r
                String orderName = rs.getString("Order name");\r
                String subOrderName = rs.getString("Suborder name");\r
                String familyName = rs.getString("Family name");\r
@@ -803,13 +794,13 @@ public class CentralAfricaFernsTaxonImport  extends CentralAfricaFernsImportBase
                String subVariety = rs.getString("Subvariery");\r
                String formaName = rs.getString("Forma name");\r
                String subsectionName = rs.getString("Subsection name");\r
-               \r
+\r
                String status = rs.getString("Current/Synonym");\r
-               \r
+\r
                TaxonBase taxon = makeTaxon(taxonName, sec, taxonNumber, status);\r
-               \r
+\r
 //                     Integer parent3Rank = rs.getInt("parent3rank");\r
-               \r
+\r
                //rank and epithets\r
                Rank lowestRank = setLowestUninomial(taxonName, orderName,  subOrderName, familyName, subFamilyName, tribusName, subTribusName,genusName);\r
                lowestRank = setLowestInfraGeneric(taxonName, lowestRank, subGenusName, sectionName, subsectionName, seriesName);\r
@@ -818,16 +809,16 @@ public class CentralAfricaFernsTaxonImport  extends CentralAfricaFernsImportBase
                        lowestRank = Rank.SPECIES();\r
                }\r
                lowestRank = setLowestInfraSpecific(taxonName, lowestRank, subspeciesName,  varietyName, subVariety, formaName,subFormaName);\r
-               \r
+\r
                taxonName.setRank(lowestRank);\r
                state.setCurrentRank(taxonName.getRank());\r
                setAuthor(taxonName, rs, taxonNumber, false);\r
-               \r
+\r
                //add original source for taxon name (taxon original source is added in mapper\r
 //             Reference citation = state.getConfig().getSourceReference();\r
 //             addOriginalSource(taxonName, taxonNumber, TAXON_NAMESPACE, citation);\r
                return taxon;\r
-               \r
+\r
        }\r
 \r
 \r
@@ -903,7 +894,7 @@ public class CentralAfricaFernsTaxonImport  extends CentralAfricaFernsImportBase
 \r
        private Rank setLowestUninomial(BotanicalName taxonName, String orderName, String subOrderName, String familyName, String subFamilyName,\r
                        String tribusName, String subTribusName, String genusName) {\r
-               \r
+\r
                if (StringUtils.isNotBlank(genusName)){\r
                        taxonName.setGenusOrUninomial(genusName);\r
                        return Rank.GENUS();\r
@@ -929,7 +920,7 @@ public class CentralAfricaFernsTaxonImport  extends CentralAfricaFernsImportBase
                        return null;\r
                }\r
        }\r
-       \r
+\r
 \r
        /* (non-Javadoc)\r
         * @see eu.etaxonomy.cdm.io.common.CdmIoBase#doCheck(eu.etaxonomy.cdm.io.common.IoStateBase)\r
@@ -939,8 +930,8 @@ public class CentralAfricaFernsTaxonImport  extends CentralAfricaFernsImportBase
                IOValidator<CentralAfricaFernsImportState> validator = new CentralAfricaFernsTaxonImportValidator();\r
                return validator.validate(state);\r
        }\r
-       \r
-       \r
+\r
+\r
        /* (non-Javadoc)\r
         * @see eu.etaxonomy.cdm.io.common.CdmIoBase#isIgnore(eu.etaxonomy.cdm.io.common.IoStateBase)\r
         */\r