if (deleteSourceIssueLinkValidationResult.isValid()) if (deleteDesinationIssueLinkValidationResult.isValid()) deleteSourceIssueLinkValidationResult.getErrorCollection().getErrors().putAll(deleteDesinationIssueLinkValidationResult.getErrorCollection().getErrors()); deleteSourceIssueLinkValidationResult.getErrorCollection().getErrorMessages().addAll(deleteDesinationIssueLinkValidationResult.getErrorCollection().getErrorMessages()); throw new NotAuthorisedWebException(ErrorCollection.of(deleteSourceIssueLinkValidationResult.getErrorCollection()));
@Override public void delete(DeleteIssueLinkValidationResult validationResult) { notNull("validationResult", validationResult); if (!validationResult.isValid()) { throw new IllegalStateException("You cannot delete an issue link with an invalid validation result."); } final IssueLink issueLink = validationResult.getIssueLink(); final Long sourceId = issueLink.getSourceObject().getId(); final Long destinationId = issueLink.getDestinationObject().getId(); final Long issueLinkTypeId = issueLink.getIssueLinkType().getId(); issueLinkManager.removeIssueLink(issueLinkManager.getIssueLink(sourceId, destinationId, issueLinkTypeId), validationResult.getUser()); }
@Override public DeleteIssueLinkValidationResult validateDelete(ApplicationUser user, Issue issue, IssueLink issueLink) { final ErrorCollection errors = validateIssuePermission(user, issue, Permissions.LINK_ISSUE, "admin.errors.issues.no.permission.to.delete.links"); validateLinkingEnabled(user, errors); if (issueLink == null) { errors.addErrorMessage(beanFactory.getInstance(user).getText("admin.errors.issues.cannot.find.link"), Reason.NOT_FOUND); } return new DeleteIssueLinkValidationResult(errors, errors.hasAnyErrors() ? null : issueLink, user); }
protected void doValidation() { validationResult = issueLinkService.validateDelete(getLoggedInUser(), getIssueObject(), getLink()); if (!validationResult.isValid()) { addErrorCollection(validationResult.getErrorCollection()); } }