Revision 33ba11bd
Added by Patrick Plitzner almost 8 years ago
app-import/src/main/java/eu/etaxonomy/cdm/io/redlist/bfnXml/in/BfnXmlTransformer.java | ||
---|---|---|
27 | 27 |
private static final Logger logger = Logger.getLogger(BfnXmlTransformer.class); |
28 | 28 |
|
29 | 29 |
|
30 |
private static final BiMap<Rank, String> rankMap = HashBiMap.create();
|
|
30 |
private static final BiMap<String, Rank> rankMap = HashBiMap.create();
|
|
31 | 31 |
static { |
32 |
rankMap.put(Rank.INFRAGENUS(), BfnXmlConstants.RNK_INFRAGEN);
|
|
33 |
rankMap.put(Rank.SUBGENUS(), BfnXmlConstants.RNK_SUBGEN);
|
|
34 |
rankMap.put(Rank.GENUS(), BfnXmlConstants.RNK_GEN);
|
|
32 |
rankMap.put(BfnXmlConstants.RNK_INFRAGEN, Rank.INFRAGENUS());
|
|
33 |
rankMap.put(BfnXmlConstants.RNK_SUBGEN, Rank.SUBGENUS());
|
|
34 |
rankMap.put(BfnXmlConstants.RNK_GEN, Rank.GENUS());
|
|
35 | 35 |
//genus subdivision |
36 |
rankMap.put(Rank.SPECIESAGGREGATE(), BfnXmlConstants.RNK_AGGR);
|
|
37 |
rankMap.put(Rank.INFRAGENERICTAXON(), BfnXmlConstants.RNK_TAXINFRAGEN);
|
|
38 |
rankMap.put(Rank.SUBSERIES(), BfnXmlConstants.RNK_SUBSER);
|
|
39 |
rankMap.put(Rank.SERIES(), BfnXmlConstants.RNK_SER);
|
|
40 |
rankMap.put(Rank.SUBSECTION_BOTANY(), BfnXmlConstants.RNK_SUBSECT);
|
|
41 |
rankMap.put(Rank.SECTION_BOTANY(), BfnXmlConstants.RNK_SECT);
|
|
36 |
rankMap.put(BfnXmlConstants.RNK_AGGR, Rank.SPECIESAGGREGATE());
|
|
37 |
rankMap.put(BfnXmlConstants.RNK_TAXINFRAGEN, Rank.INFRAGENERICTAXON());
|
|
38 |
rankMap.put(BfnXmlConstants.RNK_SUBSER, Rank.SUBSERIES());
|
|
39 |
rankMap.put(BfnXmlConstants.RNK_SER, Rank.SERIES());
|
|
40 |
rankMap.put(BfnXmlConstants.RNK_SUBSECT, Rank.SUBSECTION_BOTANY());
|
|
41 |
rankMap.put(BfnXmlConstants.RNK_SECT, Rank.SECTION_BOTANY());
|
|
42 | 42 |
//species group |
43 |
rankMap.put(Rank.SUBSPECIFICAGGREGATE(), BfnXmlConstants.RNK_SUBSP_AGGR); |
|
44 |
rankMap.put(Rank.SUBSPECIES(), BfnXmlConstants.RNK_SSP); |
|
45 |
rankMap.put(Rank.SUBSPECIES(), BfnXmlConstants.RNK_SUBSP); |
|
46 |
rankMap.put(Rank.SUBSPECIES(), BfnXmlConstants.RNK_SUBSP_DOT); |
|
47 |
rankMap.put(Rank.SPECIES(), BfnXmlConstants.RNK_SP); |
|
48 |
rankMap.put(Rank.SPECIES(), BfnXmlConstants.RNK_SPEZIES); |
|
43 |
rankMap.put(BfnXmlConstants.RNK_SUBSP_AGGR, Rank.SUBSPECIFICAGGREGATE()); |
|
44 |
rankMap.put(BfnXmlConstants.RNK_SSP, Rank.SUBSPECIES()); |
|
45 |
rankMap.put(BfnXmlConstants.RNK_SP, Rank.SPECIES()); |
|
49 | 46 |
//below subspecies |
50 |
rankMap.put(Rank.CANDIDATE(), BfnXmlConstants.RNK_CAND); |
|
51 |
rankMap.put(Rank.INFRASPECIFICTAXON(), BfnXmlConstants.RNK_TAXINFRASP); |
|
52 |
rankMap.put(Rank.SPECIALFORM(), BfnXmlConstants.RNK_FSP); |
|
53 |
rankMap.put(Rank.SUBSUBFORM(), BfnXmlConstants.RNK_SUBSUBFM); |
|
54 |
rankMap.put(Rank.SUBFORM(), BfnXmlConstants.RNK_SUBFM); |
|
55 |
rankMap.put(Rank.FORM(), BfnXmlConstants.RNK_FM); |
|
56 |
rankMap.put(Rank.SUBSUBVARIETY(), BfnXmlConstants.RNK_SUBSUBVAR); |
|
57 |
rankMap.put(Rank.SUBVARIETY(), BfnXmlConstants.RNK_SUBVAR); |
|
58 |
rankMap.put(Rank.VARIETY(), BfnXmlConstants.RNK_VAR); |
|
59 |
rankMap.put(Rank.VARIETY(), BfnXmlConstants.RNK_VAR_DOT); |
|
60 |
rankMap.put(Rank.INFRASPECIES(), BfnXmlConstants.RNK_INFRASP); |
|
47 |
rankMap.put(BfnXmlConstants.RNK_CAND, Rank.CANDIDATE()); |
|
48 |
rankMap.put(BfnXmlConstants.RNK_TAXINFRASP, Rank.INFRASPECIFICTAXON()); |
|
49 |
rankMap.put(BfnXmlConstants.RNK_FSP, Rank.SPECIALFORM()); |
|
50 |
rankMap.put(BfnXmlConstants.RNK_SUBSUBFM, Rank.SUBSUBFORM()); |
|
51 |
rankMap.put(BfnXmlConstants.RNK_SUBFM, Rank.SUBFORM()); |
|
52 |
rankMap.put(BfnXmlConstants.RNK_FM, Rank.FORM()); |
|
53 |
rankMap.put(BfnXmlConstants.RNK_SUBSUBVAR, Rank.SUBSUBVARIETY()); |
|
54 |
rankMap.put(BfnXmlConstants.RNK_SUBVAR, Rank.SUBVARIETY()); |
|
55 |
rankMap.put(BfnXmlConstants.RNK_VAR, Rank.VARIETY()); |
|
56 |
rankMap.put(BfnXmlConstants.RNK_INFRASP, Rank.INFRASPECIES()); |
|
61 | 57 |
//above superfamily |
62 |
rankMap.put(Rank.INFRAORDER(), BfnXmlConstants.RNK_INFRAORD);
|
|
63 |
rankMap.put(Rank.ORDER(), BfnXmlConstants.RNK_ORD);
|
|
64 |
rankMap.put(Rank.SUPERORDER(), BfnXmlConstants.RNK_SUPERORD);
|
|
65 |
rankMap.put(Rank.INFRACLASS(), BfnXmlConstants.RNK_INFRACL);
|
|
66 |
rankMap.put(Rank.SUBCLASS(), BfnXmlConstants.RNK_SUBCL);
|
|
67 |
rankMap.put(Rank.CLASS(), BfnXmlConstants.RNK_CL);
|
|
68 |
rankMap.put(Rank.SUPERCLASS(), BfnXmlConstants.RNK_SUPERCL);
|
|
69 |
rankMap.put(Rank.INFRAPHYLUM(), BfnXmlConstants.RNK_INFRAPHYL_DIV);
|
|
70 |
rankMap.put(Rank.SUBPHYLUM(), BfnXmlConstants.RNK_SUBPHYL_DIV);
|
|
71 |
rankMap.put(Rank.PHYLUM(), BfnXmlConstants.RNK_PHYL_DIV);
|
|
72 |
rankMap.put(Rank.SUPERPHYLUM(), BfnXmlConstants.RNK_SUPERPHYL_DIV);
|
|
73 |
rankMap.put(Rank.INFRAKINGDOM(), BfnXmlConstants.RNK_INFRAREG);
|
|
74 |
rankMap.put(Rank.SUBKINGDOM(), BfnXmlConstants.RNK_SUBREG);
|
|
75 |
rankMap.put(Rank.KINGDOM(), BfnXmlConstants.RNK_REG);
|
|
76 |
rankMap.put(Rank.SUPERKINGDOM(), BfnXmlConstants.RNK_SUPERREG);
|
|
77 |
rankMap.put(Rank.DOMAIN(), BfnXmlConstants.RNK_DOM);
|
|
78 |
rankMap.put(Rank.SUPRAGENERICTAXON(), BfnXmlConstants.RNK_TAXSUPRAGEN);
|
|
79 |
rankMap.put(Rank.EMPIRE(), BfnXmlConstants.RNK_AUSWERTUNGSGRUPPE);
|
|
58 |
rankMap.put(BfnXmlConstants.RNK_INFRAORD, Rank.INFRAORDER());
|
|
59 |
rankMap.put(BfnXmlConstants.RNK_ORD, Rank.ORDER());
|
|
60 |
rankMap.put(BfnXmlConstants.RNK_SUPERORD, Rank.SUPERORDER());
|
|
61 |
rankMap.put(BfnXmlConstants.RNK_INFRACL, Rank.INFRACLASS());
|
|
62 |
rankMap.put(BfnXmlConstants.RNK_SUBCL, Rank.SUBCLASS());
|
|
63 |
rankMap.put(BfnXmlConstants.RNK_CL, Rank.CLASS());
|
|
64 |
rankMap.put(BfnXmlConstants.RNK_SUPERCL, Rank.SUPERCLASS());
|
|
65 |
rankMap.put(BfnXmlConstants.RNK_INFRAPHYL_DIV, Rank.INFRAPHYLUM());
|
|
66 |
rankMap.put(BfnXmlConstants.RNK_SUBPHYL_DIV, Rank.SUBPHYLUM());
|
|
67 |
rankMap.put(BfnXmlConstants.RNK_PHYL_DIV, Rank.PHYLUM());
|
|
68 |
rankMap.put(BfnXmlConstants.RNK_SUPERPHYL_DIV, Rank.SUPERPHYLUM());
|
|
69 |
rankMap.put(BfnXmlConstants.RNK_INFRAREG, Rank.INFRAKINGDOM());
|
|
70 |
rankMap.put(BfnXmlConstants.RNK_SUBREG, Rank.SUBKINGDOM());
|
|
71 |
rankMap.put(BfnXmlConstants.RNK_REG, Rank.KINGDOM());
|
|
72 |
rankMap.put(BfnXmlConstants.RNK_SUPERREG, Rank.SUPERKINGDOM());
|
|
73 |
rankMap.put(BfnXmlConstants.RNK_DOM, Rank.DOMAIN());
|
|
74 |
rankMap.put(BfnXmlConstants.RNK_TAXSUPRAGEN, Rank.SUPRAGENERICTAXON());
|
|
75 |
rankMap.put(BfnXmlConstants.RNK_AUSWERTUNGSGRUPPE, Rank.EMPIRE());
|
|
80 | 76 |
//family group |
81 |
rankMap.put(Rank.FAMILY(), BfnXmlConstants.RNK_INFRAFAM); |
|
82 |
rankMap.put(Rank.FAMILY(), BfnXmlConstants.RNK_SUBFAM); |
|
83 |
rankMap.put(Rank.FAMILY(), BfnXmlConstants.RNK_FAM); |
|
84 |
rankMap.put(Rank.FAMILY(), BfnXmlConstants.RNK_SUPERFAM); |
|
85 |
//family subdivision |
|
86 |
rankMap.put(Rank.FAMILY(), BfnXmlConstants.RNK_INTRATRIB); |
|
87 |
rankMap.put(Rank.FAMILY(), BfnXmlConstants.RNK_SUBTRIB); |
|
88 |
rankMap.put(Rank.FAMILY(), BfnXmlConstants.RNK_TRIB); |
|
89 |
rankMap.put(Rank.FAMILY(), BfnXmlConstants.RNK_SUPERTRIB); |
|
77 |
rankMap.put(BfnXmlConstants.RNK_INFRAFAM, Rank.FAMILY()); |
|
90 | 78 |
} |
91 | 79 |
|
92 |
public static BiMap<Rank, String> getRankmap() {
|
|
93 |
return rankMap; |
|
80 |
public static String getRankCodeForRank(Rank rank) {
|
|
81 |
return rankMap.inverse().get(rank);
|
|
94 | 82 |
} |
95 | 83 |
|
96 |
private static final BiMap<TaxonRelationshipType, String> relationshipTypeMap = HashBiMap.create(); |
|
97 |
static { |
|
98 |
relationshipTypeMap.put(TaxonRelationshipType.CONGRUENT_TO(), "!="); |
|
99 |
relationshipTypeMap.put(TaxonRelationshipType.CONGRUENT_OR_INCLUDES(), "!=,>"); |
|
100 |
relationshipTypeMap.put(TaxonRelationshipType.CONGRUENT_OR_INCLUDED_OR_INCLUDES(), "!=,<"); |
|
101 |
relationshipTypeMap.put(TaxonRelationshipType.INCLUDES(), ">"); |
|
102 |
relationshipTypeMap.put(TaxonRelationshipType.INCLUDES_OR_OVERLAPS(), ">,><"); |
|
103 |
relationshipTypeMap.put(TaxonRelationshipType.INCLUDED_OR_INCLUDES_OR_OVERLAPS(), ">,><");//TODO: should be Included In Or Overlaps |
|
104 |
relationshipTypeMap.put(TaxonRelationshipType.OVERLAPS(), "><"); |
|
105 |
relationshipTypeMap.put(TaxonRelationshipType.CONGRUENT_OR_INCLUDES_OR_OVERLAPS(), "~");//TODO Included in not here |
|
106 |
relationshipTypeMap.put(TaxonRelationshipType.ALL_RELATIONSHIPS(), "?"); |
|
107 |
relationshipTypeMap.put(TaxonRelationshipType.EXCLUDES(), "/="); |
|
108 |
relationshipTypeMap.put(TaxonRelationshipType.CONGRUENT_TO(), "!="); |
|
84 |
/** Creates an cdm-Rank by the tcs rank |
|
85 |
*/ |
|
86 |
public static Rank getRankForRankCode (String rankCode){ |
|
87 |
if (rankCode == null){ |
|
88 |
return null; |
|
89 |
} |
|
90 |
//handle ambiguous key |
|
91 |
else if (rankCode.equals(BfnXmlConstants.RNK_AGG)){return Rank.SPECIESAGGREGATE(); |
|
92 |
}else if (rankCode.equals(BfnXmlConstants.RNK_SUBSP)){return Rank.SUBSPECIES(); |
|
93 |
}else if (rankCode.equals(BfnXmlConstants.RNK_SUBSP_DOT)){return Rank.SUBSPECIES(); |
|
94 |
}else if (rankCode.equals(BfnXmlConstants.RNK_INFRAGEN)){return Rank.INFRAGENUS(); |
|
95 |
}else if (rankCode.equals(BfnXmlConstants.RNK_SPEZIES)){return Rank.SPECIES(); |
|
96 |
}else if (rankCode.equals(BfnXmlConstants.RNK_F)){return Rank.FORM(); |
|
97 |
}else if (rankCode.equals(BfnXmlConstants.RNK_VAR_DOT)){return Rank.VARIETY(); |
|
98 |
}else if (rankCode.equals(BfnXmlConstants.RNK_SUBFAM)){return Rank.FAMILY(); |
|
99 |
}else if (rankCode.equals(BfnXmlConstants.RNK_FAM)){return Rank.FAMILY(); |
|
100 |
}else if (rankCode.equals(BfnXmlConstants.RNK_SUPERFAM)){return Rank.FAMILY(); |
|
101 |
}else if (rankCode.equals(BfnXmlConstants.RNK_INTRATRIB)){return Rank.FAMILY(); |
|
102 |
}else if (rankCode.equals(BfnXmlConstants.RNK_SUBTRIB)){return Rank.FAMILY(); |
|
103 |
}else if (rankCode.equals(BfnXmlConstants.RNK_TRIB)){return Rank.FAMILY(); |
|
104 |
}else if (rankCode.equals(BfnXmlConstants.RNK_SUPERTRIB)){return Rank.FAMILY(); |
|
105 |
}else {return rankMap.get(rankCode); |
|
106 |
} |
|
109 | 107 |
} |
110 | 108 |
|
111 |
public static BiMap<TaxonRelationshipType, String> getRelationshipTypeMap() { |
|
112 |
return relationshipTypeMap; |
|
109 |
private static final BiMap<String, TaxonRelationshipType> relationshipTypeMap = HashBiMap.create(); |
|
110 |
static { |
|
111 |
relationshipTypeMap.put("!=", TaxonRelationshipType.CONGRUENT_TO()); |
|
112 |
relationshipTypeMap.put("!=,>", TaxonRelationshipType.CONGRUENT_OR_INCLUDES()); |
|
113 |
relationshipTypeMap.put("!=,<", TaxonRelationshipType.CONGRUENT_OR_INCLUDED_OR_INCLUDES()); |
|
114 |
relationshipTypeMap.put(">", TaxonRelationshipType.INCLUDES()); |
|
115 |
relationshipTypeMap.put(">,><", TaxonRelationshipType.INCLUDES_OR_OVERLAPS()); |
|
116 |
relationshipTypeMap.put("><", TaxonRelationshipType.OVERLAPS()); |
|
117 |
relationshipTypeMap.put("~", TaxonRelationshipType.CONGRUENT_OR_INCLUDES_OR_OVERLAPS());//TODO Included in not here |
|
118 |
relationshipTypeMap.put("?", TaxonRelationshipType.ALL_RELATIONSHIPS()); |
|
119 |
relationshipTypeMap.put("/=", TaxonRelationshipType.EXCLUDES()); |
|
113 | 120 |
} |
114 | 121 |
|
122 |
public static String getConceptCodeForTaxonRelation(TaxonRelationshipType type) { |
|
123 |
return relationshipTypeMap.inverse().get(type); |
|
124 |
} |
|
115 | 125 |
|
116 |
public static TaxonRelationshipType concept2TaxonRelation(String conceptStatus) throws UnknownCdmTypeException{
|
|
117 |
if(conceptStatus == null) {
|
|
126 |
public static TaxonRelationshipType getTaxonRelationForConceptCode(String conceptCode){
|
|
127 |
if(conceptCode == null) {
|
|
118 | 128 |
return null; |
119 |
}else if(conceptStatus.equalsIgnoreCase("!=")){
|
|
120 |
return TaxonRelationshipType.CONGRUENT_TO();
|
|
121 |
}else if(conceptStatus.equalsIgnoreCase("=!")){
|
|
129 |
} |
|
130 |
//handle ambiguous key
|
|
131 |
else if(conceptCode.equalsIgnoreCase("=!")){
|
|
122 | 132 |
return TaxonRelationshipType.CONGRUENT_TO(); |
123 |
}else if(conceptStatus.equalsIgnoreCase("!=,>")){ |
|
124 |
return TaxonRelationshipType.CONGRUENT_OR_INCLUDES(); |
|
125 |
}else if(conceptStatus.equalsIgnoreCase("!=,<")){ |
|
126 |
return TaxonRelationshipType.CONGRUENT_OR_INCLUDED_OR_INCLUDES(); |
|
127 |
}else if(conceptStatus.equalsIgnoreCase(">")){ |
|
128 |
return TaxonRelationshipType.INCLUDES(); |
|
129 |
}else if(conceptStatus.equalsIgnoreCase(">,><")){ |
|
130 |
return TaxonRelationshipType.INCLUDES_OR_OVERLAPS(); |
|
131 |
// }else if(conceptStatus.equalsIgnoreCase("<")){//TODO: should be just Included In |
|
132 |
// return TaxonRelationshipType.INCLUDED_OR_INCLUDES(); |
|
133 |
}else if(conceptStatus.equalsIgnoreCase(">,><")){//TODO: should be Included In Or Overlaps |
|
134 |
return TaxonRelationshipType.INCLUDED_OR_INCLUDES_OR_OVERLAPS(); |
|
135 |
}else if(conceptStatus.equalsIgnoreCase("><")){ |
|
136 |
return TaxonRelationshipType.OVERLAPS(); |
|
137 |
}else if(conceptStatus.equalsIgnoreCase("~")){//TODO Included in not here |
|
138 |
return TaxonRelationshipType.CONGRUENT_OR_INCLUDES_OR_OVERLAPS(); |
|
139 |
}else if(conceptStatus.equalsIgnoreCase("?")){ |
|
140 |
return TaxonRelationshipType.ALL_RELATIONSHIPS(); |
|
141 |
}else if(conceptStatus.equalsIgnoreCase("/=")){ |
|
142 |
return TaxonRelationshipType.EXCLUDES(); |
|
143 |
}else if(conceptStatus.equalsIgnoreCase("\\")){ |
|
133 |
}else if(conceptCode.equalsIgnoreCase("\\")){ |
|
144 | 134 |
return TaxonRelationshipType.EXCLUDES(); |
145 | 135 |
} |
146 | 136 |
else{ |
147 |
throw new UnknownCdmTypeException("Unknown concept relation status " + conceptStatus); |
|
148 |
} |
|
149 |
} |
|
150 |
|
|
151 |
|
|
152 |
/** Creates an cdm-Rank by the tcs rank |
|
153 |
*/ |
|
154 |
public static Rank rankCode2Rank (String strRank) throws UnknownCdmTypeException{ |
|
155 |
if (strRank == null){return null; |
|
156 |
//genus group |
|
157 |
}else if (strRank.equals(BfnXmlConstants.RNK_INFRAGEN)){return Rank.INFRAGENUS(); |
|
158 |
}else if (strRank.equals(BfnXmlConstants.RNK_SUBGEN)){return Rank.SUBGENUS(); |
|
159 |
}else if (strRank.equals(BfnXmlConstants.RNK_GEN)){return Rank.GENUS(); |
|
160 |
//genus subdivision |
|
161 |
//TODO |
|
162 |
}else if (strRank.equals(BfnXmlConstants.RNK_AGGR)){return Rank.SPECIESAGGREGATE(); |
|
163 |
}else if (strRank.equals(BfnXmlConstants.RNK_AGG)){return Rank.SPECIESAGGREGATE(); |
|
164 |
}else if (strRank.equals(BfnXmlConstants.RNK_TAXINFRAGEN)){return Rank.INFRAGENERICTAXON(); |
|
165 |
}else if (strRank.equals(BfnXmlConstants.RNK_SUBSER)){return Rank.SUBSERIES(); |
|
166 |
}else if (strRank.equals(BfnXmlConstants.RNK_SER)){return Rank.SERIES(); |
|
167 |
}else if (strRank.equals(BfnXmlConstants.RNK_SUBSECT)){return Rank.SUBSECTION_BOTANY(); |
|
168 |
}else if (strRank.equals(BfnXmlConstants.RNK_SECT)){return Rank.SECTION_BOTANY(); |
|
169 |
//species group |
|
170 |
}else if (strRank.equals(BfnXmlConstants.RNK_SUBSP_AGGR)){return Rank.SUBSPECIFICAGGREGATE(); |
|
171 |
}else if (strRank.equals(BfnXmlConstants.RNK_SSP)){return Rank.SUBSPECIES(); |
|
172 |
}else if (strRank.equals(BfnXmlConstants.RNK_SUBSP)){return Rank.SUBSPECIES(); |
|
173 |
}else if (strRank.equals(BfnXmlConstants.RNK_SUBSP_DOT)){return Rank.SUBSPECIES(); |
|
174 |
}else if (strRank.equals(BfnXmlConstants.RNK_SP)){return Rank.SPECIES(); |
|
175 |
}else if (strRank.equals(BfnXmlConstants.RNK_SPEZIES)){return Rank.SPECIES(); |
|
176 |
//below subspecies |
|
177 |
}else if (strRank.equals(BfnXmlConstants.RNK_CAND)){return Rank.CANDIDATE(); |
|
178 |
}else if (strRank.equals(BfnXmlConstants.RNK_TAXINFRASP)){return Rank.INFRASPECIFICTAXON(); |
|
179 |
}else if (strRank.equals(BfnXmlConstants.RNK_FSP)){return Rank.SPECIALFORM(); |
|
180 |
}else if (strRank.equals(BfnXmlConstants.RNK_SUBSUBFM)){return Rank.SUBSUBFORM(); |
|
181 |
}else if (strRank.equals(BfnXmlConstants.RNK_SUBFM)){return Rank.SUBFORM(); |
|
182 |
}else if (strRank.equals(BfnXmlConstants.RNK_FM)){return Rank.FORM(); |
|
183 |
}else if (strRank.equals(BfnXmlConstants.RNK_F)){return Rank.FORM(); |
|
184 |
}else if (strRank.equals(BfnXmlConstants.RNK_SUBSUBVAR)){return Rank.SUBSUBVARIETY(); |
|
185 |
}else if (strRank.equals(BfnXmlConstants.RNK_SUBVAR)){return Rank.SUBVARIETY(); |
|
186 |
}else if (strRank.equals(BfnXmlConstants.RNK_VAR)){return Rank.VARIETY(); |
|
187 |
}else if (strRank.equals(BfnXmlConstants.RNK_VAR_DOT)){return Rank.VARIETY(); |
|
188 |
//TODO -> see documentation, Bacteria status |
|
189 |
// }else if (strRank.equals("pv")){return Rank; |
|
190 |
// }else if (strRank.equals("bv")){return Rank.; |
|
191 |
}else if (strRank.equals(BfnXmlConstants.RNK_INFRASP)){return Rank.INFRASPECIES(); |
|
192 |
//above superfamily |
|
193 |
}else if (strRank.equals(BfnXmlConstants.RNK_INFRAORD)){return Rank.INFRAORDER(); |
|
194 |
}else if (strRank.equals(BfnXmlConstants.RNK_ORD)){return Rank.ORDER(); |
|
195 |
}else if (strRank.equals(BfnXmlConstants.RNK_SUPERORD)){return Rank.SUPERORDER(); |
|
196 |
}else if (strRank.equals(BfnXmlConstants.RNK_INFRACL)){return Rank.INFRACLASS(); |
|
197 |
}else if (strRank.equals(BfnXmlConstants.RNK_SUBCL)){return Rank.SUBCLASS(); |
|
198 |
}else if (strRank.equals(BfnXmlConstants.RNK_CL)){return Rank.CLASS(); |
|
199 |
}else if (strRank.equals(BfnXmlConstants.RNK_SUPERCL)){return Rank.SUPERCLASS(); |
|
200 |
}else if (strRank.equals(BfnXmlConstants.RNK_INFRAPHYL_DIV)){return Rank.INFRAPHYLUM(); |
|
201 |
}else if (strRank.equals(BfnXmlConstants.RNK_SUBPHYL_DIV)){return Rank.SUBPHYLUM(); |
|
202 |
}else if (strRank.equals(BfnXmlConstants.RNK_PHYL_DIV)){return Rank.PHYLUM(); |
|
203 |
}else if (strRank.equals(BfnXmlConstants.RNK_SUPERPHYL_DIV)){return Rank.SUPERPHYLUM(); |
|
204 |
}else if (strRank.equals(BfnXmlConstants.RNK_INFRAREG)){return Rank.INFRAKINGDOM(); |
|
205 |
}else if (strRank.equals(BfnXmlConstants.RNK_SUBREG)){return Rank.SUBKINGDOM(); |
|
206 |
}else if (strRank.equals(BfnXmlConstants.RNK_REG)){return Rank.KINGDOM(); |
|
207 |
}else if (strRank.equals(BfnXmlConstants.RNK_SUPERREG)){return Rank.SUPERKINGDOM(); |
|
208 |
}else if (strRank.equals(BfnXmlConstants.RNK_DOM)){return Rank.DOMAIN(); |
|
209 |
}else if (strRank.equals(BfnXmlConstants.RNK_TAXSUPRAGEN)){return Rank.SUPRAGENERICTAXON(); |
|
210 |
}else if (strRank.equals(BfnXmlConstants.RNK_AUSWERTUNGSGRUPPE)){return Rank.EMPIRE(); |
|
211 |
//family group |
|
212 |
}else if (strRank.equals(BfnXmlConstants.RNK_INFRAFAM)){return Rank.FAMILY(); |
|
213 |
}else if (strRank.equals(BfnXmlConstants.RNK_SUBFAM)){return Rank.FAMILY(); |
|
214 |
}else if (strRank.equals(BfnXmlConstants.RNK_FAM)){return Rank.FAMILY(); |
|
215 |
}else if (strRank.equals(BfnXmlConstants.RNK_SUPERFAM)){return Rank.FAMILY(); |
|
216 |
//family subdivision |
|
217 |
}else if (strRank.equals(BfnXmlConstants.RNK_INTRATRIB)){return Rank.FAMILY(); |
|
218 |
}else if (strRank.equals(BfnXmlConstants.RNK_SUBTRIB)){return Rank.FAMILY(); |
|
219 |
}else if (strRank.equals(BfnXmlConstants.RNK_TRIB)){return Rank.FAMILY(); |
|
220 |
}else if (strRank.equals(BfnXmlConstants.RNK_SUPERTRIB)){return Rank.FAMILY(); |
|
221 |
} |
|
222 |
else { |
|
223 |
throw new UnknownCdmTypeException("Unknown Rank " + strRank); |
|
137 |
return relationshipTypeMap.get(conceptCode); |
|
224 | 138 |
} |
225 | 139 |
} |
226 | 140 |
|
Also available in: Unified diff
Refactored conceptCode map and TaxonRelation map #5452