From d88d26418edb5bca31ad4c5caa5d9274f7fac10d Mon Sep 17 00:00:00 2001 From: Xavier Fournet Date: Thu, 6 Sep 2012 16:47:43 +0200 Subject: [PATCH] [IDEA-91145] Add methods to find Maven root projects --- .../idea/maven/project/MavenProjectsTree.java | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenProjectsTree.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenProjectsTree.java index 1c92e44d2432..a6d1d74eb6af 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenProjectsTree.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenProjectsTree.java @@ -918,6 +918,33 @@ public class MavenProjectsTree { } } + public MavenProject findRootProject(@NotNull MavenProject project) { + readLock(); + try { + MavenProject rootProject = project; + while (true) { + MavenProject aggregator = myModuleToAggregatorMapping.get(project); + if (aggregator == null) { + return rootProject; + } + rootProject = aggregator; + } + } + finally { + readUnlock(); + } + } + + public boolean isRootProject(@NotNull MavenProject project) { + readLock(); + try { + return myModuleToAggregatorMapping.get(project) == null; + } + finally { + readUnlock(); + } + } + public List getModules(MavenProject aggregator) { readLock(); try {