Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4397371

java.util.prefs.Preferences exportSubtree() storing from userRoot key and value

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P3 P3
    • None
    • 1.4.0
    • core-libs
    • None
    • x86
    • windows_nt

      //java.util.prefs.Preferences exportSubtree()
      //It is storing all the of the nodes with key and values from the userRoot
      //As per the spec. it is suppose to store key and values from the node where //this method is invoked.

      //In the following program:
      //N5.exportSubtree(fos);
      //is invoked and expected to store key and values for N5 node and if any descendants.
      //But it is storing key and values from user root.

      import java.util.prefs.*;
      import java.util.*;
      import java.io.*;

      public class ExportSubTree {
        
          public static void main(String[] args) {
              try{
                 Preferences userRoot = Preferences.userRoot();
                 
                 Preferences N1 = userRoot.node("N1");
                 N1.removeNode();
                 N1 = userRoot.node("N1");
                 N1.put("k1","v1");
                
                 Preferences N2 = N1.node("N2");
                 N2.put("k2","v2");
                
                 Preferences N3 = N2.node("N3");
                 N3.put("k3","v3");
                 
                 Preferences N4 = N2.node("N4");
                 N4.put("k4","v4");
                 
                 Preferences N5 = N3.node("N5");
                 N5.put("k5","v5");
                 userRoot.flush();
                 
                 File systemFile = new File("user01.pfs");
                 FileOutputStream fos = new FileOutputStream(systemFile);
                
                 //exportSubtree
                 N5.exportSubtree(fos);
                 
                 fos.close();
                 System.out.println("user01.pfs output");
                 System.out.println();
                 RandomAccessFile raf = new RandomAccessFile("user01.pfs","r");
                 String line = null;
                 while ( (line = raf.readLine()) !=null) {
                    System.out.println(line);
                 }
               } catch(Exception e) {
                  System.out.println("exception thrown " + e);
               }
          
         }
       
      }
      ///////////////////////////////////output////////////////////////////////////////
      H:\merlinTest\preferences\exportSubTree>java ExportSubTree
      user01.pfs output

      <?xml version="1.0" encoding="UTF-8"?>

      <!DOCTYPE preferences SYSTEM 'http://java.sun.com/dtd/preferences.dtd&#39;>

      <preferences>
        <root type="user">
          <node name="N1">
            <node name="N2">
              <node name="N3">
                <node name="N5">
                  <node name="N1">
                    <map>
                      <entry key="k1" value="v1" />
                    </map>
                    <node name="N2">
                      <map>
                        <entry key="k2" value="v2" />
                      </map>
                      <node name="N4">
                        <map>
                          <entry key="k4" value="v4" />
                        </map>
                      </node>
                      <node name="N3">
                        <map>
                          <entry key="k3" value="v3" />
                        </map>
                        <node name="N5">
                          <map>
                            <entry key="k5" value="v5" />
                          </map>
                        </node>
                      </node>
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
        </root>
      </preferences>

            jjb Josh Bloch (Inactive)
            spandeorcl Shantaram Pande (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: