CompositeChecker buildScheduleCheckers(List<SchedulingChecker> schedulingCheckers) { return new CompositeChecker(schedulingCheckers.toArray(new SchedulingChecker[schedulingCheckers.size()])); }
public void canTriggerPipelineWithTimer(PipelineConfig pipelineConfig, OperationResult operationResult) { CompositeChecker compositeChecker = buildScheduleCheckers(asList(timerTriggerCheckers(pipelineConfig))); compositeChecker.check(operationResult); }
public boolean canSchedule(OperationResult result) { CompositeChecker checker = buildScheduleCheckers(asList(diskCheckers())); checker.check(result); return result.canContinue(); }
private SchedulingChecker manualTriggerCheckers(PipelineConfig pipelineConfig, String username) { String pipelineName = CaseInsensitiveString.str(pipelineConfig.name()); String stageName = CaseInsensitiveString.str(pipelineConfig.getFirstStageConfig().name()); StageAuthorizationChecker stageAuthorizationChecker = new StageAuthorizationChecker(pipelineName, stageName, username, securityService); return new CompositeChecker(manualTriggerCheckersWithoutPermissionsCheck(pipelineConfig), stageAuthorizationChecker); }
public boolean canTriggerManualPipeline(PipelineConfig pipelineConfig, String username, OperationResult result) { CompositeChecker checker = buildScheduleCheckers(asList(manualTriggerCheckers(pipelineConfig, username), diskCheckers())); checker.check(result); return result.canContinue(); }
private SchedulingChecker timerTriggerCheckers(PipelineConfig pipelineConfig) { String pipelineName = CaseInsensitiveString.str(pipelineConfig.name()); String stageName = CaseInsensitiveString.str(pipelineConfig.getFirstStageConfig().name()); return new CompositeChecker( new AboutToBeTriggeredChecker(pipelineConfig.name(), triggerMonitor, pipelineScheduleQueue), new PipelinePauseChecker(pipelineName, pipelinePauseService), new StageActiveChecker(pipelineName, stageName, stageService), new PipelineLockChecker(pipelineName, pipelineLockService), diskCheckers()); }
public boolean canScheduleStage(PipelineIdentifier pipelineIdentifier, String stageName, String username, final OperationResult result) { String pipelineName = pipelineIdentifier.getName(); CompositeChecker checker = buildScheduleCheckers(asList( new StageAuthorizationChecker(pipelineName, stageName, username, securityService), new StageLockChecker(pipelineIdentifier, pipelineLockService), new PipelinePauseChecker(pipelineName, pipelinePauseService), new PipelineActiveChecker(stageService, pipelineIdentifier), new StageActiveChecker(pipelineName, stageName, stageService), diskCheckers())); checker.check(result); return result.canContinue(); }