private Set<Map<String, String>> getTransitions(final int webHookListenerId, JiraWorkflow workflow) { Set<Map<String, String>> transitions = Sets.newHashSet(); final Map<ActionDescriptor, Collection<FunctionDescriptor>> actionToPostfunctionsMap = workflowManager.getPostFunctionsForWorkflow(workflow); for (Map.Entry<ActionDescriptor, Collection<FunctionDescriptor>> entry : actionToPostfunctionsMap.entrySet()) { if (isWebHookLinked(webHookListenerId, entry.getValue())) { transitions.add(ImmutableMap.of("workflow", workflow.getName(), "transition", entry.getKey().getName())); } } return transitions; }
public MultiMap getAssociatedWorkflows(EventType eventType, boolean statusCheck) { MultiMap workflowTransitionMap = new MultiValueMap(); Collection<JiraWorkflow> workflows = workflowManager.getWorkflows(); Long eventTypeId = eventType.getId(); for (final JiraWorkflow workflow : workflows) { Map<ActionDescriptor, Collection<FunctionDescriptor>> transitionPostFunctionMap = workflowManager.getPostFunctionsForWorkflow(workflow); Collection<ActionDescriptor> keys = transitionPostFunctionMap.keySet(); for (final ActionDescriptor actionDescriptor : keys) { Collection<FunctionDescriptor> postFunctions = transitionPostFunctionMap.get(actionDescriptor); for (final FunctionDescriptor functionDescriptor : postFunctions) { if (functionDescriptor.getArgs().containsKey(EVENT_TYPE_ID) && eventTypeId.equals(new Long((String) functionDescriptor.getArgs().get(EVENT_TYPE_ID)))) { workflowTransitionMap.put(workflow.getName(), actionDescriptor); // Exit now as we only need one association for a status check if (statusCheck) { return workflowTransitionMap; } } } } } return workflowTransitionMap; }
for (final JiraWorkflow workflow : workflows) Map<ActionDescriptor, Collection<FunctionDescriptor>> transitionPostFunctionMap = workflowManager.getPostFunctionsForWorkflow(workflow);
final String workflowName = issueTypeWorkflow.getValue(); final JiraWorkflow workflow = workflowManager.getWorkflow(workflowName); final Map<ActionDescriptor, Collection<FunctionDescriptor>> postFunctionsForWorkflow = workflowManager.getPostFunctionsForWorkflow( workflow);