From d746a46199c39b50ea75ff5980d9d3fc993f9457 Mon Sep 17 00:00:00 2001 From: Marco Vomiero Date: Fri, 10 May 2024 12:08:52 +0200 Subject: [PATCH] use linkset instead of list --- .../com/devonfw/tools/ide/tool/mvn/Mvn.java | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/mvn/Mvn.java b/cli/src/main/java/com/devonfw/tools/ide/tool/mvn/Mvn.java index f4796ca62..66132d649 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/tool/mvn/Mvn.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/mvn/Mvn.java @@ -16,9 +16,8 @@ import java.nio.file.Files; import java.nio.file.Path; import java.security.SecureRandom; -import java.util.ArrayList; import java.util.Base64; -import java.util.List; +import java.util.LinkedHashSet; import java.util.Set; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -34,7 +33,7 @@ public class Mvn extends PluginBasedCommandlet { /** The name of the settings.xml */ public static final String SETTINGS_FILE = "settings.xml"; - private static final String M2_REPO = ".m2"; + private static final String M2_CONFIG_FOLDER = ".m2"; private static final String SETTINGS_SECURITY_FILE = "settings-security.xml"; @@ -80,7 +79,7 @@ public void postInstall() { } Path settingsFile = this.context.getConfPath().resolve(MVN_CONFIG_FOLDER).resolve(SETTINGS_FILE); - if (!Files.exists(settingsFile)) { + if (!Files.exists(settingsFile) && Files.exists(settingsSecurityFile)) { Step step = this.context.newStep("Create mvn settings file at " + settingsFile); try { createSettingsFile(settingsFile, settingsSecurityFile); @@ -122,7 +121,7 @@ private void createSettingsFile(Path settingsFile, Path settingsSecurityFile) { Path settingsTemplate = this.context.getSettingsPath().resolve(IdeContext.FOLDER_TEMPLATES).resolve(IdeContext.FOLDER_CONF).resolve(MVN_CONFIG_FOLDER) .resolve(SETTINGS_FILE); if (!Files.exists(settingsTemplate)) { - settingsTemplate = this.context.getSettingsPath().resolve(IdeContext.FOLDER_LEGACY_TEMPLATES).resolve(IdeContext.FOLDER_CONF).resolve(M2_REPO) + settingsTemplate = this.context.getSettingsPath().resolve(IdeContext.FOLDER_LEGACY_TEMPLATES).resolve(IdeContext.FOLDER_CONF).resolve(M2_CONFIG_FOLDER) .resolve(SETTINGS_FILE); if (!Files.exists(settingsTemplate)) { this.context.warning(SETTINGS_FILE + " template not found in settings folder. " + ERROR_SETTINGS_FILE_MESSAGE, settingsFile); @@ -142,7 +141,7 @@ private void createSettingsFile(Path settingsFile, Path settingsSecurityFile) { } if (!gitSettingsUrl.equals(gitContext.DEFAULT_SETTINGS_GIT_URL)) { - List variables = findVariables(content); + Set variables = findVariables(content); for (String variable : variables) { String secret = getEncryptedPassword(variable, settingsSecurityFile); content = content.replace("$[" + variable + "]", secret); @@ -170,15 +169,13 @@ private String getEncryptedPassword(String variable, Path settingsSecurityFile) return encryptedPassword; } - private List findVariables(String content) { + private Set findVariables(String content) { - List variables = new ArrayList<>(); + Set variables = new LinkedHashSet<>(); Matcher matcher = VARIABLE_PATTERN.matcher(content); while (matcher.find()) { String variableName = matcher.group(1); - if (!variables.contains(variableName)) { - variables.add(variableName); - } + variables.add(variableName); } return variables; }