From 64c7cb7d3b73fca9c9d5f4ce515f456b60e60b4b Mon Sep 17 00:00:00 2001 From: "Denis.Zhdanov" Date: Tue, 13 Mar 2012 14:30:56 +0400 Subject: [PATCH] IDEA-76142: Gradle support - cannot update IDEA projects once one of build.gradle files changes Added ability to not preserve 'expanded' sync tree nodes state --- .../plugins/gradle/config/GradleSettings.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/config/GradleSettings.java b/plugins/gradle/src/org/jetbrains/plugins/gradle/config/GradleSettings.java index de9508c2a406..bb34e918c845 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/config/GradleSettings.java +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/config/GradleSettings.java @@ -17,16 +17,12 @@ package org.jetbrains.plugins.gradle.config; import com.intellij.openapi.components.*; import com.intellij.openapi.project.Project; -import com.intellij.util.containers.hash.HashSet; import com.intellij.util.xmlb.XmlSerializerUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import org.jetbrains.plugins.gradle.diff.GradleProjectStructureChange; -import java.util.Collections; import java.util.HashMap; import java.util.Map; -import java.util.Set; import java.util.concurrent.atomic.AtomicReference; /** @@ -43,6 +39,9 @@ import java.util.concurrent.atomic.AtomicReference; ) public class GradleSettings implements PersistentStateComponent, Cloneable { + @SuppressWarnings("UseOfArchaicSystemPropertyAccessors") + private static final boolean PRESERVE_EXPAND_STATE = !Boolean.getBoolean("gradle.forget.expand.nodes.state"); + /** Holds changes confirmed by the end-user. */ private final AtomicReference> myExpandStates = new AtomicReference>(new HashMap()); @@ -55,6 +54,9 @@ public class GradleSettings implements PersistentStateComponent, @Override public GradleSettings getState() { + if (!PRESERVE_EXPAND_STATE) { + myExpandStates.get().clear(); + } return this; } @@ -80,7 +82,8 @@ public class GradleSettings implements PersistentStateComponent, return myExpandStates.get(); } - public void setExpandStates(@Nullable Map state) { + @SuppressWarnings("UnusedDeclaration") + public void setExpandStates(@Nullable Map state) { // Necessary for the serialization. if (state != null) { myExpandStates.set(state); }