From db4166e0282227febe63275135b9b741baa6baef Mon Sep 17 00:00:00 2001 From: Konstantin Bulenkov Date: Wed, 31 Mar 2010 15:16:13 +0400 Subject: [PATCH] use DataContext instead of AnActionEvent --- .../actions/MavenProjectsNavigatorAction.java | 4 +- .../actions/AddFileAsMavenProjectAction.java | 23 ++++--- .../actions/AddManagedFilesAction.java | 6 +- .../project/actions/EditSettingsAction.java | 4 +- .../actions/MavenOpenOrCreateFilesAction.java | 4 +- .../project/actions/MavenProjectsAction.java | 8 ++- .../actions/MavenProjectsManagerAction.java | 4 +- .../OpenOrCreateProfilesXmlAction.java | 4 +- .../OpenOrCreateSettingsXmlAction.java | 4 +- .../actions/RemoveManagedFilesAction.java | 11 ++-- .../maven/project/actions/RunBuildAction.java | 21 ++++--- .../actions/ToggleIgnoredProjectsAction.java | 20 ++++--- .../project/actions/ToggleOfflineAction.java | 6 +- .../project/actions/ToggleProfileAction.java | 8 +-- .../actions/ToggleSkipTestsAction.java | 6 +- .../maven/tasks/MavenKeymapExtension.java | 12 ++-- .../tasks/actions/AssignShortcutAction.java | 29 +++++---- .../actions/ToggleBeforeRunTaskAction.java | 36 ++++++----- .../actions/ToggleCompilerTasksAction.java | 29 +++++---- .../idea/maven/utils/actions/MavenAction.java | 4 +- .../maven/utils/actions/MavenActionGroup.java | 8 ++- .../maven/utils/actions/MavenActionUtil.java | 60 ++++++++++--------- .../utils/actions/MavenToggleAction.java | 4 +- 23 files changed, 174 insertions(+), 141 deletions(-) diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/navigator/actions/MavenProjectsNavigatorAction.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/navigator/actions/MavenProjectsNavigatorAction.java index c6b1207b994c..b8675050f777 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/navigator/actions/MavenProjectsNavigatorAction.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/navigator/actions/MavenProjectsNavigatorAction.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2010 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -32,7 +32,7 @@ public abstract class MavenProjectsNavigatorAction extends MavenToggleAction { } private MavenProjectsNavigator getNavigator(AnActionEvent e) { - return MavenProjectsNavigator.getInstance(MavenActionUtil.getProject(e)); + return MavenProjectsNavigator.getInstance(MavenActionUtil.getProject(e.getDataContext())); } protected abstract boolean isSelected(MavenProjectsNavigator navigator); diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/AddFileAsMavenProjectAction.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/AddFileAsMavenProjectAction.java index 8b0a519410ce..a7d686344e36 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/AddFileAsMavenProjectAction.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/AddFileAsMavenProjectAction.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2010 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,8 +16,10 @@ package org.jetbrains.idea.maven.project.actions; import com.intellij.openapi.actionSystem.AnActionEvent; +import com.intellij.openapi.actionSystem.DataContext; import com.intellij.openapi.actionSystem.PlatformDataKeys; import com.intellij.openapi.vfs.VirtualFile; +import org.jetbrains.annotations.Nullable; import org.jetbrains.idea.maven.project.MavenProjectsManager; import org.jetbrains.idea.maven.utils.actions.MavenAction; import org.jetbrains.idea.maven.utils.actions.MavenActionUtil; @@ -27,16 +29,18 @@ import java.util.Collections; public class AddFileAsMavenProjectAction extends MavenAction { @Override public void actionPerformed(AnActionEvent e) { - MavenProjectsManager manager = MavenActionUtil.getProjectsManager(e); - manager.addManagedFiles(Collections.singletonList(getSelectedFile(e))); + final DataContext context = e.getDataContext(); + MavenProjectsManager manager = MavenActionUtil.getProjectsManager(context); + manager.addManagedFiles(Collections.singletonList(getSelectedFile(context))); } @Override protected boolean isAvailable(AnActionEvent e) { - VirtualFile file = getSelectedFile(e); + final DataContext context = e.getDataContext(); + VirtualFile file = getSelectedFile(context); return super.isAvailable(e) && MavenActionUtil.isMavenProjectFile(file) - && !isExistingProjectFile(e, file); + && !isExistingProjectFile(context, file); } @Override @@ -44,12 +48,13 @@ public class AddFileAsMavenProjectAction extends MavenAction { return super.isVisible(e) && isAvailable(e); } - private boolean isExistingProjectFile(AnActionEvent e, VirtualFile file) { - MavenProjectsManager manager = MavenActionUtil.getProjectsManager(e); + private static boolean isExistingProjectFile(DataContext context, VirtualFile file) { + MavenProjectsManager manager = MavenActionUtil.getProjectsManager(context); return manager.findProject(file) != null; } - private VirtualFile getSelectedFile(AnActionEvent e) { - return e.getData(PlatformDataKeys.VIRTUAL_FILE); + @Nullable + private static VirtualFile getSelectedFile(DataContext context) { + return PlatformDataKeys.VIRTUAL_FILE.getData(context); } } diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/AddManagedFilesAction.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/AddManagedFilesAction.java index 736cb4bfc9a9..bb114a84a933 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/AddManagedFilesAction.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/AddManagedFilesAction.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2010 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -31,7 +31,7 @@ import java.util.Arrays; public class AddManagedFilesAction extends MavenAction { @Override public void actionPerformed(AnActionEvent e) { - final MavenProjectsManager manager = MavenActionUtil.getProjectsManager(e); + final MavenProjectsManager manager = MavenActionUtil.getProjectsManager(e.getDataContext()); FileChooserDescriptor singlePomSelection = new FileChooserDescriptor(true, false, false, false, false, true) { @Override public boolean isFileSelectable(VirtualFile file) { @@ -45,7 +45,7 @@ public class AddManagedFilesAction extends MavenAction { } }; - Project project = MavenActionUtil.getProject(e); + Project project = MavenActionUtil.getProject(e.getDataContext()); VirtualFile fileToSelect = e.getData(PlatformDataKeys.VIRTUAL_FILE); FileChooserDialog dialog = FileChooserFactory.getInstance().createFileChooser(singlePomSelection, project); diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/EditSettingsAction.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/EditSettingsAction.java index a6d692a6b80e..79688aea9d53 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/EditSettingsAction.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/EditSettingsAction.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2010 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -25,7 +25,7 @@ import org.jetbrains.idea.maven.utils.MavenSettings; public class EditSettingsAction extends MavenAction { @Override public void actionPerformed(AnActionEvent e) { - showSettingsFor(MavenActionUtil.getProject(e)); + showSettingsFor(MavenActionUtil.getProject(e.getDataContext())); } protected void showSettingsFor(Project project) { diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/MavenOpenOrCreateFilesAction.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/MavenOpenOrCreateFilesAction.java index 1f452f214bd5..c2d169f8c399 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/MavenOpenOrCreateFilesAction.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/MavenOpenOrCreateFilesAction.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2010 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -66,7 +66,7 @@ public abstract class MavenOpenOrCreateFilesAction extends MavenAction { @Override public void actionPerformed(AnActionEvent e) { - final Project project = MavenActionUtil.getProject(e); + final Project project = MavenActionUtil.getProject(e.getDataContext()); final List files = getFiles(e); final List virtualFiles = collectVirtualFiles(files); diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/MavenProjectsAction.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/MavenProjectsAction.java index a91256d3783f..4e99e04d7d1b 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/MavenProjectsAction.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/MavenProjectsAction.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2010 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,6 +16,7 @@ package org.jetbrains.idea.maven.project.actions; import com.intellij.openapi.actionSystem.AnActionEvent; +import com.intellij.openapi.actionSystem.DataContext; import org.jetbrains.idea.maven.project.MavenProjectsManager; import org.jetbrains.idea.maven.project.MavenProject; import org.jetbrains.idea.maven.utils.actions.MavenAction; @@ -26,12 +27,13 @@ import java.util.List; public abstract class MavenProjectsAction extends MavenAction { @Override protected boolean isAvailable(AnActionEvent e) { - return super.isAvailable(e) && !MavenActionUtil.getMavenProjects(e).isEmpty(); + return super.isAvailable(e) && !MavenActionUtil.getMavenProjects(e.getDataContext()).isEmpty(); } @Override public void actionPerformed(AnActionEvent e) { - perform(MavenActionUtil.getProjectsManager(e), MavenActionUtil.getMavenProjects(e), e); + final DataContext context = e.getDataContext(); + perform(MavenActionUtil.getProjectsManager(context), MavenActionUtil.getMavenProjects(context), e); } protected abstract void perform(MavenProjectsManager manager, List mavenProjects, AnActionEvent e); diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/MavenProjectsManagerAction.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/MavenProjectsManagerAction.java index bbefb323f1d1..24288ad3ccfb 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/MavenProjectsManagerAction.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/MavenProjectsManagerAction.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2010 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,7 +23,7 @@ import org.jetbrains.idea.maven.utils.actions.MavenActionUtil; public abstract class MavenProjectsManagerAction extends MavenAction { @Override public void actionPerformed(AnActionEvent e) { - perform(MavenActionUtil.getProjectsManager(e)); + perform(MavenActionUtil.getProjectsManager(e.getDataContext())); } protected abstract void perform(MavenProjectsManager manager); diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/OpenOrCreateProfilesXmlAction.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/OpenOrCreateProfilesXmlAction.java index ab0732007bd3..ae4eaf63f929 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/OpenOrCreateProfilesXmlAction.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/OpenOrCreateProfilesXmlAction.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2010 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -27,7 +27,7 @@ import java.util.List; public class OpenOrCreateProfilesXmlAction extends MavenOpenOrCreateFilesAction { protected List getFiles(AnActionEvent e) { List result = new ArrayList(); - for (MavenProject each : MavenActionUtil.getMavenProjects(e)) { + for (MavenProject each : MavenActionUtil.getMavenProjects(e.getDataContext())) { result.add(each.getProfilesXmlIoFile()); } return result; diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/OpenOrCreateSettingsXmlAction.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/OpenOrCreateSettingsXmlAction.java index 341a71104d8c..dc597d2caaf6 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/OpenOrCreateSettingsXmlAction.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/OpenOrCreateSettingsXmlAction.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2010 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -25,7 +25,7 @@ import java.util.List; public class OpenOrCreateSettingsXmlAction extends MavenOpenOrCreateFilesAction { protected List getFiles(AnActionEvent e) { - File file = MavenActionUtil.getProjectsManager(e).getGeneralSettings().getEffectiveUserSettingsIoFile(); + File file = MavenActionUtil.getProjectsManager(e.getDataContext()).getGeneralSettings().getEffectiveUserSettingsIoFile(); return file != null ? Collections.singletonList(file) : Collections.EMPTY_LIST; } diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/RemoveManagedFilesAction.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/RemoveManagedFilesAction.java index 02c0500a8707..a55446e3f83f 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/RemoveManagedFilesAction.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/RemoveManagedFilesAction.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2010 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,6 +16,7 @@ package org.jetbrains.idea.maven.project.actions; import com.intellij.openapi.actionSystem.AnActionEvent; +import com.intellij.openapi.actionSystem.DataContext; import com.intellij.openapi.vfs.VirtualFile; import org.jetbrains.idea.maven.utils.actions.MavenAction; import org.jetbrains.idea.maven.utils.actions.MavenActionUtil; @@ -23,14 +24,16 @@ import org.jetbrains.idea.maven.utils.actions.MavenActionUtil; public class RemoveManagedFilesAction extends MavenAction { @Override protected boolean isAvailable(AnActionEvent e) { - for (VirtualFile each : MavenActionUtil.getMavenProjectsFiles(e)) { - if (MavenActionUtil.getProjectsManager(e).isManagedFile(each)) return true; + final DataContext context = e.getDataContext(); + for (VirtualFile each : MavenActionUtil.getMavenProjectsFiles(context)) { + if (MavenActionUtil.getProjectsManager(context).isManagedFile(each)) return true; } return false; } @Override public void actionPerformed(AnActionEvent e) { - MavenActionUtil.getProjectsManager(e).removeManagedFiles(MavenActionUtil.getMavenProjectsFiles(e)); + final DataContext context = e.getDataContext(); + MavenActionUtil.getProjectsManager(context).removeManagedFiles(MavenActionUtil.getMavenProjectsFiles(context)); } } diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/RunBuildAction.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/RunBuildAction.java index 5a847d1164af..f5d759c92f9e 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/RunBuildAction.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/RunBuildAction.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2010 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,6 +16,7 @@ package org.jetbrains.idea.maven.project.actions; import com.intellij.openapi.actionSystem.AnActionEvent; +import com.intellij.openapi.actionSystem.DataContext; import org.jetbrains.idea.maven.execution.MavenRunConfigurationType; import org.jetbrains.idea.maven.execution.MavenRunnerParameters; import org.jetbrains.idea.maven.project.MavenProject; @@ -28,26 +29,28 @@ import java.util.List; public class RunBuildAction extends MavenAction { @Override protected boolean isAvailable(AnActionEvent e) { - return super.isAvailable(e) && checkOrPerform(e, false); + return super.isAvailable(e) && checkOrPerform(e.getDataContext(), false); } @Override public void actionPerformed(AnActionEvent e) { - checkOrPerform(e, true); + checkOrPerform(e.getDataContext(), true); } - private boolean checkOrPerform(AnActionEvent e, boolean perform) { - MavenProject project = MavenActionUtil.getMavenProject(e); + private static boolean checkOrPerform(DataContext context, boolean perform) { + final MavenProject project = MavenActionUtil.getMavenProject(context); if (project == null) return false; - List goals = e.getData(MavenDataKeys.MAVEN_GOALS); + final List goals = MavenDataKeys.MAVEN_GOALS.getData(context); if (goals == null || goals.isEmpty()) return false; if (!perform) return true; - MavenRunnerParameters params = new MavenRunnerParameters( - true, project.getDirectory(), goals, MavenActionUtil.getProjectsManager(e).getExplicitProfiles()); - MavenRunConfigurationType.runConfiguration(MavenActionUtil.getProject(e), params, e.getDataContext(), null); + final MavenRunnerParameters params = new MavenRunnerParameters(true, + project.getDirectory(), + goals, + MavenActionUtil.getProjectsManager(context).getExplicitProfiles()); + MavenRunConfigurationType.runConfiguration(MavenActionUtil.getProject(context), params, context, null); return true; } diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/ToggleIgnoredProjectsAction.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/ToggleIgnoredProjectsAction.java index cafb4240fdf4..6800121797fb 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/ToggleIgnoredProjectsAction.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/ToggleIgnoredProjectsAction.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2010 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,6 +16,7 @@ package org.jetbrains.idea.maven.project.actions; import com.intellij.openapi.actionSystem.AnActionEvent; +import com.intellij.openapi.actionSystem.DataContext; import com.intellij.openapi.options.ShowSettingsUtil; import org.jetbrains.idea.maven.project.MavenIgnoredFilesConfigurable; import org.jetbrains.idea.maven.project.MavenProject; @@ -32,8 +33,9 @@ public class ToggleIgnoredProjectsAction extends MavenAction { super.update(e); if (!isAvailable(e)) return; - MavenProjectsManager projectsManager = MavenActionUtil.getProjectsManager(e); - List projects = MavenActionUtil.getMavenProjects(e); + final DataContext context = e.getDataContext(); + MavenProjectsManager projectsManager = MavenActionUtil.getProjectsManager(context); + List projects = MavenActionUtil.getMavenProjects(context); if (isIgnoredInSettings(projectsManager, projects)) { e.getPresentation().setText(ProjectBundle.message("maven.ignore.edit")); @@ -50,8 +52,9 @@ public class ToggleIgnoredProjectsAction extends MavenAction { protected boolean isAvailable(AnActionEvent e) { if (!super.isAvailable(e)) return false; - MavenProjectsManager projectsManager = MavenActionUtil.getProjectsManager(e); - List projects = MavenActionUtil.getMavenProjects(e); + final DataContext context = e.getDataContext(); + MavenProjectsManager projectsManager = MavenActionUtil.getProjectsManager(context); + List projects = MavenActionUtil.getMavenProjects(context); if (projects == null || projects.isEmpty()) return false; @@ -81,11 +84,12 @@ public class ToggleIgnoredProjectsAction extends MavenAction { @Override public void actionPerformed(AnActionEvent e) { - MavenProjectsManager projectsManager = MavenActionUtil.getProjectsManager(e); - List projects = MavenActionUtil.getMavenProjects(e); + final DataContext context = e.getDataContext(); + MavenProjectsManager projectsManager = MavenActionUtil.getProjectsManager(context); + List projects = MavenActionUtil.getMavenProjects(context); if (isIgnoredInSettings(projectsManager, projects)) { - ShowSettingsUtil.getInstance().editConfigurable(MavenActionUtil.getProject(e), new MavenIgnoredFilesConfigurable(projectsManager)); + ShowSettingsUtil.getInstance().editConfigurable(MavenActionUtil.getProject(context), new MavenIgnoredFilesConfigurable(projectsManager)); } else { projectsManager.setIgnoredState(projects, !isIgnored(projectsManager, projects)); diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/ToggleOfflineAction.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/ToggleOfflineAction.java index 9e5e12e25b26..d7e864b10111 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/ToggleOfflineAction.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/ToggleOfflineAction.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2010 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,11 +22,11 @@ import org.jetbrains.idea.maven.utils.actions.MavenActionUtil; public class ToggleOfflineAction extends MavenToggleAction { @Override protected boolean doIsSelected(AnActionEvent e) { - return MavenActionUtil.getProjectsManager(e).getGeneralSettings().isWorkOffline(); + return MavenActionUtil.getProjectsManager(e.getDataContext()).getGeneralSettings().isWorkOffline(); } @Override public void setSelected(AnActionEvent e, boolean state) { - MavenActionUtil.getProjectsManager(e).getGeneralSettings().setWorkOffline(state); + MavenActionUtil.getProjectsManager(e.getDataContext()).getGeneralSettings().setWorkOffline(state); } } \ No newline at end of file diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/ToggleProfileAction.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/ToggleProfileAction.java index dc8c89d1e7f4..9a9f066b2c62 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/ToggleProfileAction.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/ToggleProfileAction.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2010 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -30,7 +30,7 @@ public class ToggleProfileAction extends MavenAction { super.update(e); if (!isAvailable(e)) return; - MavenProjectsManager projectsManager = MavenActionUtil.getProjectsManager(e); + MavenProjectsManager projectsManager = MavenActionUtil.getProjectsManager(e.getDataContext()); List profiles = e.getData(MavenDataKeys.MAVEN_PROFILES); e.getPresentation().setText(isActive(projectsManager, profiles) @@ -45,7 +45,7 @@ public class ToggleProfileAction extends MavenAction { List selectedProfiles = e.getData(MavenDataKeys.MAVEN_PROFILES); if (selectedProfiles == null || selectedProfiles.isEmpty()) return false; - Collection activeProfiles = MavenActionUtil.getProjectsManager(e).getExplicitProfiles(); + Collection activeProfiles = MavenActionUtil.getProjectsManager(e.getDataContext()).getExplicitProfiles(); int activeCount = 0; for (String profile : selectedProfiles) { if (activeProfiles.contains(profile)) { @@ -61,7 +61,7 @@ public class ToggleProfileAction extends MavenAction { @Override public void actionPerformed(AnActionEvent e) { - MavenProjectsManager manager = MavenActionUtil.getProjectsManager(e); + MavenProjectsManager manager = MavenActionUtil.getProjectsManager(e.getDataContext()); List selectedProfiles = e.getData(MavenDataKeys.MAVEN_PROFILES); Collection activeProfiles = manager.getExplicitProfiles(); diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/ToggleSkipTestsAction.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/ToggleSkipTestsAction.java index 9f1d5164e777..9814a76b18e6 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/ToggleSkipTestsAction.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/ToggleSkipTestsAction.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2010 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,11 +23,11 @@ import org.jetbrains.idea.maven.utils.actions.MavenActionUtil; public class ToggleSkipTestsAction extends MavenToggleAction { @Override protected boolean doIsSelected(AnActionEvent e) { - return MavenRunner.getInstance(MavenActionUtil.getProject(e)).getState().isSkipTests(); + return MavenRunner.getInstance(MavenActionUtil.getProject(e.getDataContext())).getState().isSkipTests(); } @Override public void setSelected(AnActionEvent e, boolean state){ - MavenRunner.getInstance(MavenActionUtil.getProject(e)).getState().setSkipTests(state); + MavenRunner.getInstance(MavenActionUtil.getProject(e.getDataContext())).getState().setSkipTests(state); } } \ No newline at end of file diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/tasks/MavenKeymapExtension.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/tasks/MavenKeymapExtension.java index 51115f6f7afc..32305dc0eba1 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/tasks/MavenKeymapExtension.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/tasks/MavenKeymapExtension.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2010 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,10 +15,7 @@ */ package org.jetbrains.idea.maven.tasks; -import com.intellij.openapi.actionSystem.ActionManager; -import com.intellij.openapi.actionSystem.AnAction; -import com.intellij.openapi.actionSystem.AnActionEvent; -import com.intellij.openapi.actionSystem.Presentation; +import com.intellij.openapi.actionSystem.*; import com.intellij.openapi.keymap.KeymapExtension; import com.intellij.openapi.keymap.KeymapGroup; import com.intellij.openapi.keymap.KeymapGroupFactory; @@ -182,11 +179,12 @@ public class MavenKeymapExtension implements KeymapExtension { } public void actionPerformed(AnActionEvent e) { + final DataContext context = e.getDataContext(); MavenRunnerParameters params = new MavenRunnerParameters(true, myMavenProject.getDirectory(), Arrays.asList(myGoal), - MavenActionUtil.getProjectsManager(e).getExplicitProfiles()); - MavenRunConfigurationType.runConfiguration(MavenActionUtil.getProject(e), params, e.getDataContext(), null); + MavenActionUtil.getProjectsManager(context).getExplicitProfiles()); + MavenRunConfigurationType.runConfiguration(MavenActionUtil.getProject(context), params, context, null); } public MavenProject getMavenProject() { diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/tasks/actions/AssignShortcutAction.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/tasks/actions/AssignShortcutAction.java index d9e69ae791d9..677286ea4122 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/tasks/actions/AssignShortcutAction.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/tasks/actions/AssignShortcutAction.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2010 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,6 +16,7 @@ package org.jetbrains.idea.maven.tasks.actions; import com.intellij.openapi.actionSystem.AnActionEvent; +import com.intellij.openapi.actionSystem.DataContext; import com.intellij.openapi.keymap.impl.ui.EditKeymapsDialog; import org.jetbrains.annotations.Nullable; import org.jetbrains.idea.maven.project.MavenProject; @@ -29,35 +30,37 @@ import java.util.List; public class AssignShortcutAction extends MavenAction { @Override protected boolean isAvailable(AnActionEvent e) { - return super.isAvailable(e) && !isIgnoredProject(e) && getGoalActionId(e) != null; + final DataContext context = e.getDataContext(); + return super.isAvailable(e) && !isIgnoredProject(context) && getGoalActionId(context) != null; } - private boolean isIgnoredProject(AnActionEvent e) { - MavenProject project = MavenActionUtil.getMavenProject(e); + private static boolean isIgnoredProject(DataContext context) { + final MavenProject project = MavenActionUtil.getMavenProject(context); if (project == null) return false; - return MavenActionUtil.getProjectsManager(e).isIgnored(project); + return MavenActionUtil.getProjectsManager(context).isIgnored(project); } public void actionPerformed(AnActionEvent e) { - String actionId = getGoalActionId(e); + final DataContext context = e.getDataContext(); + String actionId = getGoalActionId(context); if (actionId != null) { - new EditKeymapsDialog(MavenActionUtil.getProject(e), actionId).show(); + new EditKeymapsDialog(MavenActionUtil.getProject(context), actionId).show(); } } @Nullable - private String getGoalActionId(AnActionEvent e) { - MavenProject project = MavenActionUtil.getMavenProject(e); + private static String getGoalActionId(DataContext context) { + MavenProject project = MavenActionUtil.getMavenProject(context); if (project == null) return null; - List goals = e.getData(MavenDataKeys.MAVEN_GOALS); + final List goals = MavenDataKeys.MAVEN_GOALS.getData(context); String goal = (goals == null || goals.size() != 1) ? null : goals.get(0); - return getShortcutsManager(e).getActionId(project.getPath(), goal); + return getShortcutsManager(context).getActionId(project.getPath(), goal); } - protected MavenShortcutsManager getShortcutsManager(AnActionEvent e) { - return MavenShortcutsManager.getInstance(MavenActionUtil.getProject(e)); + protected static MavenShortcutsManager getShortcutsManager(DataContext context) { + return MavenShortcutsManager.getInstance(MavenActionUtil.getProject(context)); } } diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/tasks/actions/ToggleBeforeRunTaskAction.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/tasks/actions/ToggleBeforeRunTaskAction.java index a5b65545d914..d73fc3f02d71 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/tasks/actions/ToggleBeforeRunTaskAction.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/tasks/actions/ToggleBeforeRunTaskAction.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2010 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,49 +17,57 @@ package org.jetbrains.idea.maven.tasks.actions; import com.intellij.execution.RunManagerEx; import com.intellij.openapi.actionSystem.AnActionEvent; +import com.intellij.openapi.actionSystem.DataContext; import com.intellij.openapi.util.Pair; +import org.jetbrains.annotations.Nullable; import org.jetbrains.idea.maven.project.MavenProject; import org.jetbrains.idea.maven.tasks.MavenBeforeRunTask; import org.jetbrains.idea.maven.tasks.MavenBeforeRunTasksProvider; -import org.jetbrains.idea.maven.tasks.MavenTasksManager; import org.jetbrains.idea.maven.utils.MavenDataKeys; -import org.jetbrains.idea.maven.utils.actions.MavenToggleAction; import org.jetbrains.idea.maven.utils.actions.MavenActionUtil; +import org.jetbrains.idea.maven.utils.actions.MavenToggleAction; import java.util.List; public class ToggleBeforeRunTaskAction extends MavenToggleAction { @Override protected boolean isAvailable(AnActionEvent e) { - return super.isAvailable(e) && getTaskDesc(e) != null; + return super.isAvailable(e) && getTaskDesc(e.getDataContext()) != null; } @Override protected boolean doIsSelected(AnActionEvent e) { - Pair desc = getTaskDesc(e); - for (MavenBeforeRunTask each : getRunManager(e).getBeforeRunTasks(MavenBeforeRunTasksProvider.TASK_ID, true)) { - if (each.isEnabled() && each.isFor(desc.first, desc.second)) return true; + final DataContext context = e.getDataContext(); + final Pair desc = getTaskDesc(context); + if (desc != null) { + for (MavenBeforeRunTask each : getRunManager(context).getBeforeRunTasks(MavenBeforeRunTasksProvider.TASK_ID, true)) { + if (each.isEnabled() && each.isFor(desc.first, desc.second)) return true; + } } return false; } @Override public void setSelected(final AnActionEvent e, boolean state) { - Pair desc = getTaskDesc(e); - new MavenExecuteBeforeRunDialog(MavenActionUtil.getProject(e), desc.first, desc.second).show(); + final DataContext context = e.getDataContext(); + final Pair desc = getTaskDesc(context); + if (desc != null) { + new MavenExecuteBeforeRunDialog(MavenActionUtil.getProject(context), desc.first, desc.second).show(); + } } - protected Pair getTaskDesc(AnActionEvent e) { - MavenProject mavenProject = MavenActionUtil.getMavenProject(e); + @Nullable + protected static Pair getTaskDesc(DataContext context) { + MavenProject mavenProject = MavenActionUtil.getMavenProject(context); if (mavenProject == null) return null; - List goals = e.getData(MavenDataKeys.MAVEN_GOALS); + List goals = MavenDataKeys.MAVEN_GOALS.getData(context); if (goals == null || goals.size() != 1) return null; return Pair.create(mavenProject, goals.get(0)); } - private RunManagerEx getRunManager(AnActionEvent e) { - return RunManagerEx.getInstanceEx(MavenActionUtil.getProject(e)); + private static RunManagerEx getRunManager(DataContext context) { + return RunManagerEx.getInstanceEx(MavenActionUtil.getProject(context)); } } diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/tasks/actions/ToggleCompilerTasksAction.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/tasks/actions/ToggleCompilerTasksAction.java index 4467fa05d58c..cf17db4b7237 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/tasks/actions/ToggleCompilerTasksAction.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/tasks/actions/ToggleCompilerTasksAction.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2010 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,6 +16,7 @@ package org.jetbrains.idea.maven.tasks.actions; import com.intellij.openapi.actionSystem.AnActionEvent; +import com.intellij.openapi.actionSystem.DataContext; import org.jetbrains.idea.maven.project.MavenProject; import org.jetbrains.idea.maven.tasks.MavenCompilerTask; import org.jetbrains.idea.maven.tasks.MavenTasksManager; @@ -30,31 +31,33 @@ import java.util.List; public abstract class ToggleCompilerTasksAction extends MavenToggleAction { @Override protected boolean isAvailable(AnActionEvent e) { - return super.isAvailable(e) && !getTasks(e).isEmpty(); + return super.isAvailable(e) && !getTasks(e.getDataContext()).isEmpty(); } @Override protected boolean doIsSelected(AnActionEvent e) { - return hasTask(getTasksManager(e), getTasks(e).get(0)); + final DataContext context = e.getDataContext(); + return hasTask(getTasksManager(context), getTasks(context).get(0)); } @Override public void setSelected(AnActionEvent e, boolean state) { - List tasks = getTasks(e); + final DataContext context = e.getDataContext(); + List tasks = getTasks(context); if (state) { - addTasks(getTasksManager(e), tasks); + addTasks(getTasksManager(context), tasks); } else { - removeTasks(getTasksManager(e), tasks); + removeTasks(getTasksManager(context), tasks); } } - protected List getTasks(AnActionEvent e) { - MavenProject project = MavenActionUtil.getMavenProject(e); - if (project == null) return Collections.EMPTY_LIST; + protected static List getTasks(DataContext context) { + MavenProject project = MavenActionUtil.getMavenProject(context); + if (project == null) return Collections.emptyList(); - List goals = e.getData(MavenDataKeys.MAVEN_GOALS); - if (goals == null || goals.isEmpty()) return Collections.EMPTY_LIST; + final List goals = MavenDataKeys.MAVEN_GOALS.getData(context); + if (goals == null || goals.isEmpty()) return Collections.emptyList(); List result = new ArrayList(); for (String each : goals) { @@ -69,7 +72,7 @@ public abstract class ToggleCompilerTasksAction extends MavenToggleAction { protected abstract void removeTasks(MavenTasksManager manager, List tasks); - private MavenTasksManager getTasksManager(AnActionEvent e) { - return MavenTasksManager.getInstance(MavenActionUtil.getProject(e)); + private static MavenTasksManager getTasksManager(DataContext context) { + return MavenTasksManager.getInstance(MavenActionUtil.getProject(context)); } } diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/utils/actions/MavenAction.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/utils/actions/MavenAction.java index 37d7b2c4bf68..b5f8af2aa282 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/utils/actions/MavenAction.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/utils/actions/MavenAction.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2010 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -30,7 +30,7 @@ public abstract class MavenAction extends AnAction implements DumbAware { } protected boolean isAvailable(AnActionEvent e) { - return MavenActionUtil.getProject(e) != null; + return MavenActionUtil.getProject(e.getDataContext()) != null; } protected boolean isVisible(AnActionEvent e) { diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/utils/actions/MavenActionGroup.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/utils/actions/MavenActionGroup.java index 0cb592be9728..861217b18b3e 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/utils/actions/MavenActionGroup.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/utils/actions/MavenActionGroup.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2010 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,6 +16,7 @@ package org.jetbrains.idea.maven.utils.actions; import com.intellij.openapi.actionSystem.AnActionEvent; +import com.intellij.openapi.actionSystem.DataContext; import com.intellij.openapi.actionSystem.DefaultActionGroup; public class MavenActionGroup extends DefaultActionGroup { @@ -28,7 +29,8 @@ public class MavenActionGroup extends DefaultActionGroup { } protected boolean isAvailable(AnActionEvent e) { - if (MavenActionUtil.getProject(e) == null) return false; - return !MavenActionUtil.getMavenProjects(e).isEmpty(); + final DataContext context = e.getDataContext(); + if (MavenActionUtil.getProject(context) == null) return false; + return !MavenActionUtil.getMavenProjects(context).isEmpty(); } } diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/utils/actions/MavenActionUtil.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/utils/actions/MavenActionUtil.java index f5f9a53ff6ee..c8554cfcd71c 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/utils/actions/MavenActionUtil.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/utils/actions/MavenActionUtil.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2010 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,12 +15,13 @@ */ package org.jetbrains.idea.maven.utils.actions; -import com.intellij.openapi.actionSystem.AnActionEvent; +import com.intellij.openapi.actionSystem.DataContext; import com.intellij.openapi.actionSystem.DataKeys; import com.intellij.openapi.actionSystem.PlatformDataKeys; import com.intellij.openapi.module.Module; import com.intellij.openapi.project.Project; import com.intellij.openapi.vfs.VirtualFile; +import org.jetbrains.annotations.Nullable; import org.jetbrains.idea.maven.project.MavenProject; import org.jetbrains.idea.maven.project.MavenProjectsManager; import org.jetbrains.idea.maven.utils.MavenConstants; @@ -29,25 +30,25 @@ import org.jetbrains.idea.maven.utils.MavenUtil; import java.util.*; public class MavenActionUtil { - public static Project getProject(AnActionEvent e) { - return e.getData(PlatformDataKeys.PROJECT); + private MavenActionUtil() { } - public static MavenProjectsManager getProjectsManager(AnActionEvent e) { - return MavenProjectsManager.getInstance(getProject(e)); + @Nullable + public static Project getProject(DataContext context) { + return PlatformDataKeys.PROJECT.getData(context); } - public static MavenProject getMavenProject(AnActionEvent e) { + public static MavenProject getMavenProject(DataContext context) { MavenProject result; - MavenProjectsManager manager = getProjectsManager(e); + final MavenProjectsManager manager = getProjectsManager(context); - VirtualFile file = e.getData(PlatformDataKeys.VIRTUAL_FILE); + final VirtualFile file = PlatformDataKeys.VIRTUAL_FILE.getData(context); if (file != null) { result = manager.findProject(file); if (result != null) return result; } - Module module = getModule(e); + Module module = getModule(context); if (module != null) { result = manager.findProject(module); if (result != null) return result; @@ -56,48 +57,49 @@ public class MavenActionUtil { return null; } - public static boolean isMavenProject(AnActionEvent e) { - return getMavenProject(e) != null; + @Nullable + private static Module getModule(DataContext context) { + final Module module = DataKeys.MODULE.getData(context); + return module != null ? module : DataKeys.MODULE_CONTEXT.getData(context); + } + + public static MavenProjectsManager getProjectsManager(DataContext context) { + return MavenProjectsManager.getInstance(getProject(context)); } public static boolean isMavenProjectFile(VirtualFile file) { return file != null && !file.isDirectory() && MavenConstants.POM_XML.equals(file.getName()); } - public static List getMavenProjects(AnActionEvent e) { + public static List getMavenProjects(DataContext context) { Set result = new LinkedHashSet(); - for (VirtualFile each : getFiles(e)) { - MavenProject project = getProjectsManager(e).findProject(each); + for (VirtualFile each : getFiles(context)) { + MavenProject project = getProjectsManager(context).findProject(each); if (project != null) result.add(project); } if (result.isEmpty()) { - for (Module each : getModules(e)) { - MavenProject project = getProjectsManager(e).findProject(each); + for (Module each : getModules(context)) { + MavenProject project = getProjectsManager(context).findProject(each); if (project != null) result.add(project); } } return new ArrayList(result); } - public static List getMavenProjectsFiles(AnActionEvent e) { - return MavenUtil.collectFiles(getMavenProjects(e)); + public static List getMavenProjectsFiles(DataContext context) { + return MavenUtil.collectFiles(getMavenProjects(context)); } - private static List getFiles(AnActionEvent e) { - VirtualFile[] result = e.getData(PlatformDataKeys.VIRTUAL_FILE_ARRAY); + private static List getFiles(DataContext context) { + VirtualFile[] result = PlatformDataKeys.VIRTUAL_FILE_ARRAY.getData(context); return result == null ? Collections.emptyList() : Arrays.asList(result); } - private static Module getModule(AnActionEvent e) { - Module result = e.getData(DataKeys.MODULE); - return result != null ? result : e.getData(DataKeys.MODULE_CONTEXT); - } - - private static List getModules(AnActionEvent e) { - Module[] result = e.getData(DataKeys.MODULE_CONTEXT_ARRAY); + private static List getModules(DataContext context) { + Module[] result = DataKeys.MODULE_CONTEXT_ARRAY.getData(context); if (result != null) return Arrays.asList(result); - Module module = getModule(e); + Module module = getModule(context); return module != null ? Collections.singletonList(module) : Collections.emptyList(); } } diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/utils/actions/MavenToggleAction.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/utils/actions/MavenToggleAction.java index 6488716e6ccf..46bc9e2bcf10 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/utils/actions/MavenToggleAction.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/utils/actions/MavenToggleAction.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2010 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -27,7 +27,7 @@ public abstract class MavenToggleAction extends ToggleAction implements DumbAwar } protected boolean isAvailable(AnActionEvent e) { - return MavenActionUtil.getProject(e) != null; + return MavenActionUtil.getProject(e.getDataContext()) != null; } public final boolean isSelected(AnActionEvent e) {