/*
 * Copyright 2000-2012 JetBrains s.r.o.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.intellij.openapi.util.registry;

import com.intellij.openapi.components.*;
import org.jdom.Element;
import org.jetbrains.annotations.NotNull;

@State(
    name = "Registry",
    storages = {
        @Storage(
            file = StoragePathMacros.APP_CONFIG + "/other.xml")}
)
public class RegistryState implements BaseComponent, PersistentStateComponent<Element> {

  public RegistryState() {
  }

  public Element getState() {
    return Registry.getInstance().getState();
  }

  public void loadState(Element state) {
    Registry.getInstance().loadState(state);
  }

  @NotNull
  public String getComponentName() {
    return "Registry";
  }

  public void initComponent() {
  }

  public void disposeComponent() {
  }
}
@@ -681,16 +681,63 @@
 ents.*;%0A
+import com.intellij.openapi.diagnostic.Logger;%0A
 import o
@@ -796,16 +796,93 @@
 tNull;%0A%0A
+import java.util.Map;%0Aimport java.util.SortedMap;%0Aimport java.util.TreeMap;%0A%0A
 @State(%0A
@@ -1094,16 +1094,93 @@
 ement%3E %7B
+%0A  private static final Logger LOG = Logger.getInstance(RegistryState.class);
 %0A%0A  publ
@@ -1372,16 +1372,428 @@
 state);%0A
+    SortedMap%3CString, String%3E userProperties = new TreeMap%3CString, String%3E(Registry.getInstance().getUserProperties());%0A    userProperties.remove(%22ide.firstStartup%22);%0A    if (!userProperties.isEmpty()) %7B%0A      LOG.info(%22Registry values changed by user:%22);%0A      for (Map.Entry%3CString, String%3E entry : userProperties.entrySet()) %7B%0A        LOG.info(%22  %22 + entry.getKey() + %22 = %22 + entry.getValue());%0A      %7D%0A    %7D%0A
   %7D%0A%0A  @

print registry values changed by user to idea.log