From a117e7858e94e0e6cd089bf98c86a5f353bd2db0 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Mon, 17 Jun 2019 12:56:11 +0200 Subject: [PATCH] Validator for gutter_icon (FUS-421) GitOrigin-RevId: ced994e2fc1c2ccaa6f6503e1fe3ece1b6e0637d --- ...ListRule.kt => PluginInfoWhiteListRule.kt} | 5 ++-- .../impl/EditorGutterComponentImpl.java | 23 ++++++++++--------- .../src/META-INF/LangExtensions.xml | 1 - .../src/META-INF/PlatformExtensions.xml | 1 + 4 files changed, 16 insertions(+), 14 deletions(-) rename platform/platform-impl/src/com/intellij/internal/statistic/collectors/fus/{ProjectTypeWhiteListRule.kt => PluginInfoWhiteListRule.kt} (76%) diff --git a/platform/platform-impl/src/com/intellij/internal/statistic/collectors/fus/ProjectTypeWhiteListRule.kt b/platform/platform-impl/src/com/intellij/internal/statistic/collectors/fus/PluginInfoWhiteListRule.kt similarity index 76% rename from platform/platform-impl/src/com/intellij/internal/statistic/collectors/fus/ProjectTypeWhiteListRule.kt rename to platform/platform-impl/src/com/intellij/internal/statistic/collectors/fus/PluginInfoWhiteListRule.kt index 3bebf9cc1042..62004e2d9476 100644 --- a/platform/platform-impl/src/com/intellij/internal/statistic/collectors/fus/ProjectTypeWhiteListRule.kt +++ b/platform/platform-impl/src/com/intellij/internal/statistic/collectors/fus/PluginInfoWhiteListRule.kt @@ -5,8 +5,9 @@ import com.intellij.internal.statistic.eventLog.validator.ValidationResultType import com.intellij.internal.statistic.eventLog.validator.rules.EventContext import com.intellij.internal.statistic.eventLog.validator.rules.impl.CustomWhiteListRule -class ProjectTypeWhiteListRule : CustomWhiteListRule() { - override fun acceptRuleId(ruleId: String?) = ruleId == "project_type" || ruleId == "framework" +class PluginInfoWhiteListRule : CustomWhiteListRule() { + override fun acceptRuleId(ruleId: String?) = + ruleId == "project_type" || ruleId == "framework" || ruleId == "gutter_icon" override fun doValidate(data: String, context: EventContext): ValidationResultType { return acceptWhenReportedByPluginFromPluginRepository(context) diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorGutterComponentImpl.java b/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorGutterComponentImpl.java index dfad6108d985..c6c558a9e65e 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorGutterComponentImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorGutterComponentImpl.java @@ -14,6 +14,7 @@ import com.intellij.ide.ui.UISettings; import com.intellij.ide.ui.customization.CustomActionsSchema; import com.intellij.internal.statistic.eventLog.FeatureUsageData; import com.intellij.internal.statistic.service.fus.collectors.FUCounterUsageLogger; +import com.intellij.internal.statistic.utils.PluginInfo; import com.intellij.internal.statistic.utils.PluginInfoDetectorKt; import com.intellij.openapi.actionSystem.*; import com.intellij.openapi.actionSystem.ex.ActionUtil; @@ -1774,20 +1775,20 @@ class EditorGutterComponentImpl extends EditorGutterComponentEx implements Mouse : renderer.getClickAction(); } if (clickAction != null) { - if (PluginInfoDetectorKt.getPluginInfo(renderer.getClass()).isSafeToReport()) { - FeatureUsageData usageData = new FeatureUsageData(); - Project project = myEditor.getProject(); - if (project != null) { - usageData.addProject(project); - PsiFile file = PsiDocumentManager.getInstance(project).getPsiFile(myEditor.getDocument()); - if (file != null) { - usageData.addCurrentFile(file.getLanguage()); - } + PluginInfo pluginInfo = PluginInfoDetectorKt.getPluginInfo(renderer.getClass()); + FeatureUsageData usageData = new FeatureUsageData(); + usageData.addPluginInfo(pluginInfo); + Project project = myEditor.getProject(); + if (project != null) { + usageData.addProject(project); + PsiFile file = PsiDocumentManager.getInstance(project).getPsiFile(myEditor.getDocument()); + if (file != null) { + usageData.addCurrentFile(file.getLanguage()); } - - FUCounterUsageLogger.getInstance().logEvent("gutter.icon.click", renderer.getFeatureId(), usageData); } + FUCounterUsageLogger.getInstance().logEvent("gutter.icon.click", renderer.getFeatureId(), usageData); + performAction(clickAction, e, ActionPlaces.EDITOR_GUTTER, myEditor.getDataContext()); repaint(); e.consume(); diff --git a/platform/platform-resources/src/META-INF/LangExtensions.xml b/platform/platform-resources/src/META-INF/LangExtensions.xml index c71c1089df95..510971a86deb 100644 --- a/platform/platform-resources/src/META-INF/LangExtensions.xml +++ b/platform/platform-resources/src/META-INF/LangExtensions.xml @@ -936,7 +936,6 @@ - diff --git a/platform/platform-resources/src/META-INF/PlatformExtensions.xml b/platform/platform-resources/src/META-INF/PlatformExtensions.xml index cfa9427d0845..4b5681bd6552 100644 --- a/platform/platform-resources/src/META-INF/PlatformExtensions.xml +++ b/platform/platform-resources/src/META-INF/PlatformExtensions.xml @@ -428,6 +428,7 @@ +