Project

General

Profile

Download (5.68 KB) Statistics
| Branch: | Revision:
1
/**
2
* Copyright (C) 2007 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

    
10
package eu.etaxonomy.cdm.io.redlist.gefaesspflanzen;
11

    
12
import java.util.UUID;
13

    
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.name.NomenclaturalStatusType;
19
import eu.etaxonomy.cdm.model.name.Rank;
20
import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;
21

    
22
/**
23
 *
24
 * @author pplitzner
25
 * @date Mar 1, 2016
26
 *
27
 */
28
@SuppressWarnings("serial")
29
public final class RedListGefaesspflanzenTransformer extends InputTransformerBase {
30

    
31
    @SuppressWarnings("unused")
32
	private static final Logger logger = Logger.getLogger(RedListGefaesspflanzenTransformer.class);
33

    
34
    @Override
35
    public UUID getRankUuid(String key) throws UndefinedTransformerMethodException {
36
        if (key == null){return null;}
37
        if (key.equals("SAM")){return RedListUtil.uuidRankCollectionSpecies;}
38
        return null;
39
    }
40

    
41
    @Override
42
    public Rank getRankByKey(String key) throws UndefinedTransformerMethodException {
43
        if (key == null){return null;}
44
        if (key.equals("GAT")){return Rank.GENUS();}
45
        else if (key.equals("SPE")){return Rank.SPECIES();}
46
        else if (key.equals("VAR")){return Rank.VARIETY();}
47
        else if (key.equals("SSP")){return Rank.SUBSPECIES();}
48
        else if (key.equals("FOR")){return Rank.FORM();}
49
        else if (key.equals("RAC")){return Rank.RACE();}
50
        else if (key.equals("SEC")){return Rank.SECTION_BOTANY();}
51
        else if (key.equals("SSE")){return Rank.SUBSECTION_BOTANY();}
52
        else if (key.equals("SGE")){return Rank.SUBGENUS();}
53
        else if (key.equals("SVA")){return Rank.SUBVARIETY();}
54
        else if (key.equals("CV")){return Rank.CULTIVAR();}
55
        else if (key.equals("PRO")){return Rank.PROLES();}
56
        else if (key.equals("SER")){return Rank.SERIES();}
57
        else if (key.equals("GRE")){return Rank.GREX();}
58
        else if (key.equals("AGG")){return Rank.SPECIESAGGREGATE();}
59
        else if (key.equals("SFO")){return Rank.SUBFORM();}
60
        else if (key.equals("FAM")){return Rank.FAMILY();}
61
        else if (key.equals("SLU")){return Rank.SUBLUSUS();}
62
        else if (key.equals("SPI")){return Rank.SUBSPECIES();}
63
        else if (key.equals("GRO") || key.equals("GRU")){return Rank.SPECIESGROUP();}
64
        else if (key.equals("?")){return Rank.UNKNOWN_RANK();}
65
        return null;
66
    }
67

    
68
    @Override
69
    public NomenclaturalStatusType getNomenclaturalStatusByKey(String key) throws UndefinedTransformerMethodException {
70
        if (key == null){return null;}
71
        key = key.trim();
72
        if (key.equals("nom. cons.")){return NomenclaturalStatusType.CONSERVED();}
73
        else if (key.equals("nom. illeg.")){return NomenclaturalStatusType.ILLEGITIMATE();}
74
        else if (key.equals("nom. inval.")){return NomenclaturalStatusType.INVALID();}
75
        else if (key.equals("nom. inval. (sine typus)")){return NomenclaturalStatusType.INVALID();}
76
        else if (key.equals("nom. inval. (sine descr.)")){return NomenclaturalStatusType.INVALID();}
77
        else if (key.equals("nom. inval. (sine descr. lat.)")){return NomenclaturalStatusType.INVALID();}
78
        else if (key.equals("nom. inval. (sine basion.)")){return NomenclaturalStatusType.INVALID();}
79
        else if (key.equals("nom. inval. (nom. non accept.)")){return NomenclaturalStatusType.INVALID();}
80
        else if (key.equals("nom. ambig.")){return NomenclaturalStatusType.AMBIGUOUS();}
81
        else if (key.equals("nom. nud.")){return NomenclaturalStatusType.NUDUM();}
82
        else if (key.equals("nom. dub.")){return NomenclaturalStatusType.DOUBTFUL();}
83
        else if (key.equals("nom. rejic.")){return NomenclaturalStatusType.REJECTED();}
84
        else if (key.startsWith("nom. rejic. (")){return NomenclaturalStatusType.REJECTED();}
85
        else if (key.equals("nom. rejic. prop.")){return NomenclaturalStatusType.REJECTED_PROP();}
86
        else if (key.equals("nom. utique rejic.")){return NomenclaturalStatusType.UTIQUE_REJECTED();}
87
        else if (key.equals("nom. utique rejic. pro.")){return NomenclaturalStatusType.UTIQUE_REJECTED_PROP();}
88
        else if (key.equals("nom. utique rejic. prop.")){return NomenclaturalStatusType.UTIQUE_REJECTED_PROP();}
89
        else if (key.equals("comb. nov.")){return NomenclaturalStatusType.COMB_NOV();}
90
        else if (key.equals("nom. illeg. (nom. superfl.)")){return NomenclaturalStatusType.SUPERFLUOUS();}
91
        else if (key.equals("nom. inval. (nom. nud.)")){return NomenclaturalStatusType.NUDUM();}
92
        else if (key.equals("nom. nud.")){return NomenclaturalStatusType.NUDUM();}
93
        else if (key.equals("nom. inval. (op. utique oppr.)")){return NomenclaturalStatusType.OPUS_UTIQUE_OPPR();}
94
        else if (key.equals("nom. inval. (nom. prov.)")){return NomenclaturalStatusType.PROVISIONAL();}
95
        return null;
96
    }
97

    
98
    public TaxonRelationshipType getTaxonRelationshipTypeByKey(String key) {
99
        if (key == null){return null;}
100
        else {
101
            if (key.equals("=")){return TaxonRelationshipType.CONGRUENT_TO();}
102
            else if (key.equals(">")){return TaxonRelationshipType.INCLUDES();}
103
            else if (key.equals("<")){return TaxonRelationshipType.INCLUDES();}
104
            else if (key.equals("!")){return TaxonRelationshipType.OVERLAPS();}
105
            else if (key.equals("?")){return TaxonRelationshipType.UNCLEAR();}
106
            else if (key.equals("x")){return TaxonRelationshipType.NOT_YET_WORKED_ON();}
107
        }
108
        return null;
109
    }
110

    
111
}
(8-8/9)