@Override public IssueLinkResult getIssueLinks(ApplicationUser user, Issue issue) { return this.getIssueLinks(user, issue, true); }
private void validatePermissionToUpdate(final ApplicationUser user, final Issue issue, final ErrorCollection errors, final I18nHelper i18n) { hasLinkIssuePermission(user, issue, errors, i18n); }
private ErrorCollection validateIssuePermission(final ApplicationUser user, final Issue issue, final int permissionsId) { return validateIssuePermission(user, issue, permissionsId, "issuelinking.service.error.issue.no.permission"); }
private void createRemoteLinks() { for (final CreateValidationResult validationResult : validationResults) { final RemoteIssueLinkResult result = createLink(validationResult); if (!result.isValid()) { mapErrors(result.getErrorCollection()); addErrorCollection(result.getErrorCollection()); } } }
protected void doValidation() { validationResult = issueLinkService.validateDelete(getLoggedInUser(), getIssueObject(), getLink()); if (!validationResult.isValid()) { addErrorCollection(validationResult.getErrorCollection()); } }
@Override public DeleteByGlobalIdValidationResult validateDeleteByGlobalId(final ApplicationUser user, final Issue issue, final String globalId) { final ErrorCollection errors = new SimpleErrorCollection(); final I18nHelper i18n = getI18n(user); validateLinkingEnabled(i18n, errors); RemoteIssueLink remoteIssueLink = null; if (!errors.hasAnyErrors()) { remoteIssueLink = validateExistsByGlobalId(issue, globalId, i18n, errors); } if (!errors.hasAnyErrors()) { validatePermissionToDelete(user, remoteIssueLink, errors, i18n); } return new DeleteByGlobalIdValidationResult(issue, globalId, errors); }
@Override public DeleteValidationResult validateDelete(final ApplicationUser user, final Long remoteIssueLinkId) { final ErrorCollection errors = new SimpleErrorCollection(); final I18nHelper i18n = getI18n(user); validateLinkingEnabled(i18n, errors); RemoteIssueLink remoteIssueLink = null; if (!errors.hasAnyErrors()) { remoteIssueLink = validateExists(remoteIssueLinkId, i18n, errors); } if (!errors.hasAnyErrors()) { validatePermissionToDelete(user, remoteIssueLink, errors, i18n); } return new DeleteValidationResult((errors.hasAnyErrors() ? null : remoteIssueLinkId), errors); }
/** * Creates the link and publishes an event for the creation * * @param validationResult the CreateValidationResult to be used to create the link * @return create result */ public RemoteIssueLinkService.RemoteIssueLinkResult createLink(final CreateValidationResult validationResult) { final RemoteIssueLinkService.RemoteIssueLinkResult result = remoteIssueLinkService.create(getLoggedInUser(), validationResult); final RemoteIssueLink link = result.getRemoteIssueLink(); eventPublisher.publish(new RemoteIssueLinkUICreateEvent(link)); return result; }
private IssueLinkType findIssueLinkTypeByNames(final String issueLinkType){ try{ return Iterables.find(issueLinkService.getIssueLinkTypes(), new Predicate<IssueLinkType>() { @Override public boolean apply(IssueLinkType input) { Preconditions.checkNotNull(input); return issueLinkType.equals(input.getInward()) || issueLinkType.equals(input.getOutward()); } }); } catch(NoSuchElementException e){ return null; } }
public void createValue(Issue issue, IssueLinkingValue value) { if (isIssueLinkingEnabled()) { IssueLinkingValue issueLinkingValue = value; IssueLinkService.AddIssueLinkValidationResult validationResult = issueLinkingValue.getValidationResult(); if (validationResult != null && validationResult.isValid()) { issueLinkService.addIssueLinks(authenticationContext.getUser(), validationResult); } } }
private AddIssueLinkValidationResult validateAddIssueLinks(ApplicationUser user, Issue issue, IssueLinkType linkType, Direction direction, Collection<String> linkKeys, boolean excludeSystemLinks) { Assertions.notNull("issue", issue); Assertions.notNull("linkKeys", linkKeys); ErrorCollection errorCollection = validateIssuePermission(user, issue, Permissions.LINK_ISSUE); if (!errorCollection.hasAnyErrors()) { validateLinkInput(user, errorCollection, issue, linkType, linkKeys, excludeSystemLinks); } return new AddIssueLinkValidationResult(user, errorCollection, issue, linkType, direction, linkKeys); }
/** * Returns true if there were no errors and issue has local links. * * @param user current user * @param issue current issue * @return true if issue has local links */ private boolean hasIssueLinks(ApplicationUser user, Issue issue) { final IssueLinkService.IssueLinkResult result = issueLinkService.getIssueLinks(getLoggedInUser(), getIssueObject()); return result.isValid() && !result.getLinkCollection().getAllIssues().isEmpty(); }
@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); }
@Override public IssueLinkResult getIssueLinks(ApplicationUser user, Issue issue, boolean excludeSystemLinks) { ErrorCollection errorCollection = validateIssuePermission(user, issue, Permissions.BROWSE); if (!errorCollection.hasAnyErrors()) { final LinkCollection linkCollection = issueLinkManager.getLinkCollection(issue, user, excludeSystemLinks); return new IssueLinkResult(errorCollection, linkCollection); } else { return new IssueLinkResult(errorCollection, null); } }
private void validateGlobalIdForUpdate(final Issue issue, final RemoteIssueLink found, final RemoteIssueLink remoteIssueLink, final ErrorCollection errors, final I18nHelper i18n) { // Validate only if it has changed if (!isEqual(found.getGlobalId(), remoteIssueLink.getGlobalId())) { validateGlobalId(remoteIssueLink, issue, errors, i18n); } }
private IssueLink getLink() { if (issueLink == null) { if (destId != null) { issueLink = issueLinkService.getIssueLink(getId(), destId, linkType); } else if (sourceId != null) { issueLink = issueLinkService.getIssueLink(sourceId, getId(), linkType); } } return issueLink; } }
private void validatePermissionToView(final ApplicationUser user, final Issue issue, final ErrorCollection errors, final I18nHelper i18n) { validatePermissionToViewIssue(user, issue, errors, i18n); }
public Collection getLinkDescs() { if (linkDescs == null) { linkDescs = issueLinkDisplayHelper.getSortedIssueLinkTypes(issueLinkService.getIssueLinkTypes()); } return linkDescs; }
private void validatePermissionToCreate(final ApplicationUser user, final Issue issue, final ErrorCollection errors, final I18nHelper i18n) { hasLinkIssuePermission(user, issue, errors, i18n); }
public Collection<String> getLinkDescs() { if (linkDescs == null) { linkDescs = issueLinkDisplayHelper.getSortedIssueLinkTypes(issueLinkService.getIssueLinkTypes()); } return linkDescs; }