#6000 Unify some PresenceAbsenceTerms (merge naturalized, rename adventitious ->...
authorAndreas Müller <a.mueller@bgbm.org>
Wed, 27 Jul 2016 11:38:17 +0000 (13:38 +0200)
committerAndreas Müller <a.mueller@bgbm.org>
Fri, 7 Oct 2016 08:22:24 +0000 (10:22 +0200)
cdmlib-ext/src/main/java/eu/etaxonomy/cdm/ext/geo/EditGeoServiceUtilities.java
cdmlib-ext/src/main/java/eu/etaxonomy/cdm/ext/geo/EuroPlusMedCondensedDistributionComposer.java
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/berlinModel/BerlinModelTransformer.java
cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/description/PresenceAbsenceTerm.java
cdmlib-model/src/main/resources/terms/PresenceAbsenceTerm.csv
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/description/TransmissionEngineDistribution.java

index 2fe871f7d786c57d84ce9d9ab78257c697eec4c3..098e48e35f4b6be3bd593fe0514332c0d302f65c 100644 (file)
@@ -110,7 +110,7 @@ public class EditGeoServiceUtilities {
             defaultPresenceAbsenceTermBaseColors.put(PresenceAbsenceTerm.INTRODUCED(), Color.decode("0xff7f00"));\r
             defaultPresenceAbsenceTermBaseColors.put(PresenceAbsenceTerm.INTRODUCED_ADVENTITIOUS(), Color.decode("0xffff33"));\r
             defaultPresenceAbsenceTermBaseColors.put(PresenceAbsenceTerm.INTRODUCED_CULTIVATED(), Color.decode("0xa65628"));\r
-            defaultPresenceAbsenceTermBaseColors.put(PresenceAbsenceTerm.INTRODUCED_NATURALIZED(), Color.decode("0xf781bf"));\r
+            defaultPresenceAbsenceTermBaseColors.put(PresenceAbsenceTerm.NATURALISED(), Color.decode("0xf781bf"));\r
         }\r
         return defaultPresenceAbsenceTermBaseColors;\r
     }\r
index d6267a02f18566b98cce50bfc1bfb882d1b2be37..27a9b724dca81c977b85891f2eda705ab4d444a7 100644 (file)
@@ -88,11 +88,11 @@ public class EuroPlusMedCondensedDistributionComposer extends CondensedDistribut
 
         // [nLu] naturalized
         statusSymbols.put(PresenceAbsenceTerm.NATURALISED().getUuid(), "n");
-        statusSymbols.put(PresenceAbsenceTerm.INTRODUCED_NATURALIZED().getUuid(), "n");
+        statusSymbols.put(PresenceAbsenceTerm.NATURALISED().getUuid(), "n");
 
         foreignStatusUuids = new HashSet<UUID>();
         foreignStatusUuids.add(PresenceAbsenceTerm.INTRODUCED().getUuid());
-        foreignStatusUuids.add(PresenceAbsenceTerm.INTRODUCED_NATURALIZED().getUuid());
+        foreignStatusUuids.add(PresenceAbsenceTerm.NATURALISED().getUuid());
         foreignStatusUuids.add(PresenceAbsenceTerm.INTRODUCED_ADVENTITIOUS().getUuid());
         foreignStatusUuids.add(PresenceAbsenceTerm.INTRODUCED_CULTIVATED().getUuid());
         foreignStatusUuids.add(PresenceAbsenceTerm.NATURALISED().getUuid());
index c00bc50372fd8b6e3d8f2e0b1fb972cd12f2efc0..11c2f22ddc2dfa3916a2768eefa8aff1b0402e75 100644 (file)
@@ -746,7 +746,7 @@ public class BerlinModelTransformer {
                        case 250: return PresenceAbsenceTerm.INTRODUCED();\r
                        case 260: return PresenceAbsenceTerm.INTRODUCED_UNCERTAIN_DEGREE_OF_NATURALISATION();\r
                        case 270: return PresenceAbsenceTerm.INTRODUCED_ADVENTITIOUS();\r
-                       case 280: return PresenceAbsenceTerm.INTRODUCED_NATURALIZED();\r
+                       case 280: return PresenceAbsenceTerm.NATURALISED();\r
                        case 310: return PresenceAbsenceTerm.NATIVE_REPORTED_IN_ERROR();\r
                        case 320: return PresenceAbsenceTerm.NATIVE_PRESENCE_QUESTIONABLE();\r
                        case 330: return PresenceAbsenceTerm.NATIVE_FORMERLY_NATIVE();\r
index 24ccd2914f22dd253cff7a5ad6fbfaff51ae9c5a..85ffc4692f921ca64167c03f1f03d107328e4142 100644 (file)
@@ -39,9 +39,27 @@ import eu.etaxonomy.cdm.model.taxon.Taxon;
 /**
  * This class represents terms describing the {@link AbsenceTerm absence}
  * (like "extinct") or the {@link PresenceTerm presence} (like "cultivated") of a
- * {@link Taxon taxon} in a {@link NamedArea named area}. These terms are only
+ * {@link Taxon taxon} in an {@link NamedArea area}. These terms are only
  * used for {@link Distribution distributions}.
-
+ *
+ * The current implementation includes multiple qualities of distribution status:<BR><BR>
+ *
+ *  1. Degree of "presence": present, presence questionable, reported in error, absent, ...<BR>
+ *  2. Nativeness/naturalization/...: native, alien (introduced), naturalized, cultivated, invasive, ... <BR>
+ *  <BR>
+ *  There might be further qualities like adventive(unwanted)<->introduced(wanted - for cultivation)
+ * <BR>
+ * For an interesting discussion of these status see Pyšek & al.: Alien plants in checklists and floras;
+ * Taxon 53(1), Feb. 2004: 131-143 <BR>
+ *
+ * Pyšek et al. distinguises<BR>
+ *  native - alien<BR>
+ *  alien => cultivated-outside cultivation<BR>
+ *  outside cultivation=>casual - naturalized<BR>
+ *  naturalized => non invasive - invasive<BR>
+ *  invasive => not harmful - transformers - weeds
+ *
+ * @see http://dev.e-taxonomy.eu/redmine/issues/6000
  *
  * @author m.doering
  * @created 08-Nov-2007 13:06:44
@@ -65,21 +83,26 @@ public class PresenceAbsenceTerm extends OrderedTermBase<PresenceAbsenceTerm> {
 
        //presence
        private static final UUID uuidN=UUID.fromString("ddeac4f2-d8fa-43b8-ad7e-ca13abdd32c7");
-       private static final UUID uuidNQ=UUID.fromString("925662c1-bb10-459a-8c53-da5a738ac770");
        private static final UUID uuidND=UUID.fromString("310373bf-7df4-4d02-8cb3-bcc7448805fc");
        private static final UUID uuidC=UUID.fromString("9eb99fe6-59e2-4445-8e6a-478365bd0fa9");
-       private static final UUID uuidCQ=UUID.fromString("4f31bfc8-3058-4d83-aea5-3a1fe9773f9f");
        private static final UUID uuidI=UUID.fromString("643cf9d1-a5f1-4622-9837-82ef961e880b");
-       private static final UUID uuidIQ=UUID.fromString("83eb0aa0-1a45-495a-a3ca-bf6958b74366");
        private static final UUID uuidID=UUID.fromString("0c54761e-4887-4788-9dfa-7190c88746e3");
        private static final UUID uuidIP=UUID.fromString("da159544-b0dd-4599-a9c9-640826af8c17");
        private static final UUID uuidIA=UUID.fromString("42946bd6-9c22-45ad-a910-7427e8f60bfd");
        private static final UUID uuidIN=UUID.fromString("e191e89a-a751-4b0c-b883-7f1de70915c9");
        private static final UUID uuidIC=UUID.fromString("fac8c347-8262-44a1-b0a4-db4de451c021");
        private static final UUID uuidE=UUID.fromString("c3ee7048-15b7-4be1-b687-9ce9c1a669d6");
-       private static final UUID uuidNA=UUID.fromString("4e04990a-66fe-4fdf-856c-f40772fbcf0a");
+       //was merged int uuidIN
+       //      private static final UUID uuidNa=UUID.fromString("4e04990a-66fe-4fdf-856c-f40772fbcf0a");
        private static final UUID uuidIV=UUID.fromString("dc536e3d-a753-4bbe-a386-dd8aff35c234");
 
+       //doubtfully present
+       private static final UUID uuidNQ=UUID.fromString("925662c1-bb10-459a-8c53-da5a738ac770");
+       private static final UUID uuidCQ=UUID.fromString("4f31bfc8-3058-4d83-aea5-3a1fe9773f9f");
+       private static final UUID uuidIQ=UUID.fromString("83eb0aa0-1a45-495a-a3ca-bf6958b74366");
+       private static final UUID uuidEQ=UUID.fromString("5f954f08-267a-4928-b073-12328f74c187");
+//     private static final UUID uuidNDQ=UUID.fromString("7ddfd94d-01a4-496c-a6d6-18584c00af59");
+
        //absence
        private static final UUID uuidAbsence=UUID.fromString("59709861-f7d9-41f9-bb21-92559cedd598");
        private static final UUID uuidReportedInError = UUID.fromString("38604788-cf05-4607-b155-86db456f7680");
@@ -88,7 +111,10 @@ public class PresenceAbsenceTerm extends OrderedTermBase<PresenceAbsenceTerm> {
        private static final UUID uuidIF=UUID.fromString("aeec2947-2700-4623-8e32-9e3a430569d1");
        private static final UUID uuidCF=UUID.fromString("9d4d3431-177a-4abe-8e4b-1558573169d6");
        private static final UUID uuidNE=UUID.fromString("5c397f7b-59ef-4c11-a33c-45691ceda91b");
+       private static final UUID uuidNDE=UUID.fromString("71b72e24-c2b6-44a5-bdab-39f083bf0f06");
        private static final UUID uuidIE=UUID.fromString("b74dc30b-ee93-496d-8c00-4d00abae1ec7");
+       private static final UUID uuidEE=UUID.fromString("679b215d-c231-4ee2-ae12-3ffc3dd528ad");
+       private static final UUID uuidNaE=UUID.fromString("8d918a37-3add-4e1c-a233-c37dbee209aa");
 
 
        protected static Map<UUID, PresenceAbsenceTerm> termMap = null;
@@ -184,7 +210,7 @@ public class PresenceAbsenceTerm extends OrderedTermBase<PresenceAbsenceTerm> {
                } else if (abbrev.equalsIgnoreCase("ia")) { return PresenceAbsenceTerm.INTRODUCED_ADVENTITIOUS();
                } else if (abbrev.equalsIgnoreCase("ic")) { return PresenceAbsenceTerm.INTRODUCED_CULTIVATED();
                } else if (abbrev.equalsIgnoreCase("id")) { return PresenceAbsenceTerm.INTRODUCED_DOUBTFULLY_INTRODUCED();
-               } else if (abbrev.equalsIgnoreCase("in")) { return PresenceAbsenceTerm.INTRODUCED_NATURALIZED();
+               } else if (abbrev.equalsIgnoreCase("in")) { return PresenceAbsenceTerm.NATURALISED();
                } else if (abbrev.equalsIgnoreCase("ip")) { return PresenceAbsenceTerm.INTRODUCED_UNCERTAIN_DEGREE_OF_NATURALISATION();
                } else if (abbrev.equalsIgnoreCase("iq")) { return PresenceAbsenceTerm.INTRODUCED_PRESENCE_QUESTIONABLE();
                } else if (abbrev.equalsIgnoreCase("n"))  { return PresenceAbsenceTerm.NATIVE();
@@ -205,26 +231,108 @@ public class PresenceAbsenceTerm extends OrderedTermBase<PresenceAbsenceTerm> {
                }
        }
 
+    /**
+     * The taxon is endemic for the given area.
+     * @see #PRESENT()
+     * @see #NATIVE()
+     * @see #ENDEMIC_DOUBTFULLY_PRESENT()
+     * @see #ENDEMIC_REPORTED_IN_ERROR()
+     */
+    public static final PresenceAbsenceTerm ENDEMIC_FOR_THE_RELEVANT_AREA(){
+        return getTermByUuid(uuidE);
+    }
 
+    /**
+     * The taxon is endemic for the given area but doubtfully present.
+     * @see #ENDEMIC_FOR_THE_RELEVANT_AREA()
+     * @see #ENDEMIC_REPORTED_IN_ERROR()
+     * @see #PRESENT_DOUBTFULLY()
+     * @see #NATIVE_PRESENCE_QUESTIONABLE()
+     */
+    public static final PresenceAbsenceTerm ENDEMIC_DOUBTFULLY_PRESENT(){
+        return getTermByUuid(uuidEQ);
+    }
+
+    /**
+     * The taxon if it exists is endemic for the given area but was only
+     * erroneously reported.
+     * So it either does not exist or it is unclear where it was originally found.
+     * @see #ENDEMIC_FOR_THE_RELEVANT_AREA()
+     * @see #ENDEMIC_DOUBTFULLY_PRESENT()
+     * @see #REPORTED_IN_ERROR()
+     * @see #NATIVE_REPORTED_IN_ERROR()
+     */
+    public static final PresenceAbsenceTerm ENDEMIC_REPORTED_IN_ERROR(){
+        return getTermByUuid(uuidEE);
+    }
+
+
+       /**
+        * The taxon is present in the given area. No information given about
+        * nativeness/establishment means.
+        *
+        * @see #PRESENT_DOUBTFULLY()
+        * @see #ABSENT()
+        */
        public static final PresenceAbsenceTerm PRESENT(){
                return getTermByUuid(uuidP);
        }
+
+       /**
+     * Presence of the taxon in the given area is doubtful. No information given about
+     * nativeness/establishment means.
+     *
+     * @see #PRESENT()
+     * @see #ABSENT()
+     */
        public static final PresenceAbsenceTerm PRESENT_DOUBTFULLY(){
                return getTermByUuid(uuidPD);
        }
+
+       /**
+        * The taxon is not native but cultivated.
+        *
+        * @see #CULTIVATED_PRESENCE_QUESTIONABLE()
+        * @see #CULTIVATED_REPORTED_IN_ERROR()
+        */
        public static final PresenceAbsenceTerm CULTIVATED(){
                return getTermByUuid(uuidC);
        }
+
+       /**
+     * The taxon is cultivated but presence is questionable.
+     *
+     * @see #CULTIVATED()
+     * @see #CULTIVATED_REPORTED_IN_ERROR()
+     */
     public static final PresenceAbsenceTerm CULTIVATED_PRESENCE_QUESTIONABLE(){
         return getTermByUuid(uuidCQ);
     }
-       public static final PresenceAbsenceTerm ENDEMIC_FOR_THE_RELEVANT_AREA(){
-               return getTermByUuid(uuidE);
-       }
-               public static final PresenceAbsenceTerm INTRODUCED(){
+
+    /**
+     * The taxon is erroneously reported as cultivated.
+     *
+     * @see #CULTIVATED()
+     * @see #CULTIVATED_REPORTED_IN_ERROR()
+     */
+    public static final PresenceAbsenceTerm CULTIVATED_REPORTED_IN_ERROR(){
+        return getTermByUuid(uuidCF);
+    }
+
+
+       public static final PresenceAbsenceTerm INTRODUCED(){
                return getTermByUuid(uuidI);
        }
-               public static final PresenceAbsenceTerm INTRODUCED_ADVENTITIOUS(){
+
+       /**
+        * This term is of questional value. Introduced often is handled as opposite
+        * of adventitious/adventive and describes how the alien species came
+        * - on purpose for cultivation (introduced) or not (adventive).
+        * Adventitious or better adventive is often a synonym for casual which might
+        * be the better term here.
+        */
+       @Deprecated
+       public static final PresenceAbsenceTerm INTRODUCED_ADVENTITIOUS(){
                return getTermByUuid(uuidIA);
        }
 
@@ -236,66 +344,130 @@ public class PresenceAbsenceTerm extends OrderedTermBase<PresenceAbsenceTerm> {
                return getTermByUuid(uuidID);
        }
 
-       public static final PresenceAbsenceTerm INTRODUCED_NATURALIZED(){
+       /**
+        *
+        * @see #NATURALISED()
+        */
+       public static final PresenceAbsenceTerm NATURALISED(){
                return getTermByUuid(uuidIN);
        }
 
+    public static final PresenceAbsenceTerm INTRODUCED_UNCERTAIN_DEGREE_OF_NATURALISATION(){
+        return getTermByUuid(uuidIP);
+    }
+
        public static final PresenceAbsenceTerm INTRODUCED_PRESENCE_QUESTIONABLE(){
                return getTermByUuid(uuidIQ);
        }
 
-       public static final PresenceAbsenceTerm INTRODUCED_UNCERTAIN_DEGREE_OF_NATURALISATION(){
-               return getTermByUuid(uuidIP);
-       }
+    public static final PresenceAbsenceTerm INTRODUCED_FORMERLY_INTRODUCED(){
+        return getTermByUuid(uuidIE);
+    }
+
+    public static final PresenceAbsenceTerm INTRODUCED_REPORTED_IN_ERROR(){
+        return getTermByUuid(uuidIF);
+    }
 
+       /**
+        * Use native if the taxon is native in the according area. Native and indigenous
+        * have the same meaning. Native might be problematic because the abbreviation
+        * N is already used for naturalised.
+        *
+        * @see #NATIVE_DOUBTFULLY_NATIVE()
+     * @see #NATIVE_PRESENCE_QUESTIONABLE()
+     * @see #NATIVE_REPORTED_IN_ERROR()
+        */
        public static final PresenceAbsenceTerm NATIVE(){
                return getTermByUuid(uuidN);
        }
 
+    /**
+     * Same as {@link #NATIVE()} but presence is questionable
+     * @see #NATIVE()
+     * @see #NATIVE_DOUBTFULLY_NATIVE()
+     * @see #NATIVE_REPORTED_IN_ERROR()
+     */
+    public static final PresenceAbsenceTerm NATIVE_PRESENCE_QUESTIONABLE(){
+        return getTermByUuid(uuidNQ);
+    }
+
+    /**
+     * The taxon was formerly native, but is extinct now in the given area.
+     *
+     * @see #NATIVE()
+     * @see #ABSENT()
+     */
+    public static final PresenceAbsenceTerm NATIVE_FORMERLY_NATIVE(){
+        return getTermByUuid(uuidNE);
+    }
+
+    /**
+     * Same as {@link #NATIVE()} but presence was reported in error, so
+     * finally it is not native.
+     * @see #NATIVE()
+     * @see #NATIVE_PRESENCE_QUESTIONABLE()
+     * @see #NATIVE_DOUBTFULLY_NATIVE()
+     */
+    public static final PresenceAbsenceTerm NATIVE_REPORTED_IN_ERROR(){
+        return getTermByUuid(uuidNF);
+    }
+
+       /**
+        * Same as {@link #NATIVE()} but the nativeness is doubtful, while presence
+        * is NOT questionable
+        * @see #NATIVE()
+        * @see #NATIVE_PRESENCE_QUESTIONABLE()
+        * @see #NATIVE_REPORTED_IN_ERROR()
+        */
        public static final PresenceAbsenceTerm NATIVE_DOUBTFULLY_NATIVE(){
                return getTermByUuid(uuidND);
        }
 
-       public static final PresenceAbsenceTerm NATIVE_PRESENCE_QUESTIONABLE(){
-               return getTermByUuid(uuidNQ);
-       }
+    /**
+     * Same as {@link #NATIVE()} but the nativeness is doubtful, while presence
+     * is NOT questionable
+     * @see #NATIVE_DOUBTFULLY_NATIVE()
+     * @see #NATIVE()
+     * @see #NATIVE_PRESENCE_QUESTIONABLE()
+     */
+    public static final PresenceAbsenceTerm NATIVE_DOUBTFULLY_NATIVE_REPORTED_IN_ERROR(){
+        return getTermByUuid(uuidNDE);
+    }
 
+    public static final PresenceAbsenceTerm NATURALISED_REPORTED_IN_ERROR(){
+        return getTermByUuid(uuidNaE);
+    }
+
+       /**
+        * The taxon is present but not native in the given area.
+        * Additionally it is dangerous for the native species.
+        *
+        * TBC
+        */
        public static final PresenceAbsenceTerm INVASIVE(){
                return getTermByUuid(uuidIV);
        }
 
-       public static final PresenceAbsenceTerm NATURALISED(){
-               return getTermByUuid(uuidNA);
-       }
-
+       /**
+        * @see #PRESENT()
+        * @see #REPORTED_IN_ERROR()
+        */
        public static final PresenceAbsenceTerm ABSENT(){
                return getTermByUuid(uuidAbsence);
        }
 
+       /**
+        * The taxon is {@link #ABSENT() absent} in the given area
+        * but was erroneously reported as present.
+        *
+        * @see #ABSENT()
+        * @see #NATIVE_REPORTED_IN_ERROR()
+        * @see #INTRODUCED_REPORTED_IN_ERROR()
+        */
        public static final PresenceAbsenceTerm REPORTED_IN_ERROR(){
         return getTermByUuid(uuidReportedInError);
     }
 
-       public static final PresenceAbsenceTerm NATIVE_REPORTED_IN_ERROR(){
-               return getTermByUuid(uuidNF);
-       }
-
-       public static final PresenceAbsenceTerm CULTIVATED_REPORTED_IN_ERROR(){
-               return getTermByUuid(uuidCF);
-       }
-
-       public static final PresenceAbsenceTerm INTRODUCED_REPORTED_IN_ERROR(){
-               return getTermByUuid(uuidIF);
-       }
-
-       public static final PresenceAbsenceTerm NATIVE_FORMERLY_NATIVE(){
-               return getTermByUuid(uuidNE);
-       }
-
-       public static final PresenceAbsenceTerm INTRODUCED_FORMERLY_INTRODUCED(){
-               return getTermByUuid(uuidIE);
-       }
-
 
 //******************************** METHODS ****************************/
 
index 5d354e462a140598aea9fad95da29a0e0af4cd60..16ac447521c7e92930d989cb82c3e03a507a7a85 100644 (file)
@@ -1,25 +1,28 @@
 "adbbbe15-c4d3-47b7-80a8-c7d104e53a05",,"Presence Absence Term","Presence Absence Term","PAT","1"
 "c3ee7048-15b7-4be1-b687-9ce9c1a669d6",,"endemic","endemic for the relevant area","e","●","77ed6f","0"
 "cef81d25-501c-48d8-bbea-542ec50de2c2",,"present","present","p","","8dd3c7","0"
-"75a60279-a4c2-4f53-bc57-466028a4b3db",,"doubtfully present","present: doubtfully present","pd","?","8dd320","0"
 "ddeac4f2-d8fa-43b8-ad7e-ca13abdd32c7",,"native","native","n","","ffffb3","0"
 "310373bf-7df4-4d02-8cb3-bcc7448805fc",,"native: doubtfully native","native: doubtfully native","nd","d","80b1d3","0"
-"e191e89a-a751-4b0c-b883-7f1de70915c9",,"introduced: naturalized","introduced: naturalized","in","n","ff0d6f","0"
-"42946bd6-9c22-45ad-a910-7427e8f60bfd",,"introduced: adventitious (casual)","introduced: adventitious (casual)","ia","a","ffed61","0"
+"e191e89a-a751-4b0c-b883-7f1de70915c9",,"naturalised","introduced: naturalised","in","n","ff0d6f","0"
+"42946bd6-9c22-45ad-a910-7427e8f60bfd",,"casual","introduced: adventive (casual)","ia","a","ffed61","0"
 "643cf9d1-a5f1-4622-9837-82ef961e880b",,"introduced","introduced","i","i","d9d9d9","0"
+"da159544-b0dd-4599-a9c9-640826af8c17",,"introduced: uncertain degree of naturalisation","introduced: uncertain degree of naturalisation","ip","ip","afed6f","0"
 "0c54761e-4887-4788-9dfa-7190c88746e3",,"introduced: doubtfully introduced (perhaps cultivated only)","introduced: doubtfully introduced (perhaps cultivated only)","id","id","ffed6f","0"
-"4e04990a-66fe-4fdf-856c-f40772fbcf0a",,"naturalised","naturalised","na","n","f7acfe","0"
 "dc536e3d-a753-4bbe-a386-dd8aff35c234",,"invasive","invasive","iv","iv","557700","0"
-"925662c1-bb10-459a-8c53-da5a738ac770",,"native: presence questionable","native: presence questionable","nq","?","bebada","0"
-"83eb0aa0-1a45-495a-a3ca-bf6958b74366",,"introduced: presence questionable","introduced: presence questionable","iq","?","bc80bd","0"
 "fac8c347-8262-44a1-b0a4-db4de451c021",,"introduced: cultivated","introduced: cultivated","ic","c","555555","0"
 "9eb99fe6-59e2-4445-8e6a-478365bd0fa9",,"cultivated","cultivated","c","c","b3de69","0"
+"5f954f08-267a-4928-b073-12328f74c187",,"endemic: presence questionable","endemic: presence questionable","?e","?●","fef1ff","0"
+"75a60279-a4c2-4f53-bc57-466028a4b3db",,"doubtfully present","present: presence questionable","pd","?","8dd320","0"
+"925662c1-bb10-459a-8c53-da5a738ac770",,"native: presence questionable","native: presence questionable","nq","?","bebada","0"
+"83eb0aa0-1a45-495a-a3ca-bf6958b74366",,"introduced: presence questionable","introduced: presence questionable","iq","?","bc80bd","0"
 "4f31bfc8-3058-4d83-aea5-3a1fe9773f9f",,"cultivated, presence questionable","cultivated, presence questionable","cq","?c","93de69","0"
 "59709861-f7d9-41f9-bb21-92559cedd598",,"absent","absent","a","–","ffffff","1"
 "5c397f7b-59ef-4c11-a33c-45691ceda91b",,"native: formerly native","native: formerly native","ne","ne","ccb462","1"
+"679b215d-c231-4ee2-ae12-3ffc3dd528ad",,"endemic: reported in error","endemic: reported in error","-e","–●","fef1ff","1"
 "38604788-cf05-4607-b155-86db456f7680",,"reported in error","reported in error","f","–","cccccc","1"
 "61cee840-801e-41d8-bead-015ad866c2f1",,"native: reported in error","native: reported in error","nf","–","fdb462","1"
+"71b72e24-c2b6-44a5-bdab-39f083bf0f06",,"doubtfully native: reported in error","doubtfully native: reported in error","-d","-d","fef1ff","1"
 "aeec2947-2700-4623-8e32-9e3a430569d1",,"introduced: reported in error","introduced: reported in error","if","–","ffed3f","1"
 "b74dc30b-ee93-496d-8c00-4d00abae1ec7",,"introduced: formerly introduced","introduced: formerly introduced","ie","ie","ccebcc","1"
-"da159544-b0dd-4599-a9c9-640826af8c17",,"introduced: uncertain degree of naturalisation","introduced: uncertain degree of naturalisation","ip","ip","afed6f","0"
+"8d918a37-3add-4e1c-a233-c37dbee209aa",,"naturalised: reported in error","naturalised: reported in error","-n","-n","fef1ff","1"
 "9d4d3431-177a-4abe-8e4b-1558573169d6",,"cultivated: reported in error","cultivated: reported in error","cf","–","fccde5","1"
\ No newline at end of file
index 617bf6a96c7dcfa5f2e04581a14e3f6a6dec0fbf..86d8b7731504d5b85c9b80ce063764f273ffbc74 100644 (file)
@@ -1018,7 +1018,7 @@ private List<Rank> rankInterval(Rank lowerRank, Rank upperRank) {
         priorityMap.put(PresenceAbsenceTerm.INTRODUCED_DOUBTFULLY_INTRODUCED(), 80);
         priorityMap.put(PresenceAbsenceTerm.INTRODUCED(), 90);
         priorityMap.put(PresenceAbsenceTerm.INTRODUCED_ADVENTITIOUS(), 100);
-        priorityMap.put(PresenceAbsenceTerm.INTRODUCED_NATURALIZED(), 110);
+        priorityMap.put(PresenceAbsenceTerm.NATURALISED(), 110);
         priorityMap.put(PresenceAbsenceTerm.NATIVE_DOUBTFULLY_NATIVE(), 120); // null
         priorityMap.put(PresenceAbsenceTerm.NATIVE(), 130); // null
         priorityMap.put(PresenceAbsenceTerm.ENDEMIC_FOR_THE_RELEVANT_AREA(), 999);