Skip to content

Commit 7a57099

Browse files
migrate from preloading activity to startup activity.
1 parent 4739879 commit 7a57099

File tree

4 files changed

+22
-8
lines changed

4 files changed

+22
-8
lines changed

PluginsAndFeatures/azure-toolkit-for-intellij/azure-intellij-plugin-cosmos/src/main/java/com/microsoft/azure/toolkit/intellij/cosmos/dbtools/DbToolsWorkaround.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,16 @@
1010
import com.intellij.database.dataSource.DatabaseDriverManagerImpl;
1111
import com.intellij.database.dataSource.url.ui.UrlPropertiesPanel;
1212
import com.intellij.openapi.application.ApplicationManager;
13-
import com.intellij.openapi.application.PreloadingActivity;
13+
import com.intellij.openapi.project.DumbAware;
14+
import com.intellij.openapi.project.Project;
15+
import com.intellij.openapi.startup.ProjectActivity;
1416
import com.intellij.openapi.util.JDOMUtil;
1517
import com.intellij.openapi.util.registry.Registry;
1618
import com.microsoft.azure.toolkit.intellij.common.IntelliJAzureIcons;
1719
import com.microsoft.azure.toolkit.lib.common.telemetry.AzureTelemeter;
1820
import com.microsoft.azure.toolkit.lib.common.telemetry.AzureTelemetry;
21+
import kotlin.Unit;
22+
import kotlin.coroutines.Continuation;
1923
import lombok.SneakyThrows;
2024
import org.apache.commons.lang3.StringUtils;
2125
import org.apache.commons.lang3.reflect.FieldUtils;
@@ -29,7 +33,7 @@
2933
import java.util.Objects;
3034
import java.util.Optional;
3135

32-
public class DbToolsWorkaround extends PreloadingActivity {
36+
public class DbToolsWorkaround implements ProjectActivity, DumbAware {
3337
private static final String PARAM_NAME = "account";
3438
public static final String COSMOS_MONGO_ICON = "icons/Microsoft.DocumentDB/databaseAccounts/mongo.svg";
3539
public static final String COSMOS_MONGO_DRIVER_ID = "az_cosmos_mongo";
@@ -39,7 +43,7 @@ public class DbToolsWorkaround extends PreloadingActivity {
3943
public static final String COSMOS_CASSANDRA_DRIVER_CONFIG = "databaseDrivers/azure-cosmos-cassandra-drivers.xml";
4044

4145
@Override
42-
public void preload() {
46+
public Object execute(@Nonnull Project project, @Nonnull Continuation<? super Unit> continuation) {
4347
ApplicationManager.getApplication().executeOnPooledThread(() -> {
4448
try {
4549
DbToolsWorkaround.makeAccountShowAtTop();
@@ -50,6 +54,7 @@ public void preload() {
5054
AzureTelemeter.log(AzureTelemetry.Type.ERROR, new HashMap<>(), t);
5155
}
5256
});
57+
return null;
5358
}
5459

5560
private static void loadMongoDriver() {

PluginsAndFeatures/azure-toolkit-for-intellij/azure-intellij-plugin-cosmos/src/main/resources/META-INF/azure-intellij-plugin-cosmos-dbtools.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<registryKey key="azure.toolkit.cosmos_cassandra.dbtools.enabled"
1616
description="Enables DB tools related features of Azure cosmos DB API for cassandra"
1717
restartRequired="true" defaultValue="false"/>
18-
<preloadingActivity implementation="com.microsoft.azure.toolkit.intellij.cosmos.dbtools.DbToolsWorkaround"/>
18+
<postStartupActivity implementation="com.microsoft.azure.toolkit.intellij.cosmos.dbtools.DbToolsWorkaround"/>
1919
</extensions>
2020
<extensions defaultExtensionNs="com.microsoft.tooling.msservices.intellij.azure">
2121
<actions implementation="com.microsoft.azure.toolkit.intellij.cosmos.IntelliJCosmosActionsContributorForUltimate"/>

PluginsAndFeatures/azure-toolkit-for-intellij/azure-intellij-plugin-database/src/main/java/com/microsoft/azure/toolkit/intellij/database/dbtools/DatabaseDbToolsWorkaround.java

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,26 @@
99
import com.intellij.database.dataSource.DatabaseDriverManager;
1010
import com.intellij.database.dataSource.url.template.UrlTemplate;
1111
import com.intellij.openapi.application.ApplicationManager;
12-
import com.intellij.openapi.application.PreloadingActivity;
12+
import com.intellij.openapi.project.DumbAware;
13+
import com.intellij.openapi.project.Project;
14+
import com.intellij.openapi.startup.ProjectActivity;
1315
import com.microsoft.azure.toolkit.lib.common.telemetry.AzureTelemeter;
1416
import com.microsoft.azure.toolkit.lib.common.telemetry.AzureTelemetry;
17+
import kotlin.Unit;
18+
import kotlin.coroutines.Continuation;
1519

20+
import javax.annotation.Nonnull;
21+
import javax.annotation.Nullable;
1622
import java.util.HashMap;
1723
import java.util.LinkedList;
1824
import java.util.List;
1925
import java.util.Objects;
2026

21-
public class DatabaseDbToolsWorkaround extends PreloadingActivity {
27+
public class DatabaseDbToolsWorkaround implements ProjectActivity, DumbAware {
28+
29+
@Nullable
2230
@Override
23-
public void preload() {
31+
public Object execute(@Nonnull Project project, @Nonnull Continuation<? super Unit> continuation) {
2432
ApplicationManager.getApplication().executeOnPooledThread(() -> {
2533
try {
2634
loadMySqlAzureTemplates();
@@ -32,6 +40,7 @@ public void preload() {
3240
AzureTelemeter.log(AzureTelemetry.Type.ERROR, new HashMap<>(), t);
3341
}
3442
});
43+
return null;
3544
}
3645

3746
private static void loadMySqlAzureTemplates() {

PluginsAndFeatures/azure-toolkit-for-intellij/azure-intellij-plugin-database/src/main/resources/META-INF/azure-intellij-plugin-database-dbtools.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@
55
<urlParamEditorUiProvider implementation="com.microsoft.azure.toolkit.intellij.database.dbtools.DatabaseServerTypeUIFactory" order="first"/>
66
</extensions>
77
<extensions defaultExtensionNs="com.intellij">
8-
<preloadingActivity implementation="com.microsoft.azure.toolkit.intellij.database.dbtools.DatabaseDbToolsWorkaround"/>
8+
<postStartupActivity implementation="com.microsoft.azure.toolkit.intellij.database.dbtools.DatabaseDbToolsWorkaround"/>
99
</extensions>
1010
</idea-plugin>

0 commit comments

Comments
 (0)