public void addIssue(MutableIssue issue) { issues.put(issue.getId(), issue); }
@Override public Issue updateIssue(ApplicationUser user, MutableIssue issue, UpdateIssueRequest updateIssueRequest) { issues.put(issue.getId(), issue); return issue; }
public void put(@Nonnull final String key, @Nonnull Optional<MutableIssue> issue) { byKey.put(key, issue); issue.ifPresent(i -> byId.put(i.getId(), Optional.of(i))); }
public boolean isIssueWithLinks() { final MutableIssue issue = getMutableIssue(); if (issueLinkManager.isLinkingEnabled()) { //checking if there are any not-subtask issue links (inward or outward) return Iterables.any(issueLinkManager.getOutwardLinks(issue.getId()), IssueLinkCopier.isNotSubtaskIssueLink) || Iterables.any(issueLinkManager.getInwardLinks(issue.getId()), IssueLinkCopier.isNotSubtaskIssueLink) || !remoteIssueLinkManager.getRemoteIssueLinksForIssue(issue).isEmpty(); } return false; }
private Collection<ValidatedAction> getValidActions( Collection<ActionDescriptor> actionsToValidate, ApplicationUser user, MutableIssue issue, IssueInputParameters parameters) { Collection<ValidatedAction> validations = new ArrayList<ValidatedAction>(); for (ActionDescriptor ad : actionsToValidate) { IssueService.TransitionValidationResult validation = issueService.validateTransition(user, issue.getId(), ad.getId(), parameters); if (validation.isValid()) { validations.add(new ValidatedAction(ad, validation)); } } return validations; }
private void removeLinkFromParent(final MutableIssue issue, final ApplicationUser applicationUser) { if (issue.getParentId() != null) { List<IssueLink> parentLinks = issueLinkManager.getOutwardLinks(issue.getParentId()); parentLinks.stream().filter(link -> link.getIssueLinkType().isSubTaskLinkType() && link.getDestinationId().equals(issue.getId())).forEach( link -> issueLinkManager.removeIssueLink(link, applicationUser) ); } }
protected MutableIssue getTargetIssueObjectWithSecurityLevel() { MutableIssue issue = super.getTargetIssueObjectWithSecurityLevel(); issue.setParentId(issueManager.getIssueObject(((ConvertIssueToSubTaskBean) getBean()).getParentIssueKey()).getId()); return issue; }
public Response createIssue(IssueUpdateBean createRequest, @Context UriInfo uriInfo) { IssueInputParametersAssembler.Result result = issueInputParametersAssembler.makeCreateAssembler(createRequest); if (result.getErrors().hasAnyErrors()) { throw error(ErrorCollection.of(result.getErrors())); } IssueInputParameters parameters = result.getParameters(); MutableIssue issue; if (result.getParentIdorKey() == null) { issue = createIssue(parameters); } else { issue = createSubtask(parameters, result.getParentIdorKey()); } IssueCreateResponse response = new IssueCreateResponse() .id(issue.getId().toString()) .key(issue.getKey()) .self(resourceUriBuilder.build(uriInfo, IssueResource.class, String.valueOf(issue.getId())).toString()); return status(CREATED).entity(response).build(); }
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)); } }
final MutableIssue issue = createValidationResult.getIssue(); fields.put("issue", issue); final MutableIssue originalIssue = issueManager.getIssueObject(issue.getId()); fields.put(WorkflowFunctionUtils.ORIGINAL_ISSUE_KEY, originalIssue); fields.put("pkey", issue.getProjectObject().getKey());
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)); } }
@Override public IssueResult transition(ApplicationUser user, TransitionValidationResult transitionResult) { if (transitionResult == null) { throw new IllegalArgumentException("You must provide a non-null transition result to transition an issue through workflow."); } if (!transitionResult.isValid()) { throw new IllegalStateException("You can not transition an issue with an invalid validation result."); } final MutableIssue issue = transitionResult.getIssue(); if (issue == null) { throw new IllegalArgumentException("You can not transition a null issue."); } final SimpleErrorCollection errorCollection = new SimpleErrorCollection(); WorkflowProgressAware workflowProgressAware = new SimpleWorkflowProgressAware(transitionResult.getActionId(), user, errorCollection, transitionResult.getAdditionInputs(), issue); workflowManager.doWorkflowAction(workflowProgressAware); IssueResult issueResult = new IssueResult(issueManager.getIssueObject(issue.getId()), errorCollection); triggerEventsForManualTransition(issueResult, transitionResult); return issueResult; }
@Override @RequiresXsrfCheck public String execute() { if (selectedIssueId != null) { if (nextIssueKey != null) { IssueManager issueManager = ComponentAccessor.getComponentOfType(IssueManager.class); MutableIssue issueObject = issueManager.getIssueObject(nextIssueKey); nextIssueId = issueObject.getId(); } final SessionSearchObjectManagerFactory factory = ComponentAccessor.getComponentOfType(SessionSearchObjectManagerFactory.class); final SessionSelectedIssueManager manager = factory.createSelectedIssueManager(ActionContext.getRequest()); manager.setCurrentObject(new SelectedIssueData(selectedIssueId, selectedIssueIndex, nextIssueId)); } /** * MAKE SURE WE NEVER, EVER, WRITE ANY DATA OTHERWISE ITS NOT A 204, OTHERWISE APACHE AJP I WILL HUNT YOU DOWN LIKE A DOG! */ ServletActionContext.getResponse().setStatus(204); return NONE; }
issue.getId(), issue.getKey()); log.warn(errorMsg); throw new IllegalStateException(errorMsg);
if (!issue.isSubTask()) regularIssues.put(issue.getId(), issue);
cloneIssue.getId() + "] in the parent BulkEditBean.");
IssueService.CreateValidationResult validation = issueService.validateSubTaskCreate(user, parentIssueResult.getIssue().getId(), parameters); if (!validation.isValid())
IssueCreationResultBean resultBean = new IssueCreationResultBean(createIssueResult.getIssue().getKey(), createIssueResult.getIssue().getProjectObject().getKey(), createIssueResult.getIssue().getId());