Project

General

Profile

« Previous | Next » 

Revision 76a5e528

Added by Andreas Müller almost 6 years ago

ref #5499, ref #6517 latest changes to Edaphobase import (also stable uuids)

View differences:

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