ref #9932 latest changes to MexicoEflora imports
[cdmlib-apps.git] / app-import / src / main / java / eu / etaxonomy / cdm / io / mexico / MexicoConabioTransformer.java
1 /**
2 * Copyright (C) 2016 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
5 *
6 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 * See LICENSE.TXT at the top of this package for the full license terms.
8 */
9 package eu.etaxonomy.cdm.io.mexico;
10
11 import java.util.UUID;
12
13 import org.apache.commons.lang3.StringUtils;
14 import org.apache.log4j.Logger;
15
16 import eu.etaxonomy.cdm.io.common.mapping.InputTransformerBase;
17 import eu.etaxonomy.cdm.io.common.mapping.UndefinedTransformerMethodException;
18 import eu.etaxonomy.cdm.model.description.PresenceAbsenceTerm;
19 import eu.etaxonomy.cdm.model.name.Rank;
20
21 /**
22 * @author a.mueller
23 * @since 16.06.2016
24 */
25 public class MexicoConabioTransformer extends InputTransformerBase{
26
27 private static final long serialVersionUID = -5618949703252325141L;
28
29 private static final Logger logger = Logger.getLogger(MexicoConabioTransformer.class);
30
31 public static UUID uuidReferenceEflora = UUID.fromString("0a04f189-b014-41b3-8a59-40f2f56a3087");
32
33
34 public static UUID uuidReferenceBorhidi = UUID.fromString("f76a535b-a1fd-437c-a09d-f94eddae2b5e");
35 // public static UUID uuidReferenceConabio = UUID.fromString("7183652f-d7ca-45a7-9383-265996d3d10f");
36 public static UUID uuidReferenceConabio2 = UUID.fromString("292d0470-74b1-4419-84c5-0315a3bfe643");
37
38 public static final UUID uuidConabioTaxonIdIdentifierType = UUID.fromString("025fb8fe-e8e8-4136-bf37-93367a268889");
39 public static final UUID uuidConabioReferenceIdIdentifierType = UUID.fromString("a6f98411-b99b-45c5-9303-d2af421b9f73");
40 public static final UUID uuidConabioFactCategoryIdIdentifierType = UUID.fromString("8d6c1c38-2d23-40b2-8891-f74501d3763c");
41
42 public static final UUID uuidNomRefExtension = UUID.fromString("0a7e2f5f-c62d-43e1-874a-07cb1dbb9fa0");
43
44 public static final UUID uuidStatusExotica = UUID.fromString("f7264a1d-5037-4d9a-9758-d81fea057e1b");
45 public static final UUID uuidStatusExoticaInvasora = UUID.fromString("4d135810-4af8-48ca-82f4-d4741d00d067");
46
47 public static final UUID uuidMexicanStatesVoc = UUID.fromString("88556d4c-a171-4e14-ac56-3154d88f429b");
48
49 public static final UUID uuidMexicoCountry = UUID.fromString("b451ccd8-dd40-4804-b507-1ba46fad151a");
50 public static final UUID uuidAguascalientes = UUID.fromString("fff6867a-bfa4-479b-8f35-bf273a790c8f");
51 public static final UUID uuidBaja_california = UUID.fromString("a76e3818-37b6-4854-aaf7-fa02d0a99d02");
52 public static final UUID uuidBaja_california_sur = UUID.fromString("f298f095-5d55-49bd-9e1c-6aedee9e53ae");
53 public static final UUID uuidCampeche = UUID.fromString("1f955f0f-1a63-406b-951f-426f55f32f54");
54 public static final UUID uuidCoahuila_de_zaragoza = UUID.fromString("eb9ff874-d598-4b1c-b1b8-97c33c69155f");
55 public static final UUID uuidColima = UUID.fromString("f3da7526-21a9-4ac0-bf3f-56bc9ea699d5");
56 public static final UUID uuidChiapas = UUID.fromString("413e70cc-a39c-4b00-af60-82a3650aba0f");
57 public static final UUID uuidChihuahua = UUID.fromString("8a94f64d-822b-4dea-9161-9f130ca22850");
58 public static final UUID uuidDistrito_federal = UUID.fromString("5686a49e-e40d-4bc5-b0c7-d2bcb489baed");
59 public static final UUID uuidDurango = UUID.fromString("a0b4c414-95c1-4d1f-b6de-589baec83890");
60 public static final UUID uuidGuanajuato = UUID.fromString("641de041-f468-4c46-84f8-bbc9e6eb2db0");
61 public static final UUID uuidGuerrero = UUID.fromString("2c4a7e98-154c-480c-804d-0acf285087b4");
62 public static final UUID uuidHidalgo = UUID.fromString("40c40034-c712-4793-87ba-1523d0a17411");
63 public static final UUID uuidJalisco = UUID.fromString("315c8fb8-08d6-4acc-acad-d7c3ab02a6b7");
64 public static final UUID uuidMexico = UUID.fromString("0730370d-66c8-4e1f-a40b-c8941edc12d3");
65 public static final UUID uuidMichoacan_de_ocampo = UUID.fromString("aaf89369-139b-4524-8f2d-5010aab755c7");
66 public static final UUID uuidMorelos = UUID.fromString("c9a5cd7e-6828-4505-8e74-b2e0e56d0f0a");
67 public static final UUID uuidNayarit = UUID.fromString("6f3cf768-7b22-4351-98db-e47f88501d8c");
68 public static final UUID uuidNuevo_leon = UUID.fromString("5ce156f4-db40-4404-8610-b46727e93252");
69 public static final UUID uuidOaxaca = UUID.fromString("47a15fd7-4d5f-4d03-949b-0ffc873f112e");
70 public static final UUID uuidPuebla = UUID.fromString("e1c52112-cb27-4bdf-a891-9da8eed591e8");
71 public static final UUID uuidQueretaro_de_arteaga = UUID.fromString("d09512dc-d3c8-4454-a595-cd610790e9b9");
72 public static final UUID uuidQuintana_roo = UUID.fromString("bf2ade90-12fd-48eb-9425-9932a0333d90");
73 public static final UUID uuidSan_luis_potosi = UUID.fromString("cd54fd65-b5f2-4109-bd5e-6cb935eace1f");
74 public static final UUID uuidSinaloa = UUID.fromString("924dc40f-63f3-4a25-9b64-8700710409de");
75 public static final UUID uuidSonora = UUID.fromString("2b8dc6bb-5ccc-44bc-b34b-17b9faa620cb");
76 public static final UUID uuidTabasco = UUID.fromString("430f94ee-6e12-40c4-be39-7563017c359a");
77 public static final UUID uuidTamaulipas = UUID.fromString("99caa082-d67e-4025-9d73-110f0edf862d");
78 public static final UUID uuidTlaxcala = UUID.fromString("a06acf81-8d76-40ec-83fa-15a0fa0e8b95");
79 public static final UUID uuidVeracruz_de_ignacio_de_la_llave = UUID.fromString("0f98fcb1-7345-49f5-af6f-5f781a525a3a");
80 public static final UUID uuidYucatan = UUID.fromString("5dd5d5fa-77f0-42f6-a45c-384130e5f16d");
81 public static final UUID uuidZacatecas = UUID.fromString("0e9bc1f2-0154-4424-85c7-1bfc8cf3696c");
82
83 public static final UUID uuidMexicanLanguagesVoc = UUID.fromString("d37d043e-94af-4cb0-b702-e6f45318b039");
84
85 public static final UUID uuidChontal = UUID.fromString("e2ea70d0-605b-4e21-9848-aefe38ea6abb");
86 public static final UUID uuidChinanteco = UUID.fromString("18394cf7-9027-4253-be77-a136f8293d37");
87 public static final UUID uuidChiapaneca = UUID.fromString("bd98cda2-3fc3-432a-b283-06acbeba054c");
88 public static final UUID uuidHuasteco = UUID.fromString("dff1a7d4-7520-4ad3-9cdb-7fa9d8ee4989");
89 public static final UUID uuidEspanol_Maya = UUID.fromString("ebd5fb21-628c-424e-9add-bf29a1e51b28");
90 public static final UUID uuidGuarijio = UUID.fromString("f7064648-a033-40f5-b271-9c577c123a30");
91 public static final UUID uuidHuave = UUID.fromString("494abcf2-d027-4cc4-a48e-4c5a55e205a9");
92 public static final UUID uuidEspanol = UUID.fromString("fffdc8a6-a8c3-4914-b108-d3397140a692");
93 public static final UUID uuidMaya = UUID.fromString("3c1a6981-13c1-410f-8b8d-b99612db7aba");
94 public static final UUID uuidLacandon = UUID.fromString("6ca007a9-6c7b-4381-a5ae-c29177b6ee6c");
95 public static final UUID uuidIngles = UUID.fromString("90affeb7-cb08-4095-98de-74923c02e98f");
96 public static final UUID uuidItzmal = UUID.fromString("68c0c780-c724-419f-9797-2311d091d817");
97 public static final UUID uuidNahuatl = UUID.fromString("4c487f72-2e57-4a8c-96c2-52047c812cda");
98 public static final UUID uuidTarahumara = UUID.fromString("98e67390-b41f-4763-ac27-eddf978f4e5d");
99 public static final UUID uuidOtomi = UUID.fromString("0b7a6fdb-a797-4551-81b8-d2ad51048d4a");
100 public static final UUID uuidMixe = UUID.fromString("9c9a9752-a3b4-46b6-bb9a-481e22027d4d");
101 public static final UUID uuidTseltal = UUID.fromString("7cc0b188-cfa6-42e0-9641-38aeb6a6ec3b");
102 public static final UUID uuidZapoteco = UUID.fromString("9ad65652-5b14-4580-9b4e-28e0a28753b4");
103 public static final UUID uuidTotonaco = UUID.fromString("2eae8d72-a45c-48be-b9a4-aaf96d21df0a");
104 public static final UUID uuidTarasco = UUID.fromString("cf597916-0422-495f-bf0b-ea0841e32a52");
105
106 public static final UUID uuidMixteco = UUID.fromString("a1e4ad97-9ae0-43a7-993b-8ed9df1837b9");
107 public static final UUID uuidNahuatlEspanol = UUID.fromString("e3014862-bdfc-4f3b-a3c9-f453c0997de1");
108 public static final UUID uuidEspanolNahuatl = UUID.fromString("6c70e207-ccb7-420e-9d4b-86013b5ac105");
109 public static final UUID uuidTzotzil = UUID.fromString("f2c46f9b-9580-4342-b35c-1a356b832424");
110 public static final UUID uuidTetzal = UUID.fromString("99f0a31c-d0ef-439f-bf16-be7d2f40a5f3");
111 public static final UUID uuidTzeltal = UUID.fromString("18c3db8d-aae6-4da8-a1a7-2034454e4631");
112 public static final UUID uuidMazateco = UUID.fromString("150b5f4b-afcd-435a-8c36-82398162bb55");
113 public static final UUID uuidTepehua = UUID.fromString("8b17f444-8581-4dd7-8fbb-099a8e4f2a5b");
114
115 public static final UUID uuidCuicateco = UUID.fromString("5bd309ac-3677-4742-8c0a-18e552f9334f");
116 public static final UUID uuidZoque = UUID.fromString("86e84d38-e3ce-4b8e-9e4c-23fcf6aaf575");
117 public static final UUID uuidTepehuano = UUID.fromString("f404d3a5-759c-424f-935b-5be2a9d4da77");
118 public static final UUID uuidPopoloca = UUID.fromString("458eb628-9721-4bd4-ab7d-331dc2efdc13");
119 public static final UUID uuidTojolabal = UUID.fromString("9ec79d06-0501-41c9-8f56-698bb03a5958");
120
121 public static final UUID uuidMayo = UUID.fromString("19a3d783-9910-4d8f-a755-fc74130b14e3");
122 public static final UUID uuidHuichol = UUID.fromString("35898e28-bb27-4254-b6e3-372fb53cb60b");
123 public static final UUID uuidCora = UUID.fromString("f48c1852-6875-4db2-b104-1b99ca6556ab");
124 public static final UUID uuidSeri = UUID.fromString("6d153f30-daed-4225-bb41-4367f78a608c");
125
126
127 @Override
128 public Rank getRankByKey(String key) throws UndefinedTransformerMethodException {
129 if (StringUtils.isBlank(key)){
130 return null;
131 }else if (key.equals("orden")) {return Rank.ORDER();
132 }else if (key.equals("subclase")){return Rank.SUBCLASS();
133 }else if (key.equals("clase")){return Rank.CLASS();
134 }else if (key.equals("familia")){return Rank.FAMILY();
135 }else if (key.equals("subfamilia")){return Rank.SUBFAMILY();
136
137 }else if (key.equals("tribu")){return Rank.TRIBE();
138 }else if (key.equals("subtribu")){return Rank.SUBTRIBE();
139 }else if (key.equals("superorden")){return Rank.SUPERORDER();
140 }else if (key.equals("división")){return Rank.DIVISION();
141
142 }else if (key.equals("género")){return Rank.GENUS();
143 }else if (key.equals("subgénero")){return Rank.SUBGENUS();
144 }else if (key.equals("especie")){return Rank.SPECIES();
145 }else if (key.equals("subespecie")){return Rank.SUBSPECIES();
146 }else if (key.equals("variedad")){return Rank.VARIETY();
147 }else if (key.equals("forma")){return Rank.FORM();
148 }else if (key.equals("raza")){return Rank.RACE();
149 }else{
150 logger.warn("Rank not defined: " + key);
151 return null;
152 }
153 }
154
155 @Override
156 public PresenceAbsenceTerm getPresenceTermByKey(String key) throws UndefinedTransformerMethodException {
157 if (StringUtils.isBlank(key)){
158 return null;
159 }else if (key.equals("Endémica")){
160 return PresenceAbsenceTerm.ENDEMIC_FOR_THE_RELEVANT_AREA();
161 }else if (key.equals("Nativa")){
162 return PresenceAbsenceTerm.NATIVE();
163 }else{
164 return null;
165 }
166 }
167
168 @Override
169 public UUID getPresenceTermUuid(String key) throws UndefinedTransformerMethodException {
170 if (StringUtils.isBlank(key)){
171 return null;
172 }else if (key.equals("Exótica")){
173 return uuidStatusExotica;
174 }else if (key.equals("Exótica-Invasora")){
175 return uuidStatusExoticaInvasora;
176 }else{
177 logger.warn("PresenceTerm not yet implemented: " + key);
178 return null;
179 }
180 }
181 }