@Override public void serialize(Revision value, JsonGenerator gen, SerializerProvider provider) throws IOException { gen.writeNumber(value.major()); } }
@Override public void serialize(Revision value, JsonGenerator gen, SerializerProvider provider) throws IOException { gen.writeNumber(value.major()); } }
@Override public void serialize(Revision value, JsonGenerator gen, SerializerProvider provider) throws IOException { gen.writeNumber(value.major()); } }
@Override protected Revision doForward(com.linecorp.centraldogma.common.Revision rev) { return new Revision(rev.major(), 0); }
@Override protected Revision doForward(com.linecorp.centraldogma.common.Revision rev) { return new Revision(rev.major(), 0); }
@Override public Revision normalizeNow(Revision revision) { return normalizeNow(revision, cachedHeadRevision().major()); }
@Override public Revision normalizeNow(Revision revision) { return normalizeNow(revision, cachedHeadRevision().major()); }
@Override public Revision normalizeNow(Revision revision) { return normalizeNow(revision, cachedHeadRevision().major()); }
static RevisionDto convert(Revision revision) { return new RevisionDto(revision.major(), 0, revision.text()); }
static RevisionDto convert(Revision revision) { return new RevisionDto(revision.major(), 0, revision.text()); }
static RevisionDto convert(Revision revision) { return new RevisionDto(revision.major(), 0, revision.text()); }
@Override public Set<Mirror> mirrors() { mirrorLock.lock(); try { final int headRev = normalizeNow(Revision.HEAD).major(); final Set<String> repos = parent().repos().list().keySet(); if (headRev > mirrorRev || !mirrorRepos.equals(repos)) { mirrors = loadMirrors(headRev); mirrorRev = headRev; mirrorRepos = repos; } return mirrors; } finally { mirrorLock.unlock(); } }
/** * GET /projects/{projectName}/repos/{repoName}/revision/{revision} * * <p>Normalizes the revision into an absolute revision. */ @Get("/projects/{projectName}/repos/{repoName}/revision/{revision}") @RequiresReadPermission public Map<String, Integer> normalizeRevision(Repository repository, @Param("revision") String revision) { final Revision normalizedRevision = repository.normalizeNow(new Revision(revision)); return ImmutableMap.of("revision", normalizedRevision.major()); } }
@Override public RevisionRange normalizeNow(Revision from, Revision to) { final int baseMajor = cachedHeadRevision().major(); return new RevisionRange(normalizeNow(from, baseMajor), normalizeNow(to, baseMajor)); }
@Override public RevisionRange normalizeNow(Revision from, Revision to) { final int baseMajor = cachedHeadRevision().major(); return new RevisionRange(normalizeNow(from, baseMajor), normalizeNow(to, baseMajor)); }
@Override public RevisionRange normalizeNow(Revision from, Revision to) { final int baseMajor = cachedHeadRevision().major(); return new RevisionRange(normalizeNow(from, baseMajor), normalizeNow(to, baseMajor)); }
/** * Tests the case where a commit is attempted at an old base revision. */ @Test public void testLateCommit() throws Exception { // Increase the head revision by one by pushing one commit. final Revision rev = repo.commit(HEAD, 0L, Author.UNKNOWN, SUMMARY, jsonUpserts[0]).join(); // Attempt to commit again with an old revision. assertThatThrownBy(() -> repo .commit(new Revision(rev.major() - 1), 0L, Author.UNKNOWN, SUMMARY, jsonUpserts[1]).join()) .isInstanceOf(CompletionException.class) .hasCauseInstanceOf(ChangeConflictException.class); }
/** * GET /projects/{projectName}/repos/{repoName}/revision/{revision} * * <p>Normalizes the revision into an absolute revision. */ @Get("/projects/{projectName}/repos/{repoName}/revision/{revision}") @RequiresReadPermission public Map<String, Integer> normalizeRevision(Repository repository, @Param("revision") String revision) { final Revision normalizedRevision = repository.normalizeNow(new Revision(revision)); return ImmutableMap.of("revision", normalizedRevision.major()); } }
/** * GET /projects/{projectName}/repos/{repoName}/revision/{revision} * * <p>Normalizes the revision into an absolute revision. */ @Get("/projects/{projectName}/repos/{repoName}/revision/{revision}") @Decorator(HasReadPermission.class) public Map<String, Integer> normalizeRevision(Repository repository, @Param("revision") String revision) { final Revision normalizedRevision = repository.normalizeNow(new Revision(revision)); return ImmutableMap.of("revision", normalizedRevision.major()); } }
/** * when the target path or revision is not valid, return an empty map. */ @Test public void testFind_invalidParameter() throws Exception { final String jsonNodePath = "/node.json"; final String jsonString = "{\"key\":\"value\"}"; final Change<JsonNode> jsonChange = Change.ofJsonUpsert(jsonNodePath, jsonString); final Revision revision = repo.commit(HEAD, 0L, Author.UNKNOWN, SUMMARY, jsonChange).join(); assertThatThrownBy(() -> repo.find(new Revision(revision.major() + 1), jsonNodePath).join()) .isInstanceOf(CompletionException.class) .hasCauseInstanceOf(RevisionNotFoundException.class); }