diff --git a/platform/lang-api/src/com/intellij/psi/codeStyle/CodeStyleSettingsManager.java b/platform/lang-api/src/com/intellij/psi/codeStyle/CodeStyleSettingsManager.java index 664d14a93b24..055672dfd513 100644 --- a/platform/lang-api/src/com/intellij/psi/codeStyle/CodeStyleSettingsManager.java +++ b/platform/lang-api/src/com/intellij/psi/codeStyle/CodeStyleSettingsManager.java @@ -20,18 +20,19 @@ import com.intellij.openapi.components.ServiceManager; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.DefaultJDOMExternalizer; +import com.intellij.openapi.util.DifferenceFilter; import com.intellij.openapi.util.InvalidDataException; -import com.intellij.util.xmlb.XmlSerializerUtil; +import com.intellij.openapi.util.WriteExternalException; +import org.jdom.Element; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -public class CodeStyleSettingsManager implements PersistentStateComponent { - private static final Logger LOG = Logger.getInstance(CodeStyleSettingsManager.class); +public class CodeStyleSettingsManager implements PersistentStateComponent { + private static final Logger LOG = Logger.getInstance("#" + CodeStyleSettingsManager.class.getName()); public volatile CodeStyleSettings PER_PROJECT_SETTINGS = null; public volatile boolean USE_PER_PROJECT_SETTINGS = false; public volatile String PREFERRED_PROJECT_CODE_STYLE = null; - private volatile CodeStyleSettings myTemporarySettings; private volatile boolean myIsLoaded = false; @@ -43,13 +44,7 @@ public class CodeStyleSettingsManager implements PersistentStateComponent(this, new CodeStyleSettingsManager())); } @Override - public void loadState(CodeStyleSettingsManager state) { - XmlSerializerUtil.copyBean(state, this); + public Element getState() { + Element result = new Element("state"); + try { + writeExternal(result); + } + catch (WriteExternalException e) { + LOG.error(e); + } + return result; + } + + @Override + public void loadState(Element state) { + try { + readExternal(state); + myIsLoaded = true; + } + catch (InvalidDataException e) { + LOG.error(e); + } } public CodeStyleSettings getTemporarySettings() { return myTemporarySettings; } - public void setTemporarySettings(CodeStyleSettings settings) { + public void setTemporarySettings(@NotNull CodeStyleSettings settings) { myTemporarySettings = settings; }