Importing JAVA preference files

Books on a wheelbarrow, van Gogh

The Java Preferences are hierarchically organized in nodes. The library allows to export and import complete subtrees into an XML file.

nyssr.net exports the existing settings of a nyssr.net node to the storage directory at startup. We can modify this file for a new node and give it to the first startup.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE preferences SYSTEM "http://java.sun.com/dtd/preferences.dtd">
<preferences EXTERNAL_XML_VERSION="1.0">
  <root type="user">
    <map/>
    <node name="sillysky">
      <map/>
      <node name="nodes">
        <map/>
        <node name="io">
          <map/>
          <node name="kernel.configuration">
            <map>
              <entry key="node.id" value="io"/>
              <entry key="storage.dir" value="/run/io/storage"/>
              <entry key="log.dir" value="log"/>
              <entry key="license" value="06708aeb-ec9b-456d-829e-30c5cfdd6503"/>
              <entry key="node.description" value="Test 001"/>
              <entry key="plugin.dir" value="/run/plugins"/>
              <entry key="type.of.node" value="SERVER"/>
              <entry key="config.dir" value="/run/io/config"/>
              <entry key="config.name" value="io"/>
              <entry key="vendor" value="sillysky"/>
              <entry key="segment.id" value="ss"/>
              <entry key="base.dir" value="/run/io"/>
            </map>
          </node>
          <node name="logging">
            <map/>
            <node name="catcher">
              <map/>
            </node>
            <node name="writer">
              <map/>
              <node name="console">
                <map>
                  <entry key="writer.class.name" value="de.sillysky.nyssr.log.CDefaultConsoleLogWriter"/>
                  <entry key="level" value="INFO"/>
                  <entry key="formatter.class.name" value="de.sillysky.nyssr.log.CDefaultMessageFormatter"/>
                </map>
                <node name="levels">
                  <map>
                    <entry key="startup" value="TRACE"/>
                    <entry key="network" value="TRACE"/>
                  </map>
                </node>
              </node>
              <node name="file">
                <map>
                  <entry key="level" value="DEBUG"/>
                  <entry key="formatter.class.name" value="de.sillysky.nyssr.log.CDefaultMessageFormatter"/>
                  <entry key="file.path" value="/run/io/log/io.log"/>
                  <entry key="writer.class.name" value="de.sillysky.nyssr.log.CSyncFileLogWriter"/>
                </map>
                <node name="levels">
                  <map/>
                </node>
              </node>
            </node>
          </node>
          <node name="namespace">
            <map/>
            <node name="CLI">
              <map/>
            </node>
            <node name="SYSTEM">
              <map/>
            </node>
            <node name="TCP">
              <map/>
            </node>
            <node name="TRANSPORT">
              <map/>
            </node>
          </node>
          <node name="network">
            <map/>
          </node>
          <node name="plugin.manager">
            <map/>
            <node name="plugins">
              <map>
                <entry key="0010" value="NY_NetworkPlugIn"/>
                <entry key="0030" value="NY_MicroServicePlugIn"/>
                <entry key="0020" value="NY_TcpPlugIn"/>
              </map>
            </node>
          </node>
          <node name="preferences">
            <map/>
          </node>
          <node name="tcp">
            <map/>
            <node name="client">
              <map/>
              <node name="ceres">
                <map>
                  <entry key="port" value="20001"/>
                  <entry key="inputBufferSize" value="300000"/>
                  <entry key="retryTimeout" value="5000"/>
                  <entry key="ID" value="bcc4a8d0-67e0-44a5-a076-34bfef286049"/>
                  <entry key="host" value="127.0.0.1"/>
                  <entry key="enableSSL" value="false"/>
                </map>
              </node>
            </node>
            <node name="server">
              <map/>
            </node>
          </node>
        </node>
      </node>
    </node>
  </root>
</preferences>