From a7cfcbf6ea6a8b92af953c4f216ded31ee66fd10 Mon Sep 17 00:00:00 2001 From: Alex Johnson Date: Tue, 19 Aug 2025 17:54:07 +0100 Subject: [PATCH 1/7] BUGFIX - Correct icon path in ConfigurationDialog to prevent java.lang.NullPointerException --- .../com/magento/idea/magento2uct/ui/ConfigurationDialog.form | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/magento/idea/magento2uct/ui/ConfigurationDialog.form b/src/main/java/com/magento/idea/magento2uct/ui/ConfigurationDialog.form index dde8aa441..45239c044 100644 --- a/src/main/java/com/magento/idea/magento2uct/ui/ConfigurationDialog.form +++ b/src/main/java/com/magento/idea/magento2uct/ui/ConfigurationDialog.form @@ -114,7 +114,7 @@ - + From c5b97059497a0f4873d99d9e69c4d105004ce244 Mon Sep 17 00:00:00 2001 From: Alex Johnson Date: Tue, 19 Aug 2025 18:54:47 +0100 Subject: [PATCH 2/7] BUGFIX - Remove buttonOk and buttonCancel references in ConfigurationDialog to prevent java.lang.NullPointerException --- .../com/magento/idea/magento2uct/ui/ConfigurationDialog.java | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/main/java/com/magento/idea/magento2uct/ui/ConfigurationDialog.java b/src/main/java/com/magento/idea/magento2uct/ui/ConfigurationDialog.java index 13ade7893..4b8f398b3 100644 --- a/src/main/java/com/magento/idea/magento2uct/ui/ConfigurationDialog.java +++ b/src/main/java/com/magento/idea/magento2uct/ui/ConfigurationDialog.java @@ -25,7 +25,6 @@ import java.awt.Color; import java.awt.event.KeyEvent; import java.util.Objects; -import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JComboBox; import javax.swing.JComponent; @@ -50,8 +49,6 @@ public class ConfigurationDialog extends AbstractDialog { private JComboBox issueSeverityLevel; private JPanel contentPanel; - private JButton buttonCancel; - private JButton buttonOk; private JLabel currentVersionLabel;//NOPMD private JLabel modulePathLabel;//NOPMD private JLabel targetVersionLabel;//NOPMD @@ -77,8 +74,6 @@ public ConfigurationDialog(final @NotNull Project project) { hasAdditionalPath.addActionListener(event -> refreshAdditionalFields(hasAdditionalPath.isSelected())); - buttonOk.addActionListener(event -> onOK()); - buttonCancel.addActionListener(event -> onCancel()); // call onCancel() on ESCAPE contentPanel.registerKeyboardAction( From 99322f21c9a1d98211c26f26dba391f951883e6a Mon Sep 17 00:00:00 2001 From: Alex Johnson Date: Tue, 19 Aug 2025 18:57:31 +0100 Subject: [PATCH 3/7] BUGFIX - Add init() to ConfigurationDialog to resolve blank UCT dialog window --- .../com/magento/idea/magento2uct/ui/ConfigurationDialog.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/com/magento/idea/magento2uct/ui/ConfigurationDialog.java b/src/main/java/com/magento/idea/magento2uct/ui/ConfigurationDialog.java index 4b8f398b3..4a5a093a1 100644 --- a/src/main/java/com/magento/idea/magento2uct/ui/ConfigurationDialog.java +++ b/src/main/java/com/magento/idea/magento2uct/ui/ConfigurationDialog.java @@ -92,6 +92,8 @@ public ConfigurationDialog(final @NotNull Project project) { enableCommentPath.setForeground(JBColor.blue); setDefaultValues(); refreshAdditionalFields(hasAdditionalPath.isSelected()); + + init(); } /** From f1e66e69affad91d662408806d4bd065f60d8f31 Mon Sep 17 00:00:00 2001 From: Alex Johnson Date: Tue, 19 Aug 2025 19:08:41 +0100 Subject: [PATCH 4/7] BUGFIX - Change SupportedVersion from enum to class to resolve broken SupportedVersion.values() calls in UCT --- .../configurations/UctSettingsEditor.java | 4 +- .../magento2uct/packages/IndexRegistry.java | 6 +- .../packages/SupportedVersion.java | 112 +++++++++--------- .../settings/UctSettingsService.java | 6 +- .../magento2uct/ui/ConfigurationDialog.java | 8 +- .../idea/magento2uct/ui/ReindexDialog.java | 4 +- .../versioning/VersionStateManager.java | 22 ++-- .../indexes/data/ApiCoverageStateIndex.java | 2 +- .../indexes/data/DeprecationStateIndex.java | 2 +- .../indexes/data/ExistenceStateIndex.java | 2 +- .../processors/DeprecationIndexProcessor.java | 4 +- .../processors/ExistenceIndexProcessor.java | 4 +- .../util/VersioningDataOperationsUtil.java | 2 +- 13 files changed, 87 insertions(+), 91 deletions(-) diff --git a/src/main/java/com/magento/idea/magento2uct/execution/configurations/UctSettingsEditor.java b/src/main/java/com/magento/idea/magento2uct/execution/configurations/UctSettingsEditor.java index c333c2844..43af7571c 100644 --- a/src/main/java/com/magento/idea/magento2uct/execution/configurations/UctSettingsEditor.java +++ b/src/main/java/com/magento/idea/magento2uct/execution/configurations/UctSettingsEditor.java @@ -320,8 +320,8 @@ private String getStoredUctExecutablePath( private void initializeComboboxSources() { comingVersion.setToolTipText("Choose a target version"); - for (final String version : SupportedVersion.getSupportedVersions()) { - comingVersion.addItem(new ComboBoxItemData(version, version)); + for (final SupportedVersion version : SupportedVersion.getSupportedVersions()) { + comingVersion.addItem(new ComboBoxItemData(version.getVersion(), version.getVersion())); } for (final IssueSeverityLevel level : IssueSeverityLevel.getSeverityLabels()) { diff --git a/src/main/java/com/magento/idea/magento2uct/packages/IndexRegistry.java b/src/main/java/com/magento/idea/magento2uct/packages/IndexRegistry.java index 06296f461..630e4ed3a 100644 --- a/src/main/java/com/magento/idea/magento2uct/packages/IndexRegistry.java +++ b/src/main/java/com/magento/idea/magento2uct/packages/IndexRegistry.java @@ -22,17 +22,17 @@ public enum IndexRegistry { DEPRECATION( DeprecationStateIndex.class, new DeprecationIndexProcessor(), - SupportedVersion.getSupportedVersions().toArray(new String[0]) + SupportedVersion.getSupportedVersionStrings() ), EXISTENCE( ExistenceStateIndex.class, new ExistenceIndexProcessor(), - SupportedVersion.getSupportedVersions().toArray(new String[0]) + SupportedVersion.getSupportedVersionStrings() ), API_COVERAGE( ApiCoverageStateIndex.class, new ApiCoverageIndexProcessor(), - SupportedVersion.getSupportedVersions().toArray(new String[0]) + SupportedVersion.getSupportedVersionStrings() ); private final String key; diff --git a/src/main/java/com/magento/idea/magento2uct/packages/SupportedVersion.java b/src/main/java/com/magento/idea/magento2uct/packages/SupportedVersion.java index 92cee3a8c..5d4c0a9f4 100644 --- a/src/main/java/com/magento/idea/magento2uct/packages/SupportedVersion.java +++ b/src/main/java/com/magento/idea/magento2uct/packages/SupportedVersion.java @@ -5,6 +5,10 @@ package com.magento.idea.magento2uct.packages; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; +import org.json.JSONArray; +import org.json.JSONObject; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; @@ -12,57 +16,68 @@ import java.net.URL; import java.util.ArrayList; import java.util.List; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; -import org.json.JSONArray; -import org.json.JSONObject; +import java.util.concurrent.atomic.AtomicReference; + +public final class SupportedVersion { -public enum SupportedVersion { - ; private final String version; - private static final Integer SUCCESS_CODE = 200; - SupportedVersion(final String version) { + private SupportedVersion(final String version) { this.version = version; } - /** - * Get version. - * - * @return String - */ - public String getVersion() { + public @NotNull String getVersion() { return version; } - /** - * Get version ENUM by version code. - * - * @param versionCandidate String - * - * @return SupportedVersion - */ - public @Nullable static SupportedVersion getVersion(final @NotNull String versionCandidate) { - for (final SupportedVersion version : SupportedVersion.values()) { + private static final AtomicReference> cachedVersions = new AtomicReference<>(); + + public static @NotNull List getSupportedVersions() { + List versions = cachedVersions.get(); + + if (versions == null) { + versions = new ArrayList<>(); + + try { + for (final String versionStr : fetchRemoteSupportedVersions()) { + versions.add(new SupportedVersion(versionStr)); + } + } catch (Exception ignored) { + } + + cachedVersions.set(versions); + } + + return versions; + } + + public static String[] getSupportedVersionStrings() { + return getSupportedVersions() + .stream() + .map(SupportedVersion::toString) + .toArray(String[]::new); + } + + public static @Nullable SupportedVersion getVersion(final @NotNull String versionCandidate) { + for (final SupportedVersion version : getSupportedVersions()) { if (version.getVersion().equals(versionCandidate)) { return version; } } + return null; } - /** - * Get supported versions. - * - * @return List[String] - */ - public static List getSupportedVersions() { - try { - return fetchSupportedVersions(); - } catch (Exception e) { //NOPMD - suppressed AvoidCatchingGenericException - // Return an empty list or log the exception - return List.of(); + public static List getPriorVersions(final SupportedVersion version) { + final List previousVersions = new ArrayList<>(); + + for (final SupportedVersion supportedVersion : getSupportedVersions()) { + if (supportedVersion.getVersion().compareTo(version.toString()) < 0) { + previousVersions.add(supportedVersion); + } } + + return previousVersions; } /** @@ -71,22 +86,22 @@ public static List getSupportedVersions() { * from a predefined URL and parses it into a list of version strings. * * @return List[String] containing supported version strings - * @throws IOException if an error occurs during HTTP connection or JSON parsing */ - public static List fetchSupportedVersions() throws IOException { + private static List fetchRemoteSupportedVersions() { final String url = "https://repo.packagist.org/p2/magento/community-edition.json"; final List versions = new ArrayList<>(); HttpURLConnection connection = null; + try { // Establish HTTP connection connection = (HttpURLConnection) new URL(url).openConnection(); connection.setRequestMethod("GET"); connection.setRequestProperty("Accept", "application/json"); - if (connection.getResponseCode() != SUCCESS_CODE) { + if (connection.getResponseCode() != 200) { throw new IOException(//NOPMD - suppressed AvoidThrowingRawExceptionTypes - "Failed to fetch data, HTTP response code: " + connection.getResponseCode() + "Failed to fetch data, HTTP response code: " + connection.getResponseCode() ); } @@ -122,6 +137,7 @@ public static List fetchSupportedVersions() throws IOException { versions.add(versionstring); } } + } catch (IOException ignored) { } finally { if (connection != null) { connection.disconnect(); @@ -131,22 +147,4 @@ public static List fetchSupportedVersions() throws IOException { return versions; } - /** - * Get previous versions. - * - * @param version SupportedVersion - * - * @return List[SupportedVersion] - */ - public static List getPriorVersions(final SupportedVersion version) { - final List previousVersions = new ArrayList<>(); - - for (final SupportedVersion supportedVersion : SupportedVersion.values()) { - if (supportedVersion.compareTo(version) < 0) { - previousVersions.add(supportedVersion); - } - } - - return previousVersions; - } -} +} \ No newline at end of file diff --git a/src/main/java/com/magento/idea/magento2uct/settings/UctSettingsService.java b/src/main/java/com/magento/idea/magento2uct/settings/UctSettingsService.java index 0d96ea8d2..11b78f097 100644 --- a/src/main/java/com/magento/idea/magento2uct/settings/UctSettingsService.java +++ b/src/main/java/com/magento/idea/magento2uct/settings/UctSettingsService.java @@ -15,6 +15,7 @@ import com.magento.idea.magento2uct.packages.SupportedVersion; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import java.util.List; @State(name = "Magento2UctSettings", storages = @Storage(UctSettingsService.M2_UCT_SETTINGS_XML)) public class UctSettingsService implements PersistentStateComponent { @@ -164,6 +165,7 @@ public void setCurrentVersion(final @Nullable SupportedVersion version) { if (currentVersion == null) { return null; } + return SupportedVersion.getVersion(currentVersion); } @@ -174,8 +176,9 @@ public void setCurrentVersion(final @Nullable SupportedVersion version) { */ public @NotNull SupportedVersion getCurrentVersionOrDefault() { final SupportedVersion currentVersion = getCurrentVersion(); + final @NotNull List supportedVersions = SupportedVersion.getSupportedVersions(); - return currentVersion == null ? SupportedVersion.valueOf("2.3.0") : currentVersion; + return currentVersion == null ? supportedVersions.get(0) : currentVersion; } /** @@ -196,6 +199,7 @@ public void setTargetVersion(final @NotNull SupportedVersion version) { if (targetVersion == null) { return null; } + return SupportedVersion.getVersion(targetVersion); } diff --git a/src/main/java/com/magento/idea/magento2uct/ui/ConfigurationDialog.java b/src/main/java/com/magento/idea/magento2uct/ui/ConfigurationDialog.java index 4a5a093a1..29f8f4280 100644 --- a/src/main/java/com/magento/idea/magento2uct/ui/ConfigurationDialog.java +++ b/src/main/java/com/magento/idea/magento2uct/ui/ConfigurationDialog.java @@ -267,14 +267,14 @@ private void setSelectedValueByItsKey( private void createUIComponents() { targetVersion = new ComboBox<>(); - for (final String version : SupportedVersion.getSupportedVersions()) { - targetVersion.addItem(new ComboBoxItemData(version, version)); + for (final SupportedVersion version : SupportedVersion.getSupportedVersions()) { + targetVersion.addItem(new ComboBoxItemData(version.getVersion(), version.getVersion())); } currentVersion = new ComboBox<>(); currentVersion.addItem(new ComboBoxItemData("", "Less than 2.3.0")); - for (final String version : SupportedVersion.getSupportedVersions()) { - currentVersion.addItem(new ComboBoxItemData(version, version)); + for (final SupportedVersion version : SupportedVersion.getSupportedVersions()) { + currentVersion.addItem(new ComboBoxItemData(version.getVersion(), version.getVersion())); } issueSeverityLevel = new ComboBox<>(); diff --git a/src/main/java/com/magento/idea/magento2uct/ui/ReindexDialog.java b/src/main/java/com/magento/idea/magento2uct/ui/ReindexDialog.java index 608041434..9462321aa 100644 --- a/src/main/java/com/magento/idea/magento2uct/ui/ReindexDialog.java +++ b/src/main/java/com/magento/idea/magento2uct/ui/ReindexDialog.java @@ -132,8 +132,8 @@ protected void onWriteActionOK() { private void createUIComponents() { targetVersion = new ComboBox<>(); - for (final String version : SupportedVersion.getSupportedVersions()) { - targetVersion.addItem(new ComboBoxItemData(version, version)); + for (final SupportedVersion version : SupportedVersion.getSupportedVersions()) { + targetVersion.addItem(new ComboBoxItemData(version.getVersion(), version.getVersion())); } targetIndex = new ComboBox<>(); targetIndex.addItem(new ComboBoxItemData("", " --- Choose Target Index --- ")); diff --git a/src/main/java/com/magento/idea/magento2uct/versioning/VersionStateManager.java b/src/main/java/com/magento/idea/magento2uct/versioning/VersionStateManager.java index 420e2d2ca..b3038f5d5 100644 --- a/src/main/java/com/magento/idea/magento2uct/versioning/VersionStateManager.java +++ b/src/main/java/com/magento/idea/magento2uct/versioning/VersionStateManager.java @@ -148,22 +148,16 @@ private VersionStateManager(final @NotNull Project project) { @SuppressWarnings("PMD.AvoidSynchronizedAtMethodLevel") private synchronized void correctSettings(final @NotNull Project project) { final UctSettingsService settingsService = UctSettingsService.getInstance(project); - final List allVersions = SupportedVersion.getSupportedVersions(); + final List allVersions = SupportedVersion.getSupportedVersions(); - if (currentVersion == null - || SupportedVersion.getVersion(currentVersion.getVersion()) == null) { - final SupportedVersion correctCurrentVersion = SupportedVersion.getVersion( - allVersions.get(0) - ); + if (currentVersion == null) { + final SupportedVersion correctCurrentVersion = allVersions.get(0); settingsService.setCurrentVersion(correctCurrentVersion); currentVersion = correctCurrentVersion; } - if (targetVersion == null - || SupportedVersion.getVersion(targetVersion.getVersion()) == null) { - final SupportedVersion correctTargetVersion = SupportedVersion.getVersion( - allVersions.get(allVersions.size() - 1) - ); + if (targetVersion == null) { + final SupportedVersion correctTargetVersion = allVersions.get(allVersions.size() - 1); settingsService.setTargetVersion(correctTargetVersion); targetVersion = correctTargetVersion; } @@ -201,11 +195,11 @@ private void compute(final VersionStateIndex index) { } if (versionsToLoad.isEmpty()) { - for (final SupportedVersion version : SupportedVersion.values()) { - if (version.compareTo(targetVersion) <= 0) { + for (final SupportedVersion version : SupportedVersion.getSupportedVersions()) { + if (version.getVersion().compareTo(targetVersion.getVersion()) <= 0) { if (isSetIgnoreFlag != null && isSetIgnoreFlag) { // If current version is NULL, it is less than minimum supported version. - if (currentVersion == null || version.compareTo(currentVersion) > 0) { + if (currentVersion == null || version.getVersion().compareTo(currentVersion.getVersion()) > 0) { versionsToLoad.add(version); } } else { diff --git a/src/main/java/com/magento/idea/magento2uct/versioning/indexes/data/ApiCoverageStateIndex.java b/src/main/java/com/magento/idea/magento2uct/versioning/indexes/data/ApiCoverageStateIndex.java index df81bb117..e65fc744b 100644 --- a/src/main/java/com/magento/idea/magento2uct/versioning/indexes/data/ApiCoverageStateIndex.java +++ b/src/main/java/com/magento/idea/magento2uct/versioning/indexes/data/ApiCoverageStateIndex.java @@ -168,7 +168,7 @@ private void groupLoadedData() { VersioningDataOperationsUtil.unionVersionDataWithChangelog( versioningData, new ArrayList<>(Collections.singletonList( - SupportedVersion.valueOf("2.3.0").getVersion() + SupportedVersion.getSupportedVersions().get(0).getVersion() )), true ); diff --git a/src/main/java/com/magento/idea/magento2uct/versioning/indexes/data/DeprecationStateIndex.java b/src/main/java/com/magento/idea/magento2uct/versioning/indexes/data/DeprecationStateIndex.java index 73a6cc725..a7201870a 100644 --- a/src/main/java/com/magento/idea/magento2uct/versioning/indexes/data/DeprecationStateIndex.java +++ b/src/main/java/com/magento/idea/magento2uct/versioning/indexes/data/DeprecationStateIndex.java @@ -151,7 +151,7 @@ private void groupLoadedData() { VersioningDataOperationsUtil.unionVersionDataWithChangelog( versioningData, new ArrayList<>(Collections.singletonList( - SupportedVersion.valueOf("2.3.0").getVersion() + SupportedVersion.getSupportedVersions().get(0).getVersion() )), true ); diff --git a/src/main/java/com/magento/idea/magento2uct/versioning/indexes/data/ExistenceStateIndex.java b/src/main/java/com/magento/idea/magento2uct/versioning/indexes/data/ExistenceStateIndex.java index b35b8d4a5..7bf0acb70 100644 --- a/src/main/java/com/magento/idea/magento2uct/versioning/indexes/data/ExistenceStateIndex.java +++ b/src/main/java/com/magento/idea/magento2uct/versioning/indexes/data/ExistenceStateIndex.java @@ -196,7 +196,7 @@ private void groupLoadedData() { VersioningDataOperationsUtil.unionVersionDataWithChangelog( versioningData, new ArrayList<>(Collections.singletonList( - SupportedVersion.valueOf("2.3.0").getVersion() + SupportedVersion.getSupportedVersions().get(0).getVersion() )), false ); diff --git a/src/main/java/com/magento/idea/magento2uct/versioning/processors/DeprecationIndexProcessor.java b/src/main/java/com/magento/idea/magento2uct/versioning/processors/DeprecationIndexProcessor.java index 3ff1513c8..bd570034b 100644 --- a/src/main/java/com/magento/idea/magento2uct/versioning/processors/DeprecationIndexProcessor.java +++ b/src/main/java/com/magento/idea/magento2uct/versioning/processors/DeprecationIndexProcessor.java @@ -89,8 +89,8 @@ private void filter( ) { final List previousVersions = new ArrayList<>(); - for (final SupportedVersion supportedVersion : SupportedVersion.values()) { - if (supportedVersion.compareTo(indexedVersion) < 0) { + for (final SupportedVersion supportedVersion : SupportedVersion.getSupportedVersions()) { + if (supportedVersion.getVersion().compareTo(indexedVersion.getVersion()) < 0) { previousVersions.add(supportedVersion); } } diff --git a/src/main/java/com/magento/idea/magento2uct/versioning/processors/ExistenceIndexProcessor.java b/src/main/java/com/magento/idea/magento2uct/versioning/processors/ExistenceIndexProcessor.java index 6d4d97a97..200806aa9 100644 --- a/src/main/java/com/magento/idea/magento2uct/versioning/processors/ExistenceIndexProcessor.java +++ b/src/main/java/com/magento/idea/magento2uct/versioning/processors/ExistenceIndexProcessor.java @@ -93,8 +93,8 @@ private void filter( ) { final List previousVersions = new ArrayList<>(); - for (final SupportedVersion supportedVersion : SupportedVersion.values()) { - if (supportedVersion.compareTo(indexedVersion) < 0) { + for (final SupportedVersion supportedVersion : SupportedVersion.getSupportedVersions()) { + if (supportedVersion.getVersion().compareTo(indexedVersion.getVersion()) < 0) { previousVersions.add(supportedVersion); } } diff --git a/src/main/java/com/magento/idea/magento2uct/versioning/processors/util/VersioningDataOperationsUtil.java b/src/main/java/com/magento/idea/magento2uct/versioning/processors/util/VersioningDataOperationsUtil.java index 7cd97d4cd..7b1cf4679 100644 --- a/src/main/java/com/magento/idea/magento2uct/versioning/processors/util/VersioningDataOperationsUtil.java +++ b/src/main/java/com/magento/idea/magento2uct/versioning/processors/util/VersioningDataOperationsUtil.java @@ -83,7 +83,7 @@ public static Pair, Map> unionVersionDataWi return 0; } - return version1.compareTo(version2); + return version1.getVersion().compareTo(version2.getVersion()); }); for (final String version : versions) { From 99dca9335229cc179b91b579dd686bf7f6fc3d1a Mon Sep 17 00:00:00 2001 From: Alex Johnson Date: Tue, 19 Aug 2025 19:15:01 +0100 Subject: [PATCH 5/7] BUGFIX - Remove buttonOk and buttonCancel references in ReindexDialog to prevent java.lang.NullPointerException --- .../com/magento/idea/magento2uct/ui/ReindexDialog.java | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/magento/idea/magento2uct/ui/ReindexDialog.java b/src/main/java/com/magento/idea/magento2uct/ui/ReindexDialog.java index 9462321aa..14847cd0d 100644 --- a/src/main/java/com/magento/idea/magento2uct/ui/ReindexDialog.java +++ b/src/main/java/com/magento/idea/magento2uct/ui/ReindexDialog.java @@ -16,7 +16,6 @@ import com.magento.idea.magento2uct.packages.IndexRegistry; import com.magento.idea.magento2uct.packages.SupportedVersion; import java.awt.event.KeyEvent; -import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JComponent; import javax.swing.JLabel; @@ -32,15 +31,13 @@ public class ReindexDialog extends AbstractDialog { private JPanel contentPanel; private JComboBox targetVersion; private JComboBox targetIndex; - private JButton buttonOk; - private JButton buttonCancel; private JLabel targetVersionLabel;//NOPMD private JLabel targetIndexLabel;//NOPMD /** * Reindexing dialog. * - * @param project Project + * @param project Project * @param directory PsiDirectory */ public ReindexDialog( @@ -54,9 +51,6 @@ public ReindexDialog( setTitle(ReindexVersionedIndexesAction.ACTION_NAME); - buttonOk.addActionListener(event -> onOK()); - buttonCancel.addActionListener(event -> onCancel()); - // call onCancel() on ESCAPE contentPanel.registerKeyboardAction( event -> onCancel(), @@ -70,7 +64,7 @@ public ReindexDialog( /** * Open reindexing dialog window. * - * @param project Project + * @param project Project * @param directory PsiDirectory */ public static void open( From 4c53e5d61b3c0418cd22ba30491627b5355079e5 Mon Sep 17 00:00:00 2001 From: Alex Johnson Date: Wed, 20 Aug 2025 10:18:07 +0100 Subject: [PATCH 6/7] BUGFIX - Resolve serialised SupportedVersions objects being returned by getSupportedVersionStrings instead of version strings --- .../idea/magento2uct/packages/IndexRegistry.java | 8 ++++---- .../idea/magento2uct/packages/SupportedVersion.java | 13 ++++++++----- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/magento/idea/magento2uct/packages/IndexRegistry.java b/src/main/java/com/magento/idea/magento2uct/packages/IndexRegistry.java index 630e4ed3a..773419426 100644 --- a/src/main/java/com/magento/idea/magento2uct/packages/IndexRegistry.java +++ b/src/main/java/com/magento/idea/magento2uct/packages/IndexRegistry.java @@ -38,16 +38,16 @@ public enum IndexRegistry { private final String key; private final Class type; private final IndexProcessor processor; - private final String[] versions; + private final List versions; IndexRegistry( final Class type, final IndexProcessor processor, - final String... versions + final List versions ) { this.type = type; this.processor = processor; - this.versions = Arrays.copyOf(versions, versions.length); + this.versions = versions; key = this.toString(); } @@ -84,7 +84,7 @@ public IndexProcessor getProcessor() { * @return List[String] */ public List getVersions() { - return Arrays.asList(versions); + return versions; } /** diff --git a/src/main/java/com/magento/idea/magento2uct/packages/SupportedVersion.java b/src/main/java/com/magento/idea/magento2uct/packages/SupportedVersion.java index 5d4c0a9f4..619087d0d 100644 --- a/src/main/java/com/magento/idea/magento2uct/packages/SupportedVersion.java +++ b/src/main/java/com/magento/idea/magento2uct/packages/SupportedVersion.java @@ -51,11 +51,14 @@ private SupportedVersion(final String version) { return versions; } - public static String[] getSupportedVersionStrings() { - return getSupportedVersions() - .stream() - .map(SupportedVersion::toString) - .toArray(String[]::new); + public static List getSupportedVersionStrings() { + final List versions = new ArrayList<>(); + + for (final SupportedVersion version : getSupportedVersions()) { + versions.add(version.getVersion()); + } + + return versions; } public static @Nullable SupportedVersion getVersion(final @NotNull String versionCandidate) { From f4bb50f380428d404a9501fd96d79b52c0cc0c57 Mon Sep 17 00:00:00 2001 From: Alex Johnson Date: Wed, 20 Aug 2025 10:30:25 +0100 Subject: [PATCH 7/7] CLEANUP - Remove unused java.util.Arrays import in IndexRegistry.java --- .../com/magento/idea/magento2uct/packages/IndexRegistry.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/com/magento/idea/magento2uct/packages/IndexRegistry.java b/src/main/java/com/magento/idea/magento2uct/packages/IndexRegistry.java index 773419426..bc04b8993 100644 --- a/src/main/java/com/magento/idea/magento2uct/packages/IndexRegistry.java +++ b/src/main/java/com/magento/idea/magento2uct/packages/IndexRegistry.java @@ -13,7 +13,6 @@ import com.magento.idea.magento2uct.versioning.processors.ExistenceIndexProcessor; import com.magento.idea.magento2uct.versioning.processors.IndexProcessor; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import org.jetbrains.annotations.NotNull;