Revision 024dfc3d
Added by Andreas Müller almost 4 years ago
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/DescriptionServiceImpl.java | ||
---|---|---|
617 | 617 |
return deleteResult; |
618 | 618 |
} |
619 | 619 |
|
620 |
|
|
621 |
/* (non-Javadoc) |
|
622 |
* @see eu.etaxonomy.cdm.api.service.IDescriptionService#deleteDescription(java.util.UUID) |
|
623 |
*/ |
|
624 | 620 |
@Override |
625 | 621 |
@Transactional(readOnly = false) |
626 | 622 |
public DeleteResult deleteDescription(UUID descriptionUuid) { |
627 | 623 |
return deleteDescription(dao.load(descriptionUuid)); |
628 | 624 |
} |
629 | 625 |
|
630 |
|
|
631 | 626 |
@Override |
632 | 627 |
public DeleteResult isDeletable(UUID descriptionUuid){ |
633 | 628 |
DeleteResult result = new DeleteResult(); |
634 |
DescriptionBase description = this.load(descriptionUuid); |
|
629 |
DescriptionBase<?> description = this.load(descriptionUuid);
|
|
635 | 630 |
Set<CdmBase> references = commonService.getReferencingObjectsForDeletion(description); |
636 | 631 |
|
637 | 632 |
if (references == null || references.isEmpty()){ |
... | ... | |
647 | 642 |
continue; |
648 | 643 |
} else if (ref instanceof DescriptionElementBase){ |
649 | 644 |
continue; |
650 |
|
|
651 | 645 |
}else { |
652 | 646 |
message = "The description can't be completely deleted because it is referenced by " + ref.getUserFriendlyTypeName() ; |
653 | 647 |
result.setAbort(); |
... | ... | |
655 | 649 |
if (message != null){ |
656 | 650 |
result.addException(new ReferencedObjectUndeletableException(message)); |
657 | 651 |
result.addRelatedObject(ref); |
658 |
|
|
659 | 652 |
} |
660 |
|
|
661 | 653 |
} |
662 | 654 |
|
663 | 655 |
return result; |
Also available in: Unified diff
cleanup