Revision 76a5e528
Added by Andreas Müller almost 6 years ago
app-import/src/main/java/eu/etaxonomy/cdm/io/edaphobase/EdaphobaseTaxonImport.java | ||
---|---|---|
175 | 175 |
String parentNameStr = rs.getString("parentName"); |
176 | 176 |
String grandParentNameStr = rs.getString("grandParentName"); |
177 | 177 |
String grandGrandParentNameStr = rs.getString("grandGrandParentName"); |
178 |
String editUuid = rs.getString("edit_uuid"); |
|
178 | 179 |
|
179 | 180 |
|
180 | 181 |
if (isDeleted){ |
... | ... | |
297 | 298 |
} |
298 | 299 |
name.setNomenclaturalReference(nomRef); |
299 | 300 |
} |
300 |
name.setNomenclaturalMicroReference(StringUtils.isBlank(pages)? null : pages);
|
|
301 |
name.setNomenclaturalMicroReference(isBlank(pages)? null : pages); |
|
301 | 302 |
|
302 | 303 |
//taxon |
303 | 304 |
Reference secRef = state.getRelatedObject(REFERENCE_NAMESPACE, state.getConfig().getSecUuid().toString(), Reference.class); |
... | ... | |
328 | 329 |
//id |
329 | 330 |
ImportHelper.setOriginalSource(taxonBase, state.getTransactionalSourceReference(), id, TAXON_NAMESPACE); |
330 | 331 |
ImportHelper.setOriginalSource(name, state.getTransactionalSourceReference(), id, TAXON_NAMESPACE); |
332 |
taxonBase.setUuid(UUID.fromString(editUuid)); |
|
331 | 333 |
handleExampleIdentifiers(taxonBase, id); |
332 | 334 |
|
333 | 335 |
if (!nameAdditionUsed){ |
334 | 336 |
logger.warn("name_addition not recognized: " + nameAddition + ". ID="+id); |
335 | 337 |
name.setAppendedPhrase(nameAddition); |
336 | 338 |
} |
337 |
String orig = displayString.replace("nomen nudum [Hirschmann, 1951]", "Hirschmann, 1951") |
|
338 |
.replace(" ", " "); |
|
339 |
String nameTitleCache = name.getTitleCache().replace("species group", "group"); |
|
340 |
String taxonTitleCache = taxonBase.getTitleCache().replace("species group", "group"); |
|
341 |
if (!orig.equals(nameTitleCache) && !orig.equals(name.getFullTitleCache()) && !orig.equals(taxonTitleCache)){ |
|
339 |
|
|
340 |
if (titleCacheDiffers(state, displayString, name, taxonBase)){ |
|
342 | 341 |
String titleCache = taxonBase.getAppendedPhrase() != null ? taxonBase.getTitleCache() : name.getTitleCache(); |
343 | 342 |
logger.warn("Displaystring differs from titleCache. ID=" + id + ".\n " + displayString + "\n " + titleCache); |
344 | 343 |
} |
345 | 344 |
} |
346 | 345 |
|
347 | 346 |
|
347 |
/** |
|
348 |
* @param state |
|
349 |
* @param displayString |
|
350 |
* @param name |
|
351 |
* @param taxonBase |
|
352 |
* @return |
|
353 |
*/ |
|
354 |
private boolean titleCacheDiffers(EdaphobaseImportState state, String displayString, IZoologicalName name, TaxonBase<?> taxonBase) { |
|
355 |
String orig = displayString.replace("nomen nudum [Hirschmann, 1951]", "Hirschmann, 1951") |
|
356 |
.replace(" ", " "); |
|
357 |
String nameTitleCache = name.getTitleCache().replace("species group", "group"); |
|
358 |
String taxonTitleCache = taxonBase.getTitleCache().replace("species group", "group"); |
|
359 |
|
|
360 |
// if (state.getConfig().isIgnore4nomial() && orig.matches(".* subsp")) |
|
361 |
boolean result = |
|
362 |
!orig.equals(nameTitleCache) |
|
363 |
&& !orig.equals(name.getFullTitleCache()) |
|
364 |
&& !orig.equals(taxonTitleCache); |
|
365 |
return result; |
|
366 |
} |
|
367 |
|
|
348 | 368 |
/** |
349 | 369 |
* @param authorStr |
350 | 370 |
* @return |
... | ... | |
436 | 456 |
private void handleExampleIdentifiers(TaxonBase<?> taxonBase, Integer id) { |
437 | 457 |
if (idMap.get(id) != null){ |
438 | 458 |
taxonBase.setUuid(idMap.get(id)); |
459 |
logger.warn("Override UUID for specific taxa. ID="+ id + "; uuid="+idMap.get(id) + "; name="+ taxonBase.getName().getTitleCache()); |
|
439 | 460 |
} |
440 | 461 |
} |
441 | 462 |
|
Also available in: Unified diff
ref #5499, ref #6517 latest changes to Edaphobase import (also stable uuids)