public MaterialRevision findRevisionUsingMaterialFingerprintFor(Material material) { for (MaterialRevision revision : revisions) { if (material.getFingerprint().equals(revision.getMaterial().getFingerprint())) { return revision; } } return null; }
private boolean sameMaterial(Material thatMaterial) { Material material = this.materialRevision.getMaterial(); if(material == thatMaterial) return true; return material != null ? (thatMaterial != null && material.getFingerprint().equals(thatMaterial.getFingerprint())) : thatMaterial == null; }
private Modifications mapContainsMaterialWithFingerprint(Map<Material, Modifications> grouped, String fingerPrint) { for (Material material : grouped.keySet()) { if (material.getFingerprint().equals(fingerPrint)) { return grouped.get(material); } } return null; }
public boolean hasMaterialConfigWithFingerprint(MaterialConfig materialConfig) { for (Material material : this) { if (material.getFingerprint().equals(materialConfig.getFingerprint())) { return true; } } return false; }
final String materialKey(Material material) { // we intern() it because we synchronize on the returned String return materialKey(material.getFingerprint()); }
public MaterialRevision findRevisionForFingerPrint(String fingerprint) {//TODO: pass material in, it has a method to equate fingerprints(this is bad encapsulation) -jj/shilpa for (MaterialRevision revision : revisions) { if (fingerprint.equals(revision.getMaterial().getFingerprint())) { return revision; } } return null; }
private boolean isConfigMaterial(Material material) { return watchList.hasConfigRepoWithFingerprint(material.getFingerprint()); }
public void mduStartedForMaterial(Material material) { runningMDUs.put(material.getFingerprint(), new MaterialPerformingMDU(material, new Timestamp(timeProvider.currentTimeMillis()))); }
public void insertLatestOrNewModifications(Material material, MaterialInstance materialInstance, File folder, Modifications list) { List<Modification> newChanges = list.isEmpty() ? materialChecker.findLatestModification(folder, material, subprocessExecutionContext) : materialService.modificationsSince(material, folder, list.latestRevision(material), subprocessExecutionContext); if (newChanges.isEmpty()) { LOGGER.debug("[Material Update] Did not find any new modifications for material '{}' with flyweight '{}' using working directory '{}'", material, material.getFingerprint(), folder.getAbsolutePath()); } else { LOGGER.info("[Material Update] Found '{}' modifications for material '{}' with flyweight '{}' using working directory '{}'", newChanges.size(), material, material.getFingerprint(), folder.getAbsolutePath()); materialRepository.saveModifications(materialInstance, newChanges); } }
private MaterialConfig materialFrom(MaterialConfigs knownMaterials, MaterialRevision materialRevision) { for (MaterialConfig knownMaterial : knownMaterials) { if (knownMaterial.getFingerprint().equals(materialRevision.getMaterial().getFingerprint())) { return knownMaterial; } } return null; }
public long materialSentToUpdateQueue(Material material) { long trackingId = currentTrackingId++; performanceLogger.log("MDU-QUEUE-PUT {} {} {}", trackingId, material.getFingerprint(), material.getDisplayName()); return trackingId; }
private String mutexForMaterial(Material material) { if (material instanceof DependencyMaterial) { DependencyMaterial dep = ((DependencyMaterial) material); return String.format(MATERIALS_MUTEX_FORMAT, dep.getPipelineName().toLower(), dep.getStageName().toLower()).intern(); } else { return String.format(MATERIALS_MUTEX_FORMAT, material.getFingerprint(), "-this-lock-should-not-be-acquired-by-anyone-else-inadvertently").intern(); } } }
public void postingMessageAboutMDUCompletion(long trackingId, Material material) { performanceLogger.log("MDU-DONE {} {} {}", trackingId, material.getFingerprint(), material.getDisplayName()); }
@Override public int hashCode() { int result; result = (materialRevision.getMaterial() != null ? materialRevision.getMaterial().getFingerprint().hashCode() : 0); result = 31 * result + (materialRevision.getModifications() != null ? materialRevision.getModifications().hashCode() : 0); return result; }
private void assertAllDirectDependenciesArePresentInInput(MaterialRevisions actualRevisions, CaseInsensitiveString pipelineName) { Collection<String> actualRevFingerprints = CollectionUtils.collect(actualRevisions.iterator(), actualRevision -> actualRevision.getMaterial().getFingerprint()); for (FanInNode child : root.children) { //The dependency material that is not in 'passed' state will not be found in actual revisions if (!actualRevFingerprints.contains(child.materialConfig.getFingerprint())) { throw NoCompatibleUpstreamRevisionsException.doesNotHaveValidRevisions(pipelineName, child.materialConfig); } } }
public ValueStreamMap(Material material, MaterialInstance materialInstance, Modification modification) { currentMaterial = new SCMDependencyNode(material.getFingerprint(), material.getUriForDisplay(), material.getTypeForDisplay()); currentMaterialInstance = materialInstance; nodeIdToNodeMap.put(currentMaterial.getId(), currentMaterial); ((SCMDependencyNode)currentMaterial).addMaterialRevision(new MaterialRevision(material, false, modification)); }
private MaterialRevision getRevisionFor(List<PipelineConfig> path, DependencyMaterialRevision initialRevision, Material matchedMaterial) { Pipeline byNameAndCounter = pipelineDao.findPipelineByNameAndCounter(initialRevision.getPipelineName(), initialRevision.getPipelineCounter()); MaterialRevisions revisions = materialRepository.findMaterialRevisionsForPipeline(byNameAndCounter.getId()); path.remove(0); if (path.isEmpty()) { return revisions.findRevisionForFingerPrint(matchedMaterial.getFingerprint()); } return getRevisionFor(path, revisions.findDependencyMaterialRevision(CaseInsensitiveString.str(path.get(0).name())), matchedMaterial); }
private ValueStreamMap buildValueStreamMap(Material material, MaterialInstance materialInstance, Modification modification, List<PipelineConfig> downstreamPipelines, Username username) { CruiseConfig cruiseConfig = goConfigService.currentCruiseConfig(); ValueStreamMap valueStreamMap = new ValueStreamMap(material, materialInstance, modification); Map<CaseInsensitiveString, List<PipelineConfig>> pipelineToDownstreamMap = cruiseConfig.generatePipelineVsDownstreamMap(); traverseDownstream(new CaseInsensitiveString(material.getFingerprint()), downstreamPipelines, pipelineToDownstreamMap, valueStreamMap, new ArrayList<>()); addInstanceInformationToTheGraph(valueStreamMap); removeRevisionsBasedOnPermissionAndCurrentConfig(valueStreamMap, username); return valueStreamMap; }
@Theory public void shouldBeSameObject_WhenConversionIsDoneFromMaterialToMaterialInstanceAndBack(MaterialConfig materialConfig) throws Exception { Material material = materialConfigConverter.toMaterial(materialConfig); MaterialInstance materialInstance = material.createMaterialInstance(); Material materialConvertedBackFromInstance = materialInstance.toOldMaterial(materialConfig.getName().toString(), materialConfig.getFolder(), "pass"); assertTrue(message("Material <-> MaterialInstance conversion failed.", material, materialConvertedBackFromInstance), reflectionEquals(material, materialConvertedBackFromInstance, fieldsWhichShouldBeIgnoredWhenSavedInDbAndGotBack.get(materialConfig.getClass()))); assertThat(materialInstance.getFingerprint(), is(material.getFingerprint())); assertThat(materialConvertedBackFromInstance.getFingerprint(), is(materialInstance.getFingerprint())); assertPasswordIsCorrect(material); assertPasswordIsCorrect(materialConvertedBackFromInstance); }
public static void toJSON(OutputWriter jsonOutputWriter, Modification model, Material material) { jsonOutputWriter .addLinks(linksWriter -> { linksWriter.addLink("vsm", Routes.Materials.vsm(material.getFingerprint(), model.getRevision())); }) .addIfNotNull("user_name", model.getUserName()) .addIfNotNull("email_address", model.getEmailAddress()) .addIfNotNull("revision", model.getRevision()) .addIfNotNull("modified_time", model.getModifiedTime()) .addIfNotNull("comment", model.getComment()); } }