Skip to content

Commit 2af991c

Browse files
Merge pull request #6130 from microsoft/fix-1896362
fix several spring cloud related bugs.
2 parents eb11af5 + 88d3a9d commit 2af991c

File tree

6 files changed

+20
-10
lines changed

6 files changed

+20
-10
lines changed

PluginsAndFeatures/azure-toolkit-for-intellij/azure-intellij-plugin-lib/src/main/java/com/microsoft/azure/toolkit/intellij/common/AzureFormInputComponent.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import com.intellij.openapi.util.Disposer;
1212
import com.microsoft.azure.toolkit.lib.common.form.AzureFormInput;
1313
import com.microsoft.azure.toolkit.lib.common.form.AzureValidationInfo;
14+
import com.microsoft.azure.toolkit.lib.common.task.AzureTask;
1415
import com.microsoft.azure.toolkit.lib.common.task.AzureTaskManager;
1516

1617
import javax.accessibility.AccessibleRelation;
@@ -56,7 +57,7 @@ public void windowClosed(WindowEvent e) {
5657
return new ComponentValidator(AzureFormInputComponent.this).installOn(input);
5758
});
5859
if (v != null) {
59-
AzureTaskManager.getInstance().runLater(() -> v.updateInfo(info));
60+
AzureTaskManager.getInstance().runLater(() -> v.updateInfo(info), AzureTask.Modality.ANY);
6061
}
6162
}
6263

PluginsAndFeatures/azure-toolkit-for-intellij/azure-intellij-plugin-springcloud/src/main/java/com/microsoft/azure/toolkit/intellij/springcloud/component/SpringCloudAppConfigPanel.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import com.microsoft.azure.toolkit.intellij.common.AzureFormPanel;
1515
import com.microsoft.azure.toolkit.intellij.common.EnvironmentVariablesTextFieldWithBrowseButton;
1616
import com.microsoft.azure.toolkit.lib.common.bundle.AzureString;
17+
import com.microsoft.azure.toolkit.lib.common.task.AzureTask;
1718
import com.microsoft.azure.toolkit.lib.common.task.AzureTaskManager;
1819
import com.microsoft.azure.toolkit.lib.common.utils.TailingDebouncer;
1920
import com.microsoft.azure.toolkit.lib.springcloud.SpringCloudApp;
@@ -134,7 +135,7 @@ public synchronized void updateForm(@Nonnull SpringCloudApp app) {
134135
this.txtEndpoint.setIcon(null);
135136
this.txtEndpoint.setText("---");
136137
}
137-
});
138+
}, AzureTask.Modality.ANY);
138139
});
139140
final SpringCloudSku sku = app.getCluster().entity().getSku();
140141
final boolean basic = sku.getTier().toLowerCase().startsWith("b");
@@ -158,7 +159,7 @@ public synchronized void updateForm(@Nonnull SpringCloudApp app) {
158159
.map(SpringCloudDeployment::entity)
159160
.orElse(new SpringCloudDeploymentEntity("default", app.entity()));
160161
final List<SpringCloudDeploymentInstanceEntity> instances = deploymentEntity.getInstances();
161-
AzureTaskManager.getInstance().runLater(() -> this.numInstance.setRealMin(Math.min(instances.size(), 1)));
162+
AzureTaskManager.getInstance().runLater(() -> this.numInstance.setRealMin(Math.min(instances.size(), 1)), AzureTask.Modality.ANY);
162163
});
163164
}
164165

@@ -219,6 +220,9 @@ public void setEnabled(boolean enable) {
219220
}
220221

221222
private void toggleStorage(Boolean e) {
223+
if (Objects.isNull(this.originalConfig)) { // prevent action before data is loaded.
224+
return;
225+
}
222226
final boolean enabled = BooleanUtils.isTrue(e);
223227
this.toggleStorage.setActionCommand(enabled ? "disable" : "enable");
224228
this.toggleStorage.setText(enabled ? "Disable" : "Enable");
@@ -230,6 +234,9 @@ private void toggleStorage(Boolean e) {
230234
}
231235

232236
private void toggleEndpoint(Boolean e) {
237+
if (Objects.isNull(this.originalConfig)) { // prevent action before data is loaded.
238+
return;
239+
}
233240
final boolean enabled = BooleanUtils.isTrue(e);
234241
this.toggleEndpoint.setActionCommand(enabled ? "disable" : "enable");
235242
this.toggleEndpoint.setText(enabled ? "Disable" : "Enable");

PluginsAndFeatures/azure-toolkit-for-intellij/azure-intellij-plugin-springcloud/src/main/java/com/microsoft/azure/toolkit/intellij/springcloud/creation/AbstractSpringCloudAppInfoPanel.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import com.microsoft.azure.toolkit.lib.common.form.AzureValidationInfo.AzureValidationInfoBuilder;
1616
import com.microsoft.azure.toolkit.lib.common.messager.AzureMessageBundle;
1717
import com.microsoft.azure.toolkit.lib.common.model.Subscription;
18+
import com.microsoft.azure.toolkit.lib.common.task.AzureTask;
1819
import com.microsoft.azure.toolkit.lib.common.task.AzureTaskManager;
1920
import com.microsoft.azure.toolkit.lib.springcloud.SpringCloudApp;
2021
import com.microsoft.azure.toolkit.lib.springcloud.SpringCloudAppEntity;
@@ -75,14 +76,14 @@ protected void init() {
7576

7677
private void onSubscriptionChanged(final ItemEvent e) {
7778
if (e.getStateChange() == ItemEvent.SELECTED || e.getStateChange() == ItemEvent.DESELECTED) {
78-
final Subscription subscription = (Subscription) e.getItem();
79+
final Subscription subscription = this.getSelectorSubscription().getValue();
7980
this.getSelectorCluster().setSubscription(subscription);
8081
}
8182
}
8283

8384
private void onClusterChanged(final ItemEvent e) {
8485
if (e.getStateChange() == ItemEvent.SELECTED || e.getStateChange() == ItemEvent.DESELECTED) {
85-
final SpringCloudCluster c = (SpringCloudCluster) e.getItem();
86+
final SpringCloudCluster c = this.getSelectorCluster().getValue();
8687
final String appName = StringUtils.firstNonBlank(this.getTextName().getName(), this.defaultAppName);
8788
if (Objects.nonNull(c)) {
8889
final SpringCloudApp app = c.app(new SpringCloudAppEntity(appName, c.entity()));
@@ -95,7 +96,7 @@ protected void onAppChanged(SpringCloudApp app) {
9596
if (Objects.isNull(this.originalConfig)) {
9697
AzureTaskManager.getInstance().runOnPooledThread(() -> {
9798
this.originalConfig = SpringCloudAppConfig.fromApp(app);
98-
AzureTaskManager.getInstance().runLater(() -> this.setValue(this.originalConfig));
99+
AzureTaskManager.getInstance().runLater(() -> this.setValue(this.originalConfig), AzureTask.Modality.ANY);
99100
});
100101
}
101102
}

PluginsAndFeatures/azure-toolkit-for-intellij/azure-intellij-plugin-springcloud/src/main/java/com/microsoft/azure/toolkit/intellij/springcloud/creation/SpringCloudAppInfoAdvancedPanel.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import com.microsoft.azure.toolkit.intellij.springcloud.component.SpringCloudAppConfigPanel;
1111
import com.microsoft.azure.toolkit.intellij.springcloud.component.SpringCloudClusterComboBox;
1212
import com.microsoft.azure.toolkit.lib.common.form.AzureFormInput;
13+
import com.microsoft.azure.toolkit.lib.common.task.AzureTask;
1314
import com.microsoft.azure.toolkit.lib.common.task.AzureTaskManager;
1415
import com.microsoft.azure.toolkit.lib.springcloud.SpringCloudApp;
1516
import com.microsoft.azure.toolkit.lib.springcloud.SpringCloudCluster;
@@ -37,7 +38,7 @@ public SpringCloudAppInfoAdvancedPanel(@Nullable final SpringCloudCluster cluste
3738
}
3839

3940
protected void onAppChanged(SpringCloudApp app) {
40-
AzureTaskManager.getInstance().runLater(() -> this.formConfig.updateForm(app));
41+
AzureTaskManager.getInstance().runLater(() -> this.formConfig.updateForm(app), AzureTask.Modality.ANY);
4142
super.onAppChanged(app);
4243
}
4344

PluginsAndFeatures/azure-toolkit-for-intellij/azure-intellij-plugin-springcloud/src/main/java/com/microsoft/azure/toolkit/intellij/springcloud/deplolyment/SpringCloudDeploymentConfiguration.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ protected void resetEditorFrom(@NotNull SpringCloudDeploymentConfiguration confi
163163
protected void applyEditorTo(@NotNull SpringCloudDeploymentConfiguration config) throws ConfigurationException {
164164
final List<AzureValidationInfo> infos = this.panel.getAllValidationInfos(true);
165165
final AzureValidationInfo error = infos.stream()
166-
.filter(i -> i.getType() == AzureValidationInfo.Type.ERROR)
166+
.filter(i -> !i.isValid())
167167
.findAny().orElse(null);
168168
if (Objects.nonNull(error)) {
169169
throw new ConfigurationException(error.getMessage());

PluginsAndFeatures/azure-toolkit-for-intellij/azure-intellij-plugin-springcloud/src/main/java/com/microsoft/azure/toolkit/intellij/springcloud/deplolyment/SpringCloudDeploymentConfigurationPanel.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,14 +88,14 @@ private void onArtifactChanged(final ItemEvent e) {
8888

8989
private void onSubscriptionChanged(final ItemEvent e) {
9090
if (e.getStateChange() == ItemEvent.SELECTED || e.getStateChange() == ItemEvent.DESELECTED) {
91-
final Subscription subscription = (Subscription) e.getItem();
91+
final Subscription subscription = this.selectorSubscription.getValue();
9292
this.selectorCluster.setSubscription(subscription);
9393
}
9494
}
9595

9696
private void onClusterChanger(final ItemEvent e) {
9797
if (e.getStateChange() == ItemEvent.SELECTED || e.getStateChange() == ItemEvent.DESELECTED) {
98-
final SpringCloudCluster cluster = (SpringCloudCluster) e.getItem();
98+
final SpringCloudCluster cluster = this.selectorCluster.getValue();
9999
this.selectorApp.setCluster(cluster);
100100
}
101101
}

0 commit comments

Comments
 (0)