From 7f2509e1e2ba88d7aeebcfe1c5a608f2b8f548cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D0=B5=D0=B7=D0=B1=D0=BE=D1=80=D0=BE=D0=B4=D0=BE?= =?UTF-8?q?=D0=B2=20=D0=9B=D0=B5=D0=B2?= Date: Thu, 11 Jun 2020 19:19:31 +0300 Subject: [PATCH] 298-fix-future-deprecation lambda solution --- .../ui/GitflowTaskDialogPanelProvider.java | 46 ++++++++----------- 1 file changed, 20 insertions(+), 26 deletions(-) diff --git a/src/main/java/gitflow/ui/GitflowTaskDialogPanelProvider.java b/src/main/java/gitflow/ui/GitflowTaskDialogPanelProvider.java index 6e9e662..400730f 100644 --- a/src/main/java/gitflow/ui/GitflowTaskDialogPanelProvider.java +++ b/src/main/java/gitflow/ui/GitflowTaskDialogPanelProvider.java @@ -1,10 +1,9 @@ package gitflow.ui; import com.intellij.openapi.project.Project; import com.intellij.tasks.LocalTask; -import com.intellij.tasks.Task; import com.intellij.tasks.TaskManager; +import com.intellij.tasks.actions.vcs.VcsTaskDialogPanelProvider; import com.intellij.tasks.ui.TaskDialogPanel; -import com.intellij.tasks.ui.TaskDialogPanelProvider; import git4idea.branch.GitBranchUtil; import git4idea.repo.GitRepository; import gitflow.GitflowBranchUtil; @@ -12,41 +11,36 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import java.util.function.BiFunction; +import java.util.function.Function; -public class GitflowTaskDialogPanelProvider extends TaskDialogPanelProvider { - - @Deprecated - @Nullable - @Override - public TaskDialogPanel getOpenTaskPanel(@NotNull Project project, @NotNull Task task) { - return null; - } - +public class GitflowTaskDialogPanelProvider extends VcsTaskDialogPanelProvider { @Nullable @Override public TaskDialogPanel getOpenTaskPanel(@NotNull Project project, @NotNull LocalTask task) { - GitRepository currentRepo = GitBranchUtil.getCurrentRepository(project); - GitflowBranchUtil branchUtil = GitflowBranchUtilManager.getBranchUtil(currentRepo); - if (branchUtil.hasGitflow()) { - return TaskManager.getManager(project).isVcsEnabled() ? new GitflowOpenTaskPanel(project, task, currentRepo) : null; - } - else{ - return null; - } + return getTaskPanel( + project, + task, + (p, t) -> (r -> new GitflowOpenTaskPanel(p, t, r)) + ); } @Nullable @Override public TaskDialogPanel getCloseTaskPanel(@NotNull Project project, @NotNull LocalTask task) { + return getTaskPanel( + project, + task, + (p, t) -> (r -> new GitflowCloseTaskPanel(p, t, r)) + ); + } + + private TaskDialogPanel getTaskPanel(@NotNull Project project, @NotNull LocalTask task, BiFunction> zz) { GitRepository currentRepo = GitBranchUtil.getCurrentRepository(project); GitflowBranchUtil branchUtil = GitflowBranchUtilManager.getBranchUtil(currentRepo); - if (branchUtil.hasGitflow()) { - return TaskManager.getManager(project).isVcsEnabled() ? new GitflowCloseTaskPanel(project, task, currentRepo) : null; - } - else{ - return null; - } + return branchUtil != null && branchUtil.hasGitflow() && TaskManager.getManager(project).isVcsEnabled() + ? zz.apply(project, task).apply(currentRepo) + : null; } - }