Project

General

Profile

Download (5.69 KB) Statistics
| Branch: | Revision:
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 java.util.UUID;
14

    
15
import org.apache.log4j.Logger;
16

    
17
import eu.etaxonomy.cdm.io.common.mapping.InputTransformerBase;
18
import eu.etaxonomy.cdm.io.common.mapping.UndefinedTransformerMethodException;
19
import eu.etaxonomy.cdm.model.name.NomenclaturalStatusType;
20
import eu.etaxonomy.cdm.model.name.Rank;
21
import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;
22

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

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

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

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

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

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

    
112
}
(7-7/8)