src/share/classes/com/sun/tools/hat/internal/server/RefsByTypeQuery.java

Print this page
rev 10195 : 8048267: Replace uses of 'new Long()' with appropriate alternative across core classes
Reviewed-by: chegar, psandoz
Contributed-by: otaviojava@java.net


  46             error("class not found: " + query);
  47         } else {
  48             Map<JavaClass, Long> referrersStat = new HashMap<JavaClass, Long>();
  49             final Map<JavaClass, Long> refereesStat = new HashMap<JavaClass, Long>();
  50             Enumeration instances = clazz.getInstances(false);
  51             while (instances.hasMoreElements()) {
  52                 JavaHeapObject instance = (JavaHeapObject) instances.nextElement();
  53                 if (instance.getId() == -1) {
  54                     continue;
  55                 }
  56                 Enumeration e = instance.getReferers();
  57                 while (e.hasMoreElements()) {
  58                     JavaHeapObject ref = (JavaHeapObject) e.nextElement();
  59                     JavaClass cl = ref.getClazz();
  60                     if (cl == null) {
  61                          System.out.println("null class for " + ref);
  62                          continue;
  63                     }
  64                     Long count = referrersStat.get(cl);
  65                     if (count == null) {
  66                         count = new Long(1);
  67                     } else {
  68                         count = new Long(count.longValue() + 1);
  69                     }
  70                     referrersStat.put(cl, count);
  71                 }
  72                 instance.visitReferencedObjects(
  73                     new AbstractJavaHeapObjectVisitor() {
  74                         public void visit(JavaHeapObject obj) {
  75                             JavaClass cl = obj.getClazz();
  76                             Long count = refereesStat.get(cl);
  77                             if (count == null) {
  78                                 count = new Long(1);
  79                             } else {
  80                                 count = new Long(count.longValue() + 1);
  81                             }
  82                             refereesStat.put(cl, count);
  83                         }
  84                     }
  85                 );
  86             } // for each instance
  87 
  88             startHtml("References by Type");
  89             out.println("<p align='center'>");
  90             printClass(clazz);
  91             if (clazz.getId() != -1) {
  92                 println("[" + clazz.getIdString() + "]");
  93             }
  94             out.println("</p>");
  95 
  96             if (referrersStat.size() != 0) {
  97                 out.println("<h3 align='center'>Referrers by Type</h3>");
  98                 print(referrersStat);
  99             }
 100 




  46             error("class not found: " + query);
  47         } else {
  48             Map<JavaClass, Long> referrersStat = new HashMap<JavaClass, Long>();
  49             final Map<JavaClass, Long> refereesStat = new HashMap<JavaClass, Long>();
  50             Enumeration instances = clazz.getInstances(false);
  51             while (instances.hasMoreElements()) {
  52                 JavaHeapObject instance = (JavaHeapObject) instances.nextElement();
  53                 if (instance.getId() == -1) {
  54                     continue;
  55                 }
  56                 Enumeration e = instance.getReferers();
  57                 while (e.hasMoreElements()) {
  58                     JavaHeapObject ref = (JavaHeapObject) e.nextElement();
  59                     JavaClass cl = ref.getClazz();
  60                     if (cl == null) {
  61                          System.out.println("null class for " + ref);
  62                          continue;
  63                     }
  64                     Long count = referrersStat.get(cl);
  65                     if (count == null) {
  66                         count = 1L;
  67                     } else {
  68                         count = count + 1L;
  69                     }
  70                     referrersStat.put(cl, count);
  71                 }
  72                 instance.visitReferencedObjects(
  73                     new AbstractJavaHeapObjectVisitor() {
  74                         public void visit(JavaHeapObject obj) {
  75                             JavaClass cl = obj.getClazz();
  76                             Long count = refereesStat.get(cl);
  77                             if (count == null) {
  78                                 count = 1L;
  79                             } else {
  80                                 count = count + 1L;
  81                             }
  82                             refereesStat.put(cl, count);
  83                         }
  84                     }
  85                 );
  86             } // for each instance
  87 
  88             startHtml("References by Type");
  89             out.println("<p align='center'>");
  90             printClass(clazz);
  91             if (clazz.getId() != -1) {
  92                 println("[" + clazz.getIdString() + "]");
  93             }
  94             out.println("</p>");
  95 
  96             if (referrersStat.size() != 0) {
  97                 out.println("<h3 align='center'>Referrers by Type</h3>");
  98                 print(referrersStat);
  99             }
 100