Skip to content

Commit 8138774

Browse files
committed
Implement AzureFormPanel in FunctionDeploymentPanel
1 parent 1f25d96 commit 8138774

File tree

1 file changed

+19
-13
lines changed
  • PluginsAndFeatures/azure-toolkit-for-intellij/azure-intellij-plugin-appservice/src/main/java/com/microsoft/azure/toolkit/intellij/legacy/function/runner/deploy/ui

1 file changed

+19
-13
lines changed

PluginsAndFeatures/azure-toolkit-for-intellij/azure-intellij-plugin-appservice/src/main/java/com/microsoft/azure/toolkit/intellij/legacy/function/runner/deploy/ui/FunctionDeploymentPanel.java

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import com.intellij.ui.ListCellRendererWrapper;
1515
import com.microsoft.azure.toolkit.ide.appservice.function.FunctionAppConfig;
1616
import com.microsoft.azure.toolkit.ide.appservice.model.DeploymentSlotConfig;
17+
import com.microsoft.azure.toolkit.intellij.common.AzureFormPanel;
1718
import com.microsoft.azure.toolkit.intellij.legacy.common.AzureSettingPanel;
1819
import com.microsoft.azure.toolkit.intellij.legacy.function.FunctionAppComboBox;
1920
import com.microsoft.azure.toolkit.intellij.legacy.function.runner.component.table.FunctionAppSettingsTable;
@@ -25,7 +26,6 @@
2526
import com.microsoft.azure.toolkit.lib.appservice.AppServiceAppBase;
2627
import com.microsoft.azure.toolkit.lib.appservice.function.AzureFunctions;
2728
import com.microsoft.azure.toolkit.lib.common.form.AzureFormInput;
28-
import com.microsoft.azure.toolkit.lib.common.form.AzureValidationInfo;
2929
import com.microsoft.azure.toolkit.lib.common.model.AbstractAzResource;
3030
import com.microsoft.azure.toolkit.lib.common.task.AzureTask;
3131
import com.microsoft.azure.toolkit.lib.common.task.AzureTaskManager;
@@ -45,12 +45,11 @@
4545
import java.util.Objects;
4646
import java.util.Optional;
4747
import java.util.UUID;
48-
import java.util.stream.Collectors;
4948

5049
import static com.microsoft.azure.toolkit.intellij.common.AzureBundle.message;
5150

5251

53-
public class FunctionDeploymentPanel extends AzureSettingPanel<FunctionDeployConfiguration> {
52+
public class FunctionDeploymentPanel extends AzureSettingPanel<FunctionDeployConfiguration> implements AzureFormPanel<FunctionDeployConfiguration> {
5453

5554
private JPanel pnlRoot;
5655
private HyperlinkLabel lblCreateFunctionApp;
@@ -66,9 +65,11 @@ public class FunctionDeploymentPanel extends AzureSettingPanel<FunctionDeployCon
6665
private String appSettingsKey;
6766
private String appSettingsResourceId;
6867
private Module previousModule = null;
68+
private final FunctionDeployConfiguration configuration;
6969

7070
public FunctionDeploymentPanel(@NotNull Project project, @NotNull FunctionDeployConfiguration functionDeployConfiguration) {
7171
super(project);
72+
this.configuration = functionDeployConfiguration;
7273
this.appSettingsKey = StringUtils.firstNonBlank(functionDeployConfiguration.getAppSettingsKey(), UUID.randomUUID().toString());
7374
$$$setupUI$$$();
7475

@@ -261,12 +262,21 @@ private void toggleDeploymentSlot(boolean isDeployToSlot) {
261262
cbDeploymentSlot.validateValueAsync();
262263
}
263264

264-
// todo: @hanli migrate to AzureFormInput
265-
public List<AzureValidationInfo> getAllValidationInfos(final boolean revalidateIfNone) {
266-
final List<AzureFormInput<?>> inputs = Arrays.asList(functionAppComboBox, cbDeploymentSlot);
267-
return inputs.stream()
268-
.map(input -> input.getValidationInfo(revalidateIfNone))
269-
.filter(Objects::nonNull).collect(Collectors.toList());
265+
@Override
266+
public void setValue(FunctionDeployConfiguration data) {
267+
resetFromConfig(data);
268+
}
269+
270+
@Override
271+
public FunctionDeployConfiguration getValue() {
272+
final FunctionDeployConfiguration result = new FunctionDeployConfiguration(configuration.getProject(), configuration.getFactory(), configuration.getName());
273+
apply(result);
274+
return result;
275+
}
276+
277+
@Override
278+
public List<AzureFormInput<?>> getInputs() {
279+
return Arrays.asList(functionAppComboBox, cbDeploymentSlot);
270280
}
271281

272282
@Nullable
@@ -280,8 +290,4 @@ private String getResourceId(@Nonnull FunctionAppConfig config, @Nullable Deploy
280290
.orElse(null);
281291
}
282292
}
283-
284-
// CHECKSTYLE IGNORE check FOR NEXT 1 LINES
285-
void $$$setupUI$$$() {
286-
}
287293
}

0 commit comments

Comments
 (0)