import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import eu.etaxonomy.cdm.api.service.dto.TaxonDistributionDTO;
import eu.etaxonomy.cdm.api.service.pager.Pager;
import eu.etaxonomy.cdm.api.service.pager.impl.AbstractPagerImpl;
import eu.etaxonomy.cdm.api.service.pager.impl.DefaultPagerImpl;
import eu.etaxonomy.cdm.persistence.dao.description.IStatisticalMeasurementValueDao;
import eu.etaxonomy.cdm.persistence.dao.taxon.ITaxonDao;
import eu.etaxonomy.cdm.persistence.dao.taxon.ITaxonNodeDao;
+import eu.etaxonomy.cdm.persistence.dto.MergeResult;
import eu.etaxonomy.cdm.persistence.dto.TermDto;
import eu.etaxonomy.cdm.persistence.query.OrderHint;
import eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy;
return descriptionElementDao.saveAll(descriptionElements);
}
+ @Override
+ @Transactional(readOnly = false)
+ public List<MergeResult<DescriptionBase>> mergeDescriptionElements(Collection<TaxonDistributionDTO> descriptionElements, boolean returnTransientEntity) {
+ List<MergeResult<DescriptionBase>> mergedObjects = new ArrayList();
+ List<Distribution> toDelete = new ArrayList<>();
+ for(TaxonDistributionDTO obj : descriptionElements) {
+ Iterator<TaxonDescription> iterator = obj.getDescriptionsWrapper().getDescriptions().iterator();
+ while (iterator.hasNext()){
+ TaxonDescription desc = iterator.next();
+ mergedObjects.add(dao.merge(desc, returnTransientEntity));
+ }
+
+
+ }
+
+ return mergedObjects;
+ }
+
/**
* FIXME Candidate for harmonization
* descriptionElementService.delete
}
+
}