changeset 1970:53d2c83f487a

Add internal Dimension variable to TreeMapComponent PR3059 Reviewed-by: jkang Review-thread: http://icedtea.classpath.org/pipermail/thermostat/2016-June/019844.html Original-thread: http://icedtea.classpath.org/pipermail/thermostat/2015-September/015927.html
author James Aziz <jaziz@redhat.com>
date Wed, 29 Jun 2016 12:22:57 -0400
parents c302f038ab1e
children 5b05693ef8de
files client/swing/src/main/java/com/redhat/thermostat/client/swing/components/experimental/TreeMapComponent.java client/swing/src/test/java/com/redhat/thermostat/client/swing/components/experimental/TreeMapComponentTest.java client/swing/src/test/java/com/redhat/thermostat/client/swing/components/experimental/TreeMapToolbarTest.java client/swing/src/test/java/com/redhat/thermostat/client/swing/components/experimental/TreeMapZoomBarTest.java vm-heap-analysis/client-swing/src/main/java/com/redhat/thermostat/vm/heap/analysis/client/swing/internal/SwingHeapTreeMapView.java
diffstat 5 files changed, 49 insertions(+), 38 deletions(-) [+]
line wrap: on
line diff
--- a/client/swing/src/main/java/com/redhat/thermostat/client/swing/components/experimental/TreeMapComponent.java	Wed Jun 29 12:22:56 2016 -0400
+++ b/client/swing/src/main/java/com/redhat/thermostat/client/swing/components/experimental/TreeMapComponent.java	Wed Jun 29 12:22:57 2016 -0400
@@ -101,6 +101,8 @@
      */
     private TreeMapNode tree;
 
+    private Dimension dimension;
+
     /**
      * Horizontal and vertical padding for nested component.
      */
@@ -177,6 +179,10 @@
 
     private ToolTipRenderer tooltipRenderer;
 
+    public TreeMapComponent() {
+        this(null, new Dimension(), null);
+    }
+
     public TreeMapComponent(Dimension d) {
         this(null, d, null);
     }
@@ -193,6 +199,7 @@
     public TreeMapComponent(TreeMapNode tree, Dimension d, ToolTipRenderer renderer) {
         super();
         Objects.requireNonNull(d);
+        this.dimension = d;
         this.tree = tree;
         lastDim = getSize();
         this.zoomStack = new Stack<>();
@@ -201,15 +208,15 @@
 
         if (tree != null) {
             this.zoomStack.push(this.tree);
-            processAndDrawTreeMap(d);
+            processAndDrawTreeMap();
         }
     }
 
-    public void processAndDrawTreeMap(Dimension d) {
-        Objects.requireNonNull(d);
+    public void processAndDrawTreeMap() {
+        Objects.requireNonNull(this.dimension);
         Objects.requireNonNull(this.tree);
         // assign a rectangle to the tree's root in order to process the tree.
-        Rectangle2D.Double area = new Rectangle2D.Double(0, 0, d.width, d.height);
+        Rectangle2D.Double area = new Rectangle2D.Double(0, 0, this.dimension.width, this.dimension.height);
 
         // calculate rectangles of tree's subtrees
         TreeProcessor.processTreeMap(tree, area);
--- a/client/swing/src/test/java/com/redhat/thermostat/client/swing/components/experimental/TreeMapComponentTest.java	Wed Jun 29 12:22:56 2016 -0400
+++ b/client/swing/src/test/java/com/redhat/thermostat/client/swing/components/experimental/TreeMapComponentTest.java	Wed Jun 29 12:22:57 2016 -0400
@@ -82,8 +82,13 @@
             @Override
             public void run() {
 
+                try {
+                    treeMap = new TreeMapComponent();
+                } catch (NullPointerException e) {
+                    Assert.fail("Didn't expect exception.");
+                }
+
                 boolean caught = false;
-
                 try {
                     treeMap = new TreeMapComponent(dim);
                 } catch (NullPointerException e) {
@@ -127,25 +132,18 @@
             @Override
             public void run() {
                 try {
-                    treeMap = new TreeMapComponent(tree, dim, new TreeMapComponent.WeightAsSizeRenderer());
-                    treeMap.processAndDrawTreeMap(dim);
+                    treeMap = new TreeMapComponent();
+                    treeMap.setModel(tree);
+                    treeMap.setToolTipRenderer(new TreeMapComponent.WeightAsSizeRenderer());
+                    treeMap.processAndDrawTreeMap();
                 } catch (NullPointerException e) {
                     Assert.fail("Didn't expect exception.");
                 }
 
                 boolean caught = false;
                 try {
-                    treeMap = new TreeMapComponent(dim);
-                    treeMap.processAndDrawTreeMap(dim);
-                } catch (NullPointerException e) {
-                    caught = true;
-                }
-                assertTrue(caught);
-                caught = false;
-
-                try {
-                    treeMap = new TreeMapComponent(tree, dim, new TreeMapComponent.WeightAsSizeRenderer());
-                    treeMap.processAndDrawTreeMap(null);
+                    treeMap = new TreeMapComponent();
+                    treeMap.processAndDrawTreeMap();
                 } catch (NullPointerException e) {
                     caught = true;
                 }
@@ -160,7 +158,8 @@
 
             @Override
             public void run() {
-                treeMap = new TreeMapComponent(tree, dim, new TreeMapComponent.WeightAsSizeRenderer());
+                treeMap = new TreeMapComponent();
+                treeMap.setModel(tree);
                 assertEquals(tree, treeMap.getTreeMapRoot());
             }
         });
@@ -233,7 +232,8 @@
         SwingUtilities.invokeAndWait(new Runnable() {
             @Override
             public void run() {
-                TreeMapComponent treeMap = new TreeMapComponent(tree, dim, new TreeMapComponent.WeightAsSizeRenderer());
+                TreeMapComponent treeMap = new TreeMapComponent();
+                treeMap.setModel(tree);
 
                 assertFalse("Should not be able to zoom in on null", treeMap.isZoomInEnabled(null));
                 assertFalse("Should not be able to zoom in on root", treeMap.isZoomInEnabled(tree));
@@ -249,7 +249,9 @@
 
             @Override
             public void run() {
-                TreeMapComponent treeMap = new TreeMapComponent(tree, dim, new TreeMapComponent.WeightAsSizeRenderer());
+                TreeMapComponent treeMap = new TreeMapComponent();
+                treeMap.setModel(tree);
+                treeMap.setToolTipRenderer(new TreeMapComponent.WeightAsSizeRenderer());
 
                 treeMap.zoomIn(node1);
                 assertEquals(node1, treeMap.getTreeMapRoot());
@@ -266,7 +268,9 @@
 
             @Override
             public void run() {
-                treeMap = new TreeMapComponent(tree, dim, new TreeMapComponent.WeightAsSizeRenderer());
+                treeMap = new TreeMapComponent();
+                treeMap.setModel(tree);
+                treeMap.setToolTipRenderer(new TreeMapComponent.WeightAsSizeRenderer());
 
                 treeMap.zoomOut();
                 assertEquals(tree, treeMap.getTreeMapRoot());
@@ -288,7 +292,8 @@
 
             @Override
             public void run() {
-                treeMap = new TreeMapComponent(tree, dim, new TreeMapComponent.WeightAsSizeRenderer());
+                treeMap = new TreeMapComponent();
+                treeMap.setModel(tree);
 
                 treeMap.zoomIn(node2);
                 treeMap.zoomFull();
@@ -304,7 +309,9 @@
 
             @Override
             public void run() {
-                treeMap = new TreeMapComponent(tree, dim, new TreeMapComponent.WeightAsSizeRenderer());
+                treeMap = new TreeMapComponent();
+                treeMap.setModel(tree);
+                treeMap.setToolTipRenderer(new TreeMapComponent.WeightAsSizeRenderer());
 
                 // the root is always in the stack
                 assertEquals(1, treeMap.getZoomCallsStack().size());
@@ -327,7 +334,9 @@
 
             @Override
             public void run() {
-                treeMap = new TreeMapComponent(tree, dim, new TreeMapComponent.WeightAsSizeRenderer());
+                treeMap = new TreeMapComponent();
+                treeMap.setModel(tree);
+                treeMap.setToolTipRenderer(new TreeMapComponent.WeightAsSizeRenderer());
 
                 treeMap.clearZoomCallsStack();
                 assertEquals(1, treeMap.getZoomCallsStack().size());
@@ -375,7 +384,9 @@
                 TreeMapNode grandchild = new TreeMapNode(1);
                 child.addChild(grandchild);
 
-                treeMap = new TreeMapComponent(tree, dim, new TreeMapComponent.WeightAsSizeRenderer());
+                treeMap = new TreeMapComponent();
+                treeMap.setModel(tree);
+                treeMap.setToolTipRenderer(new TreeMapComponent.WeightAsSizeRenderer());
                 treeMap.register(observer);
 
                 treeMap.zoomIn(child);
--- a/client/swing/src/test/java/com/redhat/thermostat/client/swing/components/experimental/TreeMapToolbarTest.java	Wed Jun 29 12:22:56 2016 -0400
+++ b/client/swing/src/test/java/com/redhat/thermostat/client/swing/components/experimental/TreeMapToolbarTest.java	Wed Jun 29 12:22:57 2016 -0400
@@ -40,7 +40,6 @@
 
 import static org.junit.Assert.assertTrue;
 
-import java.awt.Dimension;
 import java.lang.reflect.InvocationTargetException;
 
 import javax.swing.SwingUtilities;
@@ -58,7 +57,6 @@
     private TreeMapToolbar toolbar;
 
     private static TreeMapNode tree;
-    private static Dimension dim;
 
     @Test
     public final void testTreeMapToolbar() throws InvocationTargetException, InterruptedException {
@@ -67,8 +65,8 @@
             public void run() {
                 
                 tree = new TreeMapNode(1);
-                dim = new Dimension(500, 500);
-                treeMap = new TreeMapComponent(tree, dim, new TreeMapComponent.WeightAsSizeRenderer());
+                treeMap = new TreeMapComponent();
+                treeMap.setModel(tree);
                 
                 boolean catched = false;
                 try {
--- a/client/swing/src/test/java/com/redhat/thermostat/client/swing/components/experimental/TreeMapZoomBarTest.java	Wed Jun 29 12:22:56 2016 -0400
+++ b/client/swing/src/test/java/com/redhat/thermostat/client/swing/components/experimental/TreeMapZoomBarTest.java	Wed Jun 29 12:22:57 2016 -0400
@@ -54,7 +54,6 @@
 @Category(CacioTest.class)
 public class TreeMapZoomBarTest {
 
-    private TreeMapComponent treeMap;
     @SuppressWarnings("unused")
     private TreeMapZoomBar zoomBar;
 
@@ -81,8 +80,7 @@
                 }
                 assertTrue(catched);
                 try {
-                    treeMap = new TreeMapComponent(tree, dim, new TreeMapComponent.WeightAsSizeRenderer());
-                    zoomBar = new TreeMapZoomBar(treeMap);
+                    zoomBar = new TreeMapZoomBar(new TreeMapComponent());
                 } catch (NullPointerException e) {
                     Assert.fail("Should not throw any exception.");
                 }
--- a/vm-heap-analysis/client-swing/src/main/java/com/redhat/thermostat/vm/heap/analysis/client/swing/internal/SwingHeapTreeMapView.java	Wed Jun 29 12:22:56 2016 -0400
+++ b/vm-heap-analysis/client-swing/src/main/java/com/redhat/thermostat/vm/heap/analysis/client/swing/internal/SwingHeapTreeMapView.java	Wed Jun 29 12:22:57 2016 -0400
@@ -38,7 +38,6 @@
 
 import java.awt.BorderLayout;
 import java.awt.Component;
-import java.awt.Dimension;
 
 import javax.swing.JPanel;
 
@@ -51,12 +50,10 @@
 public class SwingHeapTreeMapView extends HeapTreeMapView implements SwingComponent {
     
     private TreeMapComponent treeMap;
-    private Dimension d;
     private final JPanel panel;
     
     public SwingHeapTreeMapView() {
-        d = new Dimension();
-        treeMap = new TreeMapComponent(d);
+        treeMap = new TreeMapComponent();
         treeMap.setToolTipRenderer(new TreeMapComponent.WeightAsSizeRenderer());
 
         panel = new JPanel();
@@ -66,7 +63,7 @@
     @Override
     public void display(ObjectHistogram histogram) {
         treeMap.setModel(HistogramConverter.convertToTreeMap(histogram));
-        treeMap.processAndDrawTreeMap(d);
+        treeMap.processAndDrawTreeMap();
         panel.add(treeMap, BorderLayout.CENTER);
         panel.add(new TreeMapToolbar(treeMap), BorderLayout.NORTH);
     }