Revision c972cf2d
Added by Katja Luther over 4 years ago
cdm-pesi/src/main/java/eu/etaxonomy/cdm/app/pesi/merging/FaunaEuErmsFindIdenticalNamesActivator.java | ||
---|---|---|
6 | 6 |
import java.util.HashSet; |
7 | 7 |
import java.util.Iterator; |
8 | 8 |
import java.util.List; |
9 |
import java.util.Map; |
|
9 | 10 |
import java.util.Set; |
10 | 11 |
import java.util.UUID; |
11 | 12 |
|
13 |
import com.sun.media.jfxmedia.logging.Logger; |
|
14 |
|
|
12 | 15 |
import eu.etaxonomy.cdm.api.application.CdmApplicationController; |
13 | 16 |
import eu.etaxonomy.cdm.app.common.CdmDestinations; |
14 | 17 |
import eu.etaxonomy.cdm.app.util.TestDatabase; |
15 | 18 |
import eu.etaxonomy.cdm.database.DbSchemaValidation; |
16 | 19 |
import eu.etaxonomy.cdm.database.ICdmDataSource; |
17 | 20 |
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper; |
21 |
import eu.etaxonomy.cdm.io.api.application.CdmIoApplicationController; |
|
18 | 22 |
import eu.etaxonomy.cdm.io.pesi.merging.FaunaEuErmsMerging; |
19 | 23 |
import eu.etaxonomy.cdm.model.common.CdmBase; |
20 | 24 |
import eu.etaxonomy.cdm.model.common.IdentifiableSource; |
21 | 25 |
import eu.etaxonomy.cdm.model.name.IZoologicalName; |
22 | 26 |
import eu.etaxonomy.cdm.model.name.Rank; |
23 | 27 |
import eu.etaxonomy.cdm.model.name.TaxonName; |
28 |
import eu.etaxonomy.cdm.model.reference.Reference; |
|
24 | 29 |
import eu.etaxonomy.cdm.model.taxon.Classification; |
25 | 30 |
import eu.etaxonomy.cdm.model.taxon.Taxon; |
31 |
import eu.etaxonomy.cdm.model.taxon.TaxonBase; |
|
26 | 32 |
import eu.etaxonomy.cdm.model.taxon.TaxonNode; |
27 | 33 |
import eu.etaxonomy.cdm.persistence.dto.TaxonNodeDto; |
28 | 34 |
|
... | ... | |
30 | 36 |
|
31 | 37 |
//static final ICdmDataSource faunaEuropaeaSource = CdmDestinations.localH2(); |
32 | 38 |
static final ICdmDataSource faunaEuropaeaSource = CdmDestinations.cdm_test_local_faunaEu_mysql(); |
39 |
static Reference faunaSec; |
|
40 |
static Reference ermsSec; |
|
33 | 41 |
|
34 | 42 |
//TODO hole aus beiden DB alle TaxonNameBases |
35 | 43 |
|
36 | 44 |
private CdmApplicationController initDb(ICdmDataSource db) { |
37 | 45 |
|
38 | 46 |
// Init source DB |
39 |
CdmApplicationController appCtrInit = null; |
|
47 |
//CdmApplicationController appCtrInit = null; |
|
48 |
CdmApplicationController appCtrInit = CdmIoApplicationController.NewInstance(db, DbSchemaValidation.VALIDATE, false); |
|
40 | 49 |
|
41 |
appCtrInit = TestDatabase.initDb(db, DbSchemaValidation.VALIDATE, false); |
|
50 |
|
|
51 |
//appCtrInit = TestDatabase.initDb(db, DbSchemaValidation.VALIDATE, false); |
|
42 | 52 |
|
43 | 53 |
return appCtrInit; |
44 | 54 |
} |
... | ... | |
52 | 62 |
FaunaEuErmsFindIdenticalNamesActivator sc = new FaunaEuErmsFindIdenticalNamesActivator(); |
53 | 63 |
|
54 | 64 |
CdmApplicationController appCtrFaunaEu = sc.initDb(faunaEuropaeaSource); |
55 |
String sFileName = "c:\\test";
|
|
65 |
String sFileName = "C:\\Users\\k.luther\\test";
|
|
56 | 66 |
//CdmApplicationController appCtrErms = sc.initDb(ermsSource); |
57 | 67 |
List<String> propertyPaths = new ArrayList<>(); |
58 | 68 |
propertyPaths.add("sources.*"); |
... | ... | |
62 | 72 |
propertyPaths.add("taxonBases.relationsFromThisTaxon"); |
63 | 73 |
propertyPaths.add("taxonBases.taxonNodes.*"); |
64 | 74 |
propertyPaths.add("taxonBases.taxonNodes.parent.*"); |
75 |
propertyPaths.add("taxonBases.taxonNodes.childNodes.*"); |
|
76 |
propertyPaths.add("taxonBases.taxonNodes.childNodes.classification.rootNode.childNodes.*"); |
|
65 | 77 |
propertyPaths.add("taxonBases.taxonNodes.parent.taxon.name.*"); |
78 |
propertyPaths.add("taxonBases.acceptedTaxon.taxonNodes.*"); |
|
79 |
propertyPaths.add("taxonBases.acceptedTaxon.taxonNodes.childNodes.*"); |
|
80 |
propertyPaths.add("taxonBases.acceptedTaxon.taxonNodes.childNodes.classification.rootNode.childNodes.*"); |
|
66 | 81 |
System.err.println("Start getIdenticalNames..."); |
67 |
List<UUID> namesOfIdenticalTaxa = appCtrFaunaEu.getTaxonService().findIdenticalTaxonNameIds(propertyPaths); |
|
82 |
|
|
83 |
faunaSec = appCtrFaunaEu.getReferenceService().load(UUID.fromString("6786d863-75d4-4796-b916-c1c3dff4cb70")); |
|
84 |
ermsSec = appCtrFaunaEu.getReferenceService().load(UUID.fromString("7744bc26-f914-42c4-b54a-dd2a030a8bb7")); |
|
85 |
Map<String, List<TaxonName>> namesOfIdenticalTaxa = appCtrFaunaEu.getTaxonService().findIdenticalTaxonNameIds(ermsSec, faunaSec, propertyPaths); |
|
68 | 86 |
//List<UUID> namesOfIdenticalTaxa = appCtrFaunaEu.getTaxonService().findIdenticalTaxonNameIds(propertyPaths); |
69 | 87 |
|
70 | 88 |
System.err.println("first name: " + namesOfIdenticalTaxa.get(0) + " " + namesOfIdenticalTaxa.size()); |
... | ... | |
313 | 331 |
} |
314 | 332 |
|
315 | 333 |
|
316 |
private List<FaunaEuErmsMerging> createMergeObjects(List<UUID> uuids, CdmApplicationController appCtr){
|
|
334 |
private List<FaunaEuErmsMerging> createMergeObjects(Map<String,List<TaxonName>> names, CdmApplicationController appCtr){
|
|
317 | 335 |
|
318 | 336 |
List<FaunaEuErmsMerging> merge = new ArrayList<>(); |
319 | 337 |
TaxonName zooName, zooName2; |
320 | 338 |
FaunaEuErmsMerging mergeObject; |
321 | 339 |
String idInSource1; |
322 |
for(int j = 0; j<uuids.size()-1; j = j + 500) { |
|
323 |
Set<UUID> subset = new HashSet( uuids.subList(j, j+499)); |
|
324 |
List<TaxonName> names = appCtr.getNameService().find(subset); |
|
325 |
for (int i = 0; i<names.size()-1; i=i+2){ |
|
326 |
zooName = names.get(i); |
|
327 |
zooName2 = names.get(i+1); |
|
328 |
mergeObject = new FaunaEuErmsMerging(); |
|
329 |
//TODO:überprüfen, ob die beiden Namen identisch sind und aus unterschiedlichen DB kommen |
|
330 |
Classification faunaEuClassification = appCtr.getClassificationService().load(UUID.fromString("44d8605e-a7ce-41e1-bee9-99edfec01e7c")); |
|
331 |
Classification ermsClassification = appCtr.getClassificationService().load(UUID.fromString("6fa988a9-10b7-48b0-a370-2586fbc066eb")); |
|
332 |
//getPhylum |
|
333 |
TaxonNodeDto phylum1 = null; |
|
334 |
if (!zooName.getRank().isHigher(Rank.PHYLUM())){ |
|
335 |
phylum1 =appCtr.getTaxonNodeService().taxonNodeDtoParentRank(faunaEuClassification, Rank.PHYLUM(), zooName); |
|
340 |
List<TaxonName> identicalNames; |
|
341 |
for (String nameCache: names.keySet()){ |
|
342 |
identicalNames = names.get(nameCache); |
|
343 |
|
|
344 |
mergeObject = new FaunaEuErmsMerging(); |
|
345 |
//TODO:überprüfen, ob die beiden Namen identisch sind und aus unterschiedlichen DB kommen |
|
346 |
Classification faunaEuClassification = appCtr.getClassificationService().load(UUID.fromString("44d8605e-a7ce-41e1-bee9-99edfec01e7c")); |
|
347 |
Classification ermsClassification = appCtr.getClassificationService().load(UUID.fromString("6fa988a9-10b7-48b0-a370-2586fbc066eb")); |
|
348 |
//getPhylum |
|
349 |
TaxonNodeDto phylum1 = null; |
|
350 |
TaxonName faunaEuName = null; |
|
351 |
TaxonName ermsName = null; |
|
352 |
TaxonBase tempName = null; |
|
353 |
if (identicalNames.size() == 2) { |
|
354 |
Set<TaxonBase> taxonBases = identicalNames.get(0).getTaxonBases(); |
|
355 |
if (taxonBases.size()==1) { |
|
356 |
Iterator<TaxonBase> it = taxonBases.iterator(); |
|
357 |
tempName = it.next(); |
|
358 |
if (tempName.getSec().equals(faunaSec)) { |
|
359 |
faunaEuName = identicalNames.get(0); |
|
360 |
ermsName = identicalNames.get(1); |
|
361 |
}else { |
|
362 |
faunaEuName = identicalNames.get(1); |
|
363 |
ermsName = identicalNames.get(0); |
|
364 |
} |
|
365 |
}else { |
|
366 |
//TODO: find the two correct names |
|
336 | 367 |
} |
337 |
|
|
338 |
TaxonNodeDto phylum2 = null; |
|
339 |
if (!zooName2.getRank().isHigher(Rank.PHYLUM())){ |
|
340 |
phylum2 = appCtr.getTaxonNodeService().taxonNodeDtoParentRank(ermsClassification, Rank.PHYLUM(), zooName2); |
|
368 |
}else { |
|
369 |
System.err.println(nameCache + " has more than two identical namecaches"); |
|
370 |
return null; |
|
371 |
} |
|
372 |
phylum1 = null; |
|
373 |
if (faunaEuName != null && !faunaEuName.getRank().isHigher(Rank.PHYLUM())){ |
|
374 |
phylum1 =appCtr.getTaxonNodeService().taxonNodeDtoParentRank(faunaEuClassification, Rank.PHYLUM(), faunaEuName); |
|
375 |
} |
|
376 |
|
|
377 |
TaxonNodeDto phylum2 = null; |
|
378 |
if (ermsName != null && !ermsName.getRank().isHigher(Rank.PHYLUM())){ |
|
379 |
phylum2 = appCtr.getTaxonNodeService().taxonNodeDtoParentRank(ermsClassification, Rank.PHYLUM(), ermsName); |
|
380 |
} |
|
381 |
mergeObject.setPhylumInErms(phylum1); |
|
382 |
mergeObject.setPhylumInFaunaEu(phylum2); |
|
383 |
|
|
384 |
//getUuids |
|
385 |
mergeObject.setUuidErms(ermsName.getUuid().toString()); |
|
386 |
mergeObject.setUuidFaunaEu(faunaEuName.getUuid().toString()); |
|
387 |
|
|
388 |
Iterator<IdentifiableSource> sources = ermsName.getSources().iterator(); |
|
389 |
if (sources.hasNext()){ |
|
390 |
IdentifiableSource source = sources.next(); |
|
391 |
idInSource1 = source.getIdInSource(); |
|
392 |
mergeObject.setIdInErms(idInSource1); |
|
393 |
} |
|
394 |
sources = faunaEuName.getSources().iterator(); |
|
395 |
if (sources.hasNext()){ |
|
396 |
IdentifiableSource source = sources.next(); |
|
397 |
idInSource1 = source.getIdInSource(); |
|
398 |
mergeObject.setIdInFaunaEu(idInSource1); |
|
399 |
} |
|
400 |
|
|
401 |
mergeObject.setNameCacheInErms(ermsName.getNameCache()); |
|
402 |
mergeObject.setNameCacheInFaunaEu(faunaEuName.getNameCache()); |
|
403 |
|
|
404 |
mergeObject.setAuthorInErms(ermsName.getAuthorshipCache()); |
|
405 |
mergeObject.setAuthorInFaunaEu(faunaEuName.getAuthorshipCache()); |
|
406 |
Set<Taxon> taxa = ermsName.getTaxa(); |
|
407 |
if (!taxa.isEmpty()){ |
|
408 |
mergeObject.setStatInErms(true); |
|
409 |
Iterator<Taxon> taxaIterator = taxa.iterator(); |
|
410 |
Taxon taxon = null; |
|
411 |
while (taxaIterator.hasNext()){ |
|
412 |
taxon = taxaIterator.next(); |
|
413 |
if (!taxon.isMisapplication()){ |
|
414 |
break; |
|
415 |
} |
|
341 | 416 |
} |
342 |
mergeObject.setPhylumInErms(phylum1); |
|
343 |
mergeObject.setPhylumInFaunaEu(phylum2); |
|
344 |
|
|
345 |
//getUuids |
|
346 |
mergeObject.setUuidErms(zooName.getUuid().toString()); |
|
347 |
mergeObject.setUuidFaunaEu(zooName.getUuid().toString()); |
|
348 |
|
|
349 |
Iterator<IdentifiableSource> sources = zooName.getSources().iterator(); |
|
350 |
if (sources.hasNext()){ |
|
351 |
IdentifiableSource source = sources.next(); |
|
352 |
idInSource1 = source.getIdInSource(); |
|
353 |
mergeObject.setIdInErms(idInSource1); |
|
417 |
Set<TaxonNode> nodes = taxon.getTaxonNodes(); |
|
418 |
Iterator<TaxonNode> taxonNodeIterator = nodes.iterator(); |
|
419 |
TaxonNode node, parentNode = null; |
|
420 |
while (taxonNodeIterator.hasNext()){ |
|
421 |
node = taxonNodeIterator.next(); |
|
422 |
if (!node.isTopmostNode()){ |
|
423 |
parentNode = node.getParent(); |
|
424 |
} |
|
354 | 425 |
} |
355 |
sources = zooName2.getSources().iterator(); |
|
356 |
if (sources.hasNext()){ |
|
357 |
IdentifiableSource source = sources.next(); |
|
358 |
idInSource1 = source.getIdInSource(); |
|
359 |
mergeObject.setIdInFaunaEu(idInSource1); |
|
426 |
//TODO: ändern mit erweitertem Initializer.. |
|
427 |
if (parentNode != null){ |
|
428 |
TaxonName parentName = HibernateProxyHelper.deproxy(parentNode.getTaxon().getName()); |
|
429 |
String parentNameCache = parentName.getNameCache(); |
|
430 |
mergeObject.setParentStringInErms(parentNameCache); |
|
431 |
mergeObject.setParentRankStringInErms(parentName.getRank().getLabel()); |
|
432 |
//System.err.println("parentName: " + parentNameCache); |
|
360 | 433 |
} |
361 |
|
|
362 |
mergeObject.setNameCacheInErms(zooName.getNameCache()); |
|
363 |
mergeObject.setNameCacheInFaunaEu(zooName2.getNameCache()); |
|
364 |
|
|
365 |
mergeObject.setAuthorInErms(zooName.getAuthorshipCache()); |
|
366 |
mergeObject.setAuthorInFaunaEu(zooName2.getAuthorshipCache()); |
|
367 |
Set<Taxon> taxa = zooName.getTaxa(); |
|
368 |
if (!taxa.isEmpty()){ |
|
369 |
mergeObject.setStatInErms(true); |
|
370 |
Iterator<Taxon> taxaIterator = taxa.iterator(); |
|
371 |
Taxon taxon = null; |
|
372 |
while (taxaIterator.hasNext()){ |
|
373 |
taxon = taxaIterator.next(); |
|
374 |
if (!taxon.isMisapplication()){ |
|
375 |
break; |
|
376 |
} |
|
377 |
} |
|
378 |
Set<TaxonNode> nodes = taxon.getTaxonNodes(); |
|
379 |
Iterator<TaxonNode> taxonNodeIterator = nodes.iterator(); |
|
380 |
TaxonNode node, parentNode = null; |
|
381 |
while (taxonNodeIterator.hasNext()){ |
|
382 |
node = taxonNodeIterator.next(); |
|
383 |
if (!node.isTopmostNode()){ |
|
384 |
parentNode = node.getParent(); |
|
385 |
} |
|
386 |
} |
|
387 |
//TODO: ändern mit erweitertem Initializer.. |
|
388 |
if (parentNode != null){ |
|
389 |
TaxonName parentName = HibernateProxyHelper.deproxy(parentNode.getTaxon().getName()); |
|
390 |
String parentNameCache = parentName.getNameCache(); |
|
391 |
mergeObject.setParentStringInErms(parentNameCache); |
|
392 |
mergeObject.setParentRankStringInErms(parentName.getRank().getLabel()); |
|
393 |
//System.err.println("parentName: " + parentNameCache); |
|
434 |
}else{ |
|
435 |
mergeObject.setStatInErms(false); |
|
436 |
} |
|
437 |
taxa = faunaEuName.getTaxa(); |
|
438 |
if (!taxa.isEmpty()){ |
|
439 |
mergeObject.setStatInFaunaEu(true); |
|
440 |
Iterator<Taxon> taxaIterator = taxa.iterator(); |
|
441 |
Taxon taxon = null; |
|
442 |
while (taxaIterator.hasNext()){ |
|
443 |
taxon = taxaIterator.next(); |
|
444 |
if (!taxon.isMisapplication()){ |
|
445 |
break; |
|
394 | 446 |
} |
395 |
}else{ |
|
396 |
mergeObject.setStatInErms(false); |
|
397 | 447 |
} |
398 |
taxa = zooName2.getTaxa(); |
|
399 |
if (!taxa.isEmpty()){ |
|
400 |
mergeObject.setStatInFaunaEu(true); |
|
401 |
Iterator<Taxon> taxaIterator = taxa.iterator(); |
|
402 |
Taxon taxon = null; |
|
403 |
while (taxaIterator.hasNext()){ |
|
404 |
taxon = taxaIterator.next(); |
|
405 |
if (!taxon.isMisapplication()){ |
|
406 |
break; |
|
407 |
} |
|
448 |
Set<TaxonNode> nodes = taxon.getTaxonNodes(); |
|
449 |
Iterator<TaxonNode> taxonNodeIterator = nodes.iterator(); |
|
450 |
TaxonNode node, parentNode = null; |
|
451 |
while (taxonNodeIterator.hasNext()){ |
|
452 |
node = taxonNodeIterator.next(); |
|
453 |
if (!node.isTopmostNode()){ |
|
454 |
parentNode = node.getParent(); |
|
408 | 455 |
} |
409 |
Set<TaxonNode> nodes = taxon.getTaxonNodes(); |
|
410 |
Iterator<TaxonNode> taxonNodeIterator = nodes.iterator(); |
|
411 |
TaxonNode node, parentNode = null; |
|
412 |
while (taxonNodeIterator.hasNext()){ |
|
413 |
node = taxonNodeIterator.next(); |
|
414 |
if (!node.isTopmostNode()){ |
|
415 |
parentNode = node.getParent(); |
|
416 |
} |
|
417 |
} |
|
418 |
//TODO: ändern mit erweitertem Initializer.. |
|
419 |
if (parentNode != null){ |
|
420 |
if (parentNode.getTaxon().getName().isZoological()){ |
|
421 |
|
|
422 |
IZoologicalName parentName = CdmBase.deproxy(parentNode.getTaxon().getName()); |
|
423 |
String parentNameCache = parentName.getNameCache(); |
|
424 |
mergeObject.setParentStringInFaunaEu(parentNameCache); |
|
425 |
mergeObject.setParentRankStringInFaunaEu(parentName.getRank().getLabel()); |
|
426 |
System.err.println("parentName: " + parentNameCache); |
|
427 |
}else{ |
|
428 |
System.err.println("no zoologicalName: " + parentNode.getTaxon().getName().getTitleCache() +" . "+parentNode.getTaxon().getName().getUuid()); |
|
429 |
} |
|
430 |
|
|
431 |
} |
|
432 |
}else{ |
|
433 |
mergeObject.setStatInErms(false); |
|
434 | 456 |
} |
435 |
taxa = zooName2.getTaxa(); |
|
436 |
if (!taxa.isEmpty()){ |
|
437 |
mergeObject.setStatInFaunaEu(true); |
|
438 |
}else{ |
|
439 |
mergeObject.setStatInFaunaEu(false); |
|
440 |
|
|
441 |
} |
|
442 |
|
|
443 |
mergeObject.setRankInErms(zooName.getRank().getLabel()); |
|
444 |
mergeObject.setRankInFaunaEu(zooName2.getRank().getLabel()); |
|
445 |
|
|
446 |
//set parent informations |
|
447 |
|
|
448 |
|
|
449 |
/* |
|
450 |
Set<HybridRelationship> parentRelations = zooName.getParentRelationships(); |
|
451 |
Iterator parentIterator = parentRelations.iterator(); |
|
452 |
HybridRelationship parentRel; |
|
453 |
ZoologicalName parentName; |
|
454 |
while (parentIterator.hasNext()){ |
|
455 |
parentRel = (HybridRelationship)parentIterator.next(); |
|
456 |
parentName = (ZoologicalName)parentRel.getParentName(); |
|
457 |
mergeObject.setParentRankStringInErms(parentName.getRank().getLabel()); |
|
458 |
mergeObject.setParentStringInErms(parentName.getNameCache()); |
|
457 |
//TODO: ändern mit erweitertem Initializer.. |
|
458 |
if (parentNode != null){ |
|
459 |
if (parentNode.getTaxon().getName().isZoological()){ |
|
460 |
|
|
461 |
IZoologicalName parentName = CdmBase.deproxy(parentNode.getTaxon().getName()); |
|
462 |
String parentNameCache = parentName.getNameCache(); |
|
463 |
mergeObject.setParentStringInFaunaEu(parentNameCache); |
|
464 |
mergeObject.setParentRankStringInFaunaEu(parentName.getRank().getLabel()); |
|
465 |
System.err.println("parentName: " + parentNameCache); |
|
466 |
}else{ |
|
467 |
System.err.println("no zoologicalName: " + parentNode.getTaxon().getName().getTitleCache() +" . "+parentNode.getTaxon().getName().getUuid()); |
|
468 |
} |
|
469 |
|
|
459 | 470 |
} |
460 |
|
|
461 |
parentRelations = zooName2.getParentRelationships(); |
|
462 |
parentIterator = parentRelations.iterator(); |
|
463 |
|
|
464 |
while (parentIterator.hasNext()){ |
|
465 |
parentRel = (HybridRelationship)parentIterator.next(); |
|
466 |
parentName = (ZoologicalName)parentRel.getParentName(); |
|
467 |
mergeObject.setParentRankStringInFaunaEu(parentName.getRank().getLabel()); |
|
468 |
mergeObject.setParentStringInFaunaEu(parentName.getNameCache()); |
|
469 |
}*/ |
|
470 |
merge.add(mergeObject); |
|
471 |
}else{ |
|
472 |
mergeObject.setStatInErms(false); |
|
473 |
} |
|
474 |
taxa = faunaEuName.getTaxa(); |
|
475 |
if (!taxa.isEmpty()){ |
|
476 |
mergeObject.setStatInFaunaEu(true); |
|
477 |
}else{ |
|
478 |
mergeObject.setStatInFaunaEu(false); |
|
479 |
|
|
471 | 480 |
} |
481 |
|
|
482 |
mergeObject.setRankInErms(ermsName.getRank().getLabel()); |
|
483 |
mergeObject.setRankInFaunaEu(faunaEuName.getRank().getLabel()); |
|
484 |
|
|
485 |
//set parent informations |
|
486 |
|
|
487 |
|
|
488 |
/* |
|
489 |
Set<HybridRelationship> parentRelations = zooName.getParentRelationships(); |
|
490 |
Iterator parentIterator = parentRelations.iterator(); |
|
491 |
HybridRelationship parentRel; |
|
492 |
ZoologicalName parentName; |
|
493 |
while (parentIterator.hasNext()){ |
|
494 |
parentRel = (HybridRelationship)parentIterator.next(); |
|
495 |
parentName = (ZoologicalName)parentRel.getParentName(); |
|
496 |
mergeObject.setParentRankStringInErms(parentName.getRank().getLabel()); |
|
497 |
mergeObject.setParentStringInErms(parentName.getNameCache()); |
|
498 |
} |
|
499 |
|
|
500 |
parentRelations = zooName2.getParentRelationships(); |
|
501 |
parentIterator = parentRelations.iterator(); |
|
502 |
|
|
503 |
while (parentIterator.hasNext()){ |
|
504 |
parentRel = (HybridRelationship)parentIterator.next(); |
|
505 |
parentName = (ZoologicalName)parentRel.getParentName(); |
|
506 |
mergeObject.setParentRankStringInFaunaEu(parentName.getRank().getLabel()); |
|
507 |
mergeObject.setParentStringInFaunaEu(parentName.getNameCache()); |
|
508 |
}*/ |
|
509 |
merge.add(mergeObject); |
|
472 | 510 |
} |
511 |
// } |
|
473 | 512 |
|
474 | 513 |
return merge; |
475 | 514 |
|
Also available in: Unified diff
ref #1445: adapt merging activator to changes in cdmlib