#191698: preventing NPE.
authorJan Lahoda <jlahoda@netbeans.org>
Thu, 13 Jan 2011 11:40:13 +0100
changeset 17286b9672e4734dd
parent 17285 d5c0506051b9
child 17287 d8a67169bc13
#191698: preventing NPE.
java.ext.editor/src/org/netbeans/modules/java/editor/ext/refactoring/dataflow/Bundle.properties
java.ext.editor/src/org/netbeans/modules/java/editor/ext/refactoring/dataflow/DataFlowTopComponent.form
java.ext.editor/src/org/netbeans/modules/java/editor/ext/refactoring/dataflow/DataFlowTopComponent.java
     1.1 --- a/java.ext.editor/src/org/netbeans/modules/java/editor/ext/refactoring/dataflow/Bundle.properties	Thu Jan 13 11:27:00 2011 +0100
     1.2 +++ b/java.ext.editor/src/org/netbeans/modules/java/editor/ext/refactoring/dataflow/Bundle.properties	Thu Jan 13 11:40:13 2011 +0100
     1.3 @@ -43,5 +43,5 @@
     1.4  CTL_DataFlowToThisAction=Data Flow
     1.5  HINT_DataFlowTopComponent=This is a DataFlow window
     1.6  DataFlowTopComponent.showValues.text=
     1.7 -DataFlowTopComponent.jButton1.text=
     1.8  DataFlowTopComponent.jToggleButton1.text=
     1.9 +DataFlowTopComponent.refresh.text=
     2.1 --- a/java.ext.editor/src/org/netbeans/modules/java/editor/ext/refactoring/dataflow/DataFlowTopComponent.form	Thu Jan 13 11:27:00 2011 +0100
     2.2 +++ b/java.ext.editor/src/org/netbeans/modules/java/editor/ext/refactoring/dataflow/DataFlowTopComponent.form	Thu Jan 13 11:40:13 2011 +0100
     2.3 @@ -21,7 +21,7 @@
     2.4                <Group type="103" groupAlignment="0" max="-2" attributes="0">
     2.5                    <Component id="jToggleButton1" min="0" pref="0" max="32767" attributes="1"/>
     2.6                    <Component id="showValues" max="32767" attributes="1"/>
     2.7 -                  <Component id="jButton1" alignment="0" pref="0" max="32767" attributes="1"/>
     2.8 +                  <Component id="refresh" alignment="0" pref="0" max="32767" attributes="1"/>
     2.9                </Group>
    2.10                <EmptySpace type="unrelated" max="-2" attributes="0"/>
    2.11                <Component id="result" max="32767" attributes="0"/>
    2.12 @@ -36,7 +36,7 @@
    2.13                <Group type="103" groupAlignment="0" attributes="0">
    2.14                    <Component id="result" alignment="0" max="32767" attributes="0"/>
    2.15                    <Group type="102" alignment="0" attributes="0">
    2.16 -                      <Component id="jButton1" min="-2" max="-2" attributes="0"/>
    2.17 +                      <Component id="refresh" min="-2" max="-2" attributes="0"/>
    2.18                        <EmptySpace max="-2" attributes="0"/>
    2.19                        <Component id="showValues" min="-2" max="-2" attributes="0"/>
    2.20                        <EmptySpace max="-2" attributes="0"/>
    2.21 @@ -77,17 +77,17 @@
    2.22          </DimensionLayout>
    2.23        </Layout>
    2.24      </Container>
    2.25 -    <Component class="javax.swing.JButton" name="jButton1">
    2.26 +    <Component class="javax.swing.JButton" name="refresh">
    2.27        <Properties>
    2.28          <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
    2.29            <Image iconType="3" name="/org/netbeans/modules/java/editor/ext/refactoring/resources/refresh.png"/>
    2.30          </Property>
    2.31          <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
    2.32 -          <ResourceString bundle="org/netbeans/modules/java/editor/ext/refactoring/dataflow/Bundle.properties" key="DataFlowTopComponent.jButton1.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
    2.33 +          <ResourceString bundle="org/netbeans/modules/java/editor/ext/refactoring/dataflow/Bundle.properties" key="DataFlowTopComponent.refresh.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
    2.34          </Property>
    2.35        </Properties>
    2.36        <Events>
    2.37 -        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButton1ActionPerformed"/>
    2.38 +        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="refreshActionPerformed"/>
    2.39        </Events>
    2.40      </Component>
    2.41      <Component class="javax.swing.JToggleButton" name="jToggleButton1">
     3.1 --- a/java.ext.editor/src/org/netbeans/modules/java/editor/ext/refactoring/dataflow/DataFlowTopComponent.java	Thu Jan 13 11:27:00 2011 +0100
     3.2 +++ b/java.ext.editor/src/org/netbeans/modules/java/editor/ext/refactoring/dataflow/DataFlowTopComponent.java	Thu Jan 13 11:40:13 2011 +0100
     3.3 @@ -103,6 +103,8 @@
     3.4                  }
     3.5              }
     3.6          });
     3.7 +        
     3.8 +        updateNodes();
     3.9      }
    3.10  
    3.11      /** This method is called from within the constructor to
    3.12 @@ -115,7 +117,7 @@
    3.13  
    3.14          showValues = new javax.swing.JToggleButton();
    3.15          result = new javax.swing.JPanel();
    3.16 -        jButton1 = new javax.swing.JButton();
    3.17 +        refresh = new javax.swing.JButton();
    3.18          jToggleButton1 = new javax.swing.JToggleButton();
    3.19  
    3.20          showValues.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/netbeans/modules/java/editor/ext/refactoring/resources/sort_by_values.png"))); // NOI18N
    3.21 @@ -137,11 +139,11 @@
    3.22              .addGap(0, 276, Short.MAX_VALUE)
    3.23          );
    3.24  
    3.25 -        jButton1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/netbeans/modules/java/editor/ext/refactoring/resources/refresh.png"))); // NOI18N
    3.26 -        org.openide.awt.Mnemonics.setLocalizedText(jButton1, org.openide.util.NbBundle.getMessage(DataFlowTopComponent.class, "DataFlowTopComponent.jButton1.text")); // NOI18N
    3.27 -        jButton1.addActionListener(new java.awt.event.ActionListener() {
    3.28 +        refresh.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/netbeans/modules/java/editor/ext/refactoring/resources/refresh.png"))); // NOI18N
    3.29 +        org.openide.awt.Mnemonics.setLocalizedText(refresh, org.openide.util.NbBundle.getMessage(DataFlowTopComponent.class, "DataFlowTopComponent.refresh.text")); // NOI18N
    3.30 +        refresh.addActionListener(new java.awt.event.ActionListener() {
    3.31              public void actionPerformed(java.awt.event.ActionEvent evt) {
    3.32 -                jButton1ActionPerformed(evt);
    3.33 +                refreshActionPerformed(evt);
    3.34              }
    3.35          });
    3.36  
    3.37 @@ -157,7 +159,7 @@
    3.38                  .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
    3.39                      .addComponent(jToggleButton1, 0, 0, Short.MAX_VALUE)
    3.40                      .addComponent(showValues, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
    3.41 -                    .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE))
    3.42 +                    .addComponent(refresh, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE))
    3.43                  .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
    3.44                  .addComponent(result, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
    3.45                  .addContainerGap())
    3.46 @@ -169,7 +171,7 @@
    3.47                  .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    3.48                      .addComponent(result, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
    3.49                      .addGroup(layout.createSequentialGroup()
    3.50 -                        .addComponent(jButton1)
    3.51 +                        .addComponent(refresh)
    3.52                          .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
    3.53                          .addComponent(showValues)
    3.54                          .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
    3.55 @@ -182,13 +184,13 @@
    3.56          updateNodes();
    3.57      }//GEN-LAST:event_showValuesActionPerformed
    3.58  
    3.59 -    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
    3.60 +    private void refreshActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_refreshActionPerformed
    3.61          updateNodes();
    3.62 -    }//GEN-LAST:event_jButton1ActionPerformed
    3.63 +    }//GEN-LAST:event_refreshActionPerformed
    3.64  
    3.65      // Variables declaration - do not modify//GEN-BEGIN:variables
    3.66 -    private javax.swing.JButton jButton1;
    3.67      private javax.swing.JToggleButton jToggleButton1;
    3.68 +    private javax.swing.JButton refresh;
    3.69      private javax.swing.JPanel result;
    3.70      private javax.swing.JToggleButton showValues;
    3.71      // End of variables declaration//GEN-END:variables
    3.72 @@ -273,6 +275,18 @@
    3.73      }
    3.74  
    3.75      private void updateNodes() {
    3.76 +        if (this.currentRoot == null) {
    3.77 +            refresh.setEnabled(false);
    3.78 +            showValues.setEnabled(false);
    3.79 +            jToggleButton1.setEnabled(false);
    3.80 +            beanTreeView.setRootVisible(false);
    3.81 +            return;
    3.82 +        }
    3.83 +        
    3.84 +        refresh.setEnabled(true);
    3.85 +        showValues.setEnabled(true);
    3.86 +        jToggleButton1.setEnabled(true);
    3.87 +            
    3.88          if (showValues.isSelected()) {
    3.89              manager.setRootContext(new ValuesNode(this.currentRoot));
    3.90              beanTreeView.setRootVisible(false);