Skip to content

Commit 59d7a68

Browse files
Merge pull request #6651 from microsoft/hanli-fixes-202205
Fix miscellaneous bugs in end game
2 parents 817a6e4 + 4bea21d commit 59d7a68

File tree

10 files changed

+71
-78
lines changed

10 files changed

+71
-78
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,14 @@
1+
apply plugin: "io.freefair.aspectj.post-compile-weaving"
2+
3+
14
intellij {
25
}
36

47
dependencies {
58
compile project(':azure-intellij-plugin-lib')
69
compile project(':azure-intellij-resource-connector-lib')
10+
compile 'com.microsoft.azure:azure-toolkit-common-lib'
11+
aspect 'com.microsoft.azure:azure-toolkit-common-lib'
712
compile 'com.microsoft.azure:azure-toolkit-ide-common-lib'
813
compile 'com.microsoft.azure:azure-toolkit-ide-applicationinsights-lib:' + azureToolkitVersion
914
}

PluginsAndFeatures/azure-toolkit-for-intellij/azure-intellij-plugin-applicationinsights/src/main/java/com/microsoft/azure/toolkit/intellij/applicationinsights/IntelliJApplicationInsightsActionsContributor.java

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

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

8+
import com.azure.resourcemanager.applicationinsights.models.ApplicationInsightsComponent;
89
import com.intellij.openapi.actionSystem.AnActionEvent;
910
import com.microsoft.azure.toolkit.ide.applicationinsights.ApplicationInsightsActionsContributor;
1011
import com.microsoft.azure.toolkit.ide.common.IActionsContributor;
@@ -17,28 +18,34 @@
1718
import com.microsoft.azure.toolkit.lib.applicationinsights.ApplicationInsight;
1819
import com.microsoft.azure.toolkit.lib.applicationinsights.ApplicationInsightDraft;
1920
import com.microsoft.azure.toolkit.lib.applicationinsights.AzureApplicationInsights;
21+
import com.microsoft.azure.toolkit.lib.auth.AzureAccount;
2022
import com.microsoft.azure.toolkit.lib.common.action.AzureActionManager;
2123
import com.microsoft.azure.toolkit.lib.common.model.AzResource;
24+
import com.microsoft.azure.toolkit.lib.common.model.Region;
25+
import com.microsoft.azure.toolkit.lib.common.model.Subscription;
2226
import com.microsoft.azure.toolkit.lib.common.operation.OperationBundle;
2327
import com.microsoft.azure.toolkit.lib.common.task.AzureTaskManager;
28+
import com.microsoft.azure.toolkit.lib.common.utils.Utils;
29+
import com.microsoft.azure.toolkit.lib.resource.AzureResources;
2430
import com.microsoft.azure.toolkit.lib.resource.ResourceGroup;
31+
import com.microsoft.azure.toolkit.lib.resource.ResourceGroupDraft;
2532

33+
import javax.annotation.Nullable;
34+
import java.util.List;
35+
import java.util.Optional;
2636
import java.util.function.BiConsumer;
2737
import java.util.function.BiPredicate;
2838

2939
public class IntelliJApplicationInsightsActionsContributor implements IActionsContributor {
3040
@Override
3141
public void registerHandlers(AzureActionManager am) {
3242
final BiPredicate<Object, AnActionEvent> condition = (r, e) -> r instanceof AzureApplicationInsights;
33-
final BiConsumer<Object, AnActionEvent> handler = (c, e) -> CreateApplicationInsightsAction.create(e.getProject(), null);
43+
final BiConsumer<Object, AnActionEvent> handler = (c, e) ->
44+
CreateApplicationInsightsAction.create(e.getProject(), getDraftApplicationInsight(null));
3445
am.registerHandler(ResourceCommonActionsContributor.CREATE, condition, handler);
3546

36-
final BiConsumer<ResourceGroup, AnActionEvent> groupCreateAccountHandler = (r, e) -> {
37-
final ApplicationInsightDraft draft = Azure.az(AzureApplicationInsights.class)
38-
.applicationInsights(r.getSubscriptionId()).create(AzResource.NONE.getName(), r.getName());
39-
draft.setRegion(r.getRegion());
40-
CreateApplicationInsightsAction.create(e.getProject(), draft);
41-
};
47+
final BiConsumer<ResourceGroup, AnActionEvent> groupCreateAccountHandler = (r, e) ->
48+
CreateApplicationInsightsAction.create(e.getProject(), getDraftApplicationInsight(r));
4249
am.registerHandler(ApplicationInsightsActionsContributor.GROUP_CREATE_APPLICATIONINSIGHT, (r, e) -> true, groupCreateAccountHandler);
4350

4451
final BiPredicate<AzResource<?, ?, ?>, AnActionEvent> connectCondition = (r, e) -> r instanceof ApplicationInsight;
@@ -51,6 +58,21 @@ public void registerHandlers(AzureActionManager am) {
5158
am.registerHandler(ResourceCommonActionsContributor.CONNECT, connectCondition, connectHandler);
5259
}
5360

61+
private static ApplicationInsightDraft getDraftApplicationInsight(@Nullable final ResourceGroup resourceGroup) {
62+
final List<Subscription> selectedSubscriptions = Azure.az(AzureAccount.class).account().getSelectedSubscriptions();
63+
if (selectedSubscriptions.size() == 0) {
64+
return null;
65+
}
66+
final String timestamp = Utils.getTimestamp();
67+
final Subscription subscription = selectedSubscriptions.get(0);
68+
final Region region = Optional.ofNullable(resourceGroup).map(ResourceGroup::getRegion).orElse(null);
69+
final String resourceGroupName = resourceGroup == null ? String.format("rg-%s", timestamp) : resourceGroup.getResourceGroupName();
70+
final ApplicationInsightDraft applicationInsightDraft = Azure.az(AzureApplicationInsights.class).applicationInsights(subscription.getId())
71+
.create(String.format("ai-%s", timestamp), resourceGroupName);
72+
applicationInsightDraft.setRegion(region);
73+
return applicationInsightDraft;
74+
}
75+
5476
@Override
5577
public int getOrder() {
5678
return ApplicationInsightsActionsContributor.INITIALIZE_ORDER + 1;

PluginsAndFeatures/azure-toolkit-for-intellij/azure-intellij-plugin-applicationinsights/src/main/java/com/microsoft/azure/toolkit/intellij/applicationinsights/connection/ApplicationInsightsResourceDefinition.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import com.microsoft.azure.toolkit.lib.Azure;
2020
import com.microsoft.azure.toolkit.lib.applicationinsights.ApplicationInsight;
2121
import com.microsoft.azure.toolkit.lib.applicationinsights.AzureApplicationInsights;
22+
import com.microsoft.azure.toolkit.lib.common.cache.Preload;
2223
import com.microsoft.intellij.CommonConst;
2324
import lombok.Getter;
2425
import org.apache.commons.io.FileUtils;
@@ -74,6 +75,7 @@ static class ApplicationInsightsAgentHolder {
7475
private static final File applicationInsightsLibrary =
7576
new File(PluginManagerCore.getPlugin(PluginId.findId(CommonConst.PLUGIN_ID)).getPluginPath().toString(), "applicationinsights-agent.jar");
7677

78+
@Preload
7779
public static synchronized File getApplicationInsightsLibrary() {
7880
if (!applicationInsightsLibrary.exists()) {
7981
try {

PluginsAndFeatures/azure-toolkit-for-intellij/azure-intellij-plugin-applicationinsights/src/main/java/com/microsoft/azure/toolkit/intellij/applicationinsights/creation/ApplicationInsightsCreationDialog.java

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,12 @@
1515
import com.microsoft.azure.toolkit.lib.applicationinsights.AzureApplicationInsights;
1616
import com.microsoft.azure.toolkit.lib.common.form.AzureForm;
1717
import com.microsoft.azure.toolkit.lib.common.form.AzureFormInput;
18-
import com.microsoft.azure.toolkit.lib.common.model.AzResource;
1918
import com.microsoft.azure.toolkit.lib.common.model.Region;
2019
import com.microsoft.azure.toolkit.lib.common.model.Subscription;
2120
import com.microsoft.azure.toolkit.lib.resource.ResourceGroup;
22-
import org.apache.commons.lang.StringUtils;
2321
import org.jetbrains.annotations.Nullable;
2422

23+
import javax.annotation.Nonnull;
2524
import javax.swing.*;
2625
import java.awt.event.ItemEvent;
2726
import java.util.Arrays;
@@ -83,18 +82,17 @@ public ApplicationInsightDraft getValue() {
8382
}
8483

8584
@Override
86-
public void setValue(ApplicationInsightDraft data) {
87-
final String resourceName = StringUtils.equals(data.getName(), AzResource.NONE.getName()) ? StringUtils.EMPTY : data.getName();
88-
this.txtName.setValue(resourceName);
85+
public void setValue(@Nonnull ApplicationInsightDraft data) {
86+
this.txtName.setValue(data.getName());
8987
this.subscriptionComboBox.setValue(data.getSubscription());
90-
// todo: @hanli support draft resource group
91-
this.resourceGroupComboBox.setValue(data.getResourceGroup());
92-
this.regionComboBox.setValue(data.getRegion());
88+
// todo: @hanli refactor ai library to support get draft resource group
89+
Optional.ofNullable(data.getResourceGroup()).ifPresent(resourceGroupComboBox::setValue);
90+
Optional.ofNullable(data.getRegion()).ifPresent(regionComboBox::setValue);
9391
}
9492

9593
@Override
9694
public List<AzureFormInput<?>> getInputs() {
97-
return Arrays.asList(subscriptionComboBox, resourceGroupComboBox, txtName, regionComboBox);
95+
return Arrays.asList(txtName, subscriptionComboBox, resourceGroupComboBox, regionComboBox);
9896
}
9997

10098
private void onSubscriptionChanged(final ItemEvent e) {
Lines changed: 4 additions & 31 deletions
Loading
Lines changed: 5 additions & 0 deletions
Loading
Lines changed: 5 additions & 0 deletions
Loading
Lines changed: 5 additions & 0 deletions
Loading
Lines changed: 5 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)