diff --git a/platform/lang-impl/src/com/intellij/facet/impl/statistics/ModuleTypeUsagesCollector.java b/platform/lang-impl/src/com/intellij/facet/impl/statistics/ModuleTypeUsagesCollector.java index 3f8050e01277..397fd724c1ec 100644 --- a/platform/lang-impl/src/com/intellij/facet/impl/statistics/ModuleTypeUsagesCollector.java +++ b/platform/lang-impl/src/com/intellij/facet/impl/statistics/ModuleTypeUsagesCollector.java @@ -21,11 +21,11 @@ import com.intellij.internal.statistic.beans.UsageDescriptor; import com.intellij.openapi.module.Module; import com.intellij.openapi.module.ModuleManager; import com.intellij.openapi.project.Project; -import com.intellij.util.containers.HashMap; -import com.intellij.util.containers.HashSet; +import com.intellij.util.Function; +import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NotNull; -import java.util.Map; +import java.util.HashSet; import java.util.Set; public class ModuleTypeUsagesCollector extends AbstractApplicationUsagesCollector { @@ -40,17 +40,15 @@ public class ModuleTypeUsagesCollector extends AbstractApplicationUsagesCollecto @NotNull public Set getProjectUsages(@NotNull Project project) { - final Map type2descriptor = new HashMap(); + Set modulesTypes = new HashSet(); for (Module module : ModuleManager.getInstance(project).getModules()) { - String typeId = module.getModuleType().getId(); - UsageDescriptor descriptor = type2descriptor.get(typeId); - if (descriptor != null) { - descriptor.setValue(descriptor.getValue() + 1); - } - else { - type2descriptor.put(typeId, new UsageDescriptor(typeId, 1)); - } + modulesTypes.add(module.getModuleType().getId()); } - return new HashSet(type2descriptor.values()); + return ContainerUtil.map2Set(modulesTypes, new Function() { + @Override + public UsageDescriptor fun(String moduleType) { + return new UsageDescriptor(moduleType, 1); + } + }); } }