[FUS-171] do not use custom keys for the FUSUsageContext

This commit is contained in:
Vladislav.Soroka
2018-10-11 10:10:46 +03:00
parent 501480fbca
commit a9395c38f3
3 changed files with 22 additions and 54 deletions
@@ -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<String, String> = 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)
@@ -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<String, String> = 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<String, String> = 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)
}
}
}
@@ -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<String, String> = 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<String, String> = emptyMap()) {
if (project == null) return
val context = FUSUsageContext.create()
context.data.putAll(data)
FUSProjectUsageTrigger.getInstance(project).trigger(MavenActionsUsagesCollector::class.java, feature, context)
}
}