public String superGetDescription() { return super.getDescription(); }
private static ParameterValue getParameterValue( final Map<String, String> resolvedVariables, final ParameterDefinition parameterDefinition, final String paramName, final ParameterValue defaultParameterValue) { final String stringValue = getStringValue(resolvedVariables, paramName, defaultParameterValue); if (defaultParameterValue.getValue() instanceof Boolean) { return new BooleanParameterValue( paramName, Boolean.parseBoolean(stringValue), parameterDefinition.getDescription()); } if (defaultParameterValue instanceof CredentialsParameterValue) { return new CredentialsParameterValue( paramName, stringValue, parameterDefinition.getDescription()); } return new StringParameterValue(paramName, stringValue, parameterDefinition.getDescription()); }
private static ParametersDefinitionProperty findParametersToKeep(List<ParameterDefinition> oldImplementationParameters, List<ParameterDefinition> newImplementationParameters) { List<ParameterDefinition> result = new LinkedList<ParameterDefinition>(); for (ParameterDefinition newImplementationParameter : newImplementationParameters) { //'new' parameters are the same as the template. boolean found = false; Iterator<ParameterDefinition> iterator = oldImplementationParameters.iterator(); while (iterator.hasNext()) { ParameterDefinition oldImplementationParameter = iterator.next(); if (newImplementationParameter.getName().equals(oldImplementationParameter.getName())) { found = true; iterator.remove(); //Make the next iteration a little faster. // #17 Description on parameters should always be overridden by template ReflectionUtils.setFieldValue(ParameterDefinition.class, oldImplementationParameter, "description", newImplementationParameter.getDescription()); result.add(oldImplementationParameter); } } if (!found) { //Add new parameters not accounted for. result.add(newImplementationParameter); LOG.info(String.format("\t+++ new parameter [%s]", newImplementationParameter.getName())); } } if (oldImplementationParameters != null) { for (ParameterDefinition unused : oldImplementationParameters) { LOG.info(String.format("\t--- old parameter [%s]", unused.getName())); } } return result.isEmpty() ? null : new ParametersDefinitionProperty(result); }
@Override @Exported public String getDescription() { initPython(); if (pexec.isImplemented(3)) { return (String) pexec.execPython("get_description"); } else { return super.getDescription(); } }