private List<GitMetadata> getForks(final GitMetadata metadata) { return metadata.getForks().stream().map(path -> this.read(path).get()).collect(Collectors.toList()); }
private List<GitMetadata> getForks(final GitMetadata metadata) { return metadata.getForks().stream().map(path -> this.read(path).get()).collect(Collectors.toList()); }
private void removeForkFromOrigin(final GitMetadata metadata) { this.getOrigin(metadata).ifPresent(origin -> { if (origin.getForks().contains(metadata.getName())) { List<String> forks = origin.getForks(); forks.remove(metadata.getName()); GitMetadataImpl newOrigin = new GitMetadataImpl(origin.getName(), origin.getOrigin(), forks); this.storage.write(buildPath(origin.getName()), newOrigin); } }); }
private void removeForkFromOrigin(final GitMetadata metadata) { this.getOrigin(metadata).ifPresent(origin -> { if (origin.getForks().contains(metadata.getName())) { List<String> forks = origin.getForks(); forks.remove(metadata.getName()); GitMetadataImpl newOrigin = new GitMetadataImpl(origin.getName(), origin.getOrigin(), forks); this.storage.write(buildPath(origin.getName()), newOrigin); } }); }
private void removeOriginFromForks(final GitMetadata metadata) { List<GitMetadata> forks = this.getForks(metadata); forks.forEach(fork -> { GitMetadata newForkImpl = new GitMetadataImpl(fork.getName(), fork.getForks()); this.storage.write(buildPath(fork.getName()), newForkImpl); }); }
private void removeOriginFromForks(final GitMetadata metadata) { List<GitMetadata> forks = this.getForks(metadata); forks.forEach(fork -> { GitMetadata newForkImpl = new GitMetadataImpl(fork.getName(), fork.getForks()); this.storage.write(buildPath(fork.getName()), newForkImpl); }); }
metadata.getForks(), pullRequests);
metadata.getForks(), pullRequests);
@Test public void testComplexForkTracking() { metadataStore.write("b/repo", "a/repo"); metadataStore.write("c/repo", "b/repo"); metadataStore.write("d/repo", "c/repo"); assertEquals("c/repo", metadataStore.read("d/repo").get().getOrigin()); assertEquals("b/repo", metadataStore.read("c/repo").get().getOrigin()); assertEquals("a/repo", metadataStore.read("b/repo").get().getOrigin()); assertEquals("b/repo", metadataStore.read("a/repo").get().getForks().get(0)); assertEquals("c/repo", metadataStore.read("b/repo").get().getForks().get(0)); assertEquals("d/repo", metadataStore.read("c/repo").get().getForks().get(0)); }
@Test public void testComplexForkTracking() { metadataStore.write("b/repo", "a/repo"); metadataStore.write("c/repo", "b/repo"); metadataStore.write("d/repo", "c/repo"); assertEquals("c/repo", metadataStore.read("d/repo").get().getOrigin()); assertEquals("b/repo", metadataStore.read("c/repo").get().getOrigin()); assertEquals("a/repo", metadataStore.read("b/repo").get().getOrigin()); assertEquals("b/repo", metadataStore.read("a/repo").get().getForks().get(0)); assertEquals("c/repo", metadataStore.read("b/repo").get().getForks().get(0)); assertEquals("d/repo", metadataStore.read("c/repo").get().getForks().get(0)); }
@Test public void testComplexForkTracking() { metadataStore.write("b/repo", "a/repo"); metadataStore.write("c/repo", "b/repo"); metadataStore.write("d/repo", "c/repo"); assertEquals("c/repo", metadataStore.read("d/repo").get().getOrigin()); assertEquals("b/repo", metadataStore.read("c/repo").get().getOrigin()); assertEquals("a/repo", metadataStore.read("b/repo").get().getOrigin()); assertEquals("b/repo", metadataStore.read("a/repo").get().getForks().get(0)); assertEquals("c/repo", metadataStore.read("b/repo").get().getForks().get(0)); assertEquals("d/repo", metadataStore.read("c/repo").get().getForks().get(0)); }
@Test public void testComplexDelete() { metadataStore.write("b/repo", "a/repo"); metadataStore.write("c/repo", "b/repo"); metadataStore.write("d/repo", "c/repo"); metadataStore.delete("c/repo"); assertEquals("", metadataStore.read("d/repo").get().getOrigin()); assertEquals("a/repo", metadataStore.read("b/repo").get().getOrigin()); assertEquals("b/repo", metadataStore.read("a/repo").get().getForks().get(0)); assertEquals(0, metadataStore.read("b/repo").get().getForks().size()); assertFalse(metadataStore.read("c/repo").isPresent()); } }
@Test public void testComplexDelete() { metadataStore.write("b/repo", "a/repo"); metadataStore.write("c/repo", "b/repo"); metadataStore.write("d/repo", "c/repo"); metadataStore.delete("c/repo"); assertEquals("", metadataStore.read("d/repo").get().getOrigin()); assertEquals("a/repo", metadataStore.read("b/repo").get().getOrigin()); assertEquals("b/repo", metadataStore.read("a/repo").get().getForks().get(0)); assertEquals(0, metadataStore.read("b/repo").get().getForks().size()); assertFalse(metadataStore.read("c/repo").isPresent()); } }
@Test public void testComplexDelete() { metadataStore.write("b/repo", "a/repo"); metadataStore.write("c/repo", "b/repo"); metadataStore.write("d/repo", "c/repo"); metadataStore.delete("c/repo"); assertEquals("", metadataStore.read("d/repo").get().getOrigin()); assertEquals("a/repo", metadataStore.read("b/repo").get().getOrigin()); assertEquals("b/repo", metadataStore.read("a/repo").get().getForks().get(0)); assertEquals(0, metadataStore.read("b/repo").get().getForks().size()); assertFalse(metadataStore.read("c/repo").isPresent()); } }
@Override public void deletePullRequest(final PullRequest pullRequest) { checkNotNull("pullRequest", pullRequest); checkNotNull("id", pullRequest.getId()); checkNotEmpty("targetRepository", pullRequest.getTargetRepository()); String repository = pullRequest.getTargetRepository(); long id = pullRequest.getId(); GitMetadata metadata = getRepositoryMetadata(repository); PullRequest removablePullRequest = metadata.getPullRequest(id); List<PullRequest> finalPullRequests = metadata.getPullRequests(); finalPullRequests.remove(removablePullRequest); GitMetadata storableMetadata = new GitMetadataImpl(metadata.getName(), metadata.getOrigin(), metadata.getForks(), finalPullRequests); this.metadataStore.write(storableMetadata.getName(), storableMetadata); this.deleteHiddenBranch(removablePullRequest); }
@Override public void deletePullRequest(final PullRequest pullRequest) { checkNotNull("pullRequest", pullRequest); checkNotNull("id", pullRequest.getId()); checkNotEmpty("targetRepository", pullRequest.getTargetRepository()); String repository = pullRequest.getTargetRepository(); long id = pullRequest.getId(); GitMetadata metadata = getRepositoryMetadata(repository); PullRequest removablePullRequest = metadata.getPullRequest(id); List<PullRequest> finalPullRequests = metadata.getPullRequests(); finalPullRequests.remove(removablePullRequest); GitMetadata storableMetadata = new GitMetadataImpl(metadata.getName(), metadata.getOrigin(), metadata.getForks(), finalPullRequests); this.metadataStore.write(storableMetadata.getName(), storableMetadata); this.deleteHiddenBranch(removablePullRequest); }
protected void changePullRequestStatus(final String repository, final long id, final PullRequestStatus status) { checkNotEmpty("repository", repository); checkNotNull("status", status); GitMetadata metadata = getRepositoryMetadata(repository); PullRequest pullRequest = metadata.getPullRequest(id); PullRequestImpl finalPullRequest = new PullRequestImpl(pullRequest.getId(), pullRequest.getSourceRepository(), pullRequest.getSourceBranch(), pullRequest.getTargetRepository(), pullRequest.getTargetBranch(), status); List<PullRequest> finalPullRequests = metadata.getPullRequests(elem -> elem.getId() != id); finalPullRequests.add(finalPullRequest); GitMetadata storableMetadata = new GitMetadataImpl(metadata.getName(), metadata.getOrigin(), metadata.getForks(), finalPullRequests); this.metadataStore.write(storableMetadata.getName(), storableMetadata); }
protected void changePullRequestStatus(final String repository, final long id, final PullRequestStatus status) { checkNotEmpty("repository", repository); checkNotNull("status", status); GitMetadata metadata = getRepositoryMetadata(repository); PullRequest pullRequest = metadata.getPullRequest(id); PullRequestImpl finalPullRequest = new PullRequestImpl(pullRequest.getId(), pullRequest.getSourceSpace(), pullRequest.getSourceRepository(), pullRequest.getSourceBranch(), pullRequest.getTargetSpace(), pullRequest.getTargetRepository(), pullRequest.getTargetBranch(), status); List<PullRequest> finalPullRequests = metadata.getPullRequests(elem -> elem.getId() != id); finalPullRequests.add(finalPullRequest); GitMetadata storableMetadata = new GitMetadataImpl(metadata.getName(), metadata.getOrigin(), metadata.getForks(), finalPullRequests); this.metadataStore.write(storableMetadata.getName(), storableMetadata); }