ref #6369 adapt existing occurrences of interface to removed generics in cdmlib-app
[cdmlib-apps.git] / cdm-eflora / src / main / java / eu / etaxonomy / cdm / io / eflora / centralAfrica / ericaceae / CentralAfricaEricaceaeTaxonImport.java
index e1fb93cff1e2bed2d0b6e2d813674eda6e510195..54e81956f4ec3e62b7ddebc67df4ac908f9dae89 100644 (file)
@@ -5,7 +5,7 @@
 *\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
+*/\r
 \r
 package eu.etaxonomy.cdm.io.eflora.centralAfrica.ericaceae;\r
 \r
@@ -31,7 +31,7 @@ import eu.etaxonomy.cdm.model.description.Feature;
 import eu.etaxonomy.cdm.model.description.TaxonDescription;\r
 import eu.etaxonomy.cdm.model.description.TextData;\r
 import eu.etaxonomy.cdm.model.name.HomotypicalGroup;\r
-import eu.etaxonomy.cdm.model.name.NonViralName;\r
+import eu.etaxonomy.cdm.model.name.INonViralName;\r
 import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation;\r
 import eu.etaxonomy.cdm.model.name.TaxonNameBase;\r
 import eu.etaxonomy.cdm.model.name.TypeDesignationBase;\r
@@ -47,29 +47,25 @@ import eu.etaxonomy.cdm.strategy.parser.TimePeriodParser;
  */\r
 @Component\r
 public class CentralAfricaEricaceaeTaxonImport  extends EfloraTaxonImport  {\r
-       private static final Logger logger = Logger.getLogger(CentralAfricaEricaceaeTaxonImport.class);\r
+    private static final long serialVersionUID = 6442665916458420942L;\r
+    private static final Logger logger = Logger.getLogger(CentralAfricaEricaceaeTaxonImport.class);\r
 \r
 \r
-\r
-       \r
-       /* (non-Javadoc)\r
-        * @see eu.etaxonomy.cdm.io.eflora.EfloraTaxonImport#handleNomenclaturalReference(eu.etaxonomy.cdm.model.name.NonViralName, java.lang.String)\r
-        */\r
        @Override\r
-       protected TeamOrPersonBase handleNomenclaturalReference(NonViralName name, String value) {\r
+       protected TeamOrPersonBase handleNomenclaturalReference(TaxonNameBase name, String value) {\r
                Reference nomRef = ReferenceFactory.newGeneric();\r
                nomRef.setTitleCache(value, true);\r
                parseNomStatus(nomRef, name);\r
                name.setNomenclaturalReference(nomRef);\r
-               \r
+\r
                String microReference = parseReferenceYearAndDetail(nomRef);\r
                microReference = removeTrailing(microReference, ")");\r
-               \r
+\r
                microReference = parseHomonym(microReference, name);\r
                name.setNomenclaturalMicroReference(microReference);\r
-               \r
-               TeamOrPersonBase  nameTeam = CdmBase.deproxy(name.getCombinationAuthorTeam(), TeamOrPersonBase.class);\r
-               TeamOrPersonBase  refTeam = nomRef.getAuthorship();\r
+\r
+               TeamOrPersonBase<?>  nameTeam = CdmBase.deproxy(name.getCombinationAuthorship(), TeamOrPersonBase.class);\r
+               TeamOrPersonBase<?>  refTeam = nomRef.getAuthorship();\r
                if (nameTeam == null ){\r
                        logger.warn("Name has nom. ref. but no author team. Name: " + name.getTitleCache() + ", Nom.Ref.: " + value);\r
                }else if (refTeam == null ){\r
@@ -83,7 +79,7 @@ public class CentralAfricaEricaceaeTaxonImport  extends EfloraTaxonImport  {
                }\r
                return nameTeam;\r
        }\r
-       \r
+\r
        /**\r
         * Extracts the date published part and returns micro reference\r
         * @param ref\r
@@ -93,24 +89,24 @@ public class CentralAfricaEricaceaeTaxonImport  extends EfloraTaxonImport  {
                String detailResult = null;\r
                String titleToParse = ref.getTitleCache();\r
                titleToParse = removeReferenceBracket(titleToParse, ref);\r
-               \r
+\r
                int detailStart = titleToParse.indexOf(":");\r
                if (detailStart >=  0){\r
                        detailResult = titleToParse.substring(detailStart + 1);\r
                        titleToParse = titleToParse.substring(0, titleToParse.length() -  detailResult.length() - 1).trim();\r
                        detailResult = detailResult.trim();\r
                }\r
-               \r
+\r
                String reYear = "\\s[1-2]{1}[0-9]{3}";\r
                String reYearPeriod = reYear;\r
-//             \r
+//\r
 //             //pattern for the whole string\r
                Pattern patReference = Pattern.compile( reYearPeriod );\r
                Matcher matcher = patReference.matcher(titleToParse);\r
                if (matcher.find()){\r
                        int start = matcher.start();\r
                        int end = matcher.end();\r
-//                     \r
+//\r
                        String strPeriod = titleToParse.substring(start, end);\r
                        TimePeriod datePublished = TimePeriodParser.parseString(strPeriod);\r
                        ref.setDatePublished(datePublished);\r
@@ -123,7 +119,7 @@ public class CentralAfricaEricaceaeTaxonImport  extends EfloraTaxonImport  {
                        logger.warn("Could not parse reference: " +  titleToParse);\r
                }\r
                return detailResult;\r
-               \r
+\r
        }\r
 \r
        private String parseInRefrence(Reference ref, String author) {\r
@@ -139,7 +135,7 @@ public class CentralAfricaEricaceaeTaxonImport  extends EfloraTaxonImport  {
                }else{\r
                        return author;\r
                }\r
-               \r
+\r
        }\r
 \r
        private String removeReferenceBracket(String refString, Reference ref) {\r
@@ -147,7 +143,7 @@ public class CentralAfricaEricaceaeTaxonImport  extends EfloraTaxonImport  {
                String reBracket = "\\(.*\\).?";\r
                Pattern patBracket = Pattern.compile(reBracket);\r
                Matcher matcher = patBracket.matcher(titleToParse);\r
-               \r
+\r
                if (matcher.matches()){\r
                        int start = matcher.start() + 1;\r
                        int end = matcher.end() -1 ;\r
@@ -155,42 +151,44 @@ public class CentralAfricaEricaceaeTaxonImport  extends EfloraTaxonImport  {
                                end = end - 1;\r
                        }\r
                        titleToParse = titleToParse.substring(start, end);\r
-                       \r
+\r
                        ref.setTitleCache(titleToParse);\r
                }\r
                return titleToParse;\r
        }\r
-       \r
+\r
        /**\r
         * @param taxon\r
         * @param name\r
         * @param value\r
         */\r
        @Override\r
-       protected TeamOrPersonBase<?> handleNameUsage(Taxon taxon, NonViralName<?> name, String referenceTitle, TeamOrPersonBase lastTeam) {\r
-               Reference<?> ref = ReferenceFactory.newGeneric();\r
-               \r
+       protected TeamOrPersonBase<?> handleNameUsage(Taxon taxon, INonViralName name,\r
+               String referenceTitle, TeamOrPersonBase lastTeam) {\r
+\r
+               Reference ref = ReferenceFactory.newGeneric();\r
+\r
                ref.setTitleCache(referenceTitle, true);\r
-               \r
+\r
                TeamOrPersonBase<?> team = getReferenceAuthor(ref, name);\r
                ref.setAuthorship(team);\r
-       \r
+\r
                String[] multipleReferences = ref.getTitleCache().split("&");\r
-               \r
+\r
                TaxonDescription description = getDescription(taxon);\r
                for (String singleReferenceString : multipleReferences){\r
-                       Reference<?> singleRef = ReferenceFactory.newGeneric();\r
+                       Reference singleRef = ReferenceFactory.newGeneric();\r
                        singleRef.setTitleCache(singleReferenceString.trim(), true);\r
                        singleRef.setAuthorship(team);\r
-                       \r
+\r
                        String microReference = parseReferenceYearAndDetailForUsage(singleRef);\r
-                       \r
+\r
                        singleRef.setTitle( CdmUtils.Nz(singleRef.getTitle()) + " - no title given yet -");\r
-                       \r
+\r
        //              parseReferenceType(ref);\r
-                       \r
+\r
                        TextData textData = TextData.NewInstance(Feature.CITATION());\r
-                       textData.addSource(OriginalSourceType.PrimaryTaxonomicSource, null, null, singleRef, microReference, name, null);\r
+                       textData.addSource(OriginalSourceType.PrimaryTaxonomicSource, null, null, singleRef, microReference, (TaxonNameBase) name, null);\r
                        description.addElement(textData);\r
                }\r
                return team;\r
@@ -199,17 +197,17 @@ public class CentralAfricaEricaceaeTaxonImport  extends EfloraTaxonImport  {
        private String parseReferenceYearAndDetailForUsage(Reference ref) {\r
                String detailResult = null;\r
                String titleToParse = ref.getTitleCache().trim();\r
-               \r
+\r
                int detailStart = titleToParse.indexOf(":");\r
                if (detailStart >=  0){\r
                        detailResult = titleToParse.substring(detailStart + 1);\r
                        titleToParse = titleToParse.substring(0, titleToParse.length() -  detailResult.length() - 1).trim();\r
                        detailResult = detailResult.trim();\r
                }\r
-               \r
+\r
                String reYear = "^[1-2]{1}[0-9]{3}[a-e]?$";\r
                String reYearPeriod = reYear;\r
-//                     \r
+//\r
 //                     //pattern for the whole string\r
                Pattern patReference = Pattern.compile( reYearPeriod );\r
                Matcher matcher = patReference.matcher(titleToParse);\r
@@ -226,10 +224,10 @@ public class CentralAfricaEricaceaeTaxonImport  extends EfloraTaxonImport  {
                TimePeriod datePublished = TimePeriodParser.parseString(titleToParse);\r
                ref.setDatePublished(datePublished);\r
                return detailResult;\r
-               \r
+\r
        }\r
 \r
-       protected TeamOrPersonBase getReferenceAuthor (Reference ref, NonViralName name) {\r
+       protected TeamOrPersonBase getReferenceAuthor (Reference ref, INonViralName name) {\r
                String titleString = ref.getTitleCache();\r
                String re = "\\(.*\\)";\r
                Pattern pattern = Pattern.compile(re);\r
@@ -245,14 +243,14 @@ public class CentralAfricaEricaceaeTaxonImport  extends EfloraTaxonImport  {
                        logger.warn("Title does not match: " + titleString);\r
                        return null;\r
                }\r
-               \r
+\r
        }\r
 \r
-       private TeamOrPersonBase getAuthorTeam(String authorString, NonViralName name) {\r
+       private TeamOrPersonBase getAuthorTeam(String authorString, INonViralName name) {\r
                //TODO atomize\r
-//             TeamOrPersonBase nameTeam = CdmBase.deproxy(name.getCombinationAuthorTeam(), TeamOrPersonBase.class);\r
+//             TeamOrPersonBase nameTeam = CdmBase.deproxy(name.getCombinationAuthorship(), TeamOrPersonBase.class);\r
 //             String nameTeamTitle = nameTeam == null ? "" : nameTeam.getNomenclaturalTitle();\r
-               \r
+\r
 //             if (nameTeam == null || ! authorTeamsMatch(authorString, nameTeamTitle)){\r
 //                     logger.warn("Author teams do not match: " + authorString + " <-> " + nameTeamTitle);\r
                        TeamOrPersonBase result = parseSingleTeam(authorString);\r
@@ -275,7 +273,7 @@ public class CentralAfricaEricaceaeTaxonImport  extends EfloraTaxonImport  {
                if (nameTeamString.equalsIgnoreCase(refAuthorTeamString)){\r
                        return true;\r
                }\r
-               \r
+\r
                if (nameTeamString.endsWith(".")){\r
                        nameTeamString = nameTeamString.substring(0, nameTeamString.length() - 1 );\r
                        if (refAuthorTeamString.startsWith(nameTeamString)){\r
@@ -291,7 +289,7 @@ public class CentralAfricaEricaceaeTaxonImport  extends EfloraTaxonImport  {
                        }\r
                }\r
        }\r
-       \r
+\r
        private boolean checkSingleAndIpniAuthor(TeamOrPersonBase nameTeam, TeamOrPersonBase refAuthorTeam) {\r
                if ( nameTeam.isInstanceOf(Team.class) && ((Team)nameTeam).getTeamMembers().size()> 1 ||\r
                                refAuthorTeam.isInstanceOf(Team.class) && ((Team)refAuthorTeam).getTeamMembers().size()> 1){\r
@@ -346,7 +344,7 @@ public class CentralAfricaEricaceaeTaxonImport  extends EfloraTaxonImport  {
         * @param state\r
         * @param elNom\r
         * @param taxon\r
-        * @param homotypicalGroup \r
+        * @param homotypicalGroup\r
         */\r
        @Override\r
        protected void handleTypeRef(EfloraImportState state, Element elNom, Taxon taxon, HomotypicalGroup homotypicalGroup) {\r
@@ -365,11 +363,12 @@ public class CentralAfricaEricaceaeTaxonImport  extends EfloraTaxonImport  {
                typeRef = typeRef.trim().replace("Type: ", "").replace("Types: ", "").trim();\r
                return typeRef;\r
        }\r
-       \r
-       protected void handleGenus(String value, TaxonNameBase taxonName) {\r
+\r
+       @Override\r
+    protected void handleGenus(String value, INonViralName taxonName) {\r
                // do nothing\r
        }\r
 \r
-       \r
-       \r
+\r
+\r
 }\r