changeset 1974:77eefdc8a901

Alter TreeMapComponent.setModel to reset treemap node weights 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/016395.html
author James Aziz <jaziz@redhat.com>
date Wed, 29 Jun 2016 12:22:59 -0400
parents 4e64d7dccbcc
children 609350a0bb0e
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
diffstat 2 files changed, 10 insertions(+), 1 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:58 2016 -0400
+++ b/client/swing/src/main/java/com/redhat/thermostat/client/swing/components/experimental/TreeMapComponent.java	Wed Jun 29 12:22:59 2016 -0400
@@ -218,6 +218,16 @@
         this.tree = Objects.requireNonNull(tree);
         this.zoomStack.clear();
         this.zoomStack.push(this.tree);
+        resetTreeMapNodeWeights(this.tree);
+    }
+
+    private void resetTreeMapNodeWeights(TreeMapNode node) {
+        Objects.requireNonNull(node);
+        node.setWeight(node.getRealWeight());
+
+        for(TreeMapNode child : node.getChildren()) {
+            resetTreeMapNodeWeights(child);
+        }
     }
 
     public void setToolTipRenderer(ToolTipRenderer renderer) {
--- a/client/swing/src/test/java/com/redhat/thermostat/client/swing/components/experimental/TreeMapComponentTest.java	Wed Jun 29 12:22:58 2016 -0400
+++ b/client/swing/src/test/java/com/redhat/thermostat/client/swing/components/experimental/TreeMapComponentTest.java	Wed Jun 29 12:22:59 2016 -0400
@@ -450,7 +450,6 @@
                 });
                 buttonPanel.add(changeModelButton);
 
-                //FIXME The following button does not actually work, adding new nodes is broken
                 JButton addNewNodeButton = new JButton("Add new node");
                 addNewNodeButton.addActionListener(new ActionListener() {
                     @Override