diff --git a/plugins/github/src/org/jetbrains/plugins/github/pullrequest/action/GithubPullRequestKeys.kt b/plugins/github/src/org/jetbrains/plugins/github/pullrequest/action/GithubPullRequestKeys.kt index daccf6fc02e2..4a1ac0833e53 100644 --- a/plugins/github/src/org/jetbrains/plugins/github/pullrequest/action/GithubPullRequestKeys.kt +++ b/plugins/github/src/org/jetbrains/plugins/github/pullrequest/action/GithubPullRequestKeys.kt @@ -9,7 +9,7 @@ import org.jetbrains.plugins.github.api.GithubServerPath import org.jetbrains.plugins.github.api.data.GithubRepoDetailed import org.jetbrains.plugins.github.api.data.GithubSearchedIssue import org.jetbrains.plugins.github.pullrequest.GithubPullRequestsComponentFactory -import org.jetbrains.plugins.github.pullrequest.data.GithubPullRequestsDataLoader +import org.jetbrains.plugins.github.pullrequest.data.GithubPullRequestDataProvider object GithubPullRequestKeys { @JvmStatic @@ -22,7 +22,7 @@ object GithubPullRequestKeys { val SELECTED_PULL_REQUEST = DataKey.create("org.jetbrains.plugins.github.pullrequest.selected") @JvmStatic val SELECTED_PULL_REQUEST_DATA_PROVIDER = - DataKey.create("org.jetbrains.plugins.github.pullrequest.selected.dataprovider") + DataKey.create("org.jetbrains.plugins.github.pullrequest.selected.dataprovider") @JvmStatic val REPOSITORY = DataKey.create("org.jetbrains.plugins.github.pullrequest.repository") @JvmStatic diff --git a/plugins/github/src/org/jetbrains/plugins/github/pullrequest/data/GithubPullRequestDataProvider.kt b/plugins/github/src/org/jetbrains/plugins/github/pullrequest/data/GithubPullRequestDataProvider.kt new file mode 100644 index 000000000000..be99ffd4c299 --- /dev/null +++ b/plugins/github/src/org/jetbrains/plugins/github/pullrequest/data/GithubPullRequestDataProvider.kt @@ -0,0 +1,15 @@ +// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +package org.jetbrains.plugins.github.pullrequest.data + +import com.intellij.openapi.util.Couple +import com.intellij.openapi.vcs.changes.Change +import git4idea.GitCommit +import org.jetbrains.plugins.github.api.data.GithubPullRequestDetailedWithHtml +import java.util.concurrent.CompletableFuture + +interface GithubPullRequestDataProvider { + val detailsRequest: CompletableFuture + val branchFetchRequest: CompletableFuture> + val logCommitsRequest: CompletableFuture> + val changesRequest: CompletableFuture> +} \ No newline at end of file diff --git a/plugins/github/src/org/jetbrains/plugins/github/pullrequest/data/GithubPullRequestsDataLoader.kt b/plugins/github/src/org/jetbrains/plugins/github/pullrequest/data/GithubPullRequestsDataLoader.kt index a9544d62375f..deea645a66d0 100644 --- a/plugins/github/src/org/jetbrains/plugins/github/pullrequest/data/GithubPullRequestsDataLoader.kt +++ b/plugins/github/src/org/jetbrains/plugins/github/pullrequest/data/GithubPullRequestsDataLoader.kt @@ -63,7 +63,7 @@ class GithubPullRequestsDataLoader(private val project: Project, } @CalledInAwt - fun getDataProvider(githubSearchedIssue: GithubSearchedIssue): DataProvider { + fun getDataProvider(githubSearchedIssue: GithubSearchedIssue): GithubPullRequestDataProvider { if (isDisposed) throw IllegalStateException("Already disposed") return cache.get(githubSearchedIssue.number) { @@ -78,7 +78,7 @@ class GithubPullRequestsDataLoader(private val project: Project, invalidationEventDispatcher.addListener(listener, disposable) private inner class DataTask(private val url: String, private val progressIndicator: ProgressIndicator) - : Task.Backgroundable(project, "Load Pull Request Data", true), DataProvider { + : Task.Backgroundable(project, "Load Pull Request Data", true), GithubPullRequestDataProvider { override val detailsRequest = CompletableFuture() override val branchFetchRequest = CompletableFuture>() @@ -153,13 +153,6 @@ class GithubPullRequestsDataLoader(private val project: Project, isDisposed = true } - interface DataProvider { - val detailsRequest: CompletableFuture - val branchFetchRequest: CompletableFuture> - val logCommitsRequest: CompletableFuture> - val changesRequest: CompletableFuture> - } - interface ProviderChangedListener : EventListener { fun providerChanged(pullRequestNumber: Long) } diff --git a/plugins/github/src/org/jetbrains/plugins/github/pullrequest/ui/GithubPullRequestPreviewComponent.kt b/plugins/github/src/org/jetbrains/plugins/github/pullrequest/ui/GithubPullRequestPreviewComponent.kt index c444180bb8e5..28b4cc9004a7 100644 --- a/plugins/github/src/org/jetbrains/plugins/github/pullrequest/ui/GithubPullRequestPreviewComponent.kt +++ b/plugins/github/src/org/jetbrains/plugins/github/pullrequest/ui/GithubPullRequestPreviewComponent.kt @@ -3,7 +3,7 @@ package org.jetbrains.plugins.github.pullrequest.ui import com.intellij.openapi.Disposable import com.intellij.ui.OnePixelSplitter -import org.jetbrains.plugins.github.pullrequest.data.GithubPullRequestsDataLoader +import org.jetbrains.plugins.github.pullrequest.data.GithubPullRequestDataProvider class GithubPullRequestPreviewComponent(private val changes: GithubPullRequestChangesComponent, private val details: GithubPullRequestDetailsComponent) @@ -20,7 +20,7 @@ class GithubPullRequestPreviewComponent(private val changes: GithubPullRequestCh firstComponent = changes } - fun setPreviewDataProvider(provider: GithubPullRequestsDataLoader.DataProvider?) { + fun setPreviewDataProvider(provider: GithubPullRequestDataProvider?) { changes.loadAndShow(provider?.changesRequest) details.loadAndShow(provider?.detailsRequest) }