Project

General

Profile

« Previous | Next » 

Revision ece0f9f5

Added by Andreas Müller over 2 years ago

fix #9855 deduplicate images in TaxonServiceImpl.listMedia()

View differences:

cdmlib-commons/src/main/java/eu/etaxonomy/cdm/common/CdmUtils.java
554 554
    public static String userFriendlyClassName(Class<?> clazz){
555 555
        return userFriendlyCamelCase(clazz.getSimpleName());
556 556
    }
557

  
558
    public static <T extends Object> List<T> removeIdentical(List<T> list) {
559
        if (list == null){
560
            return null;
561
        }
562
        List<T> result = new ArrayList<>();
563
        for(T obj : list){
564
            if (result.indexOf(obj) >= 0){
565
                T existing = result.get(result.indexOf(obj));
566
                if (existing == obj){
567
                    continue;
568
                }
569
            }
570
            result.add(obj);
571
        }
572
        return result;
573
    }
557 574
}
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/TaxonServiceImpl.java
66 66
import eu.etaxonomy.cdm.api.service.search.SearchResult;
67 67
import eu.etaxonomy.cdm.api.service.search.SearchResultBuilder;
68 68
import eu.etaxonomy.cdm.api.util.TaxonRelationshipEdge;
69
import eu.etaxonomy.cdm.common.CdmUtils;
69 70
import eu.etaxonomy.cdm.common.monitor.IProgressMonitor;
70 71
import eu.etaxonomy.cdm.compare.taxon.HomotypicGroupTaxonComparator;
71 72
import eu.etaxonomy.cdm.compare.taxon.TaxonComparator;
......
1079 1080
            }
1080 1081
        }
1081 1082

  
1082
        logger.trace("listMedia() - initialize");
1083
        taxonMedia = deduplicateMedia(taxonMedia);
1084

  
1085
        if (logger.isTraceEnabled()){logger.trace("listMedia() - initialize");}
1083 1086
        beanInitializer.initializeAll(taxonMedia, propertyPath);
1084 1087

  
1085 1088
        if (logger.isTraceEnabled()){logger.trace("listMedia() - END");}
......
1087 1090
        return taxonMedia;
1088 1091
    }
1089 1092

  
1093
    private List<Media> deduplicateMedia(List<Media> taxonMedia) {
1094
        return CdmUtils.removeIdentical(taxonMedia);
1095
    }
1096

  
1090 1097
    @Override
1091 1098
    public List<TaxonBase> findTaxaByID(Set<Integer> listOfIDs) {
1092 1099
        return this.dao.loadList(listOfIDs, null, null);

Also available in: Unified diff