public List<DependencyMaterial> getDependencyMaterials() { List<DependencyMaterial> mats = new ArrayList<DependencyMaterial>(); for(MaterialRevision materialRevision : this) { Material material = materialRevision.getMaterial(); if (material instanceof DependencyMaterial) { mats.add((DependencyMaterial) material); } } return mats; }
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 ensureHasRevisionForMaterial(MaterialRevisions alreadyFoundRevisions, MaterialRevisions revisions, Material material) { for (MaterialRevision alreadyFoundRevision : alreadyFoundRevisions) { if (material.equals(alreadyFoundRevision.getMaterial())) { revisions.addRevision(alreadyFoundRevision); return true; } } return false; }
private boolean internalHasChangedSince(MaterialRevisions original) { if (revisions.size() != original.revisions.size()) { return true; } for (MaterialRevision revision : revisions) { MaterialRevision originalRevision = original.findRevisionFor(revision.getMaterial()); if (originalRevision == null || revision.hasChangedSince(originalRevision)) { return true; } } return false; }
public boolean containsModificationForFingerprint(Material material) { String pipelineUniqueFingerprint = material.getPipelineUniqueFingerprint(); for (MaterialRevision materialRevision : this) { if (pipelineUniqueFingerprint.equals(materialRevision.getMaterial().getPipelineUniqueFingerprint())) { return true; } } return false; }
public MaterialRevision findRevisionFor(Material material) { for (MaterialRevision revision : revisions) { if (material.getPipelineUniqueFingerprint().equals(revision.getMaterial().getPipelineUniqueFingerprint())) { return revision; } } return null; }
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; }
public MaterialRevision findRevisionFor(MaterialConfig material) { for (MaterialRevision revision : revisions) { if (material.getPipelineUniqueFingerprint().equals(revision.getMaterial().getPipelineUniqueFingerprint())) { return revision; } } return null; }
private void copyMissingRevisions(MaterialRevisions srcRevisions, MaterialRevisions destRevisions) { for (MaterialRevision actualRevision : srcRevisions) { if (!alreadyAdded(destRevisions, actualRevision.getMaterial())) { destRevisions.addRevision(actualRevision); } } }
public void updateRevisionChangedStatus(MaterialRevisions original) { for (MaterialRevision materialRevision : this) { materialRevision.updateRevisionChangedStatus(original.findRevisionFor(materialRevision.getMaterial())); } }
@Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; MaterialRevisionWrapper that = (MaterialRevisionWrapper) o; if(this.materialRevision == that.materialRevision) return true; return sameMaterial(that.materialRevision.getMaterial()) && sameModifications(that.materialRevision.getModifications()); }
private MaterialRevision findCurrentMaterialRevisionUsingPipelineUniqueFingerprint(MaterialConfig materialConfig) { for (MaterialRevision materialRevision : buildCause.getMaterialRevisions()) { if (materialRevision.getMaterial().getPipelineUniqueFingerprint().equals(materialConfig.getPipelineUniqueFingerprint())) { return materialRevision; } } return null; }
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; }
private MaterialRevisions restoreOriginalOrder(MaterialRevisions actualRevisions, MaterialRevisions computedRevisions) { MaterialRevisions orderedComputedRevisions = new MaterialRevisions(); for (MaterialRevision actualRevision : actualRevisions) { orderedComputedRevisions.addRevision(computedRevisions.findRevisionFor(actualRevision.getMaterial())); } return orderedComputedRevisions; }
private MaterialRevisions restoreOriginalMaterialConfigAndMaterialOrderUsingFingerprint(MaterialRevisions actualRevisions, MaterialRevisions computedRevisions) { MaterialRevisions orderedComputedRevisions = new MaterialRevisions(); for (MaterialRevision actualRevision : actualRevisions) { MaterialRevision revisionForMaterial = computedRevisions.findRevisionUsingMaterialFingerprintFor(actualRevision.getMaterial()); MaterialRevision materialRevisionWithRestoredMaterialConfig = new MaterialRevision(actualRevision.getMaterial(), revisionForMaterial.isChanged(), revisionForMaterial.getModifications()); orderedComputedRevisions.addRevision(materialRevisionWithRestoredMaterialConfig); } return orderedComputedRevisions; }
public boolean shouldIgnore(MaterialRevision revision) { Material material = revision.getMaterial(); for (MaterialConfig materialConfig : node.materialConfigs()) { if (material.hasSameFingerprint(materialConfig)) { return revision.getModifications().shouldBeIgnoredByFilterIn(materialConfig); } } throw new RuntimeException("Material not found: " + material);//IMP: because, config can change between BCPS call and build cause production - shilpa/jj } }
private MaterialRevisions filter(MaterialRevisions other) { MaterialRevisions filtered = new MaterialRevisions(); for (MaterialRevision myRevision : revisions) { MaterialRevision originalRevision = other.findRevisionFor(myRevision.getMaterial()); filtered.addRevision(myRevision.filter(originalRevision)); } return filtered; }
public void useMaterialRevision(MaterialRevision materialRevision) { setFromModification(materialRevision.getOldestModification()); setToModification(materialRevision.getLatestModification()); recomputeFromModification(materialRevision.getMaterial()); }
private void assertRevisions(BuildAssignment buildAssignment, MaterialRevision expectedRevision) { MaterialRevision actualRevision = buildAssignment.materialRevisions().findRevisionFor(expectedRevision.getMaterial()); assertThat(actualRevision.getMaterial(), is(expectedRevision.getMaterial())); assertThat(actualRevision.getModifications().size(), is(expectedRevision.getModifications().size())); for (int i = 0; i < actualRevision.getModifications().size(); i++) { final Modification actualModification = actualRevision.getModifications().get(i); final Modification expectedModification = expectedRevision.getModifications().get(i); assertThat(actualModification.getRevision(), is(expectedModification.getRevision())); assertThat(actualModification.getModifiedFiles().isEmpty(), is(true)); } }