public PipelineInstanceModels findAll(String pipelineName) { PipelineInstanceModels found = PipelineInstanceModels.createPipelineInstanceModels(); for (PipelineInstanceModel pipelineInstanceModel : this) { if(pipelineInstanceModel.getName().equalsIgnoreCase(pipelineName)){ found.add(pipelineInstanceModel); } } return found; }
public boolean hasDependent(String pipelineName) { return dependencies.find(pipelineName) != null; }
private void addEmptyPipelineInstanceIfNeeded(String pipelineName, PipelineInstanceModels history, Username username, PipelineConfig pipelineConfig, boolean populateCanRun) { if (history.isEmpty()) { PipelineInstanceModel model = addEmptyPipelineInstance(pipelineName, username, pipelineConfig, populateCanRun); history.add(model); } }
public PipelineInstanceModel findPipelineInstance(String pipelineLabel) { if("latest".equals(pipelineLabel) && !pipelineInstances.isEmpty()){ return pipelineInstances.first(); } for (PipelineInstanceModel instance : pipelineInstances) { if (instance.getLabel().equals(pipelineLabel)) { return instance; } } return null; } }
public PipelineModel(String pipelineName, boolean canForce, boolean canOperate, PipelinePauseInfo pipelinePauseInfo) { this.pipelineName = pipelineName; this.canForce = canForce; this.pipelinePauseInfo = pipelinePauseInfo; this.canOperate = canOperate; activePipelineInstances = PipelineInstanceModels.createPipelineInstanceModels(); }
public PipelineDependencyGraphOld pipelineGraphByNameAndCounter(String pipelineName, int pipelineCounter) { PipelineInstanceModels instanceModels = null; try { instanceModels = PipelineInstanceModels.createPipelineInstanceModels((List<PipelineInstanceModel>) getSqlMapClientTemplate().queryForList("pipelineAndItsDepedenciesByNameAndCounter", arguments("pipelineName", pipelineName).and("pipelineCounter", pipelineCounter) .and("stageLocator", pipelineName + "/" + pipelineCounter + "/%/%") .asMap())); } catch (Exception e) { throw new RuntimeException(e); } if (instanceModels.isEmpty()) { return null; } PipelineInstanceModel upstreamPipeline = instanceModels.find(pipelineName); loadPipelineHistoryBuildCause(upstreamPipeline); return new PipelineDependencyGraphOld(upstreamPipeline, dependentPipelines(upstreamPipeline, instanceModels)); }
private PipelineInstanceModels findPIMsWithFallbacks(PipelineConfig pipelineConfig, PipelineInstanceModels historyForDashboard) { String pipelineName = str(pipelineConfig.name()); PipelineInstanceModels pipelinesToShow = historyForDashboard.findAll(pipelineName); if (!pipelinesToShow.isEmpty()) { return pipelinesToShow; } if (triggerMonitor.isAlreadyTriggered(pipelineConfig.name())) { return createPipelineInstanceModels(createPreparingToSchedule(pipelineName, new StageInstanceModels())); } return createPipelineInstanceModels(createEmptyPipelineInstanceModel(pipelineName, createWithEmptyModifications(), new StageInstanceModels())); }
@Test public void shouldFilterPIMS() throws Exception { PipelineDependencyGraphOld graph = new PipelineDependencyGraphOld(pim("upstream"), PipelineInstanceModels.createPipelineInstanceModels(pim("pavan"), pim("raghu"))); PipelineDependencyGraphOld.Filterer filterer = mock(PipelineDependencyGraphOld.Filterer.class); when(filterer.filterPipeline("raghu")).thenReturn(false); when(filterer.filterPipeline("pavan")).thenReturn(true); graph.filterDependencies(filterer); PipelineInstanceModels models = graph.dependencies(); assertThat(models.size(), is(1)); assertThat(models.get(0).getName(), is("pavan")); }
public void addPipelineInstance(PipelineInstanceModel pipelineInstanceModel) { activePipelineInstances.add(pipelineInstanceModel); }
private void assertThatTriggerIsPossibleOnlyIfUpStreamPassed(StageResult upstreamResult) { StageInstanceModels stages = new StageInstanceModels(); stages.add(new StageInstanceModel("stage-0","21", upstreamResult, new StageIdentifier("blahUpStream",23,"stage-0","21"))); PipelineInstanceModel upStream = PipelineHistoryMother.singlePipeline("blahUpStream", stages); PipelineInstanceModel down1 = pim("blahDown1"); down1.setMaterialConfigs(new MaterialConfigs(dependencyMaterialConfig("blahUpStream", "stage-0"))); PipelineDependencyGraphOld graph = new PipelineDependencyGraphOld(upStream, PipelineInstanceModels.createPipelineInstanceModels(down1)); assertThat(graph.hasUpStreamRevisionFor(graph.dependencies().find("blahDown1")),is(upstreamResult== StageResult.Passed)); }
public PipelineModel(PipelineModel other, boolean copyInstances) { this(other.pipelineName, other.canForce, other.canOperate, other.pipelinePauseInfo); this.canAdminister = other.canAdminister; if (copyInstances) { this.activePipelineInstances.addAll(other.activePipelineInstances); } }
private static Consumer<OutputListWriter> writeInstances(GoDashboardPipeline model) { return listWriter -> { model.model().getActivePipelineInstances().stream() .filter(instanceModel -> !(instanceModel instanceof EmptyPipelineInstanceModel)) .forEach(instanceModel -> { listWriter.addChild(childWriter -> PipelineInstanceRepresenter.toJSON(childWriter, instanceModel)); }); }; }
public PipelineInstanceModel getLatestPipelineInstance() { return activePipelineInstances.first(); }
private PipelineGroupModels allPipelineInstances(Username username) { CruiseConfig currentConfig = goConfigService.currentCruiseConfig(); PipelineGroups groups = currentConfig.getGroups(); PipelineInstanceModels activePipelines = filterPermissions(pipelineDao.loadActivePipelines(), username); PipelineGroupModels groupModels = new PipelineGroupModels(); for (PipelineConfig pipelineConfig : currentConfig.getAllPipelineConfigs()) { CaseInsensitiveString pipelineName = pipelineConfig.name(); for (PipelineInstanceModel activePipeline : activePipelines.findAll(CaseInsensitiveString.str(pipelineName))) { activePipeline.setTrackingTool(pipelineConfig.getTrackingTool()); activePipeline.setMingleConfig(pipelineConfig.getMingleConfig()); populatePlaceHolderStages(activePipeline); String groupName = groups.findGroupNameByPipeline(pipelineName); if (groupName == null) { throw new RuntimeException("Unable to find group find pipeline " + pipelineName); } populatePreviousStageState(activePipeline); populateLockStatus(activePipeline.getName(), username, activePipeline); boolean canForce = schedulingCheckerService.canManuallyTrigger(CaseInsensitiveString.str(pipelineName), username); PipelinePauseInfo pauseInfo = pipelinePauseService.pipelinePauseInfo(CaseInsensitiveString.str(pipelineName)); groupModels.addPipelineInstance(groupName, activePipeline, canForce, securityService.hasOperatePermissionForPipeline( username.getUsername(), CaseInsensitiveString.str(pipelineName) ), pauseInfo); } } for (PipelineConfigs group : groups) { populateMissingPipelines(username, groupModels, group); } return groupModels; }
public PipelineInstanceGroupModel(StageConfigurationModels stages) { this.stages = stages; pipelineInstances = PipelineInstanceModels.createPipelineInstanceModels(); }
public void add(PipelineInstanceModel instance) { pipelineInstances.add(instance); }
private void syncHistoryForDashboard(PipelineInstanceModels pipelineHistoryForDashboard, final CaseInsensitiveString pipelineName) { clearEntryFor(pipelineName); historyForDashboard.addAll(pipelineHistoryForDashboard); lastKnownPipelineNames.add(pipelineName); }
private static Consumer<OutputListWriter> writeInstances(GoDashboardPipeline model) { return listWriter -> { model.model().getActivePipelineInstances().stream() .filter(instanceModel -> !(instanceModel instanceof EmptyPipelineInstanceModel)) .forEach(instanceModel -> { listWriter.addChild(childWriter -> PipelineInstanceRepresenter.toJSON(childWriter, instanceModel)); }); }; }