Mercurial > hg > release > thermostat-1.6
changeset 1981:d45a7d554e2e
Automatically call processAndDrawTreeMap when tree model updated
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/016043.html
author | James Aziz <jaziz@redhat.com> |
---|---|
date | Wed, 29 Jun 2016 12:23:07 -0400 |
parents | f1aa6970ef55 |
children | 426125707721 |
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 vm-heap-analysis/client-swing/src/main/java/com/redhat/thermostat/vm/heap/analysis/client/swing/internal/SwingHeapTreeMapView.java |
diffstat | 3 files changed, 42 insertions(+), 39 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:23:02 2016 -0400 +++ b/client/swing/src/main/java/com/redhat/thermostat/client/swing/components/experimental/TreeMapComponent.java Wed Jun 29 12:23:07 2016 -0400 @@ -203,6 +203,7 @@ this.zoomStack.clear(); this.zoomStack.push(this.tree); resetTreeMapNodeWeights(this.tree); + processAndDrawTreeMap(this.tree); } private void resetTreeMapNodeWeights(TreeMapNode node) { @@ -384,7 +385,10 @@ return null; } - public void processAndDrawTreeMap(TreeMapNode root) { + /** + * Package-private for testing only. + */ + void processAndDrawTreeMap(TreeMapNode root) { tree = Objects.requireNonNull(root); Rectangle2D.Double newArea = tree.getRectangle(); // give to the root node the size of this object so it can be recalculated
--- a/client/swing/src/test/java/com/redhat/thermostat/client/swing/components/experimental/TreeMapComponentTest.java Wed Jun 29 12:23:02 2016 -0400 +++ b/client/swing/src/test/java/com/redhat/thermostat/client/swing/components/experimental/TreeMapComponentTest.java Wed Jun 29 12:23:07 2016 -0400 @@ -118,22 +118,27 @@ } @Test - public final void testSetModel() { - try { - treeMap = new TreeMapComponent(); - treeMap.setModel(tree); - } catch (NullPointerException e) { - Assert.fail("Didn't expect exception."); - } + public final void testSetModel() throws InvocationTargetException, InterruptedException { + SwingUtilities.invokeAndWait(new Runnable() { + @Override + public void run() { + try { + treeMap = new TreeMapComponent(); + treeMap.setModel(tree); + } catch (NullPointerException e) { + Assert.fail("Didn't expect exception."); + } - boolean caught = false; - try { - treeMap = new TreeMapComponent(); - treeMap.setModel(null); - } catch (NullPointerException e) { - caught = true; - } - assertTrue(caught); + boolean caught = false; + try { + treeMap = new TreeMapComponent(); + treeMap.setModel(null); + } catch (NullPointerException e) { + caught = true; + } + assertTrue(caught); + } + }); } @Test @@ -163,26 +168,26 @@ @Test public final void testIsZoomInEnabled() throws InvocationTargetException, InterruptedException { - try { - treeMap = new TreeMapComponent(); - treeMap.setModel(tree); - treeMap.isZoomInEnabled(node1); - } catch (NullPointerException e) { - Assert.fail("Didn't expect exception."); - } - - boolean caught = false; - try { - treeMap = new TreeMapComponent(); - treeMap.isZoomInEnabled(node1); - } catch (NullPointerException e) { - caught = true; - } - assertTrue(caught); - SwingUtilities.invokeAndWait(new Runnable() { @Override public void run() { + try { + treeMap = new TreeMapComponent(); + treeMap.setModel(tree); + treeMap.isZoomInEnabled(node1); + } catch (NullPointerException e) { + Assert.fail("Didn't expect exception."); + } + + boolean caught = false; + try { + treeMap = new TreeMapComponent(); + treeMap.isZoomInEnabled(node1); + } catch (NullPointerException e) { + caught = true; + } + assertTrue(caught); + TreeMapComponent treeMap = new TreeMapComponent(); treeMap.setModel(tree); @@ -385,9 +390,6 @@ final TreeMapComponent treeMap = new TreeMapComponent(); treeMap.setModel(modelA); - // FIXME no other swing component needs the following: - treeMap.processAndDrawTreeMap(modelA); - JPanel container = new JPanel(new BorderLayout()); JPanel buttonPanel = new JPanel(); @@ -397,7 +399,6 @@ public void actionPerformed(ActionEvent e) { TreeMapNode newModel = treeMap.getTreeMapRoot() == modelA ? modelB : modelA; treeMap.setModel(newModel); - treeMap.processAndDrawTreeMap(newModel); } }); buttonPanel.add(changeModelButton); @@ -410,7 +411,6 @@ currentModel.addChild(new TreeMapNode("new", 10.0)); treeMap.setModel(currentModel); - treeMap.processAndDrawTreeMap(currentModel); } }); buttonPanel.add(addNewNodeButton);
--- a/vm-heap-analysis/client-swing/src/main/java/com/redhat/thermostat/vm/heap/analysis/client/swing/internal/SwingHeapTreeMapView.java Wed Jun 29 12:23:02 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:23:07 2016 -0400 @@ -65,7 +65,6 @@ public void display(ObjectHistogram histogram) { TreeMapNode model = HistogramConverter.convertToTreeMap(histogram); treeMap.setModel(model); - treeMap.processAndDrawTreeMap(model); panel.add(treeMap, BorderLayout.CENTER); panel.add(new TreeMapToolbar(treeMap), BorderLayout.NORTH); }