package com.lightd.ideap.maven.actions; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.actionSystem.DataContext; import com.intellij.openapi.project.Project; import org.jetbrains.idea.maven.execution.MavenRunner; import org.jetbrains.idea.maven.execution.MavenRunnerSettings; import org.jetbrains.idea.maven.project.MavenGeneralSettings; import org.jetbrains.idea.maven.project.MavenProject; import org.jetbrains.idea.maven.project.MavenProjectsManager; import org.jetbrains.idea.maven.utils.actions.MavenAction; import org.jetbrains.idea.maven.utils.actions.MavenActionUtil; import java.util.LinkedHashMap; public abstract class MvnModuleContextAction extends MavenAction { static MavenProject getProject(DataContext context) { MavenProject project = MavenActionUtil.getMavenProject(context); if (project == null && !MavenActionUtil.getMavenProjects(context).isEmpty()) { project = MavenActionUtil.getMavenProjects(context).get(0); } return project; } @Override protected boolean isAvailable(AnActionEvent e) { return super.isAvailable(e) && getProject(e.getDataContext()) != null; } protected final MavenGeneralSettings getGeneralSettings(Project project) { MavenProjectsManager projectsManager = MavenProjectsManager.getInstance(project); return projectsManager.getGeneralSettings(); } protected final MavenRunnerSettings createRunnerSettings(Project project) { MavenRunnerSettings runnerSettings = MavenRunner.getInstance(project).getSettings().clone(); runnerSettings.setMavenProperties(new LinkedHashMap<String, String>()); return runnerSettings; } }