Project

General

Profile

« Previous | Next » 

Revision 33ba11bd

Added by Patrick Plitzner almost 8 years ago

Refactored conceptCode map and TaxonRelation map #5452

View differences:

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