From 536ca45deb6f779742a7d000f445e56d56d2b31d Mon Sep 17 00:00:00 2001 From: Vladimir Krivosheev Date: Thu, 10 Nov 2016 16:11:05 +0100 Subject: [PATCH] extract InspectionProfileModifiableModel introduce modifyAndCommitProjectProfile use only and only modifyProfile and do not directly create modifiable model --- .../RedundantSuppressInspectionBase.java | 9 +- .../OfflineInspectionResultViewTest.java | 4 +- .../ex/InspectionProfileTest.java | 48 +++--- .../codeInspection/InspectionProfile.java | 14 -- .../codeInspection/ModifiableModel.java | 17 -- .../daemon/InspectionProfileConvertor.java | 9 +- .../codeInspection/ex/InspectionProfile.kt | 11 +- .../ex/InspectionProfileImpl.java | 160 +++--------------- .../ex/InspectionProfileModifiableModel.kt | 123 ++++++++++++++ .../actions/CodeInspectionAction.java | 11 +- .../codeInspection/ex/Descriptor.java | 6 +- .../ex/DisableInspectionToolAction.java | 18 +- .../actions/KeyAwareInspectionViewAction.java | 25 +-- .../ui/AdvancedSettingsAction.java | 5 +- .../ui/SingleInspectionProfilePanel.java | 69 ++++---- .../codeInspection/ui/ToolDescriptors.java | 10 +- .../header/InspectionToolsConfigurable.java | 64 +++---- .../ui/header/ProfilesChooser.java | 7 +- .../ui/header/ProfilesComboBox.java | 26 +-- .../IncompletePropertyInspection.java | 6 +- .../PyChainedComparisonsInspection.java | 8 +- .../inspections/PyPep8NamingInspection.java | 36 ++-- .../PyShadowingBuiltinsInspection.java | 7 +- .../AddIgnoredIdentifierQuickFix.java | 6 +- .../validation/Pep8ExternalAnnotator.java | 10 +- 25 files changed, 320 insertions(+), 389 deletions(-) create mode 100644 platform/analysis-impl/src/com/intellij/codeInspection/ex/InspectionProfileModifiableModel.kt diff --git a/java/java-analysis-impl/src/com/intellij/codeInspection/RedundantSuppressInspectionBase.java b/java/java-analysis-impl/src/com/intellij/codeInspection/RedundantSuppressInspectionBase.java index 684e555f3c12..cf9e5c769732 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInspection/RedundantSuppressInspectionBase.java +++ b/java/java-analysis-impl/src/com/intellij/codeInspection/RedundantSuppressInspectionBase.java @@ -18,10 +18,7 @@ package com.intellij.codeInspection; import com.intellij.analysis.AnalysisScope; import com.intellij.codeInsight.daemon.GroupNames; import com.intellij.codeInsight.daemon.impl.RemoveSuppressWarningAction; -import com.intellij.codeInspection.ex.GlobalInspectionContextBase; -import com.intellij.codeInspection.ex.GlobalInspectionToolWrapper; -import com.intellij.codeInspection.ex.InspectionToolWrapper; -import com.intellij.codeInspection.ex.LocalInspectionToolWrapper; +import com.intellij.codeInspection.ex.*; import com.intellij.codeInspection.reference.*; import com.intellij.codeInspection.ui.SingleCheckboxOptionsPanel; import com.intellij.openapi.diagnostic.Logger; @@ -303,8 +300,8 @@ public class RedundantSuppressInspectionBase extends GlobalInspectionTool { } protected InspectionToolWrapper[] getInspectionTools(PsiElement psiElement, @NotNull InspectionManager manager) { - return InspectionProjectProfileManager.getInstance(manager.getProject()).getCurrentProfile().getModifiableModel() - .getInspectionTools(psiElement); + // todo for what we create modifiable model here? + return new InspectionProfileModifiableModel(InspectionProjectProfileManager.getInstance(manager.getProject()).getCurrentProfile()).getInspectionTools(psiElement); } @Override diff --git a/java/java-tests/testSrc/com/intellij/codeInspection/OfflineInspectionResultViewTest.java b/java/java-tests/testSrc/com/intellij/codeInspection/OfflineInspectionResultViewTest.java index 321d587b0251..ab01e4be08dd 100644 --- a/java/java-tests/testSrc/com/intellij/codeInspection/OfflineInspectionResultViewTest.java +++ b/java/java-tests/testSrc/com/intellij/codeInspection/OfflineInspectionResultViewTest.java @@ -84,8 +84,8 @@ public class OfflineInspectionResultViewTest extends TestSourceBasedTestCase { @Override @NotNull - public InspectionProfileImpl getModifiableModel() { - return new InspectionProfileImpl("test") { + public InspectionProfileModifiableModel getModifiableModel() { + return new InspectionProfileModifiableModel(this) { @Override @NotNull public InspectionToolWrapper[] getInspectionTools(PsiElement element) { diff --git a/java/java-tests/testSrc/com/intellij/codeInspection/ex/InspectionProfileTest.java b/java/java-tests/testSrc/com/intellij/codeInspection/ex/InspectionProfileTest.java index 32b79b0c0dff..de9269ef60a2 100644 --- a/java/java-tests/testSrc/com/intellij/codeInspection/ex/InspectionProfileTest.java +++ b/java/java-tests/testSrc/com/intellij/codeInspection/ex/InspectionProfileTest.java @@ -215,8 +215,7 @@ public class InspectionProfileTest extends LightIdeaTestCase { ""); InspectionProfileImpl profile = createProfile(new InspectionProfileImpl("foo")); profile.readExternal(element); - InspectionProfileImpl model = profile.getModifiableModel(); - model.commit(); + profile.getModifiableModel().commit(); assertThat(profile.writeScheme()).isEqualTo(element); @@ -239,8 +238,7 @@ public class InspectionProfileTest extends LightIdeaTestCase { " \n" + ""); profile.readExternal(unusedProfile); - model = profile.getModifiableModel(); - model.commit(); + profile.getModifiableModel().commit(); assertEquals("\n" + "