package krasa.mavenrun.action;
import java.util.List;
import org.jetbrains.idea.maven.model.MavenId;
import org.jetbrains.idea.maven.project.MavenProject;
import org.jetbrains.idea.maven.project.MavenProjectsManager;
import org.jetbrains.idea.maven.utils.actions.MavenActionUtil;
import com.intellij.openapi.actionSystem.DataContext;
@SuppressWarnings("ComponentNotRegistered")
public class RootMavenActionGroup extends MainMavenActionGroup {
@Override
protected MavenProject getMavenProject(DataContext dataContext) {
MavenProject mavenProject = MavenActionUtil.getMavenProject(dataContext);
if (mavenProject == null) {
return null;
}
MavenProjectsManager projectsManager = MavenActionUtil.getProjectsManager(dataContext);
List<MavenProject> rootProjects = projectsManager.getRootProjects();
MavenProject root = null;
if (rootProjects.contains(mavenProject)) {
root = mavenProject;
} else {
MavenId parentId = mavenProject.getParentId();
while (parentId != null) {
mavenProject = projectsManager.findProject(parentId);
if (mavenProject == null) {
break;
}
if (rootProjects.contains(mavenProject)) {
root = mavenProject;
break;
}
parentId = mavenProject.getParentId();
}
}
return root;
}
}