Revision b608e320
Added by Andreas Müller over 6 years ago
app-import/src/main/java/eu/etaxonomy/cdm/io/redlist/bfnXml/out/BfnXmlTaxonNameExport.java | ||
---|---|---|
22 | 22 |
import eu.etaxonomy.cdm.io.redlist.bfnXml.BfnXmlConstants; |
23 | 23 |
import eu.etaxonomy.cdm.io.redlist.bfnXml.in.BfnXmlTransformer; |
24 | 24 |
import eu.etaxonomy.cdm.model.common.DefinedTerm; |
25 |
import eu.etaxonomy.cdm.model.common.ExtensionType; |
|
25 | 26 |
import eu.etaxonomy.cdm.model.common.IdentifiableSource; |
26 | 27 |
import eu.etaxonomy.cdm.model.common.Language; |
27 | 28 |
import eu.etaxonomy.cdm.model.common.OriginalSourceType; |
... | ... | |
196 | 197 |
parent.addContent(taxonym); |
197 | 198 |
|
198 | 199 |
//reihenfolge attribute |
199 |
taxonym.setAttribute(BfnXmlConstants.ATT_REIHENFOLGE, getIdentifier(taxon, BfnXmlConstants.UUID_REIHENFOLGE_IDENTIFIER_TYPE)); |
|
200 |
taxonym.setAttribute(BfnXmlConstants.ATT_REIHENFOLGE, getExtension(taxon, ExtensionType.ORDER())); |
|
201 |
//getIdentifier(taxon, BfnXmlConstants.UUID_REIHENFOLGE_IDENTIFIER_TYPE)); |
|
200 | 202 |
|
201 | 203 |
//taxNr attribute |
202 | 204 |
taxonym.setAttribute(BfnXmlConstants.ATT_TAXNR, getIdentifier(taxon, BfnXmlConstants.UUID_TAX_NR_IDENTIFIER_TYPE)); |
... | ... | |
225 | 227 |
|
226 | 228 |
} |
227 | 229 |
|
230 |
/** |
|
231 |
* @param taxon |
|
232 |
* @param order |
|
233 |
* @return |
|
234 |
*/ |
|
235 |
private String getExtension(Taxon taxon, ExtensionType order) { |
|
236 |
Set<String> set = taxon.getExtensions(order); |
|
237 |
if (set.size() != 1){ |
|
238 |
logger.warn("Exactly 1 order extension should exist, but has " + set.size()); |
|
239 |
if (set.size() > 1){ |
|
240 |
return set.iterator().next(); |
|
241 |
} |
|
242 |
return null; |
|
243 |
}else{ |
|
244 |
return set.iterator().next(); |
|
245 |
} |
|
246 |
} |
|
247 |
|
|
228 | 248 |
private String getIdentifier(Taxon taxon, UUID identifierUuid) { |
229 | 249 |
DefinedTerm identifierType = HibernateProxyHelper.deproxy(getTermService().load(identifierUuid), DefinedTerm.class); |
230 | 250 |
Set<String> identfiers = taxon.getIdentifiers(identifierType); |
... | ... | |
353 | 373 |
Taxon taxon1 = o1.getTaxon(); |
354 | 374 |
Taxon taxon2 = o2.getTaxon(); |
355 | 375 |
|
356 |
int reihenfolge1 = Integer.parseInt(getIdentifier(taxon1, BfnXmlConstants.UUID_REIHENFOLGE_IDENTIFIER_TYPE));
|
|
357 |
int reihenfolge2 = Integer.parseInt(getIdentifier(taxon2, BfnXmlConstants.UUID_REIHENFOLGE_IDENTIFIER_TYPE));
|
|
376 |
int reihenfolge1 = Integer.parseInt(getExtension(taxon1, ExtensionType.ORDER()));
|
|
377 |
int reihenfolge2 = Integer.parseInt(getExtension(taxon2, ExtensionType.ORDER()));
|
|
358 | 378 |
|
359 | 379 |
return reihenfolge1-reihenfolge2; |
360 | 380 |
} |
Also available in: Unified diff
ref #6986 improve redlist xml import