public MaterialConfig getByFingerPrint(String fingerPrint) { for (MaterialConfig material : this) { if (material.getPipelineUniqueFingerprint().equals(fingerPrint)) { return material; } } return null; }
public MaterialConfig findMaterial(final CaseInsensitiveString pipeline, String pipelineUniqueFingerprint) { MaterialConfigs materialConfigs = materialConfigsFor(pipeline); for (MaterialConfig materialConfig : materialConfigs) { if (pipelineUniqueFingerprint.equals(materialConfig.getPipelineUniqueFingerprint())) { return materialConfig; } } LOGGER.error("material with fingerprint [{}] not found in pipeline [{}]", pipelineUniqueFingerprint, pipeline); return null; }
public MaterialRevision findRevisionFor(MaterialConfig material) { for (MaterialRevision revision : revisions) { if (material.getPipelineUniqueFingerprint().equals(revision.getMaterial().getPipelineUniqueFingerprint())) { return revision; } } return null; }
private MaterialRevision findCurrentMaterialRevisionUsingPipelineUniqueFingerprint(MaterialConfig materialConfig) { for (MaterialRevision materialRevision : buildCause.getMaterialRevisions()) { if (materialRevision.getMaterial().getPipelineUniqueFingerprint().equals(materialConfig.getPipelineUniqueFingerprint())) { return materialRevision; } } return null; }
@Override public void build(ScheduleOptions scheduleOptions, HttpOperationResult result, String pipelineName, PipelineScheduleOptions pipelineScheduleOptions, HealthStateType healthStateType) { for (MaterialForScheduling materialForScheduling : pipelineScheduleOptions.getMaterials()) { try { MaterialConfig material = goConfigService.materialForPipelineWithFingerprint(pipelineName, materialForScheduling.getFingerprint()); if (StringUtils.isBlank(materialForScheduling.getRevision())) { result.unprocessibleEntity("Request to schedule pipeline rejected", String.format("Material [%s] has empty revision", materialForScheduling.getFingerprint()), HealthStateType.general(HealthStateScope.GLOBAL)); return; } scheduleOptions.getSpecifiedRevisions().put(material.getPipelineUniqueFingerprint(), materialForScheduling.getRevision()); } catch (Exception e) { result.unprocessibleEntity("Request to schedule pipeline rejected", String.format("Pipeline '%s' does not contain the following material(s): [%s].", pipelineName, materialForScheduling.getFingerprint()), healthStateType); return; } } } }