@Override public List<AbstractBuildParameters> getParameters(AbstractBuild<?, ?> build, TaskListener listener) throws IOException, InterruptedException, AbstractBuildParameters.DontTriggerException { EnvVars envVars = build.getEnvironment(listener); long fromNum = Long.valueOf(envVars.expand(from)); long toNum = Long.valueOf(envVars.expand(to)); long stepNum = Long.valueOf(envVars.expand(step)); ArrayList<AbstractBuildParameters> params = Lists.newArrayList(); int upDown = Long.signum(toNum - fromNum); if (upDown == 0) { params.add(getParameterForCount(fromNum)); } else { if (stepNum == 0) { throw new RuntimeException(Messages.CounterBuildParameterFactory_CountingWillNotTerminate()); } if (upDown * stepNum < 0) { throw new RuntimeException(Messages.CounterBuildParameterFactory_CountingWillNotTerminate()); } for (Long i = fromNum; upDown * i <= upDown * toNum; i += stepNum) { params.add(getParameterForCount(i)); } } return params; }
@Override public List<AbstractBuildParameters> getParameters(AbstractBuild<?, ?> build, TaskListener listener) throws IOException, InterruptedException, AbstractBuildParameters.DontTriggerException { EnvVars envVars = build.getEnvironment(listener); long fromNum = Long.valueOf(envVars.expand(from)); long toNum = Long.valueOf(envVars.expand(to)); long stepNum = Long.valueOf(envVars.expand(step)); ArrayList<AbstractBuildParameters> params = Lists.newArrayList(); int upDown = Long.signum(toNum - fromNum); if (upDown == 0) { params.add(getParameterForCount(fromNum)); } else { if (stepNum == 0) { validationFail.failCheck(listener); } else if (upDown * stepNum < 0) { validationFail.failCheck(listener); } else { for (Long i = fromNum; upDown * i <= upDown * toNum; i += stepNum) { params.add(getParameterForCount(i)); } } } return params; }