CdmVersionTwoDiscussion » History » Version 68
Helene Fradin, 08/14/2009 06:58 PM
1 | 2 | Andreas Müller | {{>toc}} |
---|---|---|---|
2 | |||
3 | |||
4 | |||
5 | |||
6 | # CDM v2.0 Discussion |
||
7 | |||
8 | |||
9 | |||
10 | |||
11 | ---- |
||
12 | |||
13 | 4 | Andreas Müller | _This is a site to discuss possible changes to the [CDM v1.4](http://wp5.e-taxonomy.eu/cdm/v14/) to go into CDM v2.0_ |
14 | 2 | Andreas Müller | |
15 | 40 | Helene Fradin | _See also Component C5.80 - Review of CDM v.1 and model for descriptive data in CDM v.2_ |
16 | 2 | Andreas Müller | |
17 | 40 | Helene Fradin | |
18 | 2 | Andreas Müller | ---- |
19 | |||
20 | |||
21 | |||
22 | 61 | Andreas Müller | ## Taxonomic Data |
23 | |||
24 | |||
25 | 63 | Andreas Müller | |
26 | ### Separation Of Taxonomic Concept And Taxonomic View |
||
27 | 61 | Andreas Müller | |
28 | |||
29 | There is a need to separate taxonomic concept information from taxonomic view information resulting in the new classes TaxonomicView and TaxonNode. |
||
30 | |||
31 | |||
32 | 65 | Andreas Müller | ![](CdmTaxonomicView:taxonomicView.png) |
33 | 62 | Andreas Müller | |
34 | 61 | Andreas Müller | See [taxonomic view](http://dev.e-taxonomy.eu/trac/wiki/CdmTaxonomicView) for further information. |
35 | |||
36 | |||
37 | |||
38 | 10 | Helene Fradin | |
39 | 8 | Helene Fradin | ## DESCRIPTIVE DATA - PROPOSED REVISIONS |
40 | 3 | Andreas Müller | |
41 | 1 | Andreas Müller | |
42 | 10 | Helene Fradin | |
43 | ---- |
||
44 | |||
45 | |||
46 | 68 | Helene Fradin | 1. Media extends IdentifiableEntity |
47 | 1 | Andreas Müller | |
48 | 68 | Helene Fradin | - addition of a ComparableTo method |
49 | 1 | Andreas Müller | |
50 | 68 | Helene Fradin | - deletion of the redundant attribute 'rights' |
51 | 1 | Andreas Müller | |
52 | 6 | Helene Fradin | |
53 | 68 | Helene Fradin | 2. TermBase extends IdentifiableEntity |
54 | 1 | Andreas Müller | |
55 | |||
56 | 68 | Helene Fradin | There was redundancy with 'implements Comparable<T>' in OrderedTermBase and 'implements Comparable<IdentifiableEntity>' in IdentifiableIdentity. |
57 | 30 | Helene Fradin | |
58 | 1 | Andreas Müller | |
59 | 68 | Helene Fradin | - I erased « implements Comparable<T> » dans OrderedTermBase |
60 | 1 | Andreas Müller | |
61 | 68 | Helene Fradin | - I completed it with a 'ghost' method CompareTo(Object) |
62 | 15 | Helene Fradin | |
63 | |||
64 | 68 | Helene Fradin | public int compareTo(Object o) { |
65 | 1 | Andreas Müller | |
66 | 68 | Helene Fradin | return 0; |
67 | 1 | Andreas Müller | |
68 | 68 | Helene Fradin | } |
69 | 16 | Helene Fradin | |
70 | 1 | Andreas Müller | |
71 | 68 | Helene Fradin | - I added the same 'ghost' CompareTo(Object) method to the following classes: BibtexEntryType, DerivationEventType, PreservationMethod, RightsTerm, NamedAreaType, ReferenceSystem, Feature, FeatureTree, MeasurementUnit, StatisticalMeasure, TextFormat, AnnotationType, ExtensionType, Language, MarkerType, TermVocabulary, InstitutionType |
72 | 16 | Helene Fradin | |
73 | 1 | Andreas Müller | |
74 | 68 | Helene Fradin | 3. adding OnlyApplicableIf / InapplicableIf to FeatureNode |
75 | 1 | Andreas Müller | |
76 | |||
77 | 68 | Helene Fradin | private Set<State> onlyApplicableIf = new HashSet<State>(); |
78 | 15 | Helene Fradin | |
79 | 68 | Helene Fradin | private Set<State> inapplicableIf = new HashSet<State>(); |
80 | 1 | Andreas Müller | |
81 | |||
82 | 68 | Helene Fradin | with the associated get, add, remove methods. |
83 | 1 | Andreas Müller | |
84 | 17 | Helene Fradin | |
85 | 68 | Helene Fradin | These attributes are not direct equivalent for onlyApplicableIf and inapplicableIf in SDD as they are attached directly to the child feature rather than the parent feature, which allow having different inapplicability rules for each child feature. |
86 | 1 | Andreas Müller | |
87 | |||
88 | 68 | Helene Fradin | 4. Creation of the WorkingSet class |
89 | 17 | Helene Fradin | |
90 | |||
91 | 68 | Helene Fradin | public class WorkingSet<S extends DescriptionBase> extends AnnotatableEntity { |
92 | 1 | Andreas Müller | |
93 | 68 | Helene Fradin | … |
94 | 18 | Helene Fradin | |
95 | 68 | Helene Fradin | private Set<Representation> representations = new HashSet<Representation>(); |
96 | 1 | Andreas Müller | |
97 | 68 | Helene Fradin | ... |
98 | 1 | Andreas Müller | |
99 | 68 | Helene Fradin | private FeatureTree descriptiveSystem; |
100 | 18 | Helene Fradin | |
101 | 68 | Helene Fradin | ... |
102 | 1 | Andreas Müller | |
103 | 68 | Helene Fradin | private Set<S> descriptions = new HashSet<S>(); |
104 | 1 | Andreas Müller | |
105 | 68 | Helene Fradin | … |
106 | 1 | Andreas Müller | |
107 | 68 | Helene Fradin | } |
108 | 1 | Andreas Müller | |
109 | |||
110 | 68 | Helene Fradin | 5. Completion of IidentificationKey interface |
111 | 1 | Andreas Müller | |
112 | |||
113 | 68 | Helene Fradin | public interface IIdentificationKey { |
114 | 21 | Helene Fradin | |
115 | 68 | Helene Fradin | public Set<NamedArea> getGeographicalScope(); |
116 | 1 | Andreas Müller | |
117 | 68 | Helene Fradin | public void addGeographicalScope(NamedArea geographicalScope); |
118 | 1 | Andreas Müller | |
119 | 68 | Helene Fradin | public void removeGeographicalScope(NamedArea geographicalScope); |
120 | 1 | Andreas Müller | |
121 | 68 | Helene Fradin | public Set<Taxon> getTaxonomicScope(); |
122 | 1 | Andreas Müller | |
123 | 68 | Helene Fradin | public void addTaxonomicScope(Taxon taxon); |
124 | 1 | Andreas Müller | |
125 | 68 | Helene Fradin | public void removeTaxonomicScope(Taxon taxon); |
126 | 1 | Andreas Müller | |
127 | 68 | Helene Fradin | public Set<Scope> getScopeRestrictions(); |
128 | 1 | Andreas Müller | |
129 | 68 | Helene Fradin | public Set<Taxon> getCoveredTaxa(); |
130 | 22 | Helene Fradin | |
131 | 68 | Helene Fradin | public void addCoveredTaxon(Taxon taxon); |
132 | 1 | Andreas Müller | |
133 | 68 | Helene Fradin | public void removeCoveredTaxon(Taxon taxon); |
134 | 30 | Helene Fradin | |
135 | 68 | Helene Fradin | } |
136 | 21 | Helene Fradin | |
137 | 1 | Andreas Müller | |
138 | 68 | Helene Fradin | I removed 'representations' as MultiAccessKey and PolytomousKey inherit it from their hierarchy. I added it to MediaKey (former IdentificationKey) under the name of keyRepresentations in order not to mix with the media representations. |
139 | 1 | Andreas Müller | |
140 | |||
141 | 68 | Helene Fradin | 6. Modification of IdentificationKey in accordance (and renaming it to MediaKey with all the necessary modifications in concerned classes) |
142 | 1 | Andreas Müller | |
143 | 68 | Helene Fradin | public class MediaKey extends Media implements IIdentificationKey{ |
144 | 26 | Helene Fradin | |
145 | 68 | Helene Fradin | … |
146 | 1 | Andreas Müller | |
147 | 68 | Helene Fradin | private Set<Taxon> coveredTaxa = new HashSet<Taxon>(); |
148 | 12 | Helene Fradin | |
149 | 68 | Helene Fradin | … |
150 | 1 | Andreas Müller | |
151 | 68 | Helene Fradin | private Set<NamedArea> geographicalScope = new HashSet<NamedArea>(); |
152 | 12 | Helene Fradin | |
153 | 68 | Helene Fradin | … |
154 | 24 | Helene Fradin | |
155 | 68 | Helene Fradin | private Set<Taxon> taxonomicScope = new HashSet<Taxon>(); |
156 | 1 | Andreas Müller | |
157 | 68 | Helene Fradin | … |
158 | 24 | Helene Fradin | |
159 | 68 | Helene Fradin | private Set<Scope> scopeRestrictions = new HashSet<Scope>(); |
160 | 24 | Helene Fradin | |
161 | 68 | Helene Fradin | … |
162 | 24 | Helene Fradin | |
163 | 68 | Helene Fradin | private Set<Representation> keyRepresentations = new HashSet<Representation>(); |
164 | 25 | Helene Fradin | |
165 | 68 | Helene Fradin | … |
166 | 25 | Helene Fradin | |
167 | } |
||
168 | |||
169 | |||
170 | 68 | Helene Fradin | 7. Creation of the class MultiAccessKey |
171 | 1 | Andreas Müller | |
172 | 32 | Helene Fradin | |
173 | 68 | Helene Fradin | public class MultiAccessKey extends WorkingSet implements IIdentificationKey{ |
174 | 32 | Helene Fradin | |
175 | 68 | Helene Fradin | ... |
176 | 27 | Helene Fradin | |
177 | 68 | Helene Fradin | private Set<Taxon> coveredTaxa = new HashSet<Taxon>(); |
178 | 27 | Helene Fradin | |
179 | 68 | Helene Fradin | ... |
180 | 27 | Helene Fradin | |
181 | 68 | Helene Fradin | private Set<Taxon> taxonomicScope = new HashSet<Taxon>(); |
182 | 1 | Andreas Müller | |
183 | 68 | Helene Fradin | ... |
184 | 57 | Helene Fradin | |
185 | 68 | Helene Fradin | private Set<NamedArea> geographicalScope = new HashSet<NamedArea>(); |
186 | 57 | Helene Fradin | |
187 | 68 | Helene Fradin | ... |
188 | 57 | Helene Fradin | |
189 | 68 | Helene Fradin | private Set<Scope> scopeRestrictions = new HashSet<Scope>(); |
190 | 57 | Helene Fradin | |
191 | 68 | Helene Fradin | } |
192 | 57 | Helene Fradin | |
193 | |||
194 | 68 | Helene Fradin | 8. Creation of PolytomousKey |
195 | 57 | Helene Fradin | |
196 | |||
197 | 68 | Helene Fradin | public class PolytomousKey extends FeatureTree implements IIdentificationKey{ |
198 | 58 | Helene Fradin | |
199 | 68 | Helene Fradin | ... |
200 | 58 | Helene Fradin | |
201 | 68 | Helene Fradin | private Set<Taxon> coveredTaxa = new HashSet<Taxon>(); |
202 | 58 | Helene Fradin | |
203 | 68 | Helene Fradin | ... |
204 | 58 | Helene Fradin | |
205 | 68 | Helene Fradin | private Set<Taxon> taxonomicScope = new HashSet<Taxon>(); |
206 | 58 | Helene Fradin | |
207 | 68 | Helene Fradin | |
208 | ... |
||
209 | 58 | Helene Fradin | |
210 | 68 | Helene Fradin | private Set<NamedArea> geographicalScope = new HashSet<NamedArea>(); |
211 | 58 | Helene Fradin | |
212 | 68 | Helene Fradin | ... |
213 | 59 | Helene Fradin | |
214 | 68 | Helene Fradin | private Set<Scope> scopeRestrictions = new HashSet<Scope>(); |
215 | 58 | Helene Fradin | |
216 | 68 | Helene Fradin | } |
217 | 58 | Helene Fradin | |
218 | |||
219 | 68 | Helene Fradin | 9. Addition of the attribute 'result', 'question' and 'taxon' to FeatureNode so that a FeatureTree can store the identification path in the case of a polytomous key. |
220 | 58 | Helene Fradin | |
221 | |||
222 | 68 | Helene Fradin | private DescriptionElementBase result; |
223 | 58 | Helene Fradin | |
224 | 68 | Helene Fradin | private Set<Representation> questions = new HashSet<Representation>(); |
225 | 58 | Helene Fradin | |
226 | 68 | Helene Fradin | private Taxon taxon; |