Skip to content

Commit 631e16d

Browse files
committed
Heap Dump on OOME action in context menu is now a checkbox
1 parent 173d71c commit 631e16d

File tree

3 files changed

+23
-13
lines changed

3 files changed

+23
-13
lines changed

visualvm/heapdump/nbproject/project.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<compile-dependency/>
2222
<run-dependency>
2323
<release-version>2</release-version>
24-
<specification-version>2.0</specification-version>
24+
<specification-version>2.1</specification-version>
2525
</run-dependency>
2626
</dependency>
2727
<dependency>

visualvm/heapdump/src/org/graalvm/visualvm/heapdump/impl/Bundle.properties

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,17 @@ LBL_Heap_Dump=Heap Dump
2929

3030
LBL_Heap_Dumps=Heap Dumps
3131

32-
LBL_Disable_Heap_Dump_on_OOME=&Disable Heap Dump on OOME
32+
LBL_Heap_Dump_on_OOME=Heap Dump on &OOME
3333

34-
DESCR_Disable_Heap_Dump_on_OOME=Disable Heap Dump on OOME
34+
DESCR_Heap_Dump_on_OOME=Control whether to dump heap when an OOME occurs
3535

36-
LBL_Enable_Heap_Dump_on_OOME=&Enable Heap Dump on OOME
36+
#LBL_Disable_Heap_Dump_on_OOME=&Disable Heap Dump on OOME
3737

38-
DESCR_Enable_Heap_Dump_on_OOME=Enable Heap Dump on OOME
38+
#DESCR_Disable_Heap_Dump_on_OOME=Disable Heap Dump on OOME
39+
40+
#LBL_Enable_Heap_Dump_on_OOME=&Enable Heap Dump on OOME
41+
42+
#DESCR_Enable_Heap_Dump_on_OOME=Enable Heap Dump on OOME
3943

4044
MSG_Cannot_take_heap_dump=Cannot take heap dump for
4145

visualvm/heapdump/src/org/graalvm/visualvm/heapdump/impl/HeapDumpOnOOMEAction.java

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -35,15 +35,19 @@
3535
import java.beans.PropertyChangeEvent;
3636
import java.beans.PropertyChangeListener;
3737
import java.util.Set;
38+
import javax.swing.JCheckBoxMenuItem;
39+
import javax.swing.JMenuItem;
40+
import org.openide.awt.Mnemonics;
3841
import org.openide.util.NbBundle;
42+
import org.openide.util.actions.Presenter;
3943

4044
/**
4145
*
4246
* @author Jiri Sedlacek
4347
* @author Tomas Hurka
4448
* @author Luis-Miguel Alventosa
4549
*/
46-
class HeapDumpOnOOMEAction extends SingleDataSourceAction<Application> {
50+
class HeapDumpOnOOMEAction extends SingleDataSourceAction<Application> implements Presenter.Popup {
4751

4852
private boolean oomeEnabled;
4953
private Application lastSelectedApplication;
@@ -81,13 +85,6 @@ protected boolean isEnabled(Application application) {
8185

8286
private void updateState(Jvm jvm) {
8387
oomeEnabled = jvm.isDumpOnOOMEnabled();
84-
if (oomeEnabled) {
85-
putValue(NAME, NbBundle.getMessage(HeapDumpOnOOMEAction.class, "LBL_Disable_Heap_Dump_on_OOME")); // NOI18N
86-
putValue(SHORT_DESCRIPTION, NbBundle.getMessage(HeapDumpOnOOMEAction.class, "DESCR_Disable_Heap_Dump_on_OOME")); // NOI18N
87-
} else {
88-
putValue(NAME, NbBundle.getMessage(HeapDumpOnOOMEAction.class, "LBL_Enable_Heap_Dump_on_OOME")); // NOI18N
89-
putValue(SHORT_DESCRIPTION, NbBundle.getMessage(HeapDumpOnOOMEAction.class, "DESCR_Enable_Heap_Dump_on_OOME")); // NOI18N
90-
}
9188
}
9289

9390
protected void updateState(Set<Application> applications) {
@@ -99,6 +96,15 @@ protected void updateState(Set<Application> applications) {
9996
}
10097

10198

99+
@Override
100+
public JMenuItem getPopupPresenter() {
101+
JMenuItem presenter = new JCheckBoxMenuItem(this);
102+
Mnemonics.setLocalizedText(presenter, NbBundle.getMessage(HeapDumpOnOOMEAction.class, "LBL_Heap_Dump_on_OOME")); // NOI18N
103+
presenter.setSelected(oomeEnabled);
104+
return presenter;
105+
}
106+
107+
102108
private HeapDumpOnOOMEAction() {
103109
super(Application.class);
104110
}

0 commit comments

Comments
 (0)