Project

General

Profile

« Previous | Next » 

Revision c7dae22d

Added by Katja Luther about 8 years ago

improve delete configurator for taxa and synonyms

View differences:

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