@Override public void write(String name, String origin) { GitMetadataImpl repositoryMetadata = (GitMetadataImpl) this.read(name).orElse(new GitMetadataImpl(name)); this.removeForkFromOrigin(repositoryMetadata); GitMetadataImpl newRepositoryMetadata = new GitMetadataImpl(name, repositoryMetadata.getForks()); if (isStorableOrigin(origin)) { newRepositoryMetadata = new GitMetadataImpl(name, origin, repositoryMetadata.getForks()); GitMetadataImpl originMetadata = (GitMetadataImpl) this.read(origin).orElse(new GitMetadataImpl(origin)); List<String> forks = originMetadata.getForks(); forks.add(name); this.write(origin, new GitMetadataImpl(origin, originMetadata.getOrigin(), forks)); } this.write(name, newRepositoryMetadata); }
@Override public void write(String name, String origin) { GitMetadataImpl repositoryMetadata = (GitMetadataImpl) this.read(name).orElse(new GitMetadataImpl(name)); this.removeForkFromOrigin(repositoryMetadata); GitMetadataImpl newRepositoryMetadata = new GitMetadataImpl(name, repositoryMetadata.getForks()); if (isStorableOrigin(origin)) { newRepositoryMetadata = new GitMetadataImpl(name, origin, repositoryMetadata.getForks()); GitMetadataImpl originMetadata = (GitMetadataImpl) this.read(origin).orElse(new GitMetadataImpl(origin)); List<String> forks = originMetadata.getForks(); forks.add(name); this.write(origin, new GitMetadataImpl(origin, originMetadata.getOrigin(), forks)); } this.write(name, newRepositoryMetadata); }
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); }); }
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); } }); }
GitMetadata newMetadata = new GitMetadataImpl(metadata.getName(), metadata.getOrigin(), metadata.getForks(),
GitMetadata newMetadata = new GitMetadataImpl(metadata.getName(), metadata.getOrigin(), metadata.getForks(),
@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); }