public static IssueLinkTypeJsonBean create(IssueLinkType issueLinkType, URI self) { return new IssueLinkTypeJsonBean(issueLinkType.getId(), issueLinkType.getName(), issueLinkType.getInward(), issueLinkType.getOutward(), self); }
@Override public boolean apply(IssueLink input) { Preconditions.checkNotNull(input); return !input.getIssueLinkType().isSubTaskLinkType(); } };
@Override public boolean evaluate(final IssueLinkType type) { return !type.isSystemLinkType(); } });
/** * @return the directional name. */ public String getLinkName() { return direction == Direction.OUT ? linkType.getOutward() : linkType.getInward(); }
public SimplifiedIssueLinkType(IssueLinkType issueLinkType) { this.outward = issueLinkType.getOutward(); this.inward = issueLinkType.getInward(); this.id = issueLinkType.getId(); }
public boolean apply(@Nullable IssueLinkType input) { return input.getId().equals(issueLinkTypeId); } });
public String doDefault() throws Exception { name = getIssueLinkType().getName(); outward = getIssueLinkType().getOutward(); inward = getIssueLinkType().getInward(); return super.doDefault(); }
private void linkIssue(IssueLinkType linkType, MutableIssue destinationIssue) { try { if (linkDesc.equals(linkType.getOutward())) { issueLinkManager.createIssueLink(getIssue().getLong("id"), destinationIssue.getId(), linkType.getId(), null, getLoggedInUser()); } else { issueLinkManager.createIssueLink(destinationIssue.getId(), getIssue().getLong("id"), linkType.getId(), null, getLoggedInUser()); } userHistoryManager.addItemToHistory(ISSUELINKTYPE, getLoggedInUser(), valueOf(linkType.getId()), linkDesc); } catch (Exception e) { log.error("Error occurred creating link: " + e, e); addErrorMessage(getText("admin.errors.issues.an.error.occured", e)); } }
List<Issue> outwardIssues = linkCollection.getOutwardIssues(issueLinkType.getName()); if (outwardIssues != null) IssueLink issueLink = issueLinkManager.getIssueLink(issue.getId(), outwardIssue.getId(), issueLinkType.getId()); linkBeans.add(buildLink(issueLinkType, outwardIssue, true, issueLink.getId().toString())); List<Issue> inwardIssues = linkCollection.getInwardIssues(issueLinkType.getName()); if (inwardIssues != null) IssueLink issueLink = issueLinkManager.getIssueLink(inwardIssue.getId(), issue.getId(), issueLinkType.getId()); linkBeans.add(buildLink(issueLinkType, inwardIssue, false, issueLink.getId().toString()));
if (!issueLinkType.isSystemLinkType()) storeInLinkMap(outwardLinkMap, issueLinkType.getName(), linkedIssue); if (!issueLinkType.isSystemLinkType()) storeInLinkMap(inwardLinkMap, issueLinkType.getName(), linkedIssue);
@Override public boolean isDisplayLinkPanel() { if (linkTypes != null && !linkTypes.isEmpty()) { for (IssueLinkType issueLinkType : linkTypes) { List<Issue> outwardIssueLinks = getOutwardIssues(issueLinkType.getName()); List<Issue> inwardIssues = getInwardIssues(issueLinkType.getName()); // If any one set of links is visible - return true if ((outwardIssueLinks != null && !outwardIssueLinks.isEmpty()) || (inwardIssues != null && !inwardIssues.isEmpty())) { return true; } } } return false; } }
@Override public AddIssueLinkValidationResult validateAddIssueLinks(ApplicationUser user, Issue issue, String linkName, Collection<String> linkKeys) { IssueLinkType linkType = matchToIssueLinkType(linkName); if (null == linkType) { ErrorCollection errors = new SimpleErrorCollection(); errors.addErrorMessage(beanFactory.getInstance(user).getText("issuelinking.service.error.invalid.link.name", linkName)); return new AddIssueLinkValidationResult(user, errors, null, null, null, null); } Direction direction = linkName.equals(linkType.getInward()) ? Direction.IN : Direction.OUT; return validateAddIssueLinks(user, issue, linkType, direction, linkKeys, true); }
private String getReciprocalLinkDesc() { final IssueLinkType linkType = getIssueLinkType(); if (linkType == null) { return null; } if (linkDesc.equals(linkType.getOutward())) { return linkType.getInward(); } return linkType.getOutward(); }
@Override public ServiceOutcome<IssueLinkType> updateIssueLinkType(ApplicationUser user, IssueLinkType linkType, String name, String outward, String inward) { final I18nHelper i18n = i18nFactory.getInstance(user); if (!applicationProperties.getOption(APKeys.JIRA_OPTION_ISSUELINKING)) { return ServiceOutcomeImpl.error(i18n.getText("admin.issuelinking.status", i18n.getText("admin.common.words.disabled")), ErrorCollection.Reason.NOT_FOUND); } if (!permissionManager.hasPermission(Permissions.ADMINISTER, user)) { return ServiceOutcomeImpl.error(i18n.getText("admin.errors.linking.error.update.no.permission"), ErrorCollection.Reason.FORBIDDEN); } // Trying to give this link type the same name as an existing link type is not allowed. if (!Objects.equal(name, linkType.getName()) && !issueLinkTypeManager.getIssueLinkTypesByName(name).isEmpty()) { return ServiceOutcomeImpl.error(i18n.getText("admin.errors.linking.error.create.duplicate")); } issueLinkTypeManager.updateIssueLinkType(linkType, StringUtils.isEmpty(name) ? linkType.getName() : name, StringUtils.isEmpty(outward) ? linkType.getOutward() : outward, StringUtils.isEmpty(inward) ? linkType.getInward() : inward); return ServiceOutcomeImpl.ok(linkType); } }
private void createLocalLink(final IssueLinkType linkType, final MutableIssue destinationIssue) { try { if (linkDesc.equals(linkType.getOutward())) { issueLinkManager.createIssueLink(getIssue().getLong("id"), destinationIssue.getId(), linkType.getId(), null, getLoggedInUser()); } else { issueLinkManager.createIssueLink(destinationIssue.getId(), getIssue().getLong("id"), linkType.getId(), null, getLoggedInUser()); } } catch (Exception e) { log.error("Error occurred creating link: " + e, e); addErrorMessage(getText("admin.errors.issues.an.error.occured", e)); } }
if (linkType == null) throw new IllegalArgumentException("Cant find issue link type '" + result.getLinkType().getName() + "'"); issueLinkManager.createIssueLink(sourceIssue.getId(), destinationIssue.getId(), linkType.getId(), null, result.getUser()); issueLinkManager.createIssueLink(destinationIssue.getId(), sourceIssue.getId(), linkType.getId(), null, result.getUser()); userHistoryManager.addItemToHistory(UserHistoryItem.ISSUELINKTYPE, result.getUser(), String.valueOf(linkType.getId()), result.getLinkName());
if (!excludeSystemLinks || !issueLinkType.isSystemLinkType()) storeInLinkMap(outwardLinkMap, issueLinkType.getName(), linkedIssue); if (!excludeSystemLinks || !issueLinkType.isSystemLinkType()) storeInLinkMap(inwardLinkMap, issueLinkType.getName(), linkedIssue);
@Override public boolean apply(IssueLinkType input) { Preconditions.checkNotNull(input); return issueLinkType.equals(input.getInward()) || issueLinkType.equals(input.getOutward()); } });