public static FunctionDescriptor makeDescriptor(String fieldName, String fieldValue) { FunctionDescriptor descriptor = DescriptorFactory.getFactory().createFunctionDescriptor(); descriptor.setType("class"); descriptor.getArgs().put("class.name", UpdateIssueFieldFunction.class.getName()); descriptor.getArgs().put("field.name", fieldName); descriptor.getArgs().put("field.value", fieldValue); return descriptor; } }
protected void getVelocityParamsForView(Map velocityParams, AbstractDescriptor descriptor) { if (!(descriptor instanceof FunctionDescriptor)) { throw new IllegalArgumentException("Desriptor must be a FunctionDescriptor."); } FunctionDescriptor functionDescriptor = (FunctionDescriptor) descriptor; if (functionDescriptor.getArgs().containsKey("eventType")) { velocityParams.put("eventType", functionDescriptor.getArgs().get("eventType")); } }
functionDescriptor.setType("class"); final Map functionArgs = functionDescriptor.getArgs(); functionArgs.put("class.name", getDescriptor().getImplementationClass().getName()); if (descriptor.getType().equals("class") && descriptor.getArgs().containsKey("class.name")) workflowModuleDescriptor = getWorkflowModuleDescriptor((String) descriptor.getArgs().get("class.name")); if (workflowModuleDescriptor != null)
private boolean isTriggerWebHookFunction(FunctionDescriptor functionDescriptor) { return TriggerWebhookFunction.class.getName().equals(functionDescriptor.getArgs().get("class.name")); } });
public static FunctionDescriptor makeDescriptor(String eventType) { FunctionDescriptor descriptor = DescriptorFactory.getFactory().createFunctionDescriptor(); descriptor.setType("class"); descriptor.getArgs().put("class.name", UberIssueWorkflowFunction.class.getName()); if (eventType != null) { descriptor.getArgs().put("eventType", eventType); } return descriptor; }
private boolean isWebHookLinkedTo(FunctionDescriptor functionDescriptor) { return functionDescriptor.getArgs() .get(TriggerWebHookFunctionPluginFactory.TARGET_FIELD_ID).equals(String.valueOf(id)); }
private boolean isModulePresent(Collection functionCollection, Class implementationClass) { for (final Object aFunctionCollection : functionCollection) { FunctionDescriptor functionDescriptor = (FunctionDescriptor) aFunctionCollection; if (functionDescriptor.getType().equals("class")) { if (implementationClass.getName().equals(functionDescriptor.getArgs().get("class.name"))) { return true; } } } return false; } }
public static FunctionDescriptor makeDescriptor(Long eventTypeId) { FunctionDescriptor descriptor = DescriptorFactory.getFactory().createFunctionDescriptor(); descriptor.setType("class"); descriptor.getArgs().put("class.name", FireIssueEventFunction.class.getName()); descriptor.getArgs().put("eventTypeId", eventTypeId); return descriptor; } }
private Long getEventTypeId(AbstractDescriptor descriptor) { if (!(descriptor instanceof FunctionDescriptor)) { throw new IllegalArgumentException("Descriptor must be a FunctionDescriptor."); } FunctionDescriptor functionDescriptor = (FunctionDescriptor) descriptor; try { return new Long((String) functionDescriptor.getArgs().get("eventTypeId")); } catch (NumberFormatException e) { log.error("Error while converting '" + functionDescriptor.getArgs().get("eventTypeId") + "' to a number.", e); return null; } } }
@Override protected void getVelocityParamsForEdit(Map<String, Object> velocityParams, AbstractDescriptor descriptor) { getVelocityParamsForInput(velocityParams); FunctionDescriptor functionDescriptor = (FunctionDescriptor) descriptor; final String webHookId = (String) functionDescriptor.getArgs().get(TARGET_FIELD_ID); try { velocityParams.put(PARAM_FIELD_ID, Integer.parseInt(webHookId)); } catch (NumberFormatException e) { LOG.debug("Webhook id is not a valid integer.", e); velocityParams.put(PARAM_FIELD_ID, -1); } }
@SuppressWarnings("unchecked") private FunctionDescriptor makeFunctionDescriptor(Class<? extends FunctionProvider> clazz, Map<String, String> params) { FunctionDescriptor functionDescriptor = DescriptorFactory.getFactory().createFunctionDescriptor(); functionDescriptor.setType("class"); final Map conditionArgs = functionDescriptor.getArgs(); conditionArgs.put(CLASS_NAME_KEY, clazz.getName()); conditionArgs.putAll(params); return functionDescriptor; }
protected void getVelocityParamsForEdit(Map velocityParams, AbstractDescriptor descriptor) { getVelocityParamsForInput(velocityParams); if (!(descriptor instanceof FunctionDescriptor)) { throw new IllegalArgumentException("Descriptor must be a FunctionDescriptor."); } // Get the current arguments FunctionDescriptor functionDescriptor = (FunctionDescriptor) descriptor; final String fieldName = (String) functionDescriptor.getArgs().get(TARGET_FIELD_NAME); velocityParams.put(PARAM_FIELD_ID, fieldName); String value = (String) functionDescriptor.getArgs().get(TARGET_FIELD_VALUE); if (value == null || value.equals("null")) { velocityParams.put(PARAM_FIELD_VALUE, null); } else { boolean persistedValueIsUserkey = IssueFieldConstants.ASSIGNEE.equals(fieldName) && !DEFAULT_VALUE.equals(value); String valueTranslatedForEdit = persistedValueIsUserkey ? userKeyService.getUsernameForKey(value) : value; velocityParams.put(PARAM_FIELD_VALUE, valueTranslatedForEdit); } }
private Map<String,Set<String>> removePostFunctionsWithClassnames(ActionDescriptor action, Set<String> classesToRemove) { Map<String,Set<String>> result = new HashMap<String,Set<String>>(); Collection<FunctionDescriptor> postFunctions = action.getUnconditionalResult().getPostFunctions(); postFunctions.addAll(action.getPostFunctions()); Iterator<FunctionDescriptor> it = postFunctions.iterator(); while(it.hasNext()) { FunctionDescriptor postFunction = it.next(); Set<Map.Entry<String,String>> args = (Set<Map.Entry<String,String>>) postFunction.getArgs().entrySet(); Set<String> usedClassnames = getClassnamesFromArgs(args); if(!Sets.intersection(classesToRemove,usedClassnames).isEmpty()) { String extensionClass = StringUtils.defaultIfEmpty((String)postFunction.getArgs().get("class.name"),postFunction.toString());//NON-NLS result.put(extensionClass,classesToRemove); it.remove(); } } return result; }
private Set<String> getFunctionClassnames(ActionDescriptor action) { List<FunctionDescriptor> functions = action.getUnconditionalResult().getPostFunctions(); functions.addAll(action.getPostFunctions()); Set<String> classNames = new HashSet<String>(); for (FunctionDescriptor function : functions) { Set<Map.Entry<String,String>> args = (Set<Map.Entry<String,String>>) function.getArgs().entrySet(); classNames.addAll(getClassnamesFromArgs(args)); } return classNames; }