@@ -112,12 +112,6 @@ class JavaReferencesPlugin extends HeapViewPlugin {
112
112
private static final TreeTableView .ColumnConfiguration CCONF_CLASS = new TreeTableView .ColumnConfiguration (DataType .COUNT , null , DataType .COUNT , SortOrder .DESCENDING , Boolean .FALSE );
113
113
private static final TreeTableView .ColumnConfiguration CCONF_INSTANCE = new TreeTableView .ColumnConfiguration (null , DataType .COUNT , DataType .NAME , SortOrder .UNSORTED , null );
114
114
115
- private static final String KEY_MERGED_REFERENCES = "autoMergedReferences" ; // NOI18N
116
- private static final String KEY_LOGICAL_REFERENCES = "logicalkReferences" ; // NOI18N
117
-
118
- private volatile boolean mergedReferences = readItem (KEY_MERGED_REFERENCES , false );
119
- private volatile boolean logicalReferences = readItem (KEY_LOGICAL_REFERENCES , true );
120
-
121
115
private final Heap heap ;
122
116
private HeapViewerNode selected ;
123
117
@@ -187,31 +181,29 @@ public void run() {
187
181
protected void populatePopup (HeapViewerNode node , JPopupMenu popup ) {
188
182
if (popup .getComponentCount () > 0 ) popup .addSeparator ();
189
183
190
- popup .add (new JCheckBoxMenuItem (Bundle .JavaReferencesPlugin_AutoComputeMergedReferencesLbl (), mergedReferences ) {
184
+ popup .add (new JCheckBoxMenuItem (Bundle .JavaReferencesPlugin_AutoComputeMergedReferencesLbl (), isAutoMerge () ) {
191
185
@ Override
192
186
protected void fireActionPerformed (ActionEvent event ) {
193
187
SwingUtilities .invokeLater (new Runnable () {
194
188
@ Override
195
189
public void run () {
196
- mergedReferences = isSelected ();
197
- storeItem (KEY_MERGED_REFERENCES , mergedReferences );
190
+ setAutoMerge (isSelected ());
198
191
if (CCONF_CLASS .equals (objectsView .getCurrentColumnConfiguration ())) { // only update view for class selection
199
- if (!mergedReferences ) showMergedView ();
192
+ if (!isAutoMerge () ) showMergedView ();
200
193
reloadView (); // reload even if !mergedReferences to release the currently computed references
201
194
}
202
195
}
203
196
});
204
197
}
205
198
});
206
199
207
- if (!CCONF_INSTANCE .equals (objectsView .getCurrentColumnConfiguration ())) popup .add (new JCheckBoxMenuItem (Bundle .JavaReferencesPlugin_MenuShowLogicalReferences (), logicalReferences ) {
200
+ if (!CCONF_INSTANCE .equals (objectsView .getCurrentColumnConfiguration ())) popup .add (new JCheckBoxMenuItem (Bundle .JavaReferencesPlugin_MenuShowLogicalReferences (), isLogicalReferences () ) {
208
201
@ Override
209
202
protected void fireActionPerformed (ActionEvent event ) {
210
203
SwingUtilities .invokeLater (new Runnable () {
211
204
@ Override
212
205
public void run () {
213
- logicalReferences = isSelected ();
214
- storeItem (KEY_LOGICAL_REFERENCES , logicalReferences );
206
+ setLogicalReferences (isSelected ());
215
207
if (CCONF_CLASS .equals (objectsView .getCurrentColumnConfiguration ())) { // only update view for class selection
216
208
reloadView ();
217
209
}
@@ -264,9 +256,8 @@ protected void fireActionPerformed(ActionEvent e) {
264
256
265
257
LinkButton lb = new LinkButton (Bundle .JavaReferencesPlugin_AutoComputeMergedReferencesLbl ()) {
266
258
protected void fireActionPerformed (ActionEvent e ) {
259
+ setAutoMerge (true );
267
260
showObjectsView ();
268
- mergedReferences = true ;
269
- storeItem (KEY_MERGED_REFERENCES , mergedReferences );
270
261
objectsView .reloadView ();
271
262
}
272
263
};
@@ -394,19 +385,30 @@ protected void nodeSelected(HeapViewerNode node, boolean adjusting) {
394
385
selected = node ;
395
386
}
396
387
397
- if (selected != null && !mergedReferences && HeapViewerNode .getValue (selected , DataType .INSTANCES_WRAPPER , heap ) != null ) showMergedView ();
388
+ if (selected != null && !isAutoMerge () && HeapViewerNode .getValue (selected , DataType .INSTANCES_WRAPPER , heap ) != null ) showMergedView ();
398
389
else showObjectsView ();
399
390
400
391
objectsView .reloadView ();
401
392
}
402
393
403
394
404
- private static boolean readItem (String itemName , boolean initial ) {
405
- return NbPreferences .forModule (JavaFieldsPlugin .class ).getBoolean ("JavaReferencesPlugin." + itemName , initial ); // NOI18N
395
+ private static final String KEY_MERGED_REFERENCES = "HeapViewer.autoMergedReferences" ; // NOI18N
396
+ private static final String KEY_LOGICAL_REFERENCES = "HeapViewer.logicalReferences" ; // NOI18N
397
+
398
+ private boolean isAutoMerge () {
399
+ return NbPreferences .root ().getBoolean (KEY_MERGED_REFERENCES , false );
400
+ }
401
+
402
+ private void setAutoMerge (boolean value ) {
403
+ NbPreferences .root ().putBoolean (KEY_MERGED_REFERENCES , value );
404
+ }
405
+
406
+ private boolean isLogicalReferences () {
407
+ return NbPreferences .root ().getBoolean (KEY_LOGICAL_REFERENCES , false );
406
408
}
407
409
408
- private static void storeItem ( String itemName , boolean value ) {
409
- NbPreferences .forModule ( JavaFieldsPlugin . class ).putBoolean ("JavaReferencesPlugin." + itemName , value ); // NOI18N
410
+ private void setLogicalReferences ( boolean value ) {
411
+ NbPreferences .root ( ).putBoolean (KEY_LOGICAL_REFERENCES , value );
410
412
}
411
413
412
414
@@ -576,7 +578,7 @@ public boolean isLeaf() {
576
578
577
579
private Instance logicalReferer (Instance realReferer ) {
578
580
if (realReferer == null ) return null ;
579
- return logicalReferences ? logicalRefererImpl (realReferer ) : realReferer ;
581
+ return isLogicalReferences () ? logicalRefererImpl (realReferer ) : realReferer ;
580
582
}
581
583
582
584
private Instance logicalRefererImpl (Instance realReferer ) {
0 commit comments