Skip to content

Commit f53fc9f

Browse files
Merge pull request #6111 from microsoft/miller/fix-bugs
fix several bugs
2 parents 4160d49 + 5bcfd65 commit f53fc9f

File tree

7 files changed

+44
-16
lines changed

7 files changed

+44
-16
lines changed

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

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

8+
import com.microsoft.azure.toolkit.lib.common.exception.AzureToolkitRuntimeException;
89
import com.microsoft.azure.toolkit.lib.common.form.AzureValidationInfo;
910
import lombok.Getter;
1011
import lombok.Setter;
@@ -28,7 +29,7 @@ public class AzureIntegerInput extends BaseAzureTextInput<Integer> {
2829
public Integer getValue() {
2930
final String text = getText();
3031
if (StringUtils.isBlank(text) || !StringUtils.isNumeric(text)) {
31-
throw new NumberFormatException(String.format("\"%s\" is not an integer", text));
32+
throw new AzureToolkitRuntimeException(String.format("\"%s\" is not an integer", text));
3233
}
3334
return Integer.valueOf(getText());
3435
}

PluginsAndFeatures/azure-toolkit-for-intellij/azure-intellij-plugin-redis/src/main/java/com/microsoft/azure/toolkit/intellij/redis/explorer/RedisCacheExplorer.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,9 @@ public void showScanResult(ScanResult<String> result) {
197197
}
198198

199199
public void showContent(Pair<String, ArrayList<String[]>> val) {
200+
if (Objects.isNull(val)) {
201+
return;
202+
}
200203
final String type = val.getKey();
201204
final ArrayList<String[]> value = val.getValue();
202205
lblTypeValue.setText(type);

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

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import com.intellij.execution.configurations.LocatableConfigurationBase;
1313
import com.intellij.execution.configurations.RunConfiguration;
1414
import com.intellij.execution.configurations.RunProfileState;
15+
import com.intellij.execution.impl.CheckableRunConfigurationEditor;
1516
import com.intellij.execution.runners.ExecutionEnvironment;
1617
import com.intellij.openapi.options.ConfigurationException;
1718
import com.intellij.openapi.options.SettingsEditor;
@@ -135,7 +136,7 @@ public String getName() {
135136
}
136137
}
137138

138-
static class Editor extends SettingsEditor<SpringCloudDeploymentConfiguration> {
139+
static class Editor extends SettingsEditor<SpringCloudDeploymentConfiguration> implements CheckableRunConfigurationEditor<SpringCloudDeploymentConfiguration> {
139140
private final SpringCloudDeploymentConfigurationPanel panel;
140141

141142
Editor(SpringCloudDeploymentConfiguration configuration, Project project) {
@@ -160,7 +161,7 @@ protected void resetEditorFrom(@NotNull SpringCloudDeploymentConfiguration confi
160161

161162
@Override
162163
protected void applyEditorTo(@NotNull SpringCloudDeploymentConfiguration config) throws ConfigurationException {
163-
final List<AzureValidationInfo> infos = this.panel.validateAllInputs();
164+
final List<AzureValidationInfo> infos = this.panel.getAllValidationInfos(true);
164165
final AzureValidationInfo error = infos.stream()
165166
.filter(i -> i.getType() == AzureValidationInfo.Type.ERROR)
166167
.findAny().orElse(null);
@@ -174,5 +175,9 @@ protected void applyEditorTo(@NotNull SpringCloudDeploymentConfiguration config)
174175
protected @NotNull JComponent createEditor() {
175176
return this.panel.getContentPanel();
176177
}
178+
179+
@Override
180+
public void checkEditorData(SpringCloudDeploymentConfiguration s) {
181+
}
177182
}
178183
}

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

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import com.microsoft.azure.toolkit.intellij.springcloud.component.SpringCloudAppComboBox;
1919
import com.microsoft.azure.toolkit.intellij.springcloud.component.SpringCloudClusterComboBox;
2020
import com.microsoft.azure.toolkit.lib.Azure;
21+
import com.microsoft.azure.toolkit.lib.common.entity.IAzureResource;
2122
import com.microsoft.azure.toolkit.lib.common.form.AzureFormInput;
2223
import com.microsoft.azure.toolkit.lib.common.model.Subscription;
2324
import com.microsoft.azure.toolkit.lib.common.task.AzureTaskManager;
@@ -104,7 +105,7 @@ public synchronized void setValue(SpringCloudAppConfig appConfig) {
104105
AzureTaskManager.getInstance().runOnPooledThread(() -> {
105106
final SpringCloudCluster cluster = Azure.az(AzureSpringCloud.class).cluster(appConfig.getClusterName());
106107
if (Objects.nonNull(cluster) && !cluster.app(appConfig.getAppName()).exists()) {
107-
AzureTaskManager.getInstance().runLater(() -> this.selectorApp.addLocalItem(cluster.app(appConfig)));
108+
this.selectorApp.addLocalItem(cluster.app(appConfig));
108109
}
109110
});
110111
final SpringCloudDeploymentConfig deploymentConfig = appConfig.getDeployment();
@@ -122,7 +123,7 @@ public synchronized void setValue(SpringCloudAppConfig appConfig) {
122123
@Nullable
123124
@Override
124125
public SpringCloudAppConfig getValue() {
125-
SpringCloudAppConfig appConfig = this.selectorApp.getValue().entity().getConfig();
126+
SpringCloudAppConfig appConfig = Optional.ofNullable(this.selectorApp.getValue()).map(a -> a.entity().getConfig()).orElse(null);
126127
if (Objects.isNull(appConfig)) {
127128
appConfig = SpringCloudAppConfig.builder()
128129
.deployment(SpringCloudDeploymentConfig.builder().build())
@@ -134,11 +135,13 @@ public SpringCloudAppConfig getValue() {
134135

135136
public SpringCloudAppConfig getValue(SpringCloudAppConfig appConfig) {
136137
final SpringCloudDeploymentConfig deploymentConfig = appConfig.getDeployment();
137-
appConfig.setSubscriptionId(this.selectorSubscription.getValue().getId());
138-
appConfig.setClusterName(this.selectorCluster.getValue().name());
139-
appConfig.setAppName(this.selectorApp.getValue().name());
138+
appConfig.setSubscriptionId(Optional.ofNullable(this.selectorSubscription.getValue()).map(Subscription::getId).orElse(null));
139+
appConfig.setClusterName(Optional.ofNullable(this.selectorCluster.getValue()).map(IAzureResource::name).orElse(null));
140+
appConfig.setAppName(Optional.ofNullable(this.selectorApp.getValue()).map(IAzureResource::name).orElse(null));
140141
final AzureArtifact artifact = this.selectorArtifact.getValue();
141-
deploymentConfig.setArtifact(new WrappedAzureArtifact(this.selectorArtifact.getValue(), this.project));
142+
if (Objects.nonNull(artifact)) {
143+
deploymentConfig.setArtifact(new WrappedAzureArtifact(this.selectorArtifact.getValue(), this.project));
144+
}
142145
return appConfig;
143146
}
144147

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

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public class SpringCloudDeploymentConfigurationState implements RunProfileState
4646
private static final int GET_STATUS_TIMEOUT = 180;
4747
private static final String UPDATE_APP_WARNING = "It may take some moments for the configuration to be applied at server side!";
4848
private static final String GET_DEPLOYMENT_STATUS_TIMEOUT = "Deployment succeeded but the app is still starting, " +
49-
"you can check the app status from Azure Portal.";
49+
"you can check the app status from Azure Portal.";
5050
private static final String NOTIFICATION_TITLE = "Deploy Spring Cloud App";
5151

5252
private final SpringCloudDeploymentConfiguration config;
@@ -66,10 +66,18 @@ public SpringCloudDeploymentConfigurationState(Project project, SpringCloudDeplo
6666
final ConsoleMessager messager = new ConsoleMessager(processHandler);
6767
final ConsoleView consoleView = TextConsoleBuilderFactory.getInstance().createBuilder(this.project).getConsole();
6868
consoleView.attachToProcess(processHandler);
69-
final Disposable subscribe = Mono.fromCallable(() -> this.execute(messager))
70-
.doOnTerminate(processHandler::notifyComplete)
71-
.subscribeOn(Schedulers.boundedElastic())
72-
.subscribe((res) -> messager.success("Deploy succeed!"), messager::error);
69+
final Runnable execute = () -> {
70+
try {
71+
this.execute(messager);
72+
messager.success("Deploy succeed!");
73+
} catch (final Exception e) {
74+
messager.error(e);
75+
}
76+
};
77+
final Disposable subscribe = Mono.fromRunnable(execute)
78+
.doOnTerminate(processHandler::notifyComplete)
79+
.subscribeOn(Schedulers.boundedElastic())
80+
.subscribe();
7381
processHandler.addProcessListener(new ProcessAdapter() {
7482
@Override
7583
public void processTerminated(@NotNull ProcessEvent event) {

PluginsAndFeatures/azure-toolkit-for-intellij/src/main/java/com/microsoft/azure/toolkit/intellij/common/action/LegacyIntellijActionsContributor.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,22 @@
88
import com.intellij.openapi.actionSystem.AnActionEvent;
99
import com.microsoft.azure.toolkit.ide.common.IActionsContributor;
1010
import com.microsoft.azure.toolkit.lib.common.action.Action;
11+
import com.microsoft.azure.toolkit.lib.common.action.ActionView;
1112
import com.microsoft.azure.toolkit.lib.common.action.AzureActionManager;
13+
import com.microsoft.azure.toolkit.lib.common.bundle.AzureString;
14+
import com.microsoft.azure.toolkit.lib.common.operation.AzureOperationBundle;
1215
import com.microsoft.intellij.actions.AzureSignInAction;
1316

1417
import java.util.Optional;
18+
import java.util.function.BiConsumer;
1519

1620
public class LegacyIntellijActionsContributor implements IActionsContributor {
1721
@Override
1822
public void registerActions(AzureActionManager am) {
19-
am.registerAction(Action.REQUIRE_AUTH, new Action<>((Runnable r, AnActionEvent e) ->
20-
AzureSignInAction.requireSignedIn(Optional.ofNullable(e).map(AnActionEvent::getProject).orElse(null), r)).authRequired(false));
23+
final AzureString title = AzureOperationBundle.title("account.authorize");
24+
final ActionView.Builder authView = new ActionView.Builder("Authorize").title((s) -> title);
25+
final BiConsumer<Runnable, AnActionEvent> handler = (Runnable r, AnActionEvent e) ->
26+
AzureSignInAction.requireSignedIn(Optional.ofNullable(e).map(AnActionEvent::getProject).orElse(null), r);
27+
am.registerAction(Action.REQUIRE_AUTH, new Action<>(handler, authView).authRequired(false));
2128
}
2229
}

Utils/azure-toolkit-ide-libs/azure-toolkit-ide-common-lib/src/main/resources/bundles/com/microsoft/azure/toolkit/operation.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,7 @@ account|subscription.refresh=reload subscriptions
114114
account|subscription.select=select one/more subscriptions to work on
115115
account|tenant.auth=authenticate tenant({0})
116116
account|tenant.list.authorized=get all authorized tenants
117+
account.authorize=authorizing...
117118

118119
action|common.open_browser=open browser with url({0})
119120

0 commit comments

Comments
 (0)