From b5897ecde6b14ad7c8ff5b62d0cbfe3d58eb49b7 Mon Sep 17 00:00:00 2001 From: Vladimir Krivosheev Date: Fri, 28 Apr 2017 10:23:44 +0200 Subject: [PATCH] IDEA-CR-20566 do not write InspectionProjectProfileManager settings if empty (skip version attribute) --- .../src/ProjectStoreImpl.kt | 32 +++++++++++++------ .../testSrc/DefaultProjectStoreTest.kt | 32 +++++++++++++++++++ 2 files changed, 54 insertions(+), 10 deletions(-) diff --git a/platform/configuration-store-impl/src/ProjectStoreImpl.kt b/platform/configuration-store-impl/src/ProjectStoreImpl.kt index 1dab63cd0dd6..b6442d8b4b9d 100644 --- a/platform/configuration-store-impl/src/ProjectStoreImpl.kt +++ b/platform/configuration-store-impl/src/ProjectStoreImpl.kt @@ -461,19 +461,31 @@ fun normalizeDefaultProjectElement(defaultProject: Project, element: Element, pr LOG.catchAndLog { val iterator = element.getChildren("component").iterator() for (component in iterator) { - when (component.getAttributeValue("name")) { - "InspectionProjectProfileManager" -> convertProfiles(component.getChildren("profile").iterator(), "InspectionProjectProfileManager", projectConfigDir.resolve("inspectionProfiles")) + val componentName = component.getAttributeValue("name") + + fun writeProfileSettings(schemeDir: Path) { + component.removeAttribute("name") + if (!component.isEmpty()) { + val wrapper = Element("component").attribute("name", componentName) + component.name = "settings" + wrapper.addContent(component) + JDOMUtil.write(wrapper, schemeDir.resolve("profiles_settings.xml").outputStream(), "\n") + } + } + + when (componentName) { + "InspectionProjectProfileManager" -> { + iterator.remove() + val schemeDir = projectConfigDir.resolve("inspectionProfiles") + convertProfiles(component.getChildren("profile").iterator(), componentName, schemeDir) + component.removeChild("version") + writeProfileSettings(schemeDir) + } "CopyrightManager" -> { iterator.remove() val schemeDir = projectConfigDir.resolve("copyright") - convertProfiles(component.getChildren("copyright").iterator(), "CopyrightManager", schemeDir) - component.removeAttribute("name") - if (!component.isEmpty()) { - val wrapper = Element("component").attribute("name", "CopyrightManager") - component.name = "settings" - wrapper.addContent(component) - JDOMUtil.write(wrapper, schemeDir.resolve("profiles_settings.xml").outputStream(), "\n") - } + convertProfiles(component.getChildren("copyright").iterator(), componentName, schemeDir) + writeProfileSettings(schemeDir) } } } diff --git a/platform/configuration-store-impl/testSrc/DefaultProjectStoreTest.kt b/platform/configuration-store-impl/testSrc/DefaultProjectStoreTest.kt index 1d80d35ff8c5..3928ad697b9b 100644 --- a/platform/configuration-store-impl/testSrc/DefaultProjectStoreTest.kt +++ b/platform/configuration-store-impl/testSrc/DefaultProjectStoreTest.kt @@ -117,6 +117,21 @@ internal class DefaultProjectStoreTest {