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<DescriptionElementBase>> mergeDescriptionElements(Collection<DescriptionElementBase> descriptionElements, boolean returnTransientEntity) {
+ List<MergeResult<DescriptionElementBase>> mergedObjects = new ArrayList<MergeResult<DescriptionElementBase>>();
+ for(DescriptionElementBase obj : descriptionElements) {
+ mergedObjects.add(descriptionElementDao.merge(obj, returnTransientEntity));
+ }
+ return mergedObjects;
+ }
+
/**
* FIXME Candidate for harmonization
* descriptionElementService.delete
import eu.etaxonomy.cdm.model.name.TaxonName;
import eu.etaxonomy.cdm.model.taxon.Taxon;
import eu.etaxonomy.cdm.persistence.dao.initializer.IBeanInitializer;
+import eu.etaxonomy.cdm.persistence.dto.MergeResult;
import eu.etaxonomy.cdm.persistence.dto.TermDto;
import eu.etaxonomy.cdm.persistence.query.OrderHint;
*/
public UpdateResult moveTaxonDescription(UUID descriptionUuid, UUID targetTaxonUuid);
+ /**
+ * @param descriptionElements
+ * @param returnTransientEntity
+ * @return
+ */
+ public List<MergeResult<DescriptionElementBase>> mergeDescriptionElements(Collection<DescriptionElementBase> descriptionElements,
+ boolean returnTransientEntity);
+
}