diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/dom/MavenDomProjectProcessorUtils.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/dom/MavenDomProjectProcessorUtils.java index 75d2cc0fae74..90942cda928e 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/dom/MavenDomProjectProcessorUtils.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/dom/MavenDomProjectProcessorUtils.java @@ -361,7 +361,7 @@ public class MavenDomProjectProcessorUtils { final Function domProfileFunction, final Function projectDomFunction, final Set processed) { - Boolean aBoolean = new MyMavenParentProjectFileProcessor(project) { + Boolean aBoolean = new DomParentProjectFileProcessor(MavenProjectsManager.getInstance(project)) { protected Boolean doProcessParent(VirtualFile parentFile) { MavenDomProjectModel parentProjectDom = MavenDomUtil.getMavenDomProjectModel(project, parentFile); if (parentProjectDom == null) return false; @@ -437,20 +437,20 @@ public class MavenDomProjectProcessorUtils { return false; } - private abstract static class MyMavenParentProjectFileProcessor extends MavenParentProjectFileProcessor { - private final Project myProject; + public abstract static class DomParentProjectFileProcessor extends MavenParentProjectFileProcessor { + private final MavenProjectsManager myManager; - public MyMavenParentProjectFileProcessor(Project project) { - myProject = project; + public DomParentProjectFileProcessor(MavenProjectsManager manager) { + myManager = manager; } protected VirtualFile findManagedFile(@NotNull MavenId id) { - MavenProject project = MavenProjectsManager.getInstance(myProject).findProject(id); + MavenProject project = myManager.findProject(id); return project == null ? null : project.getFile(); } @Nullable - public Boolean process(@NotNull MavenDomProjectModel projectDom) { + public T process(@NotNull MavenDomProjectModel projectDom) { MavenDomParent parent = projectDom.getMavenParent(); MavenParentDesc parentDesc = null; if (DomUtil.hasXml(parent)) { @@ -463,7 +463,7 @@ public class MavenDomProjectProcessorUtils { parentDesc = new MavenParentDesc(parentId, parentRelativePath); } - return process(MavenProjectsManager.getInstance(myProject).getGeneralSettings(), MavenDomUtil.getVirtualFile(projectDom), parentDesc); + return process(myManager.getGeneralSettings(), MavenDomUtil.getVirtualFile(projectDom), parentDesc); } } diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/dom/references/MavenPropertyPsiReference.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/dom/references/MavenPropertyPsiReference.java index d9d441333e65..28e114a2ad7b 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/dom/references/MavenPropertyPsiReference.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/dom/references/MavenPropertyPsiReference.java @@ -181,7 +181,7 @@ public class MavenPropertyPsiReference extends MavenPsiReference { return MavenDomUtil.findTag(projectDom, path.replace("project.", "project.parent.")); } - result = new MyMavenParentProjectFileProcessor() { + result = new MavenDomProjectProcessorUtils.DomParentProjectFileProcessor(myProjectsManager) { protected PsiElement doProcessParent(VirtualFile parentFile) { MavenDomProjectModel parentProjectDom = MavenDomUtil.getMavenDomProjectModel(myProject, parentFile); return resolveModelProperty(parentProjectDom, path, recursionGuard); @@ -357,28 +357,4 @@ public class MavenPropertyPsiReference extends MavenPsiReference { return null; } } - - private abstract class MyMavenParentProjectFileProcessor extends MavenParentProjectFileProcessor { - protected VirtualFile findManagedFile(@NotNull MavenId id) { - MavenProject project = myProjectsManager.findProject(id); - return project == null ? null : project.getFile(); - } - - @Nullable - public T process(@NotNull MavenDomProjectModel projectDom) { - MavenDomParent parent = projectDom.getMavenParent(); - MavenParentDesc parentDesc = null; - if (DomUtil.hasXml(parent)) { - String parentGroupId = parent.getGroupId().getStringValue(); - String parentArtifactId = parent.getArtifactId().getStringValue(); - String parentVersion = parent.getVersion().getStringValue(); - String parentRelativePath = parent.getRelativePath().getStringValue(); - if (StringUtil.isEmptyOrSpaces(parentRelativePath)) parentRelativePath = "../pom.xml"; - MavenId parentId = new MavenId(parentGroupId, parentArtifactId, parentVersion); - parentDesc = new MavenParentDesc(parentId, parentRelativePath); - } - - return process(myProjectsManager.getGeneralSettings(), MavenDomUtil.getVirtualFile(projectDom), parentDesc); - } - } }