Autoselect maven project when ExecuteGoalDialog opens first time

This commit is contained in:
Sergey Evdokimov
2013-05-21 18:42:55 +04:00
parent 6b9599330b
commit 452de9c6a5
@@ -20,14 +20,17 @@ import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.PlatformDataKeys;
import com.intellij.openapi.project.DumbAwareAction;
import com.intellij.openapi.project.Project;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.idea.maven.execution.*;
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.MavenUtil;
import java.io.File;
import java.util.Arrays;
import java.util.LinkedHashMap;
import java.util.List;
/**
* @author Sergey Evdokimov
@@ -40,7 +43,13 @@ public class MavenExecuteGoalAction extends DumbAwareAction {
ExecuteMavenGoalHistoryService historyService = ExecuteMavenGoalHistoryService.getInstance(project);
MavenExecuteGoalDialog dialog = new MavenExecuteGoalDialog(project, historyService.getHistory());
dialog.setWorkDirectory(historyService.getWorkDirectory());
String lastWorkingDirectory = historyService.getWorkDirectory();
if (lastWorkingDirectory.length() == 0) {
lastWorkingDirectory = obtainAppropriateWorkingDirectory(project);
}
dialog.setWorkDirectory(lastWorkingDirectory);
dialog.show();
if (!dialog.isOK()) {
@@ -77,6 +86,13 @@ public class MavenExecuteGoalAction extends DumbAwareAction {
MavenRunConfigurationType.runConfiguration(project, parameters, generalSettings, runnerSettings, null);
}
private static String obtainAppropriateWorkingDirectory(@NotNull Project project) {
List<MavenProject> rootProjects = MavenProjectsManager.getInstance(project).getRootProjects();
if (rootProjects.isEmpty()) return "";
return rootProjects.get(0).getDirectory();
}
@Override
public void update(AnActionEvent e) {
Project project = e.getData(PlatformDataKeys.PROJECT);