14 |
14 |
import org.apache.commons.lang.StringUtils;
|
15 |
15 |
import org.apache.log4j.Logger;
|
16 |
16 |
|
|
17 |
import com.google.common.collect.BiMap;
|
|
18 |
import com.google.common.collect.HashBiMap;
|
|
19 |
|
17 |
20 |
import eu.etaxonomy.cdm.io.redlist.bfnXml.BfnXmlConstants;
|
18 |
21 |
import eu.etaxonomy.cdm.model.name.Rank;
|
19 |
22 |
import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;
|
20 |
23 |
import eu.etaxonomy.cdm.strategy.exceptions.UnknownCdmTypeException;
|
21 |
|
/*import eu.etaxonomy.cdm.model.reference.Article;
|
22 |
|
import eu.etaxonomy.cdm.model.reference.Book;
|
23 |
|
import eu.etaxonomy.cdm.model.reference.BookSection;
|
24 |
|
import eu.etaxonomy.cdm.model.reference.Journal;
|
25 |
|
import eu.etaxonomy.cdm.model.reference.PersonalCommunication;
|
26 |
|
import eu.etaxonomy.cdm.model.reference.PrintSeries;*/
|
27 |
|
//import eu.etaxonomy.cdm.model.reference.WebPage;
|
28 |
24 |
|
29 |
25 |
public final class BfnXmlTransformer {
|
30 |
26 |
@SuppressWarnings("unused")
|
... | ... | |
144 |
140 |
public static final UUID stateTermRLSpecialE = UUID.fromString("ef335a01-f4f1-4a02-95a2-2254aa457774");
|
145 |
141 |
public static final UUID stateTermRLSpecialD = UUID.fromString("6b267cc5-49b6-4ebd-87ec-aa574e9cbcc5");
|
146 |
142 |
|
|
143 |
private static final BiMap<Rank, String> rankMap = HashBiMap.create();
|
|
144 |
static {
|
|
145 |
rankMap.put(Rank.INFRAGENUS(), BfnXmlConstants.RNK_INFRAGEN);
|
|
146 |
rankMap.put(Rank.SUBGENUS(), BfnXmlConstants.RNK_SUBGEN);
|
|
147 |
rankMap.put(Rank.GENUS(), BfnXmlConstants.RNK_GEN);
|
|
148 |
//genus subdivision
|
|
149 |
rankMap.put(Rank.SPECIESAGGREGATE(), BfnXmlConstants.RNK_AGGR);
|
|
150 |
rankMap.put(Rank.INFRAGENERICTAXON(), BfnXmlConstants.RNK_TAXINFRAGEN);
|
|
151 |
rankMap.put(Rank.SUBSERIES(), BfnXmlConstants.RNK_SUBSER);
|
|
152 |
rankMap.put(Rank.SERIES(), BfnXmlConstants.RNK_SER);
|
|
153 |
rankMap.put(Rank.SUBSECTION_BOTANY(), BfnXmlConstants.RNK_SUBSECT);
|
|
154 |
rankMap.put(Rank.SECTION_BOTANY(), BfnXmlConstants.RNK_SECT);
|
|
155 |
//species group
|
|
156 |
rankMap.put(Rank.SUBSPECIFICAGGREGATE(), BfnXmlConstants.RNK_SUBSP_AGGR);
|
|
157 |
rankMap.put(Rank.SUBSPECIES(), BfnXmlConstants.RNK_SSP);
|
|
158 |
rankMap.put(Rank.SUBSPECIES(), BfnXmlConstants.RNK_SUBSP);
|
|
159 |
rankMap.put(Rank.SUBSPECIES(), BfnXmlConstants.RNK_SUBSP_DOT);
|
|
160 |
rankMap.put(Rank.SPECIES(), BfnXmlConstants.RNK_SP);
|
|
161 |
rankMap.put(Rank.SPECIES(), BfnXmlConstants.RNK_SPEZIES);
|
|
162 |
//below subspecies
|
|
163 |
rankMap.put(Rank.CANDIDATE(), BfnXmlConstants.RNK_CAND);
|
|
164 |
rankMap.put(Rank.INFRASPECIFICTAXON(), BfnXmlConstants.RNK_TAXINFRASP);
|
|
165 |
rankMap.put(Rank.SPECIALFORM(), BfnXmlConstants.RNK_FSP);
|
|
166 |
rankMap.put(Rank.SUBSUBFORM(), BfnXmlConstants.RNK_SUBSUBFM);
|
|
167 |
rankMap.put(Rank.SUBFORM(), BfnXmlConstants.RNK_SUBFM);
|
|
168 |
rankMap.put(Rank.FORM(), BfnXmlConstants.RNK_FM);
|
|
169 |
rankMap.put(Rank.SUBSUBVARIETY(), BfnXmlConstants.RNK_SUBSUBVAR);
|
|
170 |
rankMap.put(Rank.SUBVARIETY(), BfnXmlConstants.RNK_SUBVAR);
|
|
171 |
rankMap.put(Rank.VARIETY(), BfnXmlConstants.RNK_VAR);
|
|
172 |
rankMap.put(Rank.VARIETY(), BfnXmlConstants.RNK_VAR_DOT);
|
|
173 |
rankMap.put(Rank.INFRASPECIES(), BfnXmlConstants.RNK_INFRASP);
|
|
174 |
//above superfamily
|
|
175 |
rankMap.put(Rank.INFRAORDER(), BfnXmlConstants.RNK_INFRAORD);
|
|
176 |
rankMap.put(Rank.ORDER(), BfnXmlConstants.RNK_ORD);
|
|
177 |
rankMap.put(Rank.SUPERORDER(), BfnXmlConstants.RNK_SUPERORD);
|
|
178 |
rankMap.put(Rank.INFRACLASS(), BfnXmlConstants.RNK_INFRACL);
|
|
179 |
rankMap.put(Rank.SUBCLASS(), BfnXmlConstants.RNK_SUBCL);
|
|
180 |
rankMap.put(Rank.CLASS(), BfnXmlConstants.RNK_CL);
|
|
181 |
rankMap.put(Rank.SUPERCLASS(), BfnXmlConstants.RNK_SUPERCL);
|
|
182 |
rankMap.put(Rank.INFRAPHYLUM(), BfnXmlConstants.RNK_INFRAPHYL_DIV);
|
|
183 |
rankMap.put(Rank.SUBPHYLUM(), BfnXmlConstants.RNK_SUBPHYL_DIV);
|
|
184 |
rankMap.put(Rank.PHYLUM(), BfnXmlConstants.RNK_PHYL_DIV);
|
|
185 |
rankMap.put(Rank.SUPERPHYLUM(), BfnXmlConstants.RNK_SUPERPHYL_DIV);
|
|
186 |
rankMap.put(Rank.INFRAKINGDOM(), BfnXmlConstants.RNK_INFRAREG);
|
|
187 |
rankMap.put(Rank.SUBKINGDOM(), BfnXmlConstants.RNK_SUBREG);
|
|
188 |
rankMap.put(Rank.KINGDOM(), BfnXmlConstants.RNK_REG);
|
|
189 |
rankMap.put(Rank.SUPERKINGDOM(), BfnXmlConstants.RNK_SUPERREG);
|
|
190 |
rankMap.put(Rank.DOMAIN(), BfnXmlConstants.RNK_DOM);
|
|
191 |
rankMap.put(Rank.SUPRAGENERICTAXON(), BfnXmlConstants.RNK_TAXSUPRAGEN);
|
|
192 |
rankMap.put(Rank.EMPIRE(), BfnXmlConstants.RNK_AUSWERTUNGSGRUPPE);
|
|
193 |
//family group
|
|
194 |
rankMap.put(Rank.FAMILY(), BfnXmlConstants.RNK_INFRAFAM);
|
|
195 |
rankMap.put(Rank.FAMILY(), BfnXmlConstants.RNK_SUBFAM);
|
|
196 |
rankMap.put(Rank.FAMILY(), BfnXmlConstants.RNK_FAM);
|
|
197 |
rankMap.put(Rank.FAMILY(), BfnXmlConstants.RNK_SUPERFAM);
|
|
198 |
//family subdivision
|
|
199 |
rankMap.put(Rank.FAMILY(), BfnXmlConstants.RNK_INTRATRIB);
|
|
200 |
rankMap.put(Rank.FAMILY(), BfnXmlConstants.RNK_SUBTRIB);
|
|
201 |
rankMap.put(Rank.FAMILY(), BfnXmlConstants.RNK_TRIB);
|
|
202 |
rankMap.put(Rank.FAMILY(), BfnXmlConstants.RNK_SUPERTRIB);
|
|
203 |
}
|
|
204 |
|
|
205 |
public static BiMap<Rank, String> getRankmap() {
|
|
206 |
return rankMap;
|
|
207 |
}
|
|
208 |
|
147 |
209 |
|
148 |
210 |
public static TaxonRelationshipType concept2TaxonRelation(String conceptStatus) throws UnknownCdmTypeException{
|
149 |
211 |
if(conceptStatus == null) {
|
Export epithet, rank and scientific name