[maven] IDEA-308205 refactoring: resolveModulePaths is only used in legacy import

GitOrigin-RevId: aa0fa5e1325cb67e8d3d25efab73ff4a606863a8
This commit is contained in:
Dmitry Kichinsky
2023-08-17 12:53:11 +00:00
committed by intellij-monorepo-bot
parent ef863ea3d5
commit 944e5429ff
4 changed files with 59 additions and 73 deletions
@@ -1,40 +1,20 @@
// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package org.jetbrains.idea.maven.importing;
import com.intellij.ide.highlighter.ModuleFileType;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.util.text.StringUtil;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.idea.maven.model.MavenId;
import org.jetbrains.idea.maven.project.MavenProject;
import java.io.File;
import java.util.*;
import static java.util.Locale.ROOT;
public final class MavenModuleNameMapper {
public static void map(Collection<MavenProject> projects,
Map<MavenProject, Module> mavenProjectToModule,
Map<MavenProject, String> mavenProjectToModuleName,
Map<MavenProject, String> mavenProjectToModulePath,
String dedicatedModuleDir) {
resolveModuleNames(projects,
mavenProjectToModule,
mavenProjectToModuleName);
resolveModulePaths(projects,
mavenProjectToModule,
mavenProjectToModuleName,
mavenProjectToModulePath,
dedicatedModuleDir);
}
private static void resolveModuleNames(Collection<MavenProject> projects,
Map<MavenProject, Module> mavenProjectToModule,
Map<MavenProject, String> mavenProjectToModuleName) {
public static void resolveModuleNames(Collection<MavenProject> projects,
Map<MavenProject, Module> mavenProjectToModule,
Map<MavenProject, String> mavenProjectToModuleName) {
NameItem[] names = new NameItem[projects.size()];
int i = 0;
@@ -153,48 +133,4 @@ public final class MavenModuleNameMapper {
}
return true;
}
private static void resolveModulePaths(Collection<MavenProject> projects,
Map<MavenProject, Module> mavenProjectToModule,
Map<MavenProject, String> mavenProjectToModuleName,
Map<MavenProject, String> mavenProjectToModulePath,
String dedicatedModuleDir) {
for (MavenProject each : projects) {
Module module = mavenProjectToModule.get(each);
String path = getPath(mavenProjectToModuleName.get(each), each, dedicatedModuleDir, module);
mavenProjectToModulePath.put(each, path);
}
}
@NotNull
public static @NonNls String getPath(@NotNull String moduleName,
@NotNull MavenProject each,
@Nullable String dedicatedModuleDir,
@Nullable Module module) {
return module != null
? module.getModuleFilePath()
: generateModulePath(each, moduleName, dedicatedModuleDir);
}
@NotNull
public static String generateModulePath(MavenProject project,
String moduleName,
String dedicatedModuleDir) {
String dir = StringUtil.isEmptyOrSpaces(dedicatedModuleDir)
? project.getDirectory()
: dedicatedModuleDir;
String fileName = moduleName + ModuleFileType.DOT_DEFAULT_EXTENSION;
return new File(dir, fileName).getPath();
}
@NotNull
public static String generateModulePath(String directory,
String moduleName,
String dedicatedModuleDir) {
String dir = StringUtil.isEmptyOrSpaces(dedicatedModuleDir)
? directory
: dedicatedModuleDir;
String fileName = moduleName + ModuleFileType.DOT_DEFAULT_EXTENSION;
return new File(dir, fileName).getPath();
}
}
@@ -0,0 +1,49 @@
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.jetbrains.idea.maven.importing;
import com.intellij.ide.highlighter.ModuleFileType;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.util.text.StringUtil;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.idea.maven.project.MavenProject;
import java.io.File;
import java.util.Collection;
import java.util.Map;
public class MavenModulePathMapper {
public static void resolveModulePaths(Collection<MavenProject> projects,
Map<MavenProject, Module> mavenProjectToModule,
Map<MavenProject, String> mavenProjectToModuleName,
Map<MavenProject, String> mavenProjectToModulePath,
String dedicatedModuleDir) {
for (MavenProject each : projects) {
Module module = mavenProjectToModule.get(each);
String path = getPath(mavenProjectToModuleName.get(each), each, dedicatedModuleDir, module);
mavenProjectToModulePath.put(each, path);
}
}
@NotNull
private static @NonNls String getPath(@NotNull String moduleName,
@NotNull MavenProject each,
@Nullable String dedicatedModuleDir,
@Nullable Module module) {
return module != null
? module.getModuleFilePath()
: generateModulePath(each, moduleName, dedicatedModuleDir);
}
@NotNull
private static String generateModulePath(MavenProject project,
String moduleName,
String dedicatedModuleDir) {
String dir = StringUtil.isEmptyOrSpaces(dedicatedModuleDir)
? project.getDirectory()
: dedicatedModuleDir;
String fileName = moduleName + ModuleFileType.DOT_DEFAULT_EXTENSION;
return new File(dir, fileName).getPath();
}
}
@@ -364,11 +364,12 @@ public class MavenProjectLegacyImporter extends MavenProjectImporterLegacyBase {
}
}
MavenModuleNameMapper.map(myAllProjects,
myMavenProjectToModule,
myMavenProjectToModuleName,
myMavenProjectToModulePath,
myImportingSettings.getDedicatedModuleDir());
MavenModuleNameMapper.resolveModuleNames(myAllProjects, myMavenProjectToModule, myMavenProjectToModuleName);
MavenModulePathMapper.resolveModulePaths(myAllProjects,
myMavenProjectToModule,
myMavenProjectToModuleName,
myMavenProjectToModulePath,
myImportingSettings.getDedicatedModuleDir());
}
private List<MavenLegacyModuleImporter.ExtensionImporter> importModules() {
@@ -213,7 +213,7 @@ internal class WorkspaceProjectImporter(
private fun buildModuleNameMap(projectToImport: Map<MavenProject, MavenProjectChanges>): HashMap<MavenProject, String> {
val mavenProjectToModuleName = HashMap<MavenProject, String>()
MavenModuleNameMapper.map(projectToImport.keys, emptyMap(), mavenProjectToModuleName, HashMap(), null)
MavenModuleNameMapper.resolveModuleNames(projectToImport.keys, emptyMap(), mavenProjectToModuleName)
return mavenProjectToModuleName
}