@Override @CheckForNull public String validateElement(@Nonnull ModelASTStep step, @CheckForNull FlowExecution execution) { if (step.getName() != null) { if (blockedInSteps().keySet().contains(step.getName())) { return org.jenkinsci.plugins.pipeline.modeldefinition.Messages.ModelValidatorImpl_BlockedStep(step.getName(), blockedInSteps().get(step.getName())); } } return null; }
@Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } if (!super.equals(o)) { return false; } ModelASTStep that = (ModelASTStep) o; if (getName() != null ? !getName().equals(that.getName()) : that.getName() != null) { return false; } return getArgs() != null ? getArgs().equals(that.getArgs()) : that.getArgs() == null; }
@Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } if (!super.equals(o)) { return false; } ModelASTStep that = (ModelASTStep) o; if (getName() != null ? !getName().equals(that.getName()) : that.getName() != null) { return false; } return getArgs() != null ? getArgs().equals(that.getArgs()) : that.getArgs() == null; }
@Override @Nonnull public MethodCallExpression transformStep(@Nonnull ModelASTStep step, @Nonnull MethodCallExpression methodCall) { if (step.getName().equals("echo")) { ArgumentListExpression newArgs = new ArgumentListExpression(); TupleExpression oldArgs = (TupleExpression)methodCall.getArguments(); for (Expression expr : oldArgs.getExpressions()) { if (expr instanceof ConstantExpression && ((ConstantExpression) expr).getValue() instanceof String) { String origVal = (String)((ConstantExpression)expr).getValue(); newArgs.addExpression(constX(origVal.toUpperCase())); } } methodCall.setArguments(newArgs); } return methodCall; } }
@Override @Nonnull public MethodCallExpression transformStep(@Nonnull ModelASTStep step, @Nonnull MethodCallExpression methodCall) { if (step.getName().equals("timeout")) { ArgumentListExpression newArgs = new ArgumentListExpression(); TupleExpression oldArgs = (TupleExpression)methodCall.getArguments(); for (Expression expr : oldArgs.getExpressions()) { if (expr instanceof MapExpression) { MapExpression originalMap = (MapExpression) expr; MapExpression newMap = new MapExpression(); for (MapEntryExpression origEntry : originalMap.getMapEntryExpressions()) { if (origEntry.getKeyExpression() instanceof ConstantExpression && ((ConstantExpression) origEntry.getKeyExpression()).getValue().equals("time")) { newMap.addMapEntryExpression(constX("time"), constX(10)); } else { newMap.addMapEntryExpression(origEntry); } } newArgs.addExpression(newMap); } else { newArgs.addExpression(expr); } } methodCall.setArguments(newArgs); } return methodCall; } }
ModelASTStep firstStep = firstBranch.getSteps().get(0); assertNull(firstStep.getSourceLocation()); assertEquals("junit", firstStep.getName()); assertTrue(firstStep.getArgs() instanceof ModelASTNamedArgumentList); ModelASTNamedArgumentList args = (ModelASTNamedArgumentList)firstStep.getArgs();
ModelASTStep firstStep = firstBranch.getSteps().get(0); assertNull(firstStep.getSourceLocation()); assertEquals("echo", firstStep.getName()); ModelASTValue val = null; if (firstStep.getArgs() instanceof ModelASTSingleArgument) { assertNull(timeoutStep.getSourceLocation()); assertTrue(timeoutStep instanceof ModelASTTreeStep); assertEquals("timeout", timeoutStep.getName()); assertEquals("echo", treeStep.getChildren().get(0).getName()); assertNull(treeStep.getChildren().get(0).getSourceLocation());