1 package eu
.etaxonomy
.cdm
.io
.berlinModel
;
3 import org
.apache
.log4j
.Logger
;
5 import eu
.etaxonomy
.cdm
.model
.name
.Rank
;
6 import eu
.etaxonomy
.cdm
.model
.taxon
.Synonym
;
7 import eu
.etaxonomy
.cdm
.model
.taxon
.SynonymRelationshipType
;
8 import eu
.etaxonomy
.cdm
.model
.taxon
.Taxon
;
9 import eu
.etaxonomy
.cdm
.strategy
.exceptions
.UnknownCdmTypeException
;
11 public final class BerlinModelTransformer
{
12 private static final Logger logger
= Logger
.getLogger(BerlinModelTransformer
.class);
15 public static int REF_ARTICLE
= 1;
16 public static int REF_PART_OF_OTHER_TITLE
= 2;
17 public static int REF_BOOK
= 3;
18 public static int REF_DATABASE
= 4;
19 public static int REF_INFORMAL
= 5;
20 public static int REF_NOT_APPLICABLE
= 6;
21 public static int REF_WEBSITE
= 7;
22 public static int REF_CD
= 8;
23 public static int REF_JOURNAL
= 9;
24 public static int REF_UNKNOWN
= 10;
28 public static int NAME_ST_NOM_INVAL
= 1;
29 public static int NAME_ST_NOM_ILLEG
= 2;
30 public static int NAME_ST_NOM_NUD
= 3;
31 public static int NAME_ST_NOM_REJ
= 4;
32 public static int NAME_ST_NOM_REJ_PROP
= 5;
33 public static int NAME_ST_NOM_UTIQUE_REJ
= 6;
34 public static int NAME_ST_NOM_UTIQUE_REJ_PROP
= 7;
35 public static int NAME_ST_NOM_CONS
= 8;
36 public static int NAME_ST_NOM_CONS_PROP
= 9;
37 public static int NAME_ST_ORTH_CONS
= 10;
38 public static int NAME_ST_ORTH_CONS_PROP
= 11;
39 public static int NAME_ST_NOM_SUPERFL
= 12;
40 public static int NAME_ST_NOM_AMBIG
= 13;
41 public static int NAME_ST_NOM_PROVIS
= 14;
42 public static int NAME_ST_NOM_DUB
= 15;
43 public static int NAME_ST_NOM_NOV
= 16;
44 public static int NAME_ST_NOM_CONFUS
= 17;
45 public static int NAME_ST_NOM_ALTERN
= 18;
46 public static int NAME_ST_COMB_INVAL
= 19;
50 public static int NAME_REL_IS_BASIONYM_FOR
= 1;
51 public static int NAME_REL_IS_LATER_HOMONYM_OF
= 2;
52 public static int NAME_REL_IS_REPLACED_SYNONYM_FOR
= 3;
53 public static int NAME_REL_IS_VALIDATION_OF
= 4;
54 public static int NAME_REL_IS_LATER_VALIDATION_OF
= 5;
55 public static int NAME_REL_IS_TYPE_OF
= 6;
56 public static int NAME_REL_IS_CONSERVED_TYPE_OF
=7;
57 public static int NAME_REL_IS_REJECTED_TYPE_OF
= 8;
58 public static int NAME_REL_IS_FIRST_PARENT_OF
= 9;
59 public static int NAME_REL_IS_SECOND_PARENT_OF
= 10;
60 public static int NAME_REL_IS_FEMALE_PARENT_OF
= 11;
61 public static int NAME_REL_IS_MALE_PARENT_OF
= 12;
62 public static int NAME_REL_IS_CONSERVED_AGAINST
=13;
63 public static int NAME_REL_IS_REJECTED_IN_FAVOUR_OF
= 14;
64 public static int NAME_REL_IS_TREATED_AS_LATER_HOMONYM_OF
= 15;
65 public static int NAME_REL_IS_ORTHOGRAPHIC_VARIANT_OF
= 16;
66 public static int NAME_REL_HAS_SAME_TYPE_AS
= 18;
67 public static int NAME_REL_IS_LECTOTYPE_OF
= 61;
68 public static int NAME_REL_TYPE_NOT_DESIGNATED
= 62;
72 public static int TAX_REL_IS_INCLUDED_IN
= 1;
73 public static int TAX_REL_IS_SYNONYM_OF
= 2;
74 public static int TAX_REL_IS_MISAPPLIED_NAME_OF
= 3;
75 public static int TAX_REL_IS_HOMOTYPIC_SYNONYM_OF
= 6;
76 public static int TAX_REL_IS_HETEROTYPIC_SYNONYM_OF
= 7;
80 public static int T_STATUS_ACCEPTED
= 1;
81 public static int T_STATUS_SYNONYM
= 2;
82 public static int T_STATUS_PARTIAL_SYN
= 3;
83 public static int T_STATUS_PRO_PARTE_SYN
= 4;
84 public static int T_STATUS_UNRESOLVED
= 5;
85 public static int T_STATUS_ORPHANED
= 6;
89 public static int FACT_DESCRIPTION
= 1;
90 public static int FACT_GROWTH_FORM
= 2;
91 public static int FACT_HARDINESS
= 3;
92 public static int FACT_ECOLOGY
= 4;
93 public static int FACT_PHENOLOGY
= 5;
94 public static int FACT_KARYOLOGY
= 6;
95 public static int FACT_ILLUSTRATION
= 7;
96 public static int FACT_IDENTIFICATION
= 8;
97 public static int FACT_OBSERVATION
= 9;
98 public static int FACT_DISTIRBUTION_EM
= 10;
99 public static int FACT_DISTIRBUTION_WORLD
= 11;
101 /** Creates an cdm-Rank by the berlinModel rankId
102 * @param doubt doubtfulFalg
103 * @return "true" if doubt = "a"
105 public static Rank
rankId2Rank (int rankId
) throws UnknownCdmTypeException
{
107 case 1: return Rank
.KINGDOM();
108 case 3: return Rank
.SUBKINGDOM();
109 case 5: return Rank
.PHYLUM();
110 case 7: return Rank
.SUBPHYLUM();
111 case 8: return Rank
.DIVISION();
112 case 9: return Rank
.SUBDIVISION();
113 case 10: return Rank
.CLASS();
114 case 13: return Rank
.SUBCLASS();
115 case 16: return Rank
.SUPERORDER();
116 case 18: return Rank
.ORDER();
117 case 19: return Rank
.SUBORDER();
118 case 20: return Rank
.FAMILY();
119 case 25: return Rank
.SUBFAMILY();
120 case 30: return Rank
.TRIBE();
121 case 35: return Rank
.SUBTRIBE();
122 case 40: return Rank
.GENUS();
123 case 42: return Rank
.SUBGENUS();
124 case 45: return Rank
.SECTION();
125 case 47: return Rank
.SUBSECTION();
126 case 50: return Rank
.SERIES();
127 case 52: return Rank
.SUBSERIES();
128 case 58: return Rank
.SPECIESAGGREGATE();
130 //case 59: return Rank.SPECIESAGGREGATE();
131 case 60: return Rank
.SPECIES();
132 case 65: return Rank
.SUBSPECIES();
133 case 68: return Rank
.CONVAR();
134 case 70: return Rank
.VARIETY();
135 case 73: return Rank
.SUBVARIETY();
136 case 80: return Rank
.FORM();
137 case 82: return Rank
.SUBFORM();
138 case 84: return Rank
.SPECIALFORM();
139 case 98: return Rank
.INFRAGENERICTAXON();
140 case 99: return Rank
.INFRASPECIFICTAXON();
142 throw new UnknownCdmTypeException("Unknown Rank id" + Integer
.valueOf(rankId
).toString());