From a9395c38f31965d1137cebefe5602a1573c1a2b8 Mon Sep 17 00:00:00 2001 From: "Vladislav.Soroka" Date: Thu, 11 Oct 2018 10:10:46 +0300 Subject: [PATCH] [FUS-171] do not use custom keys for the FUSUsageContext --- .../ExternalSystemActionsCollector.kt | 26 ++++++------------ .../GradleActionsUsagesCollector.kt | 27 ++++++------------- .../statistics/MavenActionsUsagesCollector.kt | 23 +++++----------- 3 files changed, 22 insertions(+), 54 deletions(-) diff --git a/platform/external-system-impl/src/com/intellij/openapi/externalSystem/statistics/ExternalSystemActionsCollector.kt b/platform/external-system-impl/src/com/intellij/openapi/externalSystem/statistics/ExternalSystemActionsCollector.kt index 99de91baeda4..080e265d1770 100644 --- a/platform/external-system-impl/src/com/intellij/openapi/externalSystem/statistics/ExternalSystemActionsCollector.kt +++ b/platform/external-system-impl/src/com/intellij/openapi/externalSystem/statistics/ExternalSystemActionsCollector.kt @@ -21,25 +21,15 @@ class ExternalSystemActionsCollector : ProjectUsageTriggerCollector() { systemId: ProjectSystemId?, action: AnAction, event: AnActionEvent?) { - trigger(project, systemId, action, event, emptyMap()) - } - - @JvmStatic - fun trigger(project: Project?, - systemId: ProjectSystemId?, - action: AnAction, - event: AnActionEvent?, - data: Map = emptyMap()) { if (project == null) return - val context = FUSUsageContext.create() - if (systemId != null) { - context.data["system"] = escapeSystemId(systemId) - } - if (event != null) { - context.data["place"] = event.place - context.data["isFromContextMenu"] = event.isFromContextMenu.toString() - } - context.data.putAll(data) + + // preserve context data ordering + val context = FUSUsageContext.create( + "from.${event?.place ?: "undefined.place"}", + "fromContextMenu.${event?.isFromContextMenu?.toString() ?: "false"}", + systemId?.let { escapeSystemId(it) } ?: "undefined.system" + ) + FUSProjectUsageTrigger.getInstance(project).trigger( ExternalSystemActionsCollector::class.java, UsageDescriptorKeyValidator.ensureProperKey(action.javaClass.simpleName), context) diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/statistics/GradleActionsUsagesCollector.kt b/plugins/gradle/src/org/jetbrains/plugins/gradle/statistics/GradleActionsUsagesCollector.kt index bd42458df1db..493a2d7755d2 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/statistics/GradleActionsUsagesCollector.kt +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/statistics/GradleActionsUsagesCollector.kt @@ -15,33 +15,22 @@ class GradleActionsUsagesCollector : ProjectUsageTriggerCollector() { companion object { @JvmStatic fun trigger(project: Project?, action: AnAction, event: AnActionEvent?) { - trigger(project, action, event, emptyMap()) - } - - @JvmStatic - fun trigger(project: Project?, action: AnAction, event: AnActionEvent?, data: Map = emptyMap()) { if (project == null) return - val context = FUSUsageContext.create() - if (event != null) { - context.data["place"] = event.place - context.data["isFromContextMenu"] = event.isFromContextMenu.toString() - } - context.data.putAll(data) + + // preserve context data ordering + val context = FUSUsageContext.create( + "from.${event?.place ?: "undefined.place"}", + "fromContextMenu.${event?.isFromContextMenu?.toString() ?: "false"}" + ) + val actionClassName = UsageDescriptorKeyValidator.ensureProperKey(action.javaClass.simpleName) FUSProjectUsageTrigger.getInstance(project).trigger(GradleActionsUsagesCollector::class.java, actionClassName, context) } @JvmStatic fun trigger(project: Project?, feature: String) { - trigger(project, feature, emptyMap()) - } - - @JvmStatic - fun trigger(project: Project?, feature: String, data: Map = emptyMap()) { if (project == null) return - val context = FUSUsageContext.create() - context.data.putAll(data) - FUSProjectUsageTrigger.getInstance(project).trigger(GradleActionsUsagesCollector::class.java, feature, context) + FUSProjectUsageTrigger.getInstance(project).trigger(GradleActionsUsagesCollector::class.java, feature) } } } diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/statistics/MavenActionsUsagesCollector.kt b/plugins/maven/src/main/java/org/jetbrains/idea/maven/statistics/MavenActionsUsagesCollector.kt index a1ce38ac6c56..70882c1954b9 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/statistics/MavenActionsUsagesCollector.kt +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/statistics/MavenActionsUsagesCollector.kt @@ -15,32 +15,21 @@ class MavenActionsUsagesCollector : ProjectUsageTriggerCollector() { companion object { @JvmStatic fun trigger(project: Project?, action: AnAction, event: AnActionEvent?) { - trigger(project, action, event, emptyMap()) - } - - @JvmStatic - fun trigger(project: Project?, action: AnAction, event: AnActionEvent?, data: Map = emptyMap()) { if (project == null) return - val context = FUSUsageContext.create() - if (event != null) { - context.data["place"] = event.place - context.data["isFromContextMenu"] = event.isFromContextMenu.toString() - } - context.data.putAll(data) + + // preserve context data ordering + val context = FUSUsageContext.create( + "from.${event?.place ?: "undefined.place"}", + "fromContextMenu.${event?.isFromContextMenu?.toString() ?: "false"}" + ) val actionClassName = UsageDescriptorKeyValidator.ensureProperKey(action.javaClass.simpleName) FUSProjectUsageTrigger.getInstance(project).trigger(MavenActionsUsagesCollector::class.java, actionClassName, context) } @JvmStatic fun trigger(project: Project?, feature: String) { - trigger(project, feature, emptyMap()) - } - - @JvmStatic - fun trigger(project: Project?, feature: String, data: Map = emptyMap()) { if (project == null) return val context = FUSUsageContext.create() - context.data.putAll(data) FUSProjectUsageTrigger.getInstance(project).trigger(MavenActionsUsagesCollector::class.java, feature, context) } }