diff --git a/platform/platform-api/src/com/intellij/ide/actions/ActionsCollector.java b/platform/platform-api/src/com/intellij/ide/actions/ActionsCollector.java index f11201193e5f..42d702454867 100644 --- a/platform/platform-api/src/com/intellij/ide/actions/ActionsCollector.java +++ b/platform/platform-api/src/com/intellij/ide/actions/ActionsCollector.java @@ -6,14 +6,10 @@ import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.components.ServiceManager; import com.intellij.openapi.project.Project; -import com.intellij.util.xmlb.annotations.MapAnnotation; -import com.intellij.util.xmlb.annotations.Tag; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.awt.event.InputEvent; -import java.util.HashMap; -import java.util.Map; /** * @author Konstantin Bulenkov @@ -54,16 +50,4 @@ public abstract class ActionsCollector { public abstract void record(@Nullable Project project, @Nullable AnAction action, @Nullable AnActionEvent event, @Nullable Language lang); public abstract void onActionConfiguredByActionId(@NotNull AnAction action, @NotNull String actionId); - - public abstract State getState(); - - public final static class State { - @Tag("counts") - @MapAnnotation(surroundWithTag = false, keyAttributeName = "action", valueAttributeName = "count") - public Map myValues = new HashMap<>(); - - @Tag("contextMenuCounts") - @MapAnnotation(surroundWithTag = false, keyAttributeName = "action", valueAttributeName = "count") - public Map myContextMenuValues = new HashMap<>(); - } } diff --git a/platform/platform-impl/src/com/intellij/internal/statistic/collectors/fus/actions/persistence/ActionsCollectorImpl.java b/platform/platform-impl/src/com/intellij/internal/statistic/collectors/fus/actions/persistence/ActionsCollectorImpl.java index 1d00ad8b9533..3c243bc71f92 100644 --- a/platform/platform-impl/src/com/intellij/internal/statistic/collectors/fus/actions/persistence/ActionsCollectorImpl.java +++ b/platform/platform-impl/src/com/intellij/internal/statistic/collectors/fus/actions/persistence/ActionsCollectorImpl.java @@ -38,10 +38,7 @@ import java.util.function.Consumer; /** * @author Konstantin Bulenkov */ -@State(name = "ActionsCollector", storages = @Storage( - value = UsageStatisticsPersistenceComponent.USAGE_STATISTICS_XML, roamingType = RoamingType.DISABLED, deprecated = true) -) -public class ActionsCollectorImpl extends ActionsCollector implements PersistentStateComponent { +public class ActionsCollectorImpl extends ActionsCollector { private static final String GROUP = "actions"; public static final String DEFAULT_ID = "third.party"; @@ -142,18 +139,6 @@ public class ActionsCollectorImpl extends ActionsCollector implements Persistent return myXmlActionIds.contains(actionId); } - private final State myState = new State(); - - @Nullable - @Override - public State getState() { - return myState; - } - - @Override - public void loadState(@NotNull State state) { - } - @Override public void onActionConfiguredByActionId(@NotNull AnAction action, @NotNull String actionId) { if (canReportActionId(actionId)) { diff --git a/platform/platform-impl/src/com/intellij/internal/statistic/collectors/fus/actions/persistence/IntentionsCollector.java b/platform/platform-impl/src/com/intellij/internal/statistic/collectors/fus/actions/persistence/IntentionsCollector.java index 859a29dcfaa5..6e15f484fc45 100644 --- a/platform/platform-impl/src/com/intellij/internal/statistic/collectors/fus/actions/persistence/IntentionsCollector.java +++ b/platform/platform-impl/src/com/intellij/internal/statistic/collectors/fus/actions/persistence/IntentionsCollector.java @@ -24,22 +24,7 @@ import java.util.Map; /** * @author Konstantin Bulenkov */ -@State(name = "IntentionsCollector", storages = @Storage( - value = UsageStatisticsPersistenceComponent.USAGE_STATISTICS_XML, roamingType = RoamingType.DISABLED, deprecated = true) -) -public class IntentionsCollector implements PersistentStateComponent { - - private final State myState = new State(); - - @Nullable - @Override - public State getState() { - return myState; - } - - @Override - public void loadState(@NotNull State state) { - } +public class IntentionsCollector { public void record(@NotNull IntentionAction action, @NotNull Language language) { record(null, action, language); diff --git a/platform/platform-impl/src/com/intellij/internal/statistic/collectors/fus/actions/persistence/MainMenuCollector.java b/platform/platform-impl/src/com/intellij/internal/statistic/collectors/fus/actions/persistence/MainMenuCollector.java index 4c437d7d0888..2632b08f4277 100644 --- a/platform/platform-impl/src/com/intellij/internal/statistic/collectors/fus/actions/persistence/MainMenuCollector.java +++ b/platform/platform-impl/src/com/intellij/internal/statistic/collectors/fus/actions/persistence/MainMenuCollector.java @@ -28,27 +28,7 @@ import java.util.stream.Collectors; /** * @author Konstantin Bulenkov */ -@State( - name = "MainMenuCollector", - storages = { - @Storage(value = UsageStatisticsPersistenceComponent.USAGE_STATISTICS_XML, roamingType = RoamingType.DISABLED, deprecated = true), - @Storage(value = "statistics.main_menu.xml", roamingType = RoamingType.DISABLED, deprecated = true) - } -) -public class MainMenuCollector implements PersistentStateComponent { - - private final State myState = new State(); - - @Nullable - @Override - public State getState() { - return myState; - } - - @Override - public void loadState(@NotNull State state) { - } - +public class MainMenuCollector { public void record(@NotNull AnAction action) { try { final PluginInfo info = PluginInfoDetectorKt.getPluginInfo(action.getClass()); diff --git a/platform/platform-impl/src/com/intellij/internal/statistic/collectors/fus/actions/persistence/ToolWindowCollector.java b/platform/platform-impl/src/com/intellij/internal/statistic/collectors/fus/actions/persistence/ToolWindowCollector.java index 6c296bbb1b35..fb2e3c67867d 100644 --- a/platform/platform-impl/src/com/intellij/internal/statistic/collectors/fus/actions/persistence/ToolWindowCollector.java +++ b/platform/platform-impl/src/com/intellij/internal/statistic/collectors/fus/actions/persistence/ToolWindowCollector.java @@ -2,12 +2,10 @@ package com.intellij.internal.statistic.collectors.fus.actions.persistence; import com.intellij.facet.ui.FacetDependentToolWindow; -import com.intellij.internal.statistic.collectors.fus.ui.persistence.ShortcutsCollector; import com.intellij.internal.statistic.eventLog.FeatureUsageData; 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.persistence.UsageStatisticsPersistenceComponent; import com.intellij.internal.statistic.service.fus.collectors.FUCounterUsageLogger; import com.intellij.internal.statistic.utils.PluginInfo; import com.intellij.internal.statistic.utils.PluginInfoDetectorKt; @@ -16,8 +14,6 @@ import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.wm.ToolWindowEP; import com.intellij.openapi.wm.ToolWindowWhitelistEP; import com.intellij.openapi.wm.ext.LibraryDependentToolWindow; -import com.intellij.util.xmlb.annotations.MapAnnotation; -import com.intellij.util.xmlb.annotations.Tag; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -33,13 +29,7 @@ import static com.intellij.openapi.wm.ToolWindowId.*; /** * @author Konstantin Bulenkov */ -@State( - name = "ToolWindowsCollector", - storages = { - @Storage(value = UsageStatisticsPersistenceComponent.USAGE_STATISTICS_XML, roamingType = RoamingType.DISABLED, deprecated = true), - } -) -public class ToolWindowCollector implements PersistentStateComponent { +public class ToolWindowCollector { public static ToolWindowCollector getInstance() { return ServiceManager.getService(ToolWindowCollector.class); @@ -81,10 +71,6 @@ public class ToolWindowCollector implements PersistentStateComponent myValues = new HashMap<>(); - } - - @com.intellij.openapi.components.State( - name = "ToolWindowCollector", - storages = { - @Storage(value = UsageStatisticsPersistenceComponent.USAGE_STATISTICS_XML, roamingType = RoamingType.DISABLED, deprecated = true), - } - ) - public static class OutdatedToolWindowCollector implements PersistentStateComponent { - - public static OutdatedToolWindowCollector getInstance() { - return ServiceManager.getService(OutdatedToolWindowCollector.class); - } - - @Nullable - @Override - public ToolWindowCollector.State getState() { - return new State(); - } - - @Override - public void loadState(@NotNull ToolWindowCollector.State state) { - } - } - public static class ToolWindowUtilValidator extends CustomWhiteListRule { @Override diff --git a/platform/platform-impl/src/com/intellij/internal/statistic/collectors/fus/ui/persistence/ShortcutsCollector.java b/platform/platform-impl/src/com/intellij/internal/statistic/collectors/fus/ui/persistence/ShortcutsCollector.java deleted file mode 100644 index 40080a4d42a3..000000000000 --- a/platform/platform-impl/src/com/intellij/internal/statistic/collectors/fus/ui/persistence/ShortcutsCollector.java +++ /dev/null @@ -1,45 +0,0 @@ -// 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.internal.statistic.collectors.fus.ui.persistence; - -import com.intellij.internal.statistic.persistence.UsageStatisticsPersistenceComponent; -import com.intellij.openapi.components.*; -import com.intellij.util.xmlb.annotations.MapAnnotation; -import com.intellij.util.xmlb.annotations.Tag; -import org.jetbrains.annotations.NotNull; - -import java.util.HashMap; -import java.util.Map; - -/** - * @author Konstantin Bulenkov - */ -@State( - name = "ShortcutsCollector", - storages = { - @Storage(value = UsageStatisticsPersistenceComponent.USAGE_STATISTICS_XML, roamingType = RoamingType.DISABLED, deprecated = true), - @Storage(value = "statistics.shortcuts.xml", roamingType = RoamingType.DISABLED, deprecated = true) - } -) -public class ShortcutsCollector implements PersistentStateComponent { - public final static class MyState { - @Tag("counts") - @MapAnnotation(surroundWithTag = false, keyAttributeName = "shortcut", valueAttributeName = "count") - public final Map myValues = new HashMap<>(); - } - - private final MyState myState = new MyState(); - - @Override - @NotNull - public MyState getState() { - return myState; - } - - @Override - public void loadState(@NotNull final MyState state) { - } - - public static ShortcutsCollector getInstance() { - return ServiceManager.getService(ShortcutsCollector.class); - } -} diff --git a/platform/platform-impl/src/com/intellij/internal/statistic/collectors/fus/ui/persistence/ToolbarClicksCollector.java b/platform/platform-impl/src/com/intellij/internal/statistic/collectors/fus/ui/persistence/ToolbarClicksCollector.java index bf9f09b40d00..bf0a154428b4 100644 --- a/platform/platform-impl/src/com/intellij/internal/statistic/collectors/fus/ui/persistence/ToolbarClicksCollector.java +++ b/platform/platform-impl/src/com/intellij/internal/statistic/collectors/fus/ui/persistence/ToolbarClicksCollector.java @@ -2,58 +2,21 @@ package com.intellij.internal.statistic.collectors.fus.ui.persistence; import com.intellij.internal.statistic.collectors.fus.actions.persistence.ActionsCollectorImpl; -import com.intellij.internal.statistic.persistence.UsageStatisticsPersistenceComponent; import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.actionSystem.DataContext; -import com.intellij.openapi.components.*; -import com.intellij.util.xmlb.annotations.MapAnnotation; -import com.intellij.util.xmlb.annotations.Tag; import org.jetbrains.annotations.NotNull; import java.awt.event.InputEvent; -import java.util.HashMap; -import java.util.Map; /** * @author Konstantin Bulenkov */ -@State( - name = "ToolbarClicksCollector", - storages = { - @Storage(value = UsageStatisticsPersistenceComponent.USAGE_STATISTICS_XML, roamingType = RoamingType.DISABLED, deprecated = true), - @Storage(value = "statistics.toolbar.clicks.xml", roamingType = RoamingType.DISABLED, deprecated = true) - } -) -public class ToolbarClicksCollector implements PersistentStateComponent { - - public final static class ClicksState { - @Tag("counts") - @MapAnnotation(surroundWithTag = false, keyAttributeName = "action", valueAttributeName = "count") - public Map myValues = new HashMap<>(); - } - - private final ClicksState myState = new ClicksState(); - - @Override - public ClicksState getState() { - return myState; - } - - @Override - public void loadState(@NotNull final ClicksState state) { - } +public class ToolbarClicksCollector { public static void record(@NotNull AnAction action, String place, @NotNull InputEvent inputEvent, @NotNull DataContext dataContext) { - ToolbarClicksCollector collector = getInstance(); - if (collector != null) { - AnActionEvent event = AnActionEvent.createFromInputEvent( - inputEvent, place, null, dataContext, false, true); - ActionsCollectorImpl.record("toolbar", event.getProject(), action, event, null); - } - } - - public static ToolbarClicksCollector getInstance() { - return ServiceManager.getService(ToolbarClicksCollector.class); + AnActionEvent event = AnActionEvent.createFromInputEvent( + inputEvent, place, null, dataContext, false, true); + ActionsCollectorImpl.record("toolbar", event.getProject(), action, event, null); } } \ No newline at end of file diff --git a/platform/platform-impl/src/com/intellij/internal/statistic/service/fus/collectors/LegacyApplicationUsageTriggers.java b/platform/platform-impl/src/com/intellij/internal/statistic/service/fus/collectors/LegacyApplicationUsageTriggers.java deleted file mode 100644 index 941b52324eb3..000000000000 --- a/platform/platform-impl/src/com/intellij/internal/statistic/service/fus/collectors/LegacyApplicationUsageTriggers.java +++ /dev/null @@ -1,66 +0,0 @@ -// 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.internal.statistic.service.fus.collectors; - -import com.intellij.internal.statistic.persistence.UsageStatisticsPersistenceComponent; -import com.intellij.openapi.components.*; -import com.intellij.util.containers.ContainerUtil; -import com.intellij.util.xmlb.annotations.Property; -import com.intellij.util.xmlb.annotations.XCollection; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -@State(name = "StatisticsApplicationUsages", storages = @Storage( - value = UsageStatisticsPersistenceComponent.USAGE_STATISTICS_XML, roamingType = RoamingType.DISABLED, deprecated = true) -) -public class LegacyApplicationUsageTriggers implements PersistentStateComponent { - State myState = new State(); - - @Nullable - @Override - public State getState() { - return myState; - } - - @Override - public void loadState(@NotNull State state) { - } - - public static void cleanup() { - ServiceManager.getService(LegacyApplicationUsageTriggers.class); - ServiceManager.getService(LegacyUsageTrigger.class); - LegacyFUSApplicationUsageTrigger.cleanup(); - } - - public final static class State { - @Property(surroundWithTag = false) - @XCollection - List groups = ContainerUtil.newSmartList(); - } - - public final static class CounterState { - @Property(surroundWithTag = false) - @XCollection - Map counts = new HashMap<>(); - } - - @com.intellij.openapi.components.State(name = "UsageTrigger", storages = @Storage( - value = UsageStatisticsPersistenceComponent.USAGE_STATISTICS_XML, roamingType = RoamingType.DISABLED, deprecated = true) - ) - private static class LegacyUsageTrigger implements PersistentStateComponent { - CounterState myState = new CounterState(); - - @Nullable - @Override - public CounterState getState() { - return myState; - } - - @Override - public void loadState(@NotNull CounterState state) { - } - } -} diff --git a/platform/platform-impl/src/com/intellij/internal/statistic/service/fus/collectors/LegacyFUSApplicationUsageTrigger.java b/platform/platform-impl/src/com/intellij/internal/statistic/service/fus/collectors/LegacyFUSApplicationUsageTrigger.java deleted file mode 100644 index 3f0f97bcc9c2..000000000000 --- a/platform/platform-impl/src/com/intellij/internal/statistic/service/fus/collectors/LegacyFUSApplicationUsageTrigger.java +++ /dev/null @@ -1,36 +0,0 @@ -// 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.internal.statistic.service.fus.collectors; - -import com.intellij.internal.statistic.persistence.UsageStatisticsPersistenceComponent; -import com.intellij.openapi.components.*; -import com.intellij.util.containers.ContainerUtil; -import com.intellij.util.xmlb.annotations.Transient; -import org.jetbrains.annotations.NotNull; - -import java.util.List; - -@State(name = "FUSApplicationUsageTrigger", - storages = @Storage(value = UsageStatisticsPersistenceComponent.USAGE_STATISTICS_XML, roamingType = RoamingType.DISABLED, deprecated = true) -) -final public class LegacyFUSApplicationUsageTrigger implements PersistentStateComponent { - private final State myState = new State(); - - final static class State { - @Transient - List sessions = ContainerUtil.newSmartList(); - } - - public static void cleanup() { - ServiceManager.getService(LegacyFUSApplicationUsageTrigger.class); - } - - @Override - public State getState() { - return myState; - } - - @Override - public void loadState(@NotNull final State state) { - } - -} diff --git a/platform/platform-impl/src/com/intellij/internal/statistic/updater/StatisticsJobsScheduler.java b/platform/platform-impl/src/com/intellij/internal/statistic/updater/StatisticsJobsScheduler.java index d06db0ad5738..a0f5a0a912a9 100644 --- a/platform/platform-impl/src/com/intellij/internal/statistic/updater/StatisticsJobsScheduler.java +++ b/platform/platform-impl/src/com/intellij/internal/statistic/updater/StatisticsJobsScheduler.java @@ -11,7 +11,6 @@ import com.intellij.internal.statistic.eventLog.StatisticsEventLoggerProvider; import com.intellij.internal.statistic.eventLog.validator.SensitiveDataValidator; import com.intellij.internal.statistic.service.fus.collectors.FUStateUsagesLogger; import com.intellij.internal.statistic.service.fus.collectors.FUStatisticsPersistence; -import com.intellij.internal.statistic.service.fus.collectors.LegacyApplicationUsageTriggers; import com.intellij.internal.statistic.service.fus.collectors.LegacyFUSProjectUsageTrigger; import com.intellij.internal.statistic.utils.StatisticsUploadAssistant; import com.intellij.notification.impl.NotificationsConfigurationImpl; @@ -129,7 +128,6 @@ public class StatisticsJobsScheduler implements ApplicationInitializedListener { private static void runLegacyDataCleanupService() { JobScheduler.getScheduler().schedule(() -> { FUStatisticsPersistence.clearLegacyStates(); - LegacyApplicationUsageTriggers.cleanup(); }, 1, TimeUnit.MINUTES); } diff --git a/platform/platform-resources/src/META-INF/PlatformExtensions.xml b/platform/platform-resources/src/META-INF/PlatformExtensions.xml index c9b08f8f4bf2..3c298e734953 100644 --- a/platform/platform-resources/src/META-INF/PlatformExtensions.xml +++ b/platform/platform-resources/src/META-INF/PlatformExtensions.xml @@ -220,18 +220,11 @@ serviceImplementation="com.intellij.openapi.roots.ui.FileAppearanceServiceImpl"/> - - - - - - -