Set<UUID> descriptionElementUUIDs,
UUID targetTaxonUuid,
String moveMessage,
- boolean isCopy, boolean setNameInSource) {
+ boolean isCopy, boolean setNameInSource, boolean useDefaultDescription) {
Taxon targetTaxon = CdmBase.deproxy(taxonDao.load(targetTaxonUuid), Taxon.class);
- DescriptionBase targetDescription = TaxonDescription.NewInstance(targetTaxon);
+ TaxonDescription targetDescription = null;
+ if (useDefaultDescription && targetTaxon.hasDefaultDescription()) {
+ for (TaxonDescription des:targetTaxon.getDescriptions()) {
+ if (des.isDefault()) {
+ targetDescription = des;
+ break;
+ }
+ }
+ }
+ if (targetDescription == null) {
+ targetDescription = TaxonDescription.NewInstance(targetTaxon);
+ }
if (!targetTaxon.hasDefaultDescription()) {
targetDescription.setDefault(true);
}
boolean isCopy, boolean setNameInSource);
public UpdateResult moveDescriptionElementsToDescription(Set<UUID> descriptionElementUUIDs, UUID targetTaxonUuid,
- String moveMessage, boolean isCopy, boolean setNameInSource);
+ String moveMessage, boolean isCopy, boolean setNameInSource, boolean useDefaultDescription);
public UpdateResult moveTaxonDescription(UUID descriptionUuid, UUID targetTaxonUuid, boolean setNameInSource);