private boolean hasSameMaterialName(Material material, PipelineMaterialRevision pmr) { if (material.getName() == null && pmr.getMaterialName() == null) { return true; } if (material.getName() == null && pmr.getMaterialName() != null) { return false; } return material.getName().equals(new CaseInsensitiveString(pmr.getMaterialName())); }
public Map<CaseInsensitiveString, String> getNamedRevisions() { Map<CaseInsensitiveString, String> results = new HashMap<>(); for (MaterialRevision mr : revisions) { CaseInsensitiveString materialName = mr.getMaterial().getName(); if (!CaseInsensitiveString.isBlank(materialName)) { results.put(materialName, getRevisionValueOf(mr.getRevision())); } } return results; }
public Revision getCurrentRevision(String requestedMaterialName) { for (MaterialRevision materialRevision : getCurrentRevisions()) { String materialName = CaseInsensitiveString.str(materialRevision.getMaterial().getName()); if(materialName != null && materialName.equals(requestedMaterialName)) { return materialRevision.getRevision(); } } throw new RuntimeException("material not known for pipeline " + getName()); }
@Test public void shouldSetNameAsNullIfNoNameSpecified() { TfsMaterialInstance instance1 = new TfsMaterialInstance("http://foo.com", "username", "CORPORATE", "some_project_path", "blah"); Material material = instance1.toOldMaterial(null, "some_folder", "password"); assertThat(material.getName(), is(nullValue())); } }
public PipelineMaterialRevision(long pipelineId, MaterialRevision revision, Long actualFromModificationId) { this(CaseInsensitiveString.str(revision.getMaterial().getName()), revision.getMaterial().getFolder(), pipelineId, revision.getOldestModification(), revision.getLatestModification(), revision.isChanged(), actualFromModificationId); recomputeFromModification(revision.getMaterial()); }
private void traverseUpstream(CaseInsensitiveString pipelineName, BuildCause buildCause, ValueStreamMap graph, List<MaterialRevision> visitedNodes) { for (MaterialRevision materialRevision : buildCause.getMaterialRevisions()) { Material material = materialRevision.getMaterial(); if (material instanceof DependencyMaterial) { CaseInsensitiveString upstreamPipeline = ((DependencyMaterial) material).getPipelineName(); DependencyMaterialRevision revision = (DependencyMaterialRevision) materialRevision.getRevision(); graph.addUpstreamNode(new PipelineDependencyNode(upstreamPipeline, upstreamPipeline.toString()), new PipelineRevision(revision.getPipelineName(), revision.getPipelineCounter(), revision.getPipelineLabel()), pipelineName); if (visitedNodes.contains(materialRevision)) { continue; } visitedNodes.add(materialRevision); DependencyMaterialRevision dmrOfUpstreamPipeline = buildCause.getMaterialRevisions().findDependencyMaterialRevision(upstreamPipeline.toString()); BuildCause buildCauseForUpstreamPipeline = pipelineService.buildCauseFor(dmrOfUpstreamPipeline.getPipelineName(), dmrOfUpstreamPipeline.getPipelineCounter()); traverseUpstream(upstreamPipeline, buildCauseForUpstreamPipeline, graph, visitedNodes); } else { graph.addUpstreamMaterialNode(new SCMDependencyNode(material.getFingerprint(), material.getUriForDisplay(), materialRevision.getMaterialType()), material.getName(), pipelineName, materialRevision); } } }