Revision c7dae22d
Added by Katja Luther about 8 years ago
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/TaxonServiceImpl.java | ||
---|---|---|
796 | 796 |
(configurator.getPageNumber(), numberOfResults, configurator.getPageSize(), results); |
797 | 797 |
} |
798 | 798 |
|
799 |
public List<UuidAndTitleCache<TaxonBase>> getTaxonUuidAndTitleCache(){ |
|
800 |
return dao.getUuidAndTitleCache(); |
|
799 |
public List<UuidAndTitleCache<TaxonBase>> getTaxonUuidAndTitleCache(Integer limit, String pattern){
|
|
800 |
return dao.getUuidAndTitleCache(limit, pattern);
|
|
801 | 801 |
} |
802 | 802 |
|
803 | 803 |
@Override |
... | ... | |
1017 | 1017 |
|
1018 | 1018 |
} |
1019 | 1019 |
} else{ |
1020 |
TaxonDeletionConfigurator configRelTaxon = new TaxonDeletionConfigurator(); |
|
1021 |
configRelTaxon.setDeleteTaxonNodes(false); |
|
1022 |
configRelTaxon.setDeleteConceptRelationships(true); |
|
1023 |
|
|
1020 | 1024 |
for (TaxonRelationship taxRel: taxon.getTaxonRelations()){ |
1021 | 1025 |
if (config.isDeleteMisappliedNamesAndInvalidDesignations()){ |
1022 | 1026 |
if (taxRel.getType().equals(TaxonRelationshipType.MISAPPLIED_NAME_FOR()) || taxRel.getType().equals(TaxonRelationshipType.INVALID_DESIGNATION_FOR())){ |
1023 | 1027 |
if (taxon.equals(taxRel.getToTaxon())){ |
1024 |
|
|
1025 | 1028 |
this.deleteTaxon(taxRel.getFromTaxon().getUuid(), config, classificationUuid); |
1026 | 1029 |
} |
1027 | 1030 |
} |
1031 |
} else if (config.isDeleteConceptRelationships() && taxRel.getType().isConceptRelationship()){ |
|
1032 |
|
|
1033 |
if (taxon.equals(taxRel.getToTaxon()) && isDeletable(taxRel.getFromTaxon(), configRelTaxon).isOk()){ |
|
1034 |
this.deleteTaxon(taxRel.getFromTaxon().getUuid(), configRelTaxon, classificationUuid); |
|
1035 |
}else if (isDeletable(taxRel.getToTaxon(), configRelTaxon).isOk()){ |
|
1036 |
this.deleteTaxon(taxRel.getToTaxon().getUuid(), configRelTaxon, classificationUuid); |
|
1037 |
} |
|
1028 | 1038 |
} |
1029 | 1039 |
taxon.removeTaxonRelation(taxRel); |
1030 | 1040 |
|
... | ... | |
1157 | 1167 |
taxon.setName(null); |
1158 | 1168 |
} |
1159 | 1169 |
|
1170 |
|
|
1160 | 1171 |
if ((taxon.getTaxonNodes() == null || taxon.getTaxonNodes().size()== 0) && result.isOk()){ |
1161 | 1172 |
try{ |
1162 | 1173 |
UUID uuid = dao.delete(taxon); |
... | ... | |
1576 | 1587 |
} |
1577 | 1588 |
|
1578 | 1589 |
@Override |
1579 |
public List<UuidAndTitleCache<TaxonBase>> getUuidAndTitleCacheTaxon() { |
|
1580 |
return dao.getUuidAndTitleCacheTaxon(); |
|
1590 |
public List<UuidAndTitleCache<TaxonBase>> getUuidAndTitleCacheTaxon(Integer limit, String pattern) {
|
|
1591 |
return dao.getUuidAndTitleCacheTaxon(limit, pattern);
|
|
1581 | 1592 |
} |
1582 | 1593 |
|
1583 | 1594 |
@Override |
1584 |
public List<UuidAndTitleCache<TaxonBase>> getUuidAndTitleCacheSynonym() { |
|
1585 |
return dao.getUuidAndTitleCacheSynonym(); |
|
1595 |
public List<UuidAndTitleCache<TaxonBase>> getUuidAndTitleCacheSynonym(Integer limit, String pattern) {
|
|
1596 |
return dao.getUuidAndTitleCacheSynonym(limit, pattern);
|
|
1586 | 1597 |
} |
1587 | 1598 |
|
1588 | 1599 |
@Override |
Also available in: Unified diff
improve delete configurator for taxa and synonyms