From ee331095d12b6cf51f4ba0eacbd513cf9e059ea0 Mon Sep 17 00:00:00 2001 From: Ivan Bessonov Date: Wed, 21 Jun 2017 13:34:19 +0300 Subject: [PATCH] IDEA-CR-21322 MavenExtension replaced with MavenService --- .../maven/importing/MavenModuleImporter.java | 2 +- ...on.java => MavenPomPathModuleService.java} | 46 +++---------------- .../maven/project/MavenProjectsManager.java | 4 +- .../src/main/resources/META-INF/plugin.xml | 2 +- 4 files changed, 11 insertions(+), 43 deletions(-) rename plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/{MavenPomPathModuleExtension.java => MavenPomPathModuleService.java} (56%) diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/MavenModuleImporter.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/MavenModuleImporter.java index 168ee9082f32..ec7da5f5a778 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/MavenModuleImporter.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/MavenModuleImporter.java @@ -87,7 +87,7 @@ public class MavenModuleImporter { VirtualFile pomFile = mavenProject.getFile(); if (!FileUtil.namesEqual("pom", pomFile.getNameWithoutExtension())) { - MavenPomPathModuleExtension.getInstance(module).setPomFileUrl(pomFile.getUrl()); + MavenPomPathModuleService.getInstance(module).setPomFileUrl(pomFile.getUrl()); } } diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/MavenPomPathModuleExtension.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/MavenPomPathModuleService.java similarity index 56% rename from plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/MavenPomPathModuleExtension.java rename to plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/MavenPomPathModuleService.java index 308123661dc9..33543929ab86 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/MavenPomPathModuleExtension.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/MavenPomPathModuleService.java @@ -16,24 +16,21 @@ package org.jetbrains.idea.maven.importing; import com.intellij.openapi.components.PersistentStateComponent; +import com.intellij.openapi.components.State; import com.intellij.openapi.module.Module; -import com.intellij.openapi.roots.ModuleExtension; -import com.intellij.openapi.roots.ModuleRootManager; -import com.intellij.openapi.util.io.FileUtil; +import com.intellij.openapi.module.ModuleServiceManager; import com.intellij.util.xmlb.SkipDefaultsSerializationFilter; import com.intellij.util.xmlb.XmlSerializerUtil; import com.intellij.util.xmlb.annotations.Property; -import org.jdom.Element; -import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -public class MavenPomPathModuleExtension extends ModuleExtension implements PersistentStateComponent { +@State(name = "MavenCustomPomFilePath") +public class MavenPomPathModuleService implements PersistentStateComponent { private MavenPomPathState myState = new MavenPomPathState(); - private boolean myPomFileUrlChanged = false; - public static MavenPomPathModuleExtension getInstance(final Module module) { - return ModuleRootManager.getInstance(module).getModuleExtension(MavenPomPathModuleExtension.class); + public static MavenPomPathModuleService getInstance(final Module module) { + return ModuleServiceManager.getService(module, MavenPomPathModuleService.class); } public String getPomFileUrl() { @@ -41,10 +38,7 @@ public class MavenPomPathModuleExtension extends ModuleExtension implements Pers } public void setPomFileUrl(String pomFileUrl) { - if (!FileUtil.pathsEqual(myState.mavenPomFileUrl, pomFileUrl)) { - myState.mavenPomFileUrl = pomFileUrl; - myPomFileUrlChanged = true; - } + myState.mavenPomFileUrl = pomFileUrl; } @Nullable @@ -58,32 +52,6 @@ public class MavenPomPathModuleExtension extends ModuleExtension implements Pers XmlSerializerUtil.copyBean(state, myState); } - @Override - public ModuleExtension getModifiableModel(boolean writable) { - return new MavenPomPathModuleExtension(); - } - - @Override - public void commit() { - } - - @Override - public boolean isChanged() { - return myPomFileUrlChanged; - } - - @Override - public void dispose() { - } - - @Override - public void readExternal(@NotNull Element element) { - } - - @Override - public void writeExternal(@NotNull Element element) { - } - public static class MavenPomPathState { @Property(filter = SkipDefaultsSerializationFilter.class) diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenProjectsManager.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenProjectsManager.java index 9be729d26f6c..8a88032f8a5f 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenProjectsManager.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenProjectsManager.java @@ -60,7 +60,7 @@ import org.jetbrains.annotations.TestOnly; import org.jetbrains.concurrency.AsyncPromise; import org.jetbrains.concurrency.Promise; import org.jetbrains.idea.maven.importing.MavenFoldersImporter; -import org.jetbrains.idea.maven.importing.MavenPomPathModuleExtension; +import org.jetbrains.idea.maven.importing.MavenPomPathModuleService; import org.jetbrains.idea.maven.importing.MavenProjectImporter; import org.jetbrains.idea.maven.model.*; import org.jetbrains.idea.maven.server.MavenEmbedderWrapper; @@ -718,7 +718,7 @@ public class MavenProjectsManager extends MavenSimpleProjectComponent @Nullable private VirtualFile findPomFile(@NotNull Module module, @NotNull MavenModelsProvider modelsProvider) { - String pomFileUrl = MavenPomPathModuleExtension.getInstance(module).getPomFileUrl(); + String pomFileUrl = MavenPomPathModuleService.getInstance(module).getPomFileUrl(); if (pomFileUrl != null) { return VirtualFileManager.getInstance().findFileByUrl(pomFileUrl); } diff --git a/plugins/maven/src/main/resources/META-INF/plugin.xml b/plugins/maven/src/main/resources/META-INF/plugin.xml index a16fca4be40a..0fe7b4fb7bdb 100644 --- a/plugins/maven/src/main/resources/META-INF/plugin.xml +++ b/plugins/maven/src/main/resources/META-INF/plugin.xml @@ -42,7 +42,7 @@ - +