IDEA-CR-21322 MavenExtension replaced with MavenService

This commit is contained in:
Ivan Bessonov
2017-06-21 13:34:58 +03:00
parent 429b8147eb
commit ee331095d1
4 changed files with 11 additions and 43 deletions
@@ -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());
}
}
@@ -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<MavenPomPathModuleExtension.MavenPomPathState> {
@State(name = "MavenCustomPomFilePath")
public class MavenPomPathModuleService implements PersistentStateComponent<MavenPomPathModuleService.MavenPomPathState> {
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)
@@ -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);
}
@@ -42,7 +42,7 @@
<moduleBuilder builderClass="org.jetbrains.idea.maven.wizards.MavenModuleBuilder"/>
<frameworkSupport implementation="org.jetbrains.idea.maven.wizards.MavenFrameworkSupportProvider"/>
<moduleExtension implementation="org.jetbrains.idea.maven.importing.MavenSourceFoldersModuleExtension"/>
<moduleExtension implementation="org.jetbrains.idea.maven.importing.MavenPomPathModuleExtension"/>
<moduleService serviceImplementation="org.jetbrains.idea.maven.importing.MavenPomPathModuleService"/>
<applicationService serviceImplementation="org.jetbrains.idea.maven.server.MavenServerManager"/>
<applicationService serviceImplementation="org.jetbrains.idea.maven.indices.MavenIndicesManager"/>