Skip to content

Commit 39871f8

Browse files
Merge pull request #2561 from digma-ai/feature/errors-filter
Add new messages for filters load
2 parents ed710a4 + 7f00679 commit 39871f8

File tree

7 files changed

+115
-107
lines changed

7 files changed

+115
-107
lines changed

analytics-provider/src/main/java/org/digma/intellij/plugin/analytics/AnalyticsProvider.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@ public interface AnalyticsProvider extends Closeable {
4646

4747
String getGlobalErrors(String payload);
4848

49+
String getGlobalErrorsFilters(String payload);
50+
4951
void setInsightCustomStartTime(CustomStartTimeInsightRequest customStartTimeInsightRequest);
5052

5153
String getErrorDetails(String errorSourceId);

analytics-provider/src/main/java/org/digma/intellij/plugin/analytics/RestAnalyticsProvider.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,11 @@ public String getGlobalErrors(String payload) {
171171
return execute(() -> client.analyticsProvider.getGlobalErrors(payload));
172172
}
173173

174+
@Override
175+
public String getGlobalErrorsFilters(String payload) {
176+
return execute(() -> client.analyticsProvider.getGlobalErrorsFilters(payload));
177+
}
178+
174179
@Override
175180
public void setInsightCustomStartTime(CustomStartTimeInsightRequest customStartTimeInsightRequest) {
176181
execute(() -> client.analyticsProvider.setInsightCustomStartTime(customStartTimeInsightRequest));
@@ -808,6 +813,13 @@ private interface AnalyticsProviderRetrofit {
808813
@POST("errors")
809814
Call<String> getGlobalErrors(@Body String payload);
810815

816+
@Headers({
817+
"Accept: application/+json",
818+
"Content-Type:application/json"
819+
})
820+
@POST("errors/filters")
821+
Call<String> getGlobalErrorsFilters(@Body String payload);
822+
811823
@Headers({
812824
"Content-Type:application/json"
813825
})

ide-common/src/main/java/org/digma/intellij/plugin/analytics/AnalyticsService.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,10 @@ public String getGlobalErrors(String payload) throws AnalyticsServiceException {
236236
return executeCatching(() -> analyticsProviderProxy.getGlobalErrors(payload));
237237
}
238238

239+
public String getGlobalErrorsFilters(String payload) throws AnalyticsServiceException {
240+
return executeCatching(() -> analyticsProviderProxy.getGlobalErrorsFilters(payload));
241+
}
242+
239243
public String getErrorDetails(String errorUid) throws AnalyticsServiceException {
240244
return executeCatching(() -> analyticsProviderProxy.getErrorDetails(errorUid));
241245
}

src/main/kotlin/org/digma/intellij/plugin/ui/errors/ErrorsMessageRouterHandler.kt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import org.digma.intellij.plugin.ui.errors.model.SetErrorsDataMessage
1212
import org.digma.intellij.plugin.ui.errors.model.SetErrorsDetailsMessage
1313
import org.digma.intellij.plugin.ui.errors.model.SetFilesUrlsMessage
1414
import org.digma.intellij.plugin.ui.errors.model.SetGlobalErrorsDataMessage
15+
import org.digma.intellij.plugin.ui.errors.model.SetGlobalErrorsFiltersDataMessage
1516
import org.digma.intellij.plugin.ui.jcef.BaseCommonMessageRouterHandler
1617
import org.digma.intellij.plugin.ui.jcef.serializeAndExecuteWindowPostMessageJavaScript
1718

@@ -24,6 +25,7 @@ class ErrorsMessageRouterHandler(project: Project) : BaseCommonMessageRouterHand
2425
when (action) {
2526
"ERRORS/GET_ERRORS_DATA" -> getErrorsData(project, browser, requestJsonNode)
2627
"ERRORS/GET_GLOBAL_ERRORS_DATA" -> getGlobalErrorsData(project, browser, requestJsonNode)
28+
"ERRORS/GET_GLOBAL_ERRORS_FILTERS_DATA" -> getGlobalErrorsFiltersData(project, browser, requestJsonNode)
2729
"ERRORS/GET_ERROR_DETAILS" -> getErrorDetails(project, browser, requestJsonNode)
2830
"ERRORS/OPEN_RAW_ERROR_STACK_TRACE_IN_EDITOR" -> openStackTrace(project, requestJsonNode)
2931
"ERRORS/GO_TO_CODE_LOCATION" -> navigateToCode(project, requestJsonNode)
@@ -62,6 +64,14 @@ class ErrorsMessageRouterHandler(project: Project) : BaseCommonMessageRouterHand
6264
}
6365
}
6466

67+
private fun getGlobalErrorsFiltersData(project: Project, browser: CefBrowser, requestJsonNode: JsonNode) {
68+
getPayloadFromRequest(requestJsonNode)?.let { payload ->
69+
val errorsData = ErrorsService.getInstance(project).getGlobalErrorsFiltersData(payload.toString())
70+
val setErrorsDataMessage = SetGlobalErrorsFiltersDataMessage(errorsData)
71+
serializeAndExecuteWindowPostMessageJavaScript(browser, setErrorsDataMessage, project)
72+
}
73+
}
74+
6575
private fun getErrorDetails(project: Project, browser: CefBrowser, requestJsonNode: JsonNode) {
6676
getPayloadFromRequest(requestJsonNode)?.let { payload ->
6777
val errorId = payload.get("errorId")?.takeIf { it !is NullNode }?.asText()

src/main/kotlin/org/digma/intellij/plugin/ui/errors/ErrorsService.kt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,15 @@ class ErrorsService(val project: Project) : Disposable {
4747
}
4848
}
4949

50+
fun getGlobalErrorsFiltersData(payload: String): String? {
51+
try {
52+
return AnalyticsService.getInstance(project).getGlobalErrorsFilters(payload)
53+
} catch (e: Throwable) {
54+
Log.warnWithException(logger, project, e, "error fetching errors/filters")
55+
return null
56+
}
57+
}
58+
5059
fun getErrorDetails(errorId: String): String {
5160
try {
5261
return AnalyticsService.getInstance(project).getErrorDetails(errorId)
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package org.digma.intellij.plugin.ui.errors.model
2+
3+
import com.fasterxml.jackson.annotation.JsonRawValue
4+
import org.digma.intellij.plugin.ui.jcef.JCEFGlobalConstants
5+
6+
class SetGlobalErrorsFiltersDataMessage(@JsonRawValue val payload: String?) {
7+
val type = JCEFGlobalConstants.REQUEST_MESSAGE_TYPE
8+
val action = "ERRORS/SET_GLOBAL_ERRORS_FILTERS_DATA"
9+
}

src/main/resources/webview/main/index.js

Lines changed: 69 additions & 107 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)