public boolean hasModifications() { return modifications.size() > 0; }
private boolean shouldCache(Modifications modifications) { return modifications.size() <= latestModificationsCacheLimit; }
public int numberOfModifications() { return modifications.size(); }
private void assertHasModifications() { if (modifications.size() == 0) { bomb(String.format("There are no modifications on material %s.", material)); } }
public Date getDateOfLatestModification() { if (modifications.size() > 0) { return modifications.get(0).getModifiedTime(); } else { return null; } }
public Modification getOldestModification() { assertHasModifications(); return modifications.get(modifications.size() - 1); }
public Revision oldestRevision(Modifications modifications) { if (modifications.size() > 1) { LOGGER.warn("Dependency material {} has multiple modifications", this.getDisplayName()); } Modification oldestModification = modifications.get(modifications.size() - 1); String revision = oldestModification.getRevision(); return DependencyMaterialRevision.create(revision, oldestModification.getPipelineLabel()); }
public static Revision oldestRevision(Modifications modifications) { if (modifications.isEmpty()) { throw new RuntimeException("Cannot find oldest revision."); } else { return new StringRevision(modifications.get(modifications.size()-1).getRevision()); } }
@Override public Revision oldestRevision(Modifications modifications) { if (modifications.isEmpty()) { return new NullRevision(); } Modification modification = modifications.get(modifications.size() - 1); return new PluggableSCMMaterialRevision(modification.getRevision(), modification.getModifiedTime()); }
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)); } }
@Test public void shouldReturnOnlyLatestModificationIfNoNewChangesAvailable() throws Exception { Modification modificationForRevisionTip = new Modification("Unknown", "Unknown", null, new Date(), REVISION_2.getRevision()); Modification olderModification = new Modification("Unknown", "Unknown", null, new Date(), REVISION_0.getRevision()); MaterialRevision revision = new MaterialRevision(hgMaterial, modificationForRevisionTip, olderModification); MaterialRevision unchangedRevision = findNewRevision(revision, hgMaterial, workingFolder, new TestSubprocessExecutionContext()); assertThat(unchangedRevision.getModifications().size(), is(1)); assertThat(unchangedRevision.getModifications().get(0), is(modificationForRevisionTip)); }
@Test public void shouldGetLatestRevision() { SvnMaterial svn = svnMaterial(svnRepo.projectRepositoryUrl(), null); SvnMaterial svnExt = svnMaterial(svnRepo.externalRepositoryUrl(), "end2end"); final Materials materials = new Materials(svn, svnExt); final MaterialRevisions materialRevisions = materials.latestModification(svnRepo.workingFolder(), new TestSubprocessExecutionContext()); assertThat(materialRevisions.numberOfRevisions(), is(2)); MaterialRevision main = materialRevisions.getRevisions().get(0); assertThat(main.getMaterial(), is(svn)); assertThat(main.getModifications().size(), is(1)); assertThat(main.getRevision().getRevision(), is("5")); MaterialRevision external = materialRevisions.getRevisions().get(1); assertThat(external.getMaterial(), is(svnExt)); assertThat(external.getRevision().getRevision(), is("4")); assertThat(external.getModifications().size(), is(1)); } }