Skip to content

Commit 9f93402

Browse files
authored
Merge pull request #6096 from microsoft/andy-postgre-link-store
Fix the bug: cannot persist postgre service link.
2 parents 89974ae + 973bb66 commit 9f93402

File tree

4 files changed

+16
-4
lines changed

4 files changed

+16
-4
lines changed

PluginsAndFeatures/azure-toolkit-for-intellij/azure-intellij-plugin-database/src/main/java/com/microsoft/azure/toolkit/intellij/connector/database/DatabaseResource.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,11 @@ public void navigate(AnActionEvent event) {
125125
}
126126
}
127127

128+
@Override
129+
public String toString() {
130+
return String.format("%s[%s]", this.getDefinition().title, this.getName());
131+
}
132+
128133
@Getter
129134
@RequiredArgsConstructor
130135
public enum Definition implements SpringSupported<Database> {

PluginsAndFeatures/azure-toolkit-for-intellij/azure-intellij-plugin-database/src/main/java/com/microsoft/azure/toolkit/intellij/database/postgre/connection/PostgreSqlDatabaseResource.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,13 @@ public PostgreSqlDatabaseResource(PostgreSqlDatabase database, @Nonnull String u
4747
this.database.setUsername(username);
4848
}
4949

50+
public PostgreSqlDatabaseResource(String id, @Nonnull String username, @Nonnull Definition<PostgreSqlDatabase> definition) {
51+
super(id, definition);
52+
ResourceId resourceId = ResourceId.fromString(id);
53+
this.database = new Database(resourceId.parent().id(), resourceId.name());
54+
this.database.setUsername(username);
55+
}
56+
5057
public String loadPassword() {
5158
Password password = getPassword();
5259
if (Objects.nonNull(password) && password.saveType() == Password.SaveType.NEVER) {
@@ -78,7 +85,7 @@ public String inputPassword(@Nonnull final Project project) {
7885
if (dialog.showAndGet()) {
7986
final Password password = dialog.getValue();
8087
this.database.getPassword().saveType(password.saveType());
81-
PasswordStore.savePassword(this.getName(),
88+
PasswordStore.savePassword(PostgreSqlResourceDefinition.INSTANCE.getName(),
8289
this.getDataId(), this.database.getUsername(), password.password(), password.saveType());
8390
passwordRef.set(password);
8491
}

PluginsAndFeatures/azure-toolkit-for-intellij/azure-intellij-plugin-database/src/main/java/com/microsoft/azure/toolkit/intellij/database/postgre/connection/PostgreSqlResourceDefinition.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ public Resource<PostgreSqlDatabase> read(@Nonnull Element resourceEle) {
8484
if (StringUtils.isBlank(dataId)) {
8585
throw new AzureToolkitRuntimeException("Missing required dataId for postgre SQL database in service link.");
8686
}
87-
PostgreSqlDatabaseResource resource = new PostgreSqlDatabaseResource(getResource(dataId), resourceEle.getChildTextTrim("username"), this);
87+
final PostgreSqlDatabaseResource resource = new PostgreSqlDatabaseResource(dataId, resourceEle.getChildTextTrim("username"), this);
8888

8989
final String defName = this.getName();
9090
resource.setJdbcUrl(JdbcUrl.from(resourceEle.getChildTextTrim("url")));
@@ -107,7 +107,7 @@ public Resource<PostgreSqlDatabase> define(PostgreSqlDatabase resource) {
107107

108108
@Override
109109
public Resource<PostgreSqlDatabase> define(String dataId) {
110-
throw new UnsupportedOperationException("xx");
110+
return new AzureServiceResource<>(getResource(dataId), this);
111111
}
112112

113113
@Override

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ postgre|server.restart=restart Postgre server({0})
1515
postgre|server.delete=delete Postgre server({0})
1616
postgre.list.subscription=list PostgreSQL servers of subscription({0})
1717
postgre.get.name|rg|sid=get PostgreSQL server({0}) in resource group({1})
18-
postgre|server.open_by_database_tools=open PostgreSQL Server({0}) by Database Tools plugin.
18+
postgre|server.open_by_database_tools=open PostgreSQL Server({0}) by Database Tools plugin
1919

2020
sqlserver|server.create=create SQL server({0})
2121
sqlserver|server.delete=delete SQL server({0})

0 commit comments

Comments
 (0)