protected ModelASTValue getSingleValue() { if (getArgs() instanceof ModelASTSingleArgument) { return ((ModelASTSingleArgument) getArgs()).getValue(); } else if (getArgs() instanceof ModelASTNamedArgumentList) { ModelASTNamedArgumentList namedArgs = (ModelASTNamedArgumentList) getArgs(); if (namedArgs.getArguments().size() == 1 && namedArgs.containsKeyName("scriptBlock")) { return namedArgs.valueForName("scriptBlock"); } } return null; }
protected ModelASTValue getSingleValue() { if (getArgs() instanceof ModelASTSingleArgument) { return ((ModelASTSingleArgument) getArgs()).getValue(); } else if (getArgs() instanceof ModelASTNamedArgumentList) { ModelASTNamedArgumentList namedArgs = (ModelASTNamedArgumentList) getArgs(); if (namedArgs.getArguments().size() == 1 && namedArgs.containsKeyName("scriptBlock")) { return namedArgs.valueForName("scriptBlock"); } } return null; }
@Override public String toGroovy() { // Default to using whatever the original args structure is. ModelASTArgumentList argList = args; // If the args aren't null and they're a named list... if (args != null && args instanceof ModelASTNamedArgumentList) { ModelASTNamedArgumentList namedArgs = (ModelASTNamedArgumentList) args; // If the named list is exactly 1 long... if (namedArgs.getArguments().size() == 1) { DescriptorLookupCache lookup = DescriptorLookupCache.getPublicCache(); Descriptor<? extends Describable> desc = lookup.lookupStepFirstThenFunction(name); DescribableModel<? extends Describable> model = lookup.modelForStepFirstThenFunction(name); // If we can lookup the model for this step or function... if (model != null) { DescribableParameter p = model.getSoleRequiredParameter(); // If it's got a sole required parameter, that parameter is the key in our named list, and it doesn't // take a closure... if (p != null && namedArgs.containsKeyName(p.getName()) && !lookup.stepTakesClosure(desc)) { ModelASTValue value = namedArgs.valueForName(p.getName()); // Set the arg list to instead be a ModelASTSingleArgument of that value. argList = new ModelASTSingleArgument(null); ((ModelASTSingleArgument) argList).setValue(value); } } } } return withOrWithoutParens(argList); }
@Override public String toGroovy() { // Default to using whatever the original args structure is. ModelASTArgumentList argList = args; // If the args aren't null and they're a named list... if (args != null && args instanceof ModelASTNamedArgumentList) { ModelASTNamedArgumentList namedArgs = (ModelASTNamedArgumentList) args; // If the named list is exactly 1 long... if (namedArgs.getArguments().size() == 1) { DescriptorLookupCache lookup = DescriptorLookupCache.getPublicCache(); Descriptor<? extends Describable> desc = lookup.lookupStepFirstThenFunction(name); DescribableModel<? extends Describable> model = lookup.modelForStepFirstThenFunction(name); // If we can lookup the model for this step or function... if (model != null) { DescribableParameter p = model.getSoleRequiredParameter(); // If it's got a sole required parameter, that parameter is the key in our named list, and it doesn't // take a closure... if (p != null && namedArgs.containsKeyName(p.getName()) && !lookup.stepTakesClosure(desc)) { ModelASTValue value = namedArgs.valueForName(p.getName()); // Set the arg list to instead be a ModelASTSingleArgument of that value. argList = new ModelASTSingleArgument(null); ((ModelASTSingleArgument) argList).setValue(value); } } } } return withOrWithoutParens(argList); }
val = ((ModelASTSingleArgument) firstStep.getArgs()).getValue(); } else if (firstStep.getArgs() instanceof ModelASTNamedArgumentList && ((ModelASTNamedArgumentList) firstStep.getArgs()).getArguments().size() == 1) { val = ((ModelASTNamedArgumentList) firstStep.getArgs()).valueForName("message"); scriptVal = ((ModelASTSingleArgument) scriptStep.getArgs()).getValue(); } else if (scriptStep.getArgs() instanceof ModelASTNamedArgumentList && ((ModelASTNamedArgumentList) scriptStep.getArgs()).getArguments().size() == 1) { scriptVal = ((ModelASTNamedArgumentList) scriptStep.getArgs()).valueForName("scriptBlock");