From: Vitaliy.Bibaev Date: Fri, 12 Jan 2018 10:24:21 +0000 (+0300) Subject: Fix issue when proximity features were tracked only as UNDEFINED X-Git-Tag: dbe/182.2365~20^2~18^2~18^2~8 X-Git-Url: https://git.jetbrains.org/?p=idea%2Fcommunity.git;a=commitdiff_plain;h=18edf63b9e10bc68c89f80dd7b868ad0692b22d8 Fix issue when proximity features were tracked only as UNDEFINED --- diff --git a/plugins/stats-collector/src/com/intellij/stats/completion/LookupCompletedTracker.kt b/plugins/stats-collector/src/com/intellij/stats/completion/LookupCompletedTracker.kt index 2b81c113041c..08e752f7d808 100644 --- a/plugins/stats-collector/src/com/intellij/stats/completion/LookupCompletedTracker.kt +++ b/plugins/stats-collector/src/com/intellij/stats/completion/LookupCompletedTracker.kt @@ -23,6 +23,7 @@ import com.intellij.codeInsight.lookup.impl.LookupImpl import com.intellij.completion.FeatureManagerImpl import com.intellij.stats.personalization.UserFactorDescriptions import com.intellij.stats.personalization.UserFactorStorage +import com.jetbrains.completion.ranker.features.impl.FeatureUtils /** * @author Vitaliy.Bibaev @@ -49,26 +50,27 @@ class LookupCompletedTracker : LookupAdapter() { val relevanceObjects = lookup.getRelevanceObjects(listOf(element), false) val relevanceMap = relevanceObjects[element]?.associate { it.first to it.second } ?: return + val featuresValues = FeatureUtils.preparedMap(relevanceMap) val project = lookup.project val featureManager = FeatureManagerImpl.getInstance() featureManager.binaryFactors.filter { !featureManager.isUserFeature(it.name) }.forEach { feature -> UserFactorStorage.applyOnBoth(project, UserFactorDescriptions.binaryFeatureDescriptor(feature)) { updater -> - updater.update(relevanceMap[feature.name]) + updater.update(featuresValues[feature.name]) } } featureManager.doubleFactors.filter { !featureManager.isUserFeature(it.name) }.forEach { feature -> UserFactorStorage.applyOnBoth(project, UserFactorDescriptions.doubleFeatureDescriptor(feature)) { updater -> - updater.update(relevanceMap[feature.name]) + updater.update(featuresValues[feature.name]) } } featureManager.categorialFactors.filter { !featureManager.isUserFeature(it.name) }.forEach { feature -> UserFactorStorage.applyOnBoth(project, UserFactorDescriptions.categoriealFeatureDescriptor(feature)) { updater -> - updater.update(relevanceMap[feature.name]) + updater.update(featuresValues[feature.name]) } } }