| package com.intellij.internal.statistic.persistence; |
| |
| import com.intellij.internal.statistic.beans.GroupDescriptor; |
| import com.intellij.openapi.project.Project; |
| import com.intellij.internal.statistic.beans.UsageDescriptor; |
| import com.intellij.util.containers.HashMap; |
| import org.jetbrains.annotations.NotNull; |
| |
| import java.util.Map; |
| import java.util.Set; |
| |
| public abstract class ApplicationStatisticsPersistence { |
| private final Map<GroupDescriptor, Map<String, Set<UsageDescriptor>>> myApplicationData = new HashMap<GroupDescriptor, Map<String, Set<UsageDescriptor>>>(); |
| |
| public ApplicationStatisticsPersistence() { |
| } |
| |
| public void persistUsages(@NotNull GroupDescriptor groupDescriptor, @NotNull Project project, @NotNull Set<UsageDescriptor> usageDescriptors) { |
| if (!myApplicationData.containsKey(groupDescriptor)) { |
| myApplicationData.put(groupDescriptor, new HashMap<String, Set<UsageDescriptor>>()); |
| } |
| myApplicationData.get(groupDescriptor).put(project.getName(), usageDescriptors); |
| } |
| |
| @NotNull |
| public Map<String, Set<UsageDescriptor>> getApplicationData(@NotNull GroupDescriptor groupDescriptor) { |
| if (!myApplicationData.containsKey(groupDescriptor)) { |
| myApplicationData.put(groupDescriptor, new HashMap<String, Set<UsageDescriptor>>()); |
| } |
| return myApplicationData.get(groupDescriptor); |
| } |
| |
| @NotNull |
| public Map<GroupDescriptor, Map<String, Set<UsageDescriptor>>> getApplicationData() { |
| return myApplicationData; |
| } |
| |
| } |