#191698: preventing NPE.
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, "{key}")"/>
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, "{key}")"/>
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);