Skip to content

Commit b906bc9

Browse files
authored
Merge pull request #5427 from microsoft/qianjin-endgame-june-fix
[Bugfix 1854295] Local run will pop up error when when the IDE window exceeds 1
2 parents 14e8159 + 0438736 commit b906bc9

File tree

2 files changed

+6
-24
lines changed
  • PluginsAndFeatures/azure-toolkit-for-intellij

2 files changed

+6
-24
lines changed

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

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,7 @@
55

66
package com.microsoft.azure.toolkit.intellij.connector;
77

8-
import com.intellij.openapi.module.Module;
9-
import com.intellij.openapi.module.ModuleManager;
108
import com.intellij.openapi.project.Project;
11-
import com.intellij.openapi.project.ProjectManager;
129
import com.microsoft.azure.toolkit.intellij.common.AzureFormJPanel;
1310
import com.microsoft.azure.toolkit.lib.common.exception.AzureToolkitRuntimeException;
1411
import lombok.EqualsAndHashCode;
@@ -18,8 +15,6 @@
1815
import org.jdom.Element;
1916

2017
import javax.annotation.Nullable;
21-
import java.util.Arrays;
22-
import java.util.Objects;
2318

2419
@Getter
2520
@RequiredArgsConstructor
@@ -29,23 +24,12 @@ public final class ModuleResource implements Resource {
2924
private final String type = Definition.IJ_MODULE.type;
3025
@EqualsAndHashCode.Include
3126
private final String moduleName;
32-
private Module module;
3327

3428
@Override
3529
public String getId() {
3630
return moduleName;
3731
}
3832

39-
public Module getModule() {
40-
if (this.module == null) {
41-
final Project project = ProjectManager.getInstance().getOpenProjects()[0];
42-
this.module = Arrays.stream(ModuleManager.getInstance(project).getModules())
43-
.filter(m -> Objects.equals(m.getName(), moduleName)).findAny()
44-
.orElse(null);
45-
}
46-
return this.module;
47-
}
48-
4933
public String toString() {
5034
return String.format("Module \"%s\"", this.moduleName);
5135
}

PluginsAndFeatures/azure-toolkit-for-intellij/src/com/microsoft/azure/toolkit/intellij/connector/database/DatabaseResourceConnection.java

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ public boolean isApplicableFor(@Nonnull RunConfiguration configuration) {
8585
@Override
8686
@AzureOperation(name = "connector|mysql.prepare_before_run", type = AzureOperation.Type.ACTION)
8787
public boolean prepareBeforeRun(@Nonnull RunConfiguration configuration, DataContext dataContext) {
88-
this.env = this.initEnv();
88+
this.env = this.initEnv(configuration.getProject());
8989
if (configuration instanceof WebAppConfiguration) { // set envs for remote deploy
9090
final WebAppConfiguration webAppConfiguration = (WebAppConfiguration) configuration;
9191
webAppConfiguration.setApplicationSettings(this.env);
@@ -116,19 +116,17 @@ private static Module getTargetModule(@NotNull RunConfiguration configuration) {
116116
return null;
117117
}
118118

119-
private Map<String, String> initEnv() {
119+
private Map<String, String> initEnv(@Nonnull final Project project) {
120120
final Map<String, String> env = new HashMap<>();
121-
final Module module = this.consumer.getModule();
122121
final DatabaseResource mysql = this.resource;
123-
assert module != null : "loading password from unknown module";
124122
env.put(mysql.getEnvPrefix() + "URL", this.resource.getJdbcUrl().toString());
125123
env.put(mysql.getEnvPrefix() + "USERNAME", this.resource.getUsername());
126-
env.put(mysql.getEnvPrefix() + "PASSWORD", loadPassword(mysql).or(() -> inputPassword(module, mysql)).orElse(""));
124+
env.put(mysql.getEnvPrefix() + "PASSWORD", loadPassword(mysql).or(() -> inputPassword(project, mysql)).orElse(""));
127125
return env;
128126
}
129127

130128
private static Optional<String> loadPassword(@Nonnull final DatabaseResource resource) {
131-
if (Optional.ofNullable(resource.getPassword()).map(Password::saveType).get() == Password.SaveType.NEVER) {
129+
if (Objects.nonNull(resource.getPassword()) && resource.getPassword().saveType() == Password.SaveType.NEVER) {
132130
return Optional.empty();
133131
}
134132
final String saved = PasswordStore.loadPassword(resource.getId(), resource.getUsername(), resource.getPassword().saveType());
@@ -143,11 +141,11 @@ private static Optional<String> loadPassword(@Nonnull final DatabaseResource res
143141
}
144142

145143
@Nonnull
146-
private static Optional<String> inputPassword(@Nonnull final Module module, @Nonnull final DatabaseResource resource) {
144+
private static Optional<String> inputPassword(@Nonnull final Project project, @Nonnull final DatabaseResource resource) {
147145
final AtomicReference<Password> passwordRef = new AtomicReference<>();
148146
final IAzureOperationTitle title = AzureOperationBundle.title("mysql.update_password");
149147
AzureTaskManager.getInstance().runAndWait(title, () -> {
150-
final PasswordDialog dialog = new PasswordDialog(module.getProject(), resource);
148+
final PasswordDialog dialog = new PasswordDialog(project, resource);
151149
if (dialog.showAndGet()) {
152150
final Password password = dialog.getData();
153151
resource.getPassword().saveType(password.saveType());

0 commit comments

Comments
 (0)