Skip to content

Commit 693e210

Browse files
committed
Merge branch 'temeletry/operation' into telemetry/properties
2 parents e8bd6ad + 5a47529 commit 693e210

File tree

56 files changed

+286
-299
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+286
-299
lines changed

PluginsAndFeatures/azure-toolkit-for-intellij/src/com/microsoft/azure/toolkit/intellij/appservice/AppServiceStreamingLogManager.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ public void showFunctionStreamingLog(Project project, String functionId) {
6464
showAppServiceStreamingLog(project, functionId, new FunctionLogStreaming(functionId));
6565
}
6666

67-
@AzureOperation(name = "appservice|log_stream.close", params = {"$appId|uri_to_name"}, type = AzureOperation.Type.SERVICE)
67+
@AzureOperation(name = "appservice|log_stream.close", params = {"nameFromResourceId(appId)"}, type = AzureOperation.Type.SERVICE)
6868
public void closeStreamingLog(Project project, String appId) {
6969
final IAzureOperationTitle title = AzureOperationBundle.title("appservice|log_stream.close", ResourceUtils.nameFromResourceId(appId));
7070
AzureTaskManager.getInstance().runInBackground(new AzureTask(project, title, false, () -> {
@@ -77,7 +77,7 @@ public void closeStreamingLog(Project project, String appId) {
7777
}));
7878
}
7979

80-
@AzureOperation(name = "appservice|log_stream.open", params = {"$resourceId|uri_to_name"}, type = AzureOperation.Type.SERVICE)
80+
@AzureOperation(name = "appservice|log_stream.open", params = {"nameFromResourceId(resourceId)"}, type = AzureOperation.Type.SERVICE)
8181
private void showAppServiceStreamingLog(Project project, String resourceId, ILogStreaming logStreaming) {
8282
final IAzureOperationTitle title = AzureOperationBundle.title("appservice|log_stream.open", ResourceUtils.nameFromResourceId(resourceId));
8383
AzureTaskManager.getInstance().runInBackground(new AzureTask(project, title, false, () -> {

PluginsAndFeatures/azure-toolkit-for-intellij/src/com/microsoft/azure/toolkit/intellij/appservice/ProcessComboBox.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public class ProcessComboBox extends AzureComboBox<ProcessInfo> {
3434
@Override
3535
@AzureOperation(
3636
name = "appservice|flight_recorder.list.app",
37-
params = {"@appService.name()"},
37+
params = {"this.appService.name()"},
3838
type = AzureOperation.Type.SERVICE
3939
)
4040
protected List<ProcessInfo> loadItems() throws Exception {

PluginsAndFeatures/azure-toolkit-for-intellij/src/com/microsoft/azure/toolkit/intellij/appservice/insights/ApplicationInsightsComboBox.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public void setValue(final ApplicationInsightsConfig insightsConfig) {
5151
@Override
5252
@AzureOperation(
5353
name = "ai.list.subscription",
54-
params = {"@subscription.subscriptionId()"},
54+
params = {"this.subscription.subscriptionId()"},
5555
type = AzureOperation.Type.SERVICE
5656
)
5757
protected List<? extends ApplicationInsightsConfig> loadItems() throws Exception {

PluginsAndFeatures/azure-toolkit-for-intellij/src/com/microsoft/azure/toolkit/intellij/appservice/region/RegionComboBox.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ public void setPricingTier(PricingTier tier) {
5454
@Override
5555
@AzureOperation(
5656
name = "appservice|region.list.subscription|tier",
57-
params = {"@tier.toString()", "@subscription.subscriptionId()"},
57+
params = {"this.tier.toString()", "this.subscription.subscriptionId()"},
5858
type = AzureOperation.Type.SERVICE
5959
)
6060
protected List<? extends Region> loadItems() throws Exception {

PluginsAndFeatures/azure-toolkit-for-intellij/src/com/microsoft/azure/toolkit/intellij/appservice/resourcegroup/ResourceGroupComboBox.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ public void setSubscription(Subscription subscription) {
5656
@Override
5757
@AzureOperation(
5858
name = "arm|rg.list.subscription",
59-
params = {"@subscription.subscriptionId()"},
59+
params = {"this.subscription.subscriptionId()"},
6060
type = AzureOperation.Type.SERVICE
6161
)
6262
protected List<? extends ResourceGroup> loadItems() throws Exception {

PluginsAndFeatures/azure-toolkit-for-intellij/src/com/microsoft/azure/toolkit/intellij/appservice/serviceplan/ServicePlanComboBox.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ protected String getItemText(final Object item) {
9797
@Override
9898
@AzureOperation(
9999
name = "appservice|plan.list.subscription|region|os",
100-
params = {"@subscription.subscriptionId()", "@region.name()", "@os.name()"},
100+
params = {"this.subscription.subscriptionId()", "this.region.name()", "this.os.name()"},
101101
type = AzureOperation.Type.SERVICE
102102
)
103103
protected List<? extends AppServicePlan> loadItems() throws Exception {

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ public synchronized void refreshItems(AzureArtifact defaultArtifact) {
6565
@Override
6666
@AzureOperation(
6767
name = "common|artifact.list.project",
68-
params = {"@project.getName()"},
68+
params = {"this.project.getName()"},
6969
type = AzureOperation.Type.SERVICE
7070
)
7171
protected List<? extends AzureArtifact> loadItems() throws Exception {

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ public List<AzureArtifact> getSupportedAzureArtifactsForSpringCloud() {
4949

5050
@AzureOperation(
5151
name = "common|artifact.get_id",
52-
params = {"$artifact.getName()"},
52+
params = {"artifact.getName()"},
5353
type = AzureOperation.Type.TASK
5454
)
5555
public String getArtifactIdentifier(AzureArtifact artifact) {
@@ -69,7 +69,7 @@ public String getArtifactIdentifier(AzureArtifact artifact) {
6969

7070
@AzureOperation(
7171
name = "common|artifact.get_file",
72-
params = {"$artifact.getName()"},
72+
params = {"artifact.getName()"},
7373
type = AzureOperation.Type.TASK
7474
)
7575
public String getFileForDeployment(AzureArtifact artifact) {

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ public void refreshItems() {
153153

154154
@AzureOperation(
155155
name = "common|combobox.load_items",
156-
params = {"@label()"},
156+
params = {"this.label()"},
157157
type = AzureOperation.Type.ACTION
158158
)
159159
private void doRefreshItems() {

PluginsAndFeatures/azure-toolkit-for-intellij/src/com/microsoft/azure/toolkit/intellij/common/handler/IntelliJAzureExceptionHandler.java

Lines changed: 44 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -15,24 +15,28 @@
1515
import com.intellij.openapi.project.Project;
1616
import com.intellij.util.ui.UIUtil;
1717
import com.microsoft.azure.toolkit.intellij.common.AzureToolkitErrorDialog;
18+
import com.microsoft.azure.toolkit.lib.common.exception.AzureExceptionHandler;
1819
import com.microsoft.azure.toolkit.lib.common.exception.AzureToolkitException;
1920
import com.microsoft.azure.toolkit.lib.common.exception.AzureToolkitRuntimeException;
20-
import com.microsoft.azure.toolkit.lib.common.exception.AzureExceptionHandler;
2121
import com.microsoft.azure.toolkit.lib.common.operation.AzureOperation;
2222
import com.microsoft.azure.toolkit.lib.common.operation.AzureOperationRef;
23-
import com.microsoft.azure.toolkit.lib.common.operation.AzureOperationUtils;
2423
import com.microsoft.azure.toolkit.lib.common.operation.IAzureOperation;
2524
import com.microsoft.azure.toolkit.lib.common.task.AzureTaskContext;
26-
import com.microsoft.azuretools.azurecommons.helpers.NotNull;
27-
import com.microsoft.azuretools.azurecommons.helpers.Nullable;
28-
import org.apache.commons.collections.CollectionUtils;
29-
import org.apache.commons.lang.exception.ExceptionUtils;
25+
import org.apache.commons.collections4.CollectionUtils;
3026
import org.apache.commons.lang3.ArrayUtils;
3127
import org.apache.commons.lang3.StringUtils;
28+
import org.apache.commons.lang3.exception.ExceptionUtils;
3229

30+
import javax.annotation.Nonnull;
31+
import javax.annotation.Nullable;
3332
import java.awt.*;
33+
import java.util.Deque;
34+
import java.util.HashMap;
35+
import java.util.LinkedList;
3436
import java.util.List;
35-
import java.util.*;
37+
import java.util.ListIterator;
38+
import java.util.Map;
39+
import java.util.Objects;
3640
import java.util.stream.Collectors;
3741
import java.util.stream.Stream;
3842

@@ -47,8 +51,8 @@ public static IntelliJAzureExceptionHandler getInstance() {
4751
return LazyLoader.INSTANCE;
4852
}
4953

50-
public void handleException(Project object, Throwable throwable, boolean isBackGround, @Nullable AzureExceptionHandler.AzureExceptionAction... action) {
51-
this.onHandleException(object, throwable, isBackGround, action);
54+
public void handleException(Project project, Throwable throwable, boolean isBackground, @Nullable AzureExceptionHandler.AzureExceptionAction... action) {
55+
this.onHandleException(project, throwable, isBackground, action);
5256
}
5357

5458
@Override
@@ -62,40 +66,40 @@ protected void onHandleException(final Throwable throwable, final @Nullable Azur
6266
}
6367

6468
@Override
65-
protected void onHandleException(final Throwable throwable, final boolean isBackGround, final @Nullable AzureExceptionAction[] actions) {
66-
onHandleException(null, throwable, isBackGround, actions);
69+
protected void onHandleException(final Throwable throwable, final boolean isBackground, final @Nullable AzureExceptionAction[] actions) {
70+
onHandleException(null, throwable, isBackground, actions);
6771
}
6872

69-
protected void onHandleException(final Project project, final Throwable throwable, final boolean isBackGround,
73+
protected void onHandleException(final Project project, final Throwable throwable, final boolean isBackground,
7074
final @Nullable AzureExceptionAction[] actions) {
7175
final List<AzureOperationRef> operationRefList = revise(AzureTaskContext.getContextOperations(AzureTaskContext.current()));
72-
final List<Throwable> azureToolkitExceptions = (List<Throwable>) ExceptionUtils.getThrowableList(throwable).stream()
73-
.filter(object -> object instanceof AzureToolkitRuntimeException
74-
|| object instanceof AzureToolkitException)
75-
.collect(Collectors.toList());
76+
final List<Throwable> azureToolkitExceptions = ExceptionUtils
77+
.getThrowableList(throwable).stream()
78+
.filter(object -> object instanceof AzureToolkitRuntimeException
79+
|| object instanceof AzureToolkitException)
80+
.collect(Collectors.toList());
7681
if (CollectionUtils.isEmpty(azureToolkitExceptions) && CollectionUtils.isEmpty(operationRefList)) {
77-
showException(project, isBackGround, throwable.getMessage(), null, actions, throwable);
82+
showException(project, isBackground, throwable.getMessage(), null, actions, throwable);
7883
} else {
7984
// get action from the latest exception
8085
final AzureExceptionAction[] actionArray = getActions(azureToolkitExceptions, actions);
8186
final String description = getAzureErrorMessage(operationRefList, azureToolkitExceptions);
8287
final List<String> operationStack = getAzureOperationStack(operationRefList, azureToolkitExceptions);
83-
showException(project, isBackGround, description, operationStack, actionArray, throwable);
88+
showException(project, isBackground, description, operationStack, actionArray, throwable);
8489
}
8590
}
8691

87-
private void showException(Project project, boolean isBackGround, String message, List<String> operationStack, AzureExceptionAction[] actions,
92+
private void showException(Project project, boolean isBackground, String message, List<String> operationStack, AzureExceptionAction[] actions,
8893
Throwable throwable) {
89-
if (isBackGround) {
94+
if (isBackground) {
9095
showBackgroundException(project, message, operationStack, actions, throwable);
9196
} else {
9297
showForegroundException(project, message, operationStack, actions, throwable);
9398
}
9499
}
95100

96101
private void showForegroundException(Project project, String message, List<String> operationStack, AzureExceptionAction[] actions, Throwable throwable) {
97-
final String details = CollectionUtils.isEmpty(operationStack) ?
98-
StringUtils.EMPTY : getErrorDialogDetails(operationStack);
102+
final String details = CollectionUtils.isEmpty(operationStack) ? StringUtils.EMPTY : getErrorDialogDetails(operationStack);
99103
UIUtil.invokeLaterIfNeeded(() -> {
100104
final AzureToolkitErrorDialog errorDialog = new AzureToolkitErrorDialog(project, AZURE_TOOLKIT_ERROR, message, details, actions, throwable);
101105
final Window dialogWindow = errorDialog.getWindow();
@@ -122,11 +126,11 @@ private String convertOperationToHTML(List<String> operationStack) {
122126
private void showBackgroundException(Project project, String message, List<String> operations, AzureExceptionAction[] actions, Throwable throwable) {
123127
final String body = getNotificationBody(message, operations);
124128
final Notification notification = new Notification(NOTIFICATION_GROUP_ID, AZURE_TOOLKIT_ERROR, body, NotificationType.ERROR);
125-
for (AzureExceptionAction exceptionAction : actions) {
126-
notification.addAction(new AnAction(exceptionAction.name()) {
129+
for (final AzureExceptionAction action : actions) {
130+
notification.addAction(new AnAction(action.name()) {
127131
@Override
128-
public void actionPerformed(@NotNull final AnActionEvent anActionEvent) {
129-
exceptionAction.actionPerformed(throwable);
132+
public void actionPerformed(@Nonnull final AnActionEvent anActionEvent) {
133+
action.actionPerformed(throwable);
130134
}
131135
});
132136
}
@@ -138,30 +142,30 @@ private String getNotificationBody(String message, List<String> operations) {
138142
return String.format("<html>%s</html>", message);
139143
}
140144
final String liList = operations.stream()
141-
.map(string -> String.format("<li>%s</li>", StringUtils.capitalize(string)))
142-
.collect(Collectors.joining(System.lineSeparator()));
145+
.map(string -> String.format("<li>%s</li>", StringUtils.capitalize(string)))
146+
.collect(Collectors.joining(System.lineSeparator()));
143147
return String.format("<html>%s <div><p>Call Stack: </p><ol>%s</ol></div></html>", message, liList);
144148
}
145149

146-
private List<String> getAzureOperationStack(List<AzureOperationRef> callStacks, List<Throwable> throwableList) {
147-
final Stream<String> callStackStream = callStacks.stream().map(operation -> AzureOperationUtils.getOperationTitle(operation));
148-
final Stream<String> exceptionStream = throwableList.stream().map(throwable -> throwable.getMessage());
150+
private List<String> getAzureOperationStack(List<? extends AzureOperationRef> callStacks, List<? extends Throwable> throwableList) {
151+
final Stream<String> callStackStream = callStacks.stream().map(AzureOperationRef::getTitle);
152+
final Stream<String> exceptionStream = throwableList.stream().map(Throwable::getMessage);
149153
return Stream.concat(callStackStream, exceptionStream).collect(Collectors.toList());
150154
}
151155

152-
private String getAzureErrorMessage(List<AzureOperationRef> callStacks, List<Throwable> azureToolkitExceptions) {
156+
private String getAzureErrorMessage(List<? extends AzureOperationRef> callStacks, List<Throwable> azureToolkitExceptions) {
153157
final String action = getActionText(azureToolkitExceptions);
154158
final String operation = CollectionUtils.isNotEmpty(callStacks) ?
155-
AzureOperationUtils.getOperationTitle(callStacks.get(0)) :
156-
azureToolkitExceptions.get(0).getMessage();
159+
callStacks.get(0).getTitle() :
160+
azureToolkitExceptions.get(0).getMessage();
157161
final String cause = CollectionUtils.isNotEmpty(azureToolkitExceptions) ?
158-
azureToolkitExceptions.get(azureToolkitExceptions.size() - 1).getMessage() :
159-
AzureOperationUtils.getOperationTitle(callStacks.get(callStacks.size() - 1));
162+
azureToolkitExceptions.get(azureToolkitExceptions.size() - 1).getMessage() :
163+
callStacks.get(callStacks.size() - 1).getTitle();
160164
if (StringUtils.isNotEmpty(action)) {
161165
return String.format("Failed to %s, please %s", operation, action);
162166
} else {
163167
return StringUtils.equals(operation, cause) ?
164-
String.format("Failed to %s", operation) : String.format("Failed to %s, as %s failed", operation, cause);
168+
String.format("Failed to %s", operation) : String.format("Failed to %s, as %s failed", operation, cause);
165169
}
166170
}
167171

@@ -171,7 +175,7 @@ private String getActionText(final List<Throwable> throwableList) {
171175
final Throwable throwable = iterator.previous();
172176
if (throwable instanceof AzureToolkitException || throwable instanceof AzureToolkitRuntimeException) {
173177
final String action = throwable instanceof AzureToolkitException ? ((AzureToolkitException) throwable).getAction() :
174-
((AzureToolkitRuntimeException) throwable).getAction();
178+
((AzureToolkitRuntimeException) throwable).getAction();
175179
if (StringUtils.isNotEmpty(action)) {
176180
return action;
177181
}
@@ -187,7 +191,7 @@ private AzureExceptionAction[] getActions(final List<Throwable> throwableList, f
187191
final Throwable throwable = iterator.previous();
188192
if (throwable instanceof AzureToolkitException || throwable instanceof AzureToolkitRuntimeException) {
189193
actionId = throwable instanceof AzureToolkitException ? ((AzureToolkitException) throwable).getActionId() :
190-
((AzureToolkitRuntimeException) throwable).getActionId();
194+
((AzureToolkitRuntimeException) throwable).getActionId();
191195
if (StringUtils.isNotEmpty(actionId)) {
192196
break;
193197
}
@@ -203,7 +207,7 @@ public static List<AzureOperationRef> revise(Deque<? extends IAzureOperation> op
203207
if (op instanceof AzureOperationRef) {
204208
final AzureOperationRef operation = (AzureOperationRef) op;
205209
result.addFirst(operation);
206-
final AzureOperation annotation = AzureOperationUtils.getAnnotation(operation);
210+
final AzureOperation annotation = operation.getAnnotation(AzureOperation.class);
207211
if (annotation.type() == AzureOperation.Type.ACTION) {
208212
break;
209213
}

0 commit comments

Comments
 (0)