Skip to content

Commit a3ae27c

Browse files
Merge pull request #7664 from microsoft/hanli/fixes-202306
Fix thread issue when load env within before run tasks
2 parents 12df718 + d8bc0a2 commit a3ae27c

File tree

2 files changed

+9
-4
lines changed
  • PluginsAndFeatures/azure-toolkit-for-intellij

2 files changed

+9
-4
lines changed

PluginsAndFeatures/azure-toolkit-for-intellij/azure-intellij-plugin-facet/src/main/java/com/microsoft/azure/toolkit/intellij/facet/projectexplorer/AbstractAzureFacetNode.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,10 @@ private void rerender(boolean updateStructure) { // `static` to make it availabl
106106
return;
107107
}
108108
final AbstractProjectViewPane pane = ProjectView.getInstance(this.getProject()).getCurrentProjectViewPane();
109+
if (Objects.isNull(pane) || Objects.isNull(pane.getTree())) {
110+
Disposer.dispose(this);
111+
return;
112+
}
109113
final AsyncTreeModel model = (AsyncTreeModel) pane.getTree().getModel();
110114
final DefaultMutableTreeNode node = TreeUtil.findNodeWithObject((DefaultMutableTreeNode) model.getRoot(), this);
111115
if (Objects.nonNull(node)) {

PluginsAndFeatures/azure-toolkit-for-intellij/azure-intellij-resource-connector-lib-java/src/main/java/com/microsoft/azure/toolkit/intellij/connector/dotazure/DotEnvRunConfigurationExtension.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import com.intellij.execution.configurations.RunnerSettings;
77
import com.microsoft.azure.toolkit.lib.common.messager.ExceptionNotification;
88
import com.microsoft.azure.toolkit.lib.common.operation.AzureOperation;
9+
import com.microsoft.azure.toolkit.lib.common.task.AzureTaskManager;
910

1011
import javax.annotation.Nonnull;
1112

@@ -15,11 +16,11 @@ public class DotEnvRunConfigurationExtension extends RunConfigurationExtension {
1516
@ExceptionNotification
1617
@AzureOperation(name = "platform/connector.inject_env.config", params = {"config.getName()"})
1718
public <T extends RunConfigurationBase<?>> void updateJavaParameters(@Nonnull T config, @Nonnull JavaParameters params, RunnerSettings s) {
18-
config.getBeforeRunTasks().stream()
19-
.filter(t -> t instanceof DotEnvBeforeRunTaskProvider.LoadDotEnvBeforeRunTask)
20-
.map(t -> (DotEnvBeforeRunTaskProvider.LoadDotEnvBeforeRunTask) t)
19+
AzureTaskManager.getInstance().runLater(() -> config.getBeforeRunTasks().stream()
20+
.filter(t -> t instanceof DotEnvBeforeRunTaskProvider.LoadDotEnvBeforeRunTask)
21+
.map(t -> (DotEnvBeforeRunTaskProvider.LoadDotEnvBeforeRunTask) t)
2122
.flatMap(t -> t.loadEnv().stream())
22-
.forEach(p -> params.addEnv(p.getKey(), p.getValue()));
23+
.forEach(p -> params.addEnv(p.getKey(), p.getValue())));
2324
}
2425

2526
@Override

0 commit comments

Comments
 (0)