Skip to content

Commit 97bbe25

Browse files
committed
replace ResourceGroup/Subscription/Region with resource-lib models.
1 parent 8ffdc25 commit 97bbe25

File tree

7 files changed

+30
-51
lines changed

7 files changed

+30
-51
lines changed

PluginsAndFeatures/azure-toolkit-for-intellij/src/com/microsoft/azure/toolkit/intellij/sqlserver/common/SqlServerRegionComboBox.java

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,19 @@
55

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

8-
import com.microsoft.azure.PagedList;
9-
import com.microsoft.azure.management.resources.Location;
10-
import com.microsoft.azure.management.resources.RegionType;
11-
import com.microsoft.azure.management.resources.Subscription;
128
import com.microsoft.azure.toolkit.intellij.common.AzureComboBox;
9+
import com.microsoft.azure.toolkit.lib.Azure;
10+
import com.microsoft.azure.toolkit.lib.auth.AzureAccount;
1311
import com.microsoft.azure.toolkit.lib.common.form.AzureValidationInfo;
1412
import com.microsoft.azure.toolkit.lib.common.model.Region;
13+
import com.microsoft.azure.toolkit.lib.common.model.Subscription;
1514
import com.microsoft.azure.toolkit.lib.common.operation.AzureOperation;
1615
import com.microsoft.azure.toolkit.lib.sqlserver.service.AzureSqlServer;
1716
import com.microsoft.azuretools.azurecommons.helpers.NotNull;
1817

1918
import java.util.ArrayList;
2019
import java.util.List;
2120
import java.util.Objects;
22-
import java.util.stream.Collectors;
2321

2422
/**
2523
* TODO(Qianjin) : extend RegionComboBox
@@ -89,7 +87,7 @@ public AzureValidationInfo doValidate() {
8987
validatedInfo = super.doValidate();
9088
if (AzureValidationInfo.OK.equals(validatedInfo)) {
9189
AzureSqlServer service = com.microsoft.azure.toolkit.lib.Azure.az(AzureSqlServer.class);
92-
if (!service.checkRegionCapability(subscription.subscriptionId(), getValue().getName())) {
90+
if (!service.checkRegionCapability(subscription.getId(), getValue().getName())) {
9391
final AzureValidationInfo.AzureValidationInfoBuilder builder = AzureValidationInfo.builder();
9492
validatedInfo = builder.input(this).message(REGION_UNAVAILABLE_MESSAGE).type(AzureValidationInfo.Type.ERROR).build();
9593
}
@@ -98,16 +96,7 @@ public AzureValidationInfo doValidate() {
9896
return validatedInfo;
9997
}
10098

101-
/**
102-
* TODO: replace codes after merge andy's code.
103-
*/
10499
private List<Region> loadRegions(Subscription subscription) {
105-
PagedList<Location> locationList = subscription.listLocations();
106-
locationList.loadAll();
107-
return locationList.stream()
108-
.filter((e) -> RegionType.PHYSICAL.equals(e.regionType()))
109-
.map(e -> Region.fromName(e.name()))
110-
.distinct()
111-
.collect(Collectors.toList());
100+
return Azure.az(AzureAccount.class).listRegions(subscription.getId());
112101
}
113102
}

PluginsAndFeatures/azure-toolkit-for-intellij/src/com/microsoft/azure/toolkit/intellij/sqlserver/creation/SqlServerCreationAdvancedPanel.java

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

66
package com.microsoft.azure.toolkit.intellij.sqlserver.creation;
77

8-
import com.microsoft.azure.management.resources.Subscription;
98
import com.microsoft.azure.toolkit.intellij.appservice.resourcegroup.ResourceGroupComboBox;
109
import com.microsoft.azure.toolkit.intellij.appservice.subscription.SubscriptionComboBox;
1110
import com.microsoft.azure.toolkit.intellij.common.AzureFormPanel;
@@ -17,6 +16,7 @@
1716
import com.microsoft.azure.toolkit.intellij.sqlserver.common.SqlServerNameTextField;
1817
import com.microsoft.azure.toolkit.intellij.sqlserver.common.SqlServerRegionComboBox;
1918
import com.microsoft.azure.toolkit.lib.common.form.AzureFormInput;
19+
import com.microsoft.azure.toolkit.lib.common.model.Subscription;
2020
import com.microsoft.azure.toolkit.lib.sqlserver.SqlServerConfig;
2121
import lombok.Getter;
2222
import org.apache.commons.lang3.StringUtils;
@@ -74,7 +74,7 @@ private void onSubscriptionChanged(final ItemEvent e) {
7474
if (e.getStateChange() == ItemEvent.SELECTED && e.getItem() instanceof Subscription) {
7575
final Subscription subscription = (Subscription) e.getItem();
7676
this.resourceGroupComboBox.setSubscription(subscription);
77-
this.serverNameTextField.setSubscriptionId(subscription.subscriptionId());
77+
this.serverNameTextField.setSubscriptionId(subscription.getId());
7878
this.regionComboBox.setSubscription(subscription);
7979
}
8080
}

PluginsAndFeatures/azure-toolkit-for-intellij/src/com/microsoft/azure/toolkit/intellij/sqlserver/creation/SqlServerCreationBasicPanel.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public class SqlServerCreationBasicPanel extends JPanel implements AzureFormPane
4848
}
4949

5050
private void init() {
51-
serverNameTextField.setSubscriptionId(config.getSubscription().subscriptionId());
51+
serverNameTextField.setSubscriptionId(config.getSubscription().getId());
5252
passwordFieldInput = PasswordUtils.generatePasswordFieldInput(this.passwordField, this.adminUsernameTextField);
5353
confirmPasswordFieldInput = PasswordUtils.generateConfirmPasswordFieldInput(this.confirmPasswordField, this.passwordField);
5454
}

PluginsAndFeatures/azure-toolkit-for-intellij/src/com/microsoft/azure/toolkit/intellij/sqlserver/creation/SqlServerCreationDialog.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,16 @@
2424

2525
import com.google.common.base.Preconditions;
2626
import com.intellij.openapi.project.Project;
27-
import com.microsoft.azure.management.resources.Subscription;
2827
import com.microsoft.azure.toolkit.intellij.common.AzureDialog;
28+
import com.microsoft.azure.toolkit.lib.Azure;
29+
import com.microsoft.azure.toolkit.lib.auth.AzureAccount;
2930
import com.microsoft.azure.toolkit.lib.common.form.AzureForm;
31+
import com.microsoft.azure.toolkit.lib.common.model.Subscription;
3032
import com.microsoft.azure.toolkit.lib.sqlserver.SqlServerConfig;
31-
import com.microsoft.azuretools.core.mvp.model.AzureMvpModel;
3233
import org.apache.commons.collections4.CollectionUtils;
3334
import org.jetbrains.annotations.Nullable;
3435

3536
import javax.swing.*;
36-
3737
import java.util.List;
3838

3939
import static com.microsoft.intellij.ui.messages.AzureBundle.message;
@@ -101,7 +101,7 @@ protected void toggleAdvancedMode(boolean advancedMode) {
101101
}
102102

103103
private void createUIComponents() {
104-
final List<Subscription> selectedSubscriptions = AzureMvpModel.getInstance().getSelectedSubscriptions();
104+
List<Subscription> selectedSubscriptions = Azure.az(AzureAccount.class).account().getSelectedSubscriptions();
105105
Preconditions.checkArgument(CollectionUtils.isNotEmpty(selectedSubscriptions), "There is no subscription in your account.");
106106
SqlServerConfig config = SqlServerConfig.getDefaultConfig(selectedSubscriptions.get(0));
107107
basic = new SqlServerCreationBasicPanel(config);

PluginsAndFeatures/azure-toolkit-for-intellij/src/com/microsoft/azure/toolkit/intellij/sqlserver/properties/SqlServerPropertyView.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,18 @@
55

66
package com.microsoft.azure.toolkit.intellij.sqlserver.properties;
77

8-
import com.microsoft.azure.management.resources.Subscription;
98
import com.microsoft.azure.toolkit.intellij.common.AzureHideableTitledSeparator;
109
import com.microsoft.azure.toolkit.intellij.common.BaseEditor;
1110
import com.microsoft.azure.toolkit.intellij.database.ui.ConnectionSecurityPanel;
1211
import com.microsoft.azure.toolkit.intellij.database.ui.ConnectionStringsOutputPanel;
1312
import com.microsoft.azure.toolkit.intellij.database.ui.MySQLPropertyActionPanel;
1413
import com.microsoft.azure.toolkit.intellij.sqlserver.common.SqlServerDatabaseComboBox;
1514
import com.microsoft.azure.toolkit.lib.Azure;
15+
import com.microsoft.azure.toolkit.lib.auth.AzureAccount;
1616
import com.microsoft.azure.toolkit.lib.common.database.DatabaseTemplateUtils;
1717
import com.microsoft.azure.toolkit.lib.common.database.JdbcUrl;
1818
import com.microsoft.azure.toolkit.lib.common.exception.AzureToolkitRuntimeException;
19+
import com.microsoft.azure.toolkit.lib.common.model.Subscription;
1920
import com.microsoft.azure.toolkit.lib.common.task.AzureTask;
2021
import com.microsoft.azure.toolkit.lib.common.task.AzureTaskManager;
2122
import com.microsoft.azure.toolkit.lib.sqlserver.model.SqlDatabaseEntity;
@@ -25,7 +26,6 @@
2526
import com.microsoft.azure.toolkit.lib.sqlserver.service.ISqlServer;
2627
import com.microsoft.azuretools.ActionConstants;
2728
import com.microsoft.azuretools.azurecommons.util.Utils;
28-
import com.microsoft.azuretools.core.mvp.model.AzureMvpModel;
2929
import com.microsoft.azuretools.core.mvp.ui.base.MvpView;
3030
import com.microsoft.azuretools.telemetry.TelemetryConstants;
3131
import com.microsoft.azuretools.telemetrywrapper.EventType;
@@ -247,9 +247,9 @@ private void refreshProperty(String sid, String resourceGroup, String name) {
247247
// @Override
248248
public void showProperty(SqlServerProperty property) {
249249
SqlServerEntity entity = property.getServer().entity();
250-
Subscription subscription = AzureMvpModel.getInstance().getSubscriptionById(entity.getSubscriptionId());
250+
Subscription subscription = Azure.az(AzureAccount.class).account().getSubscription(entity.getSubscriptionId());
251251
if (subscription != null) {
252-
overview.getSubscriptionTextField().setText(subscription.displayName());
252+
overview.getSubscriptionTextField().setText(subscription.getName());
253253
}
254254
databaseComboBox.setServer(property.getServer());
255255
overview.getResourceGroupTextField().setText(entity.getResourceGroup());

PluginsAndFeatures/azure-toolkit-for-intellij/src/com/microsoft/azure/toolkit/intellij/sqlserver/task/CreateSqlServerTask.java

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,17 @@
55

66
package com.microsoft.azure.toolkit.intellij.sqlserver.task;
77

8-
import com.microsoft.azure.management.resources.ResourceGroup;
98
import com.microsoft.azure.toolkit.intellij.common.Draft;
109
import com.microsoft.azure.toolkit.lib.Azure;
1110
import com.microsoft.azure.toolkit.lib.common.model.Region;
11+
import com.microsoft.azure.toolkit.lib.common.model.ResourceGroup;
1212
import com.microsoft.azure.toolkit.lib.common.operation.AzureOperation;
13-
//import com.microsoft.azure.toolkit.lib.resource.AzureGroup;
14-
//import com.microsoft.azure.toolkit.lib.resource.ResourceGroupEntity;
13+
import com.microsoft.azure.toolkit.lib.resource.AzureGroup;
1514
import com.microsoft.azure.toolkit.lib.sqlserver.SqlServerConfig;
1615
import com.microsoft.azure.toolkit.lib.sqlserver.model.SqlServerEntity;
1716
import com.microsoft.azure.toolkit.lib.sqlserver.service.AzureSqlServer;
1817
import com.microsoft.azure.toolkit.lib.sqlserver.service.ISqlServer;
1918
import com.microsoft.azuretools.ActionConstants;
20-
import com.microsoft.azuretools.authmanage.AuthMethodManager;
2119
import com.microsoft.azuretools.telemetry.TelemetryConstants;
2220
import com.microsoft.azuretools.telemetrywrapper.ErrorType;
2321
import com.microsoft.azuretools.telemetrywrapper.EventType;
@@ -47,24 +45,18 @@ public ISqlServer execute() {
4745
final Operation operation = TelemetryManager.createOperation(ActionConstants.MySQL.CREATE);
4846
try {
4947
operation.start();
50-
final String subscriptionId = config.getSubscription().subscriptionId();
48+
final String subscriptionId = config.getSubscription().getId();
5149
EventUtil.logEvent(EventType.info, operation, Collections.singletonMap(TelemetryConstants.SUBSCRIPTIONID, subscriptionId));
5250
// create resource group if necessary.
5351
if (config.getResourceGroup() instanceof Draft) {
54-
/*ResourceGroupEntity newResourceGroup = Azure.az(AzureGroup.class)
55-
.subscription(subscriptionId).create(config.getResourceGroup().name(), config.getRegion().getName());
56-
config.setResourceGroup(newResourceGroup);*/
57-
com.microsoft.azure.management.Azure azure2 = AuthMethodManager.getInstance().getAzureClient(subscriptionId);
58-
ResourceGroup newResourceGroup = azure2.resourceGroups()
59-
.define(config.getResourceGroup().name()).withRegion(config.getRegion().getName()).create();
52+
ResourceGroup newResourceGroup = Azure.az(AzureGroup.class)
53+
.subscription(subscriptionId).create(config.getResourceGroup().getName(), config.getRegion().getName());
6054
config.setResourceGroup(newResourceGroup);
6155
}
6256

6357
// create sql server
6458
SqlServerEntity entity = this.fromConfig(this.config);
65-
return Azure.az(AzureSqlServer.class).sqlServer(entity).create()
66-
.withAdministratorLoginPassword(String.valueOf(config.getPassword()))
67-
.commit();
59+
return Azure.az(AzureSqlServer.class).sqlServer(entity).create().withAdministratorLoginPassword(String.valueOf(config.getPassword())).commit();
6860
} catch (final RuntimeException e) {
6961
EventUtil.logError(operation, ErrorType.systemError, e, null, null);
7062
throw e;
@@ -74,8 +66,8 @@ public ISqlServer execute() {
7466
}
7567

7668
private SqlServerEntity fromConfig(SqlServerConfig config) {
77-
return SqlServerEntity.builder().name(config.getServerName()).subscriptionId(config.getSubscription().subscriptionId())
78-
.resourceGroup(config.getResourceGroup().name()).region(Region.fromName(config.getRegion().getName()))
69+
return SqlServerEntity.builder().name(config.getServerName()).subscriptionId(config.getSubscription().getId())
70+
.resourceGroup(config.getResourceGroup().getName()).region(Region.fromName(config.getRegion().getName()))
7971
.administratorLoginName(config.getAdminUsername())
8072
.enableAccessFromAzureServices(config.isAllowAccessFromAzureServices()).enableAccessFromLocalMachine(config.isAllowAccessFromLocalMachine())
8173
.build();

PluginsAndFeatures/azure-toolkit-for-intellij/src/com/microsoft/azure/toolkit/lib/sqlserver/SqlServerConfig.java

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,17 @@
55

66
package com.microsoft.azure.toolkit.lib.sqlserver;
77

8-
import com.google.common.base.Preconditions;
9-
import com.microsoft.azure.management.resources.ResourceGroup;
10-
import com.microsoft.azure.management.resources.Subscription;
11-
import com.microsoft.azure.toolkit.lib.appservice.DraftResourceGroup;
8+
import com.microsoft.azure.toolkit.lib.common.DraftResourceGroup;
129
import com.microsoft.azure.toolkit.lib.common.model.Region;
13-
import com.microsoft.azuretools.core.mvp.model.AzureMvpModel;
10+
import com.microsoft.azure.toolkit.lib.common.model.ResourceGroup;
11+
import com.microsoft.azure.toolkit.lib.common.model.Subscription;
1412
import lombok.Getter;
1513
import lombok.Setter;
1614
import lombok.ToString;
17-
import org.apache.commons.collections4.CollectionUtils;
1815
import org.apache.commons.lang3.StringUtils;
1916
import org.apache.commons.lang3.time.DateFormatUtils;
2017

2118
import java.util.Date;
22-
import java.util.List;
2319

2420
@Getter
2521
@Setter
@@ -43,7 +39,9 @@ public static SqlServerConfig getDefaultConfig(Subscription subscription) {
4339
final String defaultNameSuffix = DateFormatUtils.format(new Date(), "yyyyMMddHHmmss");
4440
final SqlServerConfig config = new SqlServerConfig();
4541
config.setSubscription(subscription);
46-
DraftResourceGroup resourceGroup = DraftResourceGroup.builder().subscription(subscription).name("rs-" + defaultNameSuffix).build();
42+
DraftResourceGroup resourceGroup = new DraftResourceGroup(subscription, "rs-" + defaultNameSuffix);
43+
config.setResourceGroup(resourceGroup);
44+
config.setSubscription(subscription);
4745
config.setResourceGroup(resourceGroup);
4846
config.setRegion(Region.US_EAST);
4947
config.setServerName("sqlserver-" + defaultNameSuffix);

0 commit comments

Comments
 (0)