#5448 Add missing ranks to transformer
[cdmlib-apps.git] / app-import / src / main / java / eu / etaxonomy / cdm / io / redlist / gefaesspflanzen / RedListGefaesspflanzenTransformer.java
1 // $Id$
2 /**
3 * Copyright (C) 2007 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
6 *
7 * The contents of this file are subject to the Mozilla Public License Version 1.1
8 * See LICENSE.TXT at the top of this package for the full license terms.
9 */
10
11 package eu.etaxonomy.cdm.io.redlist.gefaesspflanzen;
12
13 import org.apache.log4j.Logger;
14
15 import eu.etaxonomy.cdm.io.common.mapping.InputTransformerBase;
16 import eu.etaxonomy.cdm.io.common.mapping.UndefinedTransformerMethodException;
17 import eu.etaxonomy.cdm.model.name.NomenclaturalStatusType;
18 import eu.etaxonomy.cdm.model.name.Rank;
19 import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;
20
21 /**
22 *
23 * @author pplitzner
24 * @date Mar 1, 2016
25 *
26 */
27 @SuppressWarnings("serial")
28 public final class RedListGefaesspflanzenTransformer extends InputTransformerBase {
29
30 @SuppressWarnings("unused")
31 private static final Logger logger = Logger.getLogger(RedListGefaesspflanzenTransformer.class);
32
33 @Override
34 public Rank getRankByKey(String key) throws UndefinedTransformerMethodException {
35 if (key == null){return null;}
36 if (key.equals("GAT")){return Rank.GENUS();}
37 else if (key.equals("SPE")){return Rank.SPECIES();}
38 else if (key.equals("VAR")){return Rank.VARIETY();}
39 else if (key.equals("SSP")){return Rank.SUBSPECIES();}
40 else if (key.equals("FOR")){return Rank.FORM();}
41 else if (key.equals("RAC")){return Rank.RACE();}
42 else if (key.equals("SEC")){return Rank.SECTION_BOTANY();}
43 else if (key.equals("SSE")){return Rank.SUBSECTION_BOTANY();}
44 else if (key.equals("SGE")){return Rank.SUBGENUS();}
45 else if (key.equals("SVA")){return Rank.SUBVARIETY();}
46 else if (key.equals("CV")){return Rank.CULTIVAR();}
47 else if (key.equals("PRO")){return Rank.PROLES();}
48 else if (key.equals("SER")){return Rank.SERIES();}
49 else if (key.equals("GRE")){return Rank.GREX();}
50 else if (key.equals("AGG")){return Rank.SPECIESAGGREGATE();}
51 else if (key.equals("SFO")){return Rank.SUBFORM();}
52 else if (key.equals("SLU")){return Rank.SUBLUSUS();}
53 //FIXME implement ranks
54 // else if (key.equals("LUS")){return Rank.LUSUS();}
55 // else if (key.equals("SPR")){return Rank.SUBPROLES();}
56 // else if (key.equals("SAM")){return Rank.SAMMELART();}
57 // else if (key.equals("MOD")){return Rank.MODIFICATIO();}
58 // else if (key.equals("KMB")){return Rank.COMBINATION();}
59 // else if (key.equals("SPI")){return Rank.SUBSPECIESPRINCIPES();}
60 else if (key.equals("GRO") || key.equals("GRU")){return Rank.SPECIESGROUP();}
61 else if (key.equals("?")){return Rank.UNKNOWN_RANK();}
62 return null;
63 }
64
65 @Override
66 public NomenclaturalStatusType getNomenclaturalStatusByKey(String key) throws UndefinedTransformerMethodException {
67 if (key == null){return null;}
68 key = key.trim();
69 if (key.equals("nom. cons.")){return NomenclaturalStatusType.CONSERVED();}
70 else if (key.equals("nom. illeg.")){return NomenclaturalStatusType.ILLEGITIMATE();}
71 else if (key.equals("nom. inval.")){return NomenclaturalStatusType.INVALID();}
72 else if (key.equals("nom. inval. (sine typus)")){return NomenclaturalStatusType.INVALID();}
73 else if (key.equals("nom. inval. (sine descr.)")){return NomenclaturalStatusType.INVALID();}
74 else if (key.equals("nom. inval. (sine descr. lat.)")){return NomenclaturalStatusType.INVALID();}
75 else if (key.equals("nom. inval. (sine basion.)")){return NomenclaturalStatusType.INVALID();}
76 else if (key.equals("nom. inval. (nom. non accept.)")){return NomenclaturalStatusType.INVALID();}
77 else if (key.equals("nom. ambig.")){return NomenclaturalStatusType.AMBIGUOUS();}
78 else if (key.equals("nom. nud.")){return NomenclaturalStatusType.NUDUM();}
79 else if (key.equals("nom. dub.")){return NomenclaturalStatusType.DOUBTFUL();}
80 else if (key.equals("nom. rejic.")){return NomenclaturalStatusType.REJECTED();}
81 else if (key.equals("nom. rejic. prop.")){return NomenclaturalStatusType.REJECTED_PROP();}
82 else if (key.equals("nom. utique rejic.")){return NomenclaturalStatusType.UTIQUE_REJECTED();}
83 else if (key.equals("nom. utique rejic. pro.")){return NomenclaturalStatusType.UTIQUE_REJECTED_PROP();}
84 else if (key.equals("nom. utique rejic. prop.")){return NomenclaturalStatusType.UTIQUE_REJECTED_PROP();}
85 else if (key.equals("comb. nov.")){return NomenclaturalStatusType.COMB_NOV();}
86 else if (key.equals("nom. illeg. (nom. superfl.)")){return NomenclaturalStatusType.SUPERFLUOUS();}
87 else if (key.equals("nom. inval. (nom. nud.)")){return NomenclaturalStatusType.NUDUM();}
88 else if (key.equals("nom. nud.")){return NomenclaturalStatusType.NUDUM();}
89 else if (key.equals("nom. inval. (op. utique oppr.)")){return NomenclaturalStatusType.OPUS_UTIQUE_OPPR();}
90 else if (key.equals("nom. inval. (nom. prov.)")){return NomenclaturalStatusType.PROVISIONAL();}
91 return null;
92 }
93
94 public TaxonRelationshipType getTaxonRelationshipTypeByKey(String key) {
95 if (key == null){return null;}
96 else {
97 if (key.equals("=")){return TaxonRelationshipType.CONGRUENT_TO();}
98 else if (key.equals(">")){return TaxonRelationshipType.INCLUDES();}
99 else if (key.equals("<")){return TaxonRelationshipType.INCLUDES();}
100 else if (key.equals("!")){return TaxonRelationshipType.OVERLAPS();}
101 else if (key.equals("?")){return TaxonRelationshipType.UNCLEAR();}
102 else if (key.equals("x")){return TaxonRelationshipType.NOT_YET_WORKED_ON();}
103 }
104 return null;
105 }
106
107 }