diff --git a/CHANGELOG.md b/CHANGELOG.md
index d841592ba..84863ff0b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,6 +6,11 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0).
## 5.2.0
+### Fixed
+
+- Fixed action update thread deprecation [#2072](https://github.com/magento/magento2-phpstorm-plugin/pull/2072)
+- Fixed compatibility with 2024.1 [#2071](https://github.com/magento/magento2-phpstorm-plugin/pull/2071)
+
## 5.1.0
### Fixed
diff --git a/build.gradle b/build.gradle
index 79d1a1be2..3e824de7d 100644
--- a/build.gradle
+++ b/build.gradle
@@ -4,10 +4,10 @@
*/
plugins {
- id 'org.jetbrains.intellij' version '1.13.3'
+ id 'org.jetbrains.intellij' version '1.17.3'
id 'checkstyle'
id 'pmd'
- id 'org.jetbrains.changelog' version '2.0.0'
+ id 'org.jetbrains.changelog' version '2.2.0'
}
repositories {
@@ -23,12 +23,14 @@ apply plugin: 'idea'
apply plugin: 'groovy'
apply plugin: 'org.jetbrains.changelog'
-def phpPluginVersion = System.getProperty("phpPluginVersion", "231.8109.199")
-def ideaVersion = System.getProperty("ideaVersion", "2023.1")
+def phpPluginVersion = System.getProperty("phpPluginVersion", "241.14494.158")
+def ideaVersion = System.getProperty("ideaVersion", "2024.1")
def javaVersion = 17
-sourceCompatibility = javaVersion
-targetCompatibility = javaVersion
+java {
+ sourceCompatibility = javaVersion
+ targetCompatibility = javaVersion
+}
intellij {
version = ideaVersion
@@ -41,7 +43,7 @@ intellij {
'properties',
'com.intellij.css',
'JavaScript',
- 'com.intellij.lang.jsgraphql:3.4.0',
+ 'com.intellij.lang.jsgraphql:241.14494.150',
'platform-images',
'copyright'
]
diff --git a/gradle-tasks/staticChecks.gradle b/gradle-tasks/staticChecks.gradle
index 60408bd0a..0478284c4 100644
--- a/gradle-tasks/staticChecks.gradle
+++ b/gradle-tasks/staticChecks.gradle
@@ -23,34 +23,34 @@ pmd {
ruleSets = []
}
-tasks.withType(Checkstyle) {
+tasks.withType(Checkstyle).configureEach {
// Specify all files that should be checked
classpath = files()
source "${project.rootDir}"
}
// Execute Checkstyle on all files
-task checkstyle(type: Checkstyle) {
+tasks.register('checkstyle', Checkstyle) {
}
// Execute Checkstyle on all modified files
-task checkstyleCI(type: Checkstyle) {
+tasks.register('checkstyleCI', Checkstyle) {
def changedFiles = getChangedFiles()
include changedFiles
}
-tasks.withType(Pmd) {
+tasks.withType(Pmd).configureEach {
// Specify all files that should be checked
classpath = files()
source "${project.rootDir}"
}
// Execute Checkstyle on all files
-task pmd(type: Pmd) {
+tasks.register('pmd', Pmd) {
}
// Execute Checkstyle on all modified files
-task pmdCI(type: Pmd) {
+tasks.register('pmdCI', Pmd) {
def changedFiles = getChangedFiles()
include changedFiles
}
diff --git a/resources/META-INF/plugin.xml b/resources/META-INF/plugin.xml
index 82a189afe..a07d7276a 100644
--- a/resources/META-INF/plugin.xml
+++ b/resources/META-INF/plugin.xml
@@ -24,7 +24,7 @@
-
+
diff --git a/src/com/magento/idea/magento2plugin/actions/comparator/CompareTemplateAction.java b/src/com/magento/idea/magento2plugin/actions/comparator/CompareTemplateAction.java
index e61f22631..4ff44942a 100644
--- a/src/com/magento/idea/magento2plugin/actions/comparator/CompareTemplateAction.java
+++ b/src/com/magento/idea/magento2plugin/actions/comparator/CompareTemplateAction.java
@@ -8,6 +8,7 @@
import com.intellij.diff.DiffDialogHints;
import com.intellij.diff.DiffManager;
import com.intellij.diff.chains.DiffRequestChain;
+import com.intellij.openapi.actionSystem.ActionUpdateThread;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.PlatformDataKeys;
@@ -143,4 +144,9 @@ private void setStatus(final AnActionEvent event, final boolean status) {
event.getPresentation().setVisible(status);
event.getPresentation().setEnabled(status);
}
+
+ @Override
+ public @NotNull ActionUpdateThread getActionUpdateThread() {
+ return ActionUpdateThread.BGT;
+ }
}
diff --git a/src/com/magento/idea/magento2plugin/actions/context/AbstractContextAction.java b/src/com/magento/idea/magento2plugin/actions/context/AbstractContextAction.java
index bf520a212..be8bd9ce3 100644
--- a/src/com/magento/idea/magento2plugin/actions/context/AbstractContextAction.java
+++ b/src/com/magento/idea/magento2plugin/actions/context/AbstractContextAction.java
@@ -9,6 +9,7 @@
import com.intellij.ide.fileTemplates.FileTemplateManager;
import com.intellij.ide.fileTemplates.actions.AttributesDefaults;
import com.intellij.ide.fileTemplates.actions.CreateFromTemplateActionBase;
+import com.intellij.openapi.actionSystem.ActionUpdateThread;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.DataContext;
import com.intellij.openapi.actionSystem.DataKey;
@@ -70,6 +71,11 @@ public AbstractContextAction(
this.moduleFile = moduleFile;
}
+ @Override
+ public @NotNull ActionUpdateThread getActionUpdateThread() {
+ return ActionUpdateThread.BGT;
+ }
+
@Override
@SuppressWarnings({"PMD.CyclomaticComplexity", "PMD.NPathComplexity"})
public void update(final @NotNull AnActionEvent event) {
diff --git a/src/com/magento/idea/magento2plugin/actions/context/CustomGeneratorContextAction.java b/src/com/magento/idea/magento2plugin/actions/context/CustomGeneratorContextAction.java
index 05ccfad12..2e1cff68f 100644
--- a/src/com/magento/idea/magento2plugin/actions/context/CustomGeneratorContextAction.java
+++ b/src/com/magento/idea/magento2plugin/actions/context/CustomGeneratorContextAction.java
@@ -5,6 +5,7 @@
package com.magento.idea.magento2plugin.actions.context;
+import com.intellij.openapi.actionSystem.ActionUpdateThread;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.project.Project;
@@ -82,6 +83,11 @@ public void update(final @NotNull AnActionEvent event) {
return file;
}
+ @Override
+ public @NotNull ActionUpdateThread getActionUpdateThread() {
+ return ActionUpdateThread.BGT;
+ }
+
/**
* Implement check if an action should be shown in the context defined by the module,
* target directory or target file.
diff --git a/src/com/magento/idea/magento2plugin/actions/context/xml/NewLayoutXmlAction.java b/src/com/magento/idea/magento2plugin/actions/context/xml/NewLayoutXmlAction.java
index 04e3cc15b..2e538eb53 100644
--- a/src/com/magento/idea/magento2plugin/actions/context/xml/NewLayoutXmlAction.java
+++ b/src/com/magento/idea/magento2plugin/actions/context/xml/NewLayoutXmlAction.java
@@ -5,6 +5,7 @@
package com.magento.idea.magento2plugin.actions.context.xml;
+import com.intellij.openapi.actionSystem.ActionUpdateThread;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.DataContext;
@@ -94,6 +95,11 @@ public void actionPerformed(final @NotNull AnActionEvent event) {
NewLayoutTemplateDialog.open(event.getProject(), targetDirectory);
}
+ @Override
+ public @NotNull ActionUpdateThread getActionUpdateThread() {
+ return ActionUpdateThread.BGT;
+ }
+
/**
* Set is action available for event.
*
diff --git a/src/com/magento/idea/magento2plugin/actions/generation/InjectConstructorArgumentAction.java b/src/com/magento/idea/magento2plugin/actions/generation/InjectConstructorArgumentAction.java
index 8802b51b2..0853d426e 100644
--- a/src/com/magento/idea/magento2plugin/actions/generation/InjectConstructorArgumentAction.java
+++ b/src/com/magento/idea/magento2plugin/actions/generation/InjectConstructorArgumentAction.java
@@ -5,6 +5,7 @@
package com.magento.idea.magento2plugin.actions.generation;
+import com.intellij.openapi.actionSystem.ActionUpdateThread;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.project.Project;
@@ -92,6 +93,11 @@ public void actionPerformed(final @NotNull AnActionEvent event) {
);
}
+ @Override
+ public @NotNull ActionUpdateThread getActionUpdateThread() {
+ return ActionUpdateThread.BGT;
+ }
+
/**
* Set is action available for event.
*
diff --git a/src/com/magento/idea/magento2plugin/actions/generation/NewBlockAction.java b/src/com/magento/idea/magento2plugin/actions/generation/NewBlockAction.java
index 1fe6a3db4..b4e10a9dc 100644
--- a/src/com/magento/idea/magento2plugin/actions/generation/NewBlockAction.java
+++ b/src/com/magento/idea/magento2plugin/actions/generation/NewBlockAction.java
@@ -6,6 +6,7 @@
package com.magento.idea.magento2plugin.actions.generation;
import com.intellij.ide.IdeView;
+import com.intellij.openapi.actionSystem.ActionUpdateThread;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.CommonDataKeys;
@@ -52,4 +53,9 @@ public void actionPerformed(final @NotNull AnActionEvent event) {
public boolean isDumbAware() {
return false;
}
+
+ @Override
+ public @NotNull ActionUpdateThread getActionUpdateThread() {
+ return ActionUpdateThread.BGT;
+ }
}
diff --git a/src/com/magento/idea/magento2plugin/actions/generation/NewCLICommandAction.java b/src/com/magento/idea/magento2plugin/actions/generation/NewCLICommandAction.java
index e352d29e4..7dfed2b4c 100644
--- a/src/com/magento/idea/magento2plugin/actions/generation/NewCLICommandAction.java
+++ b/src/com/magento/idea/magento2plugin/actions/generation/NewCLICommandAction.java
@@ -6,6 +6,7 @@
package com.magento.idea.magento2plugin.actions.generation;
import com.intellij.ide.IdeView;
+import com.intellij.openapi.actionSystem.ActionUpdateThread;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.CommonDataKeys;
@@ -51,4 +52,9 @@ public void actionPerformed(final @NotNull AnActionEvent event) {
public boolean isDumbAware() {
return false;
}
+
+ @Override
+ public @NotNull ActionUpdateThread getActionUpdateThread() {
+ return ActionUpdateThread.BGT;
+ }
}
diff --git a/src/com/magento/idea/magento2plugin/actions/generation/NewControllerAction.java b/src/com/magento/idea/magento2plugin/actions/generation/NewControllerAction.java
index 9460114bd..34de4bbe5 100644
--- a/src/com/magento/idea/magento2plugin/actions/generation/NewControllerAction.java
+++ b/src/com/magento/idea/magento2plugin/actions/generation/NewControllerAction.java
@@ -6,6 +6,7 @@
package com.magento.idea.magento2plugin.actions.generation;
import com.intellij.ide.IdeView;
+import com.intellij.openapi.actionSystem.ActionUpdateThread;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.CommonDataKeys;
@@ -15,6 +16,7 @@
import com.intellij.psi.PsiDirectory;
import com.magento.idea.magento2plugin.MagentoIcons;
import com.magento.idea.magento2plugin.actions.generation.dialog.NewControllerDialog;
+import org.jetbrains.annotations.NotNull;
public class NewControllerAction extends AnAction {
@@ -54,4 +56,9 @@ public void actionPerformed(final AnActionEvent event) {
public boolean isDumbAware() {
return false;
}
+
+ @Override
+ public @NotNull ActionUpdateThread getActionUpdateThread() {
+ return ActionUpdateThread.BGT;
+ }
}
diff --git a/src/com/magento/idea/magento2plugin/actions/generation/NewCronjobAction.java b/src/com/magento/idea/magento2plugin/actions/generation/NewCronjobAction.java
index 948174758..b5fd45d11 100644
--- a/src/com/magento/idea/magento2plugin/actions/generation/NewCronjobAction.java
+++ b/src/com/magento/idea/magento2plugin/actions/generation/NewCronjobAction.java
@@ -6,6 +6,7 @@
package com.magento.idea.magento2plugin.actions.generation;
import com.intellij.ide.IdeView;
+import com.intellij.openapi.actionSystem.ActionUpdateThread;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.CommonDataKeys;
@@ -51,4 +52,9 @@ public void actionPerformed(final @NotNull AnActionEvent event) {
public boolean isDumbAware() {
return false;
}
+
+ @Override
+ public @NotNull ActionUpdateThread getActionUpdateThread() {
+ return ActionUpdateThread.BGT;
+ }
}
diff --git a/src/com/magento/idea/magento2plugin/actions/generation/NewDbSchemaAction.java b/src/com/magento/idea/magento2plugin/actions/generation/NewDbSchemaAction.java
index ee2997166..444636a85 100644
--- a/src/com/magento/idea/magento2plugin/actions/generation/NewDbSchemaAction.java
+++ b/src/com/magento/idea/magento2plugin/actions/generation/NewDbSchemaAction.java
@@ -6,6 +6,7 @@
package com.magento.idea.magento2plugin.actions.generation;
import com.intellij.ide.IdeView;
+import com.intellij.openapi.actionSystem.ActionUpdateThread;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.CommonDataKeys;
@@ -54,4 +55,9 @@ public void actionPerformed(final @NotNull AnActionEvent event) {
public boolean isDumbAware() {
return false;
}
+
+ @Override
+ public @NotNull ActionUpdateThread getActionUpdateThread() {
+ return ActionUpdateThread.BGT;
+ }
}
diff --git a/src/com/magento/idea/magento2plugin/actions/generation/NewEmailTemplateAction.java b/src/com/magento/idea/magento2plugin/actions/generation/NewEmailTemplateAction.java
index ca7007625..607a217e6 100644
--- a/src/com/magento/idea/magento2plugin/actions/generation/NewEmailTemplateAction.java
+++ b/src/com/magento/idea/magento2plugin/actions/generation/NewEmailTemplateAction.java
@@ -6,6 +6,7 @@
package com.magento.idea.magento2plugin.actions.generation;
import com.intellij.ide.IdeView;
+import com.intellij.openapi.actionSystem.ActionUpdateThread;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.CommonDataKeys;
@@ -15,6 +16,7 @@
import com.intellij.psi.PsiDirectory;
import com.magento.idea.magento2plugin.MagentoIcons;
import com.magento.idea.magento2plugin.actions.generation.dialog.NewEmailTemplateDialog;
+import org.jetbrains.annotations.NotNull;
public class NewEmailTemplateAction extends AnAction {
@@ -53,4 +55,9 @@ public void actionPerformed(final AnActionEvent event) {
public boolean isDumbAware() {
return false;
}
+
+ @Override
+ public @NotNull ActionUpdateThread getActionUpdateThread() {
+ return ActionUpdateThread.BGT;
+ }
}
diff --git a/src/com/magento/idea/magento2plugin/actions/generation/NewEntityAction.java b/src/com/magento/idea/magento2plugin/actions/generation/NewEntityAction.java
index 7f798d919..596f68ce3 100644
--- a/src/com/magento/idea/magento2plugin/actions/generation/NewEntityAction.java
+++ b/src/com/magento/idea/magento2plugin/actions/generation/NewEntityAction.java
@@ -6,6 +6,7 @@
package com.magento.idea.magento2plugin.actions.generation;
import com.intellij.ide.IdeView;
+import com.intellij.openapi.actionSystem.ActionUpdateThread;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.CommonDataKeys;
@@ -15,6 +16,7 @@
import com.intellij.psi.PsiDirectory;
import com.magento.idea.magento2plugin.MagentoIcons;
import com.magento.idea.magento2plugin.actions.generation.dialog.NewEntityDialog;
+import org.jetbrains.annotations.NotNull;
public class NewEntityAction extends AnAction {
public static final String ACTION_NAME = "Magento 2 Entity";
@@ -53,4 +55,9 @@ public void actionPerformed(final AnActionEvent event) {
public boolean isDumbAware() {
return false;
}
+
+ @Override
+ public @NotNull ActionUpdateThread getActionUpdateThread() {
+ return ActionUpdateThread.BGT;
+ }
}
diff --git a/src/com/magento/idea/magento2plugin/actions/generation/NewGraphQlResolverAction.java b/src/com/magento/idea/magento2plugin/actions/generation/NewGraphQlResolverAction.java
index 6a7f03cd8..4f8994a86 100644
--- a/src/com/magento/idea/magento2plugin/actions/generation/NewGraphQlResolverAction.java
+++ b/src/com/magento/idea/magento2plugin/actions/generation/NewGraphQlResolverAction.java
@@ -6,6 +6,7 @@
package com.magento.idea.magento2plugin.actions.generation;
import com.intellij.ide.IdeView;
+import com.intellij.openapi.actionSystem.ActionUpdateThread;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.CommonDataKeys;
@@ -51,5 +52,10 @@ public void actionPerformed(final @NotNull AnActionEvent event) {
public boolean isDumbAware() {
return false;
}
+
+ @Override
+ public @NotNull ActionUpdateThread getActionUpdateThread() {
+ return ActionUpdateThread.BGT;
+ }
}
diff --git a/src/com/magento/idea/magento2plugin/actions/generation/NewMessageQueueAction.java b/src/com/magento/idea/magento2plugin/actions/generation/NewMessageQueueAction.java
index f66d9f1d0..b13f1a455 100644
--- a/src/com/magento/idea/magento2plugin/actions/generation/NewMessageQueueAction.java
+++ b/src/com/magento/idea/magento2plugin/actions/generation/NewMessageQueueAction.java
@@ -6,6 +6,7 @@
package com.magento.idea.magento2plugin.actions.generation;
import com.intellij.ide.IdeView;
+import com.intellij.openapi.actionSystem.ActionUpdateThread;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.CommonDataKeys;
@@ -54,4 +55,9 @@ public void actionPerformed(final @NotNull AnActionEvent event) {
public boolean isDumbAware() {
return false;
}
+
+ @Override
+ public @NotNull ActionUpdateThread getActionUpdateThread() {
+ return ActionUpdateThread.BGT;
+ }
}
diff --git a/src/com/magento/idea/magento2plugin/actions/generation/NewModelsAction.java b/src/com/magento/idea/magento2plugin/actions/generation/NewModelsAction.java
index ecfe7ce34..906d6878b 100644
--- a/src/com/magento/idea/magento2plugin/actions/generation/NewModelsAction.java
+++ b/src/com/magento/idea/magento2plugin/actions/generation/NewModelsAction.java
@@ -6,6 +6,7 @@
package com.magento.idea.magento2plugin.actions.generation;
import com.intellij.ide.IdeView;
+import com.intellij.openapi.actionSystem.ActionUpdateThread;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.CommonDataKeys;
@@ -15,6 +16,7 @@
import com.intellij.psi.PsiDirectory;
import com.magento.idea.magento2plugin.MagentoIcons;
import com.magento.idea.magento2plugin.actions.generation.dialog.NewModelsDialog;
+import org.jetbrains.annotations.NotNull;
public class NewModelsAction extends AnAction {
@@ -53,4 +55,9 @@ public void actionPerformed(final AnActionEvent event) {
public boolean isDumbAware() {
return false;
}
+
+ @Override
+ public @NotNull ActionUpdateThread getActionUpdateThread() {
+ return ActionUpdateThread.BGT;
+ }
}
diff --git a/src/com/magento/idea/magento2plugin/actions/generation/NewModuleAction.java b/src/com/magento/idea/magento2plugin/actions/generation/NewModuleAction.java
index 5105b7d15..ada004716 100644
--- a/src/com/magento/idea/magento2plugin/actions/generation/NewModuleAction.java
+++ b/src/com/magento/idea/magento2plugin/actions/generation/NewModuleAction.java
@@ -6,6 +6,7 @@
package com.magento.idea.magento2plugin.actions.generation;
import com.intellij.ide.IdeView;
+import com.intellij.openapi.actionSystem.ActionUpdateThread;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.CommonDataKeys;
import com.intellij.openapi.actionSystem.DataContext;
@@ -111,4 +112,9 @@ public void update(final AnActionEvent event) {
event.getPresentation().setVisible(false);
}
+
+ @Override
+ public @NotNull ActionUpdateThread getActionUpdateThread() {
+ return ActionUpdateThread.BGT;
+ }
}
diff --git a/src/com/magento/idea/magento2plugin/actions/generation/NewUiComponentFormAction.java b/src/com/magento/idea/magento2plugin/actions/generation/NewUiComponentFormAction.java
index 502013c88..e0e963748 100644
--- a/src/com/magento/idea/magento2plugin/actions/generation/NewUiComponentFormAction.java
+++ b/src/com/magento/idea/magento2plugin/actions/generation/NewUiComponentFormAction.java
@@ -6,6 +6,7 @@
package com.magento.idea.magento2plugin.actions.generation;
import com.intellij.ide.IdeView;
+import com.intellij.openapi.actionSystem.ActionUpdateThread;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.CommonDataKeys;
@@ -15,6 +16,7 @@
import com.intellij.psi.PsiDirectory;
import com.magento.idea.magento2plugin.MagentoIcons;
import com.magento.idea.magento2plugin.actions.generation.dialog.NewUiComponentFormDialog;
+import org.jetbrains.annotations.NotNull;
public class NewUiComponentFormAction extends AnAction {
@@ -53,4 +55,9 @@ public void actionPerformed(final AnActionEvent event) {
public boolean isDumbAware() {
return false;
}
+
+ @Override
+ public @NotNull ActionUpdateThread getActionUpdateThread() {
+ return ActionUpdateThread.BGT;
+ }
}
diff --git a/src/com/magento/idea/magento2plugin/actions/generation/NewUiComponentGridAction.java b/src/com/magento/idea/magento2plugin/actions/generation/NewUiComponentGridAction.java
index e2f4a0f5f..5fcd52208 100644
--- a/src/com/magento/idea/magento2plugin/actions/generation/NewUiComponentGridAction.java
+++ b/src/com/magento/idea/magento2plugin/actions/generation/NewUiComponentGridAction.java
@@ -6,6 +6,7 @@
package com.magento.idea.magento2plugin.actions.generation;
import com.intellij.ide.IdeView;
+import com.intellij.openapi.actionSystem.ActionUpdateThread;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.CommonDataKeys;
@@ -15,6 +16,7 @@
import com.intellij.psi.PsiDirectory;
import com.magento.idea.magento2plugin.MagentoIcons;
import com.magento.idea.magento2plugin.actions.generation.dialog.NewUiComponentGridDialog;
+import org.jetbrains.annotations.NotNull;
public class NewUiComponentGridAction extends AnAction {
@@ -58,4 +60,9 @@ public void actionPerformed(final AnActionEvent event) {
public boolean isDumbAware() {
return false;
}
+
+ @Override
+ public @NotNull ActionUpdateThread getActionUpdateThread() {
+ return ActionUpdateThread.BGT;
+ }
}
diff --git a/src/com/magento/idea/magento2plugin/actions/generation/NewViewModelAction.java b/src/com/magento/idea/magento2plugin/actions/generation/NewViewModelAction.java
index 53e72f68d..a4a32940b 100644
--- a/src/com/magento/idea/magento2plugin/actions/generation/NewViewModelAction.java
+++ b/src/com/magento/idea/magento2plugin/actions/generation/NewViewModelAction.java
@@ -6,6 +6,7 @@
package com.magento.idea.magento2plugin.actions.generation;
import com.intellij.ide.IdeView;
+import com.intellij.openapi.actionSystem.ActionUpdateThread;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.CommonDataKeys;
@@ -51,5 +52,10 @@ public void actionPerformed(final @NotNull AnActionEvent event) {
public boolean isDumbAware() {
return false;
}
+
+ @Override
+ public @NotNull ActionUpdateThread getActionUpdateThread() {
+ return ActionUpdateThread.BGT;
+ }
}
diff --git a/src/com/magento/idea/magento2plugin/actions/generation/NewWebApiDeclarationAction.java b/src/com/magento/idea/magento2plugin/actions/generation/NewWebApiDeclarationAction.java
index 7d3d58311..daadbff08 100644
--- a/src/com/magento/idea/magento2plugin/actions/generation/NewWebApiDeclarationAction.java
+++ b/src/com/magento/idea/magento2plugin/actions/generation/NewWebApiDeclarationAction.java
@@ -5,6 +5,7 @@
package com.magento.idea.magento2plugin.actions.generation;
+import com.intellij.openapi.actionSystem.ActionUpdateThread;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.project.Project;
@@ -76,6 +77,11 @@ public void actionPerformed(final @NotNull AnActionEvent event) {
NewWebApiDeclarationDialog.open(event.getProject(), directory, classFqn, methodName);
}
+ @Override
+ public @NotNull ActionUpdateThread getActionUpdateThread() {
+ return ActionUpdateThread.BGT;
+ }
+
/**
* Set is action available for event.
*
diff --git a/src/com/magento/idea/magento2plugin/actions/generation/NewWebApiInterfaceAction.java b/src/com/magento/idea/magento2plugin/actions/generation/NewWebApiInterfaceAction.java
index e64748004..5b6273338 100644
--- a/src/com/magento/idea/magento2plugin/actions/generation/NewWebApiInterfaceAction.java
+++ b/src/com/magento/idea/magento2plugin/actions/generation/NewWebApiInterfaceAction.java
@@ -5,6 +5,7 @@
package com.magento.idea.magento2plugin.actions.generation;
+import com.intellij.openapi.actionSystem.ActionUpdateThread;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.project.Project;
@@ -75,6 +76,11 @@ public void actionPerformed(final @NotNull AnActionEvent event) {
);
}
+ @Override
+ public @NotNull ActionUpdateThread getActionUpdateThread() {
+ return ActionUpdateThread.BGT;
+ }
+
/**
* Set is action available for event.
*
diff --git a/src/com/magento/idea/magento2plugin/actions/generation/OverrideFileInThemeAction.java b/src/com/magento/idea/magento2plugin/actions/generation/OverrideFileInThemeAction.java
index ff7323d45..8ef906d95 100644
--- a/src/com/magento/idea/magento2plugin/actions/generation/OverrideFileInThemeAction.java
+++ b/src/com/magento/idea/magento2plugin/actions/generation/OverrideFileInThemeAction.java
@@ -5,6 +5,7 @@
package com.magento.idea.magento2plugin.actions.generation;
+import com.intellij.openapi.actionSystem.ActionUpdateThread;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.PlatformDataKeys;
@@ -58,6 +59,11 @@ public void update(final @NotNull AnActionEvent event) {
}
}
+ @Override
+ public @NotNull ActionUpdateThread getActionUpdateThread() {
+ return ActionUpdateThread.BGT;
+ }
+
/**
* Implement this method to specify if override allowed for particular file types.
*
diff --git a/src/com/magento/idea/magento2plugin/actions/generation/data/code/ClassPropertyData.java b/src/com/magento/idea/magento2plugin/actions/generation/data/code/ClassPropertyData.java
index 9c703dada..470466fae 100644
--- a/src/com/magento/idea/magento2plugin/actions/generation/data/code/ClassPropertyData.java
+++ b/src/com/magento/idea/magento2plugin/actions/generation/data/code/ClassPropertyData.java
@@ -7,7 +7,7 @@
import java.util.ArrayList;
import java.util.List;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
public class ClassPropertyData {
private final List data = new ArrayList<>();
diff --git a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCustomerEavAttributeDialog.form b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCustomerEavAttributeDialog.form
index 976b0a25f..90e2c2fba 100644
--- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCustomerEavAttributeDialog.form
+++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCustomerEavAttributeDialog.form
@@ -304,7 +304,7 @@
-
+
diff --git a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewEntityDialog.java b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewEntityDialog.java
index 04f2c931f..c30c64a12 100644
--- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewEntityDialog.java
+++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewEntityDialog.java
@@ -83,7 +83,7 @@
import javax.swing.KeyStroke;
import javax.swing.event.DocumentEvent;
import javax.swing.table.DefaultTableModel;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.jetbrains.annotations.NotNull;
@SuppressWarnings({
diff --git a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewModuleDialog.java b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewModuleDialog.java
index 4bb917356..729d2d0c8 100644
--- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewModuleDialog.java
+++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewModuleDialog.java
@@ -48,7 +48,7 @@
import javax.swing.KeyStroke;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
-import org.apache.commons.lang.ArrayUtils;
+import org.apache.commons.lang3.ArrayUtils;
import org.jetbrains.annotations.NotNull;
@SuppressWarnings({"PMD.TooManyFields", "PMD.DataClass", "PMD.UnusedPrivateMethod"})
diff --git a/src/com/magento/idea/magento2plugin/actions/generation/dialog/util/ClassPropertyFormatterUtil.java b/src/com/magento/idea/magento2plugin/actions/generation/dialog/util/ClassPropertyFormatterUtil.java
index 08ab105c0..c7ae405cd 100644
--- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/util/ClassPropertyFormatterUtil.java
+++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/util/ClassPropertyFormatterUtil.java
@@ -11,7 +11,7 @@
import java.util.ArrayList;
import java.util.List;
import javax.swing.table.DefaultTableModel;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
public final class ClassPropertyFormatterUtil {
diff --git a/src/com/magento/idea/magento2plugin/actions/generation/eavattribute/NewEavAttributeAction.java b/src/com/magento/idea/magento2plugin/actions/generation/eavattribute/NewEavAttributeAction.java
index 698917073..190e9a988 100644
--- a/src/com/magento/idea/magento2plugin/actions/generation/eavattribute/NewEavAttributeAction.java
+++ b/src/com/magento/idea/magento2plugin/actions/generation/eavattribute/NewEavAttributeAction.java
@@ -6,6 +6,7 @@
package com.magento.idea.magento2plugin.actions.generation.eavattribute;
import com.intellij.ide.IdeView;
+import com.intellij.openapi.actionSystem.ActionUpdateThread;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.CommonDataKeys;
@@ -48,6 +49,11 @@ public void actionPerformed(final @NotNull AnActionEvent event) {
eavAttributeDialog.open();
}
+ @Override
+ public @NotNull ActionUpdateThread getActionUpdateThread() {
+ return ActionUpdateThread.BGT;
+ }
+
@Override
public boolean isDumbAware() {
return false;
diff --git a/src/com/magento/idea/magento2plugin/actions/groups/ContextActionsGroup.java b/src/com/magento/idea/magento2plugin/actions/groups/ContextActionsGroup.java
index f0045b7db..d1818a6b1 100644
--- a/src/com/magento/idea/magento2plugin/actions/groups/ContextActionsGroup.java
+++ b/src/com/magento/idea/magento2plugin/actions/groups/ContextActionsGroup.java
@@ -6,6 +6,7 @@
package com.magento.idea.magento2plugin.actions.groups;
import com.intellij.ide.actions.NonEmptyActionGroup;
+import com.intellij.openapi.actionSystem.ActionUpdateThread;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import java.util.Arrays;
@@ -33,6 +34,11 @@ public void update(final @NotNull AnActionEvent event) {
super.update(event);
}
+ @Override
+ public @NotNull ActionUpdateThread getActionUpdateThread() {
+ return ActionUpdateThread.BGT;
+ }
+
private static class ContextActionsComparator implements Comparator {
@Override
diff --git a/src/com/magento/idea/magento2plugin/linemarker/php/PluginLineMarkerProvider.java b/src/com/magento/idea/magento2plugin/linemarker/php/PluginLineMarkerProvider.java
index ff3a7af95..e081715ab 100644
--- a/src/com/magento/idea/magento2plugin/linemarker/php/PluginLineMarkerProvider.java
+++ b/src/com/magento/idea/magento2plugin/linemarker/php/PluginLineMarkerProvider.java
@@ -28,7 +28,7 @@
import java.util.List;
import java.util.Map;
import java.util.Set;
-import org.apache.commons.lang.WordUtils;
+import org.apache.commons.lang3.StringUtils;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -236,7 +236,7 @@ public List collect(final @NotNull Method psiElement) {
final List pluginDataList = pluginClassCache.getPluginsForClass(methodClass);
final List pluginMethods = pluginClassCache.getPluginMethods(pluginDataList);
- final String classMethodName = WordUtils.capitalize(psiElement.getName());
+ final String classMethodName = StringUtils.capitalize(psiElement.getName());
pluginMethods.removeIf(pluginMethod -> !isPluginMethodName(pluginMethod.getMethodName(), classMethodName));
sortMethods(pluginMethods, results);
diff --git a/src/com/magento/idea/magento2plugin/magento/packages/ComposerPackageModel.java b/src/com/magento/idea/magento2plugin/magento/packages/ComposerPackageModel.java
index afc0fb71d..bb0874b33 100644
--- a/src/com/magento/idea/magento2plugin/magento/packages/ComposerPackageModel.java
+++ b/src/com/magento/idea/magento2plugin/magento/packages/ComposerPackageModel.java
@@ -2,10 +2,13 @@
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
+
package com.magento.idea.magento2plugin.magento.packages;
-import org.jetbrains.annotations.Nullable;
+import com.intellij.json.psi.JsonValue;
import java.util.Map;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
public interface ComposerPackageModel {
@Nullable
@@ -25,4 +28,7 @@ public interface ComposerPackageModel {
@Nullable
Map getAutoloadPsr4();
+
+ T getPropertyValueOfType(String propertyName,
+ @NotNull Class thisClass);
}
diff --git a/src/com/magento/idea/magento2plugin/magento/packages/ComposerPackageModelImpl.java b/src/com/magento/idea/magento2plugin/magento/packages/ComposerPackageModelImpl.java
index 96a8ed730..42b83ef93 100644
--- a/src/com/magento/idea/magento2plugin/magento/packages/ComposerPackageModelImpl.java
+++ b/src/com/magento/idea/magento2plugin/magento/packages/ComposerPackageModelImpl.java
@@ -2,19 +2,25 @@
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
+
package com.magento.idea.magento2plugin.magento.packages;
-import com.intellij.json.psi.*;
-import org.apache.commons.lang.StringUtils;
-import org.jetbrains.annotations.NotNull;
-import org.jetbrains.annotations.Nullable;
+import com.intellij.json.psi.JsonArray;
+import com.intellij.json.psi.JsonObject;
+import com.intellij.json.psi.JsonProperty;
+import com.intellij.json.psi.JsonStringLiteral;
+import com.intellij.json.psi.JsonValue;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import org.apache.commons.lang3.StringUtils;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
public class ComposerPackageModelImpl implements ComposerPackageModel {
- private JsonObject sourceComposerJson;
+ private final JsonObject sourceComposerJson;
+ private static final int VENDOR_AND_PACKAGE_PARTS_LENGTH = 2;
public static final String NAME = "name";
public static final String TYPE = "type";
@@ -23,7 +29,7 @@ public class ComposerPackageModelImpl implements ComposerPackageModel {
public static final String PSR4 = "psr4";
public static final String FILES = "file";
- public ComposerPackageModelImpl(@NotNull JsonObject sourceComposerJson) {
+ public ComposerPackageModelImpl(@NotNull final JsonObject sourceComposerJson) {
this.sourceComposerJson = sourceComposerJson;
}
@@ -42,10 +48,10 @@ public String getType() {
@Nullable
@Override
public String getVendor() {
- String nameProperty = getStringPropertyValue(NAME);
+ final String nameProperty = getStringPropertyValue(NAME);
if (nameProperty != null) {
- String[] vendorAndPackage = nameProperty.split("/");
- if (vendorAndPackage.length == 2) {
+ final String[] vendorAndPackage = nameProperty.split("/");
+ if (vendorAndPackage.length == VENDOR_AND_PACKAGE_PARTS_LENGTH) {
return vendorAndPackage[0];
}
}
@@ -62,63 +68,69 @@ public String getVersion() {
@Nullable
@Override
public String[] getAutoloadFiles() {
- JsonObject autoloadObject = getPropertyValueOfType(AUTOLOAD, JsonObject.class);
+ final JsonObject autoloadObject = getPropertyValueOfType(AUTOLOAD, JsonObject.class);
if (autoloadObject != null) {
- JsonArray jsonArray = getPropertyValueOfType(FILES, JsonArray.class);
- if (jsonArray != null) {
- List files = new ArrayList<>();
- for(JsonValue value: jsonArray.getValueList()) {
- if (value instanceof JsonStringLiteral) {
- files.add(StringUtils.strip(value.getText(), "\""));
- }
+ return new String[0];
+ }
+
+ final JsonArray jsonArray = getPropertyValueOfType(FILES, JsonArray.class);
+ if (jsonArray != null) {
+ final List files = new ArrayList<>();
+ for (final JsonValue value : jsonArray.getValueList()) {
+ if (value instanceof JsonStringLiteral) {
+ files.add(StringUtils.strip(value.getText(), "\""));
}
- return files.size() > 0 ? files.toArray(new String[files.size()]) : null;
}
+ return files.isEmpty() ? new String[0] : files.toArray(new String[0]);
}
- return null;
+ return new String[0];
}
@Nullable
@Override
public Map getAutoloadPsr4() {
- JsonObject autoloadObject = getPropertyValueOfType(AUTOLOAD, JsonObject.class);
- if (autoloadObject != null) {
- JsonObject jsonObject = getPropertyValueOfType(PSR4, JsonObject.class);
- if (jsonObject != null) {
- Map map = new HashMap();
- for (JsonProperty property: jsonObject.getPropertyList()) {
- JsonValue value = property.getValue();
-
- if (value != null && value instanceof JsonStringLiteral) {
- map.put(property.getName(), StringUtils.strip(value.getText(), "\""));
- }
- }
+ final JsonObject autoloadObject = getPropertyValueOfType(AUTOLOAD, JsonObject.class);
+ final Map map = new HashMap<>();
+ if (autoloadObject == null) {
+ return map;
+ }
- return map.size() > 0 ? map : null;
+ final JsonObject jsonObject = getPropertyValueOfType(PSR4, JsonObject.class);
+ if (jsonObject != null) {
+ for (final JsonProperty property : jsonObject.getPropertyList()) {
+ final JsonValue value = property.getValue();
+ if (value instanceof JsonStringLiteral) {
+ map.put(property.getName(), StringUtils.strip(value.getText(), "\""));
+ }
}
}
- return null;
+ return map;
}
@Nullable
- public T getPropertyValueOfType(String propertyName, @NotNull Class aClass) {
- JsonProperty property = sourceComposerJson.findProperty(propertyName);
+ @Override
+ public T getPropertyValueOfType(final String propertyName,
+ @NotNull final Class thisClass) {
+ final JsonProperty property = sourceComposerJson.findProperty(propertyName);
if (property == null) {
return null;
}
- JsonValue value = property.getValue();
- if (value != null && aClass.isInstance(value)) {
- return aClass.cast(value);
+ final JsonValue value = property.getValue();
+ if (thisClass.isInstance(value)) {
+ return thisClass.cast(value);
}
return null;
}
@Nullable
- private String getStringPropertyValue(String propertyName) {
- JsonStringLiteral stringLiteral = getPropertyValueOfType(propertyName, JsonStringLiteral.class);
+ private String getStringPropertyValue(final String propertyName) {
+ final JsonStringLiteral stringLiteral = getPropertyValueOfType(
+ propertyName,
+ JsonStringLiteral.class
+ );
if (stringLiteral != null) {
return StringUtils.strip(stringLiteral.getText(), "\"");
diff --git a/src/com/magento/idea/magento2plugin/project/startup/CheckIfMagentoPathIsValidActivity.java b/src/com/magento/idea/magento2plugin/project/startup/CheckIfMagentoPathIsValidActivity.java
index b6413535c..7d1ebeee1 100644
--- a/src/com/magento/idea/magento2plugin/project/startup/CheckIfMagentoPathIsValidActivity.java
+++ b/src/com/magento/idea/magento2plugin/project/startup/CheckIfMagentoPathIsValidActivity.java
@@ -6,16 +6,32 @@
package com.magento.idea.magento2plugin.project.startup;
import com.intellij.openapi.project.Project;
+import com.intellij.openapi.startup.ProjectActivity;
import com.intellij.openapi.startup.StartupActivity;
import com.magento.idea.magento2plugin.init.ConfigurationManager;
import com.magento.idea.magento2plugin.project.Settings;
import com.magento.idea.magento2plugin.util.magento.MagentoBasePathUtil;
+import kotlin.Unit;
+import kotlin.coroutines.Continuation;
import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
-public class CheckIfMagentoPathIsValidActivity implements StartupActivity {
+public class CheckIfMagentoPathIsValidActivity implements StartupActivity, ProjectActivity {
@Override
public void runActivity(final @NotNull Project project) {
+ registerSettings(project);
+ }
+
+ @Nullable
+ @Override
+ public Object execute(@NotNull final Project project,
+ @NotNull final Continuation super Unit> continuation) {
+ registerSettings(project);
+ return null;
+ }
+
+ private void registerSettings(final @NotNull Project project) {
final Settings settings = Settings.getInstance(project);
final String path = settings.magentoPath;
if (settings.pluginEnabled && (path == null || path.isEmpty())) {
diff --git a/src/com/magento/idea/magento2plugin/project/util/GetMagentoVersionUtil.java b/src/com/magento/idea/magento2plugin/project/util/GetMagentoVersionUtil.java
index 001db0b18..f5fc10444 100644
--- a/src/com/magento/idea/magento2plugin/project/util/GetMagentoVersionUtil.java
+++ b/src/com/magento/idea/magento2plugin/project/util/GetMagentoVersionUtil.java
@@ -15,7 +15,7 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
diff --git a/src/com/magento/idea/magento2plugin/util/php/PhpTypeMetadataParserUtil.java b/src/com/magento/idea/magento2plugin/util/php/PhpTypeMetadataParserUtil.java
index 9ea2c4941..6eac53738 100644
--- a/src/com/magento/idea/magento2plugin/util/php/PhpTypeMetadataParserUtil.java
+++ b/src/com/magento/idea/magento2plugin/util/php/PhpTypeMetadataParserUtil.java
@@ -27,7 +27,7 @@
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.jetbrains.annotations.NotNull;
@SuppressWarnings("PMD.GodClass")
diff --git a/src/com/magento/idea/magento2uct/actions/ConfigureUctAction.java b/src/com/magento/idea/magento2uct/actions/ConfigureUctAction.java
index 54716ffe1..f203e4fa4 100644
--- a/src/com/magento/idea/magento2uct/actions/ConfigureUctAction.java
+++ b/src/com/magento/idea/magento2uct/actions/ConfigureUctAction.java
@@ -6,6 +6,7 @@
package com.magento.idea.magento2uct.actions;
import com.intellij.icons.AllIcons;
+import com.intellij.openapi.actionSystem.ActionUpdateThread;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.project.Project;
@@ -46,6 +47,11 @@ public void actionPerformed(final @NotNull AnActionEvent event) {
ConfigurationDialog.open(project);
}
+ @Override
+ public @NotNull ActionUpdateThread getActionUpdateThread() {
+ return ActionUpdateThread.BGT;
+ }
+
/**
* Set is action available for event.
*
diff --git a/src/com/magento/idea/magento2uct/actions/ReindexVersionedIndexesAction.java b/src/com/magento/idea/magento2uct/actions/ReindexVersionedIndexesAction.java
index ed5f9ab0e..f6805d68a 100644
--- a/src/com/magento/idea/magento2uct/actions/ReindexVersionedIndexesAction.java
+++ b/src/com/magento/idea/magento2uct/actions/ReindexVersionedIndexesAction.java
@@ -7,6 +7,7 @@
import com.intellij.icons.AllIcons;
import com.intellij.ide.IdeView;
+import com.intellij.openapi.actionSystem.ActionUpdateThread;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.LangDataKeys;
@@ -59,6 +60,11 @@ public void actionPerformed(final @NotNull AnActionEvent event) {
ReindexDialog.open(project, directory);
}
+ @Override
+ public @NotNull ActionUpdateThread getActionUpdateThread() {
+ return ActionUpdateThread.BGT;
+ }
+
/**
* Set is action available for event.
*
diff --git a/src/com/magento/idea/magento2uct/actions/RunUpgradeCompatibilityToolAction.java b/src/com/magento/idea/magento2uct/actions/RunUpgradeCompatibilityToolAction.java
index 208d17681..3a916287c 100644
--- a/src/com/magento/idea/magento2uct/actions/RunUpgradeCompatibilityToolAction.java
+++ b/src/com/magento/idea/magento2uct/actions/RunUpgradeCompatibilityToolAction.java
@@ -6,6 +6,7 @@
package com.magento.idea.magento2uct.actions;
import com.intellij.icons.AllIcons;
+import com.intellij.openapi.actionSystem.ActionUpdateThread;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.project.Project;
@@ -57,6 +58,11 @@ public void actionPerformed(final @NotNull AnActionEvent event) {
executor.run();
}
+ @Override
+ public @NotNull ActionUpdateThread getActionUpdateThread() {
+ return ActionUpdateThread.BGT;
+ }
+
/**
* Set is action available for event.
*
diff --git a/tests/com/magento/idea/magento2plugin/BaseProjectTestCase.java b/tests/com/magento/idea/magento2plugin/BaseProjectTestCase.java
index e25b5ccf4..427237113 100644
--- a/tests/com/magento/idea/magento2plugin/BaseProjectTestCase.java
+++ b/tests/com/magento/idea/magento2plugin/BaseProjectTestCase.java
@@ -6,6 +6,7 @@
package com.magento.idea.magento2plugin;
import com.intellij.openapi.util.text.StringUtil;
+import com.intellij.testFramework.IndexingTestUtil;
import com.intellij.testFramework.PlatformTestUtil;
import com.intellij.testFramework.fixtures.BasePlatformTestCase;
import com.magento.idea.magento2plugin.indexes.IndexManager;
@@ -50,6 +51,7 @@ protected void enablePluginAndReindex() {
settings.mftfSupportEnabled = true;
IndexManager.manualReindex();
PlatformTestUtil.dispatchAllEventsInIdeEventQueue();
+ IndexingTestUtil.waitUntilIndexesAreReady(myFixture.getProject());
}
protected void disablePluginAndReindex() {
@@ -57,6 +59,7 @@ protected void disablePluginAndReindex() {
settings.pluginEnabled = false;
IndexManager.manualReindex();
PlatformTestUtil.dispatchAllEventsInIdeEventQueue();
+ IndexingTestUtil.waitUntilIndexesAreReady(myFixture.getProject());
}
protected void disableMftfSupportAndReindex() {
@@ -64,6 +67,7 @@ protected void disableMftfSupportAndReindex() {
settings.mftfSupportEnabled = false;
IndexManager.manualReindex();
PlatformTestUtil.dispatchAllEventsInIdeEventQueue();
+ IndexingTestUtil.waitUntilIndexesAreReady(myFixture.getProject());
}
protected String prepareFixturePath(