Exemple #1
0
 private static String recursiveToString(long r, String prefix, RecordManager recman) {
   prefix += "  ";
   String s = "";
   long[][] nn = recman.recordGet(r, HTreeMap.DIR_SERIALIZER);
   if (nn == null) {
     s += prefix + "null,\n";
   } else {
     s += prefix + "Arrays.asList(\n";
     for (long[] n : nn) {
       if (n == null) {
         s += prefix + "  null,\n";
       } else {
         s += prefix + "  Arrays.asList(\n";
         for (long r2 : n) {
           if (r2 == 0) {
             s += prefix + "    " + "null,\n";
           } else {
             if ((r2 & 1) == 0) {
               s += recursiveToString(r2 >>> 1, prefix + "    ", recman);
             } else {
               s += prefix + "    " + "Array.asList(";
               TreeMap m = new TreeMap();
               HTreeMap.LinkedNode node =
                   (HTreeMap.LinkedNode)
                       recman.recordGet(r2 >>> 1, new HTreeMap(recman, true).LN_SERIALIZER);
               while (node != null) {
                 m.put(node.key, node.value);
                 node =
                     (HTreeMap.LinkedNode)
                         recman.recordGet(node.next, new HTreeMap(recman, true).LN_SERIALIZER);
               }
               for (Object k : m.keySet()) {
                 s += k + "," + m.get(k) + ",";
               }
               // s=s.substring(0,s.length()-1);
               s += "),\n";
             }
           }
         }
         s += prefix + "  ),\n";
       }
     }
     //            s=s.substring(0,s.length()-2);
     s += prefix + "),\n";
   }
   return s;
 }