From 944e5429ffd48d3994e40faab8ec8676cc895436 Mon Sep 17 00:00:00 2001 From: Dmitry Kichinsky Date: Thu, 17 Aug 2023 12:21:49 +0200 Subject: [PATCH] [maven] IDEA-308205 refactoring: resolveModulePaths is only used in legacy import GitOrigin-RevId: aa0fa5e1325cb67e8d3d25efab73ff4a606863a8 --- .../importing/MavenModuleNameMapper.java | 70 +------------------ .../importing/MavenModulePathMapper.java | 49 +++++++++++++ .../importing/MavenProjectLegacyImporter.java | 11 +-- .../WorkspaceProjectImporter.kt | 2 +- 4 files changed, 59 insertions(+), 73 deletions(-) create mode 100644 plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/MavenModulePathMapper.java diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/MavenModuleNameMapper.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/MavenModuleNameMapper.java index 21e3acd2d8ac..b4505a06ce64 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/MavenModuleNameMapper.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/MavenModuleNameMapper.java @@ -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 projects, - Map mavenProjectToModule, - Map mavenProjectToModuleName, - Map mavenProjectToModulePath, - String dedicatedModuleDir) { - resolveModuleNames(projects, - mavenProjectToModule, - mavenProjectToModuleName); - resolveModulePaths(projects, - mavenProjectToModule, - mavenProjectToModuleName, - mavenProjectToModulePath, - dedicatedModuleDir); - } - - private static void resolveModuleNames(Collection projects, - Map mavenProjectToModule, - Map mavenProjectToModuleName) { + public static void resolveModuleNames(Collection projects, + Map mavenProjectToModule, + Map 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 projects, - Map mavenProjectToModule, - Map mavenProjectToModuleName, - Map 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(); - } } diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/MavenModulePathMapper.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/MavenModulePathMapper.java new file mode 100644 index 000000000000..bb76a3a39fe6 --- /dev/null +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/MavenModulePathMapper.java @@ -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 projects, + Map mavenProjectToModule, + Map mavenProjectToModuleName, + Map 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(); + } +} diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/MavenProjectLegacyImporter.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/MavenProjectLegacyImporter.java index fb8e7c90c400..ac893af4a9b7 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/MavenProjectLegacyImporter.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/MavenProjectLegacyImporter.java @@ -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 importModules() { diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/workspaceModel/WorkspaceProjectImporter.kt b/plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/workspaceModel/WorkspaceProjectImporter.kt index 70ca48540b36..1fcab110a95f 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/workspaceModel/WorkspaceProjectImporter.kt +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/workspaceModel/WorkspaceProjectImporter.kt @@ -213,7 +213,7 @@ internal class WorkspaceProjectImporter( private fun buildModuleNameMap(projectToImport: Map): HashMap { val mavenProjectToModuleName = HashMap() - MavenModuleNameMapper.map(projectToImport.keys, emptyMap(), mavenProjectToModuleName, HashMap(), null) + MavenModuleNameMapper.resolveModuleNames(projectToImport.keys, emptyMap(), mavenProjectToModuleName) return mavenProjectToModuleName }