changeset 1812:5db8eb6c7811

Disable "Perform GC" and "Heap Dump" buttons while action in progress Reviewed-by: omajid Review-thread: http://icedtea.classpath.org/pipermail/thermostat/2015-September/016405.html PR2647
author Andrew Azores <aazores@redhat.com>
date Thu, 24 Sep 2015 13:28:06 -0400
parents e2b74104bfc7
children 9fbab9775a44
files vm-heap-analysis/client-core/src/main/java/com/redhat/thermostat/vm/heap/analysis/client/core/internal/HeapDumpController.java vm-heap-analysis/client-swing/src/main/java/com/redhat/thermostat/vm/heap/analysis/client/swing/internal/HeapSwingView.java vm-memory/client-core/src/main/java/com/redhat/thermostat/vm/memory/client/core/internal/MemoryStatsController.java
diffstat 3 files changed, 5 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/vm-heap-analysis/client-core/src/main/java/com/redhat/thermostat/vm/heap/analysis/client/core/internal/HeapDumpController.java	Mon Sep 28 16:46:24 2015 +0200
+++ b/vm-heap-analysis/client-core/src/main/java/com/redhat/thermostat/vm/heap/analysis/client/core/internal/HeapDumpController.java	Thu Sep 24 13:28:06 2015 -0400
@@ -213,7 +213,6 @@
                 HeapDump dump = null;
                 switch (actionEvent.getActionId()) {
                 case DUMP_REQUESTED: {
-                    view.disableHeapDumping(DumpDisabledReason.DUMP_IN_PROGRESS);
                     requestDump(heapDumper);
                 } break;
                     
@@ -306,6 +305,7 @@
         appService.getApplicationExecutor().execute(new Runnable() {
             @Override
             public void run() {
+                view.disableHeapDumping(DumpDisabledReason.DUMP_IN_PROGRESS);
                 LocalizedString taskName = translator.localize(LocaleResources.HEAP_DUMP_IN_PROGRESS);
 
                 final ProgressHandle handle = new ProgressHandle(taskName);
--- a/vm-heap-analysis/client-swing/src/main/java/com/redhat/thermostat/vm/heap/analysis/client/swing/internal/HeapSwingView.java	Mon Sep 28 16:46:24 2015 +0200
+++ b/vm-heap-analysis/client-swing/src/main/java/com/redhat/thermostat/vm/heap/analysis/client/swing/internal/HeapSwingView.java	Thu Sep 24 13:28:06 2015 -0400
@@ -249,6 +249,7 @@
         SwingUtilities.invokeLater(new Runnable() {
             @Override
             public void run() {
+                takeDumpIconButton.setEnabled(true);
                 stats.enableHeapDumperControl();
             }
         });
@@ -259,6 +260,7 @@
         SwingUtilities.invokeLater(new Runnable() {
             @Override
             public void run() {
+                takeDumpIconButton.setEnabled(false);
                 stats.disableHeapDumperControl(reason);
             }
         });
--- a/vm-memory/client-core/src/main/java/com/redhat/thermostat/vm/memory/client/core/internal/MemoryStatsController.java	Mon Sep 28 16:46:24 2015 +0200
+++ b/vm-memory/client-core/src/main/java/com/redhat/thermostat/vm/memory/client/core/internal/MemoryStatsController.java	Thu Sep 24 13:28:06 2015 -0400
@@ -270,6 +270,7 @@
                 RequestResponseListener listener = new RequestResponseListener() {
                     @Override
                     public void fireComplete(Request request, Response response) {
+                        view.setEnableGCAction(true);
                         if (response.getType() == ResponseType.ERROR) {
                             view.displayWarning(translate.localize(
                                     LocaleResources.ERROR_PERFORMING_GC,
@@ -278,6 +279,7 @@
                         }
                     }
                 };
+                view.setEnableGCAction(false);
                 gcRequest.sendGCRequestToAgent(ref, agentDAO, listener);
             }
         });