mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[vcs-log] write validators for collectors
FUS-397, FUS-411 GitOrigin-RevId: 31ae95f19491c1a8c2a501c0d45542d30188c292
This commit is contained in:
committed by
intellij-monorepo-bot
parent
e4657d68ab
commit
d65feeba27
@@ -30,6 +30,11 @@
|
||||
<statistics.applicationUsagesCollector implementation="com.intellij.vcs.log.statistics.VcsLogIndexApplicationStatisticsCollector"/>
|
||||
|
||||
<statistics.counterUsagesCollector groupId="vcs.log.trigger" version="1"/>
|
||||
<statistics.validation.customWhiteListRule implementation="com.intellij.vcs.log.statistics.VcsLogTriggerEventIdValidator"/>
|
||||
<statistics.validation.customWhiteListRule implementation="com.intellij.vcs.log.statistics.VcsLogFilterNameValidator"/>
|
||||
<statistics.validation.customWhiteListRule implementation="com.intellij.vcs.log.statistics.VcsLogHighlighterIdValidator"/>
|
||||
<statistics.validation.customWhiteListRule implementation="com.intellij.vcs.log.statistics.VcsLogColumnNameValidator"/>
|
||||
<statistics.validation.customWhiteListRule implementation="com.intellij.vcs.log.statistics.VcsLogSortKindValidator"/>
|
||||
|
||||
<logHighlighterFactory implementation="com.intellij.vcs.log.ui.highlighters.MyCommitsHighlighter$Factory"/>
|
||||
<logHighlighterFactory implementation="com.intellij.vcs.log.ui.highlighters.MergeCommitsHighlighter$Factory"/>
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
package com.intellij.vcs.log.statistics
|
||||
|
||||
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
|
||||
import com.intellij.internal.statistic.eventLog.validator.rules.impl.LocalEnumCustomWhitelistRule
|
||||
import com.intellij.openapi.util.text.StringUtil
|
||||
import com.intellij.vcs.log.VcsLogFilterCollection
|
||||
import com.intellij.vcs.log.graph.PermanentGraph
|
||||
import com.intellij.vcs.log.ui.highlighters.CurrentBranchHighlighter
|
||||
import com.intellij.vcs.log.ui.highlighters.MergeCommitsHighlighter
|
||||
import com.intellij.vcs.log.ui.highlighters.MyCommitsHighlighter
|
||||
import com.intellij.vcs.log.ui.table.GraphTableModel
|
||||
|
||||
open class CustomStringsWhiteListRule(private val id: String, private val values: Collection<String>) : CustomWhiteListRule() {
|
||||
final override fun acceptRuleId(ruleId: String?): Boolean = id == ruleId
|
||||
|
||||
final override fun doValidate(data: String, context: EventContext): ValidationResultType {
|
||||
if (values.contains(data)) return ValidationResultType.ACCEPTED
|
||||
return ValidationResultType.REJECTED
|
||||
}
|
||||
}
|
||||
|
||||
class VcsLogTriggerEventIdValidator :
|
||||
CustomStringsWhiteListRule("vcs_log_trigger_event_id", VcsLogUsageTriggerCollector.VcsLogEvent.values().map { it.id }.toSet())
|
||||
|
||||
class VcsLogFilterNameValidator :
|
||||
CustomStringsWhiteListRule("vcs_log_filter_name", VcsLogFilterCollection.STANDARD_KEYS.map { it.name }.toSet())
|
||||
|
||||
class VcsLogSortKindValidator :
|
||||
LocalEnumCustomWhitelistRule("vcs_log_sort_kind", PermanentGraph.SortType::class.java)
|
||||
|
||||
class VcsLogHighlighterIdValidator :
|
||||
CustomStringsWhiteListRule("vcs_log_highlighter_id", setOf(MyCommitsHighlighter.Factory.ID, MergeCommitsHighlighter.Factory.ID,
|
||||
CurrentBranchHighlighter.Factory.ID))
|
||||
|
||||
class VcsLogColumnNameValidator :
|
||||
CustomStringsWhiteListRule("vcs_log_column_name", GraphTableModel.DYNAMIC_COLUMNS.map {
|
||||
StringUtil.toLowerCase(GraphTableModel.COLUMN_NAMES[it])
|
||||
}.toSet())
|
||||
+1
-1
@@ -45,7 +45,7 @@ public class MergeCommitsHighlighter implements VcsLogHighlighter {
|
||||
}
|
||||
|
||||
public static class Factory implements VcsLogHighlighterFactory {
|
||||
@NotNull private static final String ID = "MERGE_COMMITS";
|
||||
@NotNull public static final String ID = "MERGE_COMMITS";
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user