[Title] ExitHandler bug fix
authorLee <jy.exe.lee@samsung.com>
Tue, 31 Jul 2012 11:24:41 +0000 (20:24 +0900)
committerLee <jy.exe.lee@samsung.com>
Tue, 31 Jul 2012 11:24:41 +0000 (20:24 +0900)
[Type] bug fix
[Module] Dynamic Analyzer
[Priority]
[CQ#]
[Redmine#]
[Problem]
[Cause]
[Solution]
[TestCase]

14 files changed:
org.tizen.dynamicanalyzer.widgets/src/org/tizen/dynamicanalyzer/widgets/timer/TimerClock.java
org.tizen.dynamicanalyzer.workbench/src/org/tizen/dynamicanalyzer/workbench/ApplicationWorkbenchWindowAdvisor.java
org.tizen.dynamicanalyzer/META-INF/MANIFEST.MF
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/AnalyzerManager.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/AnalyzerPlugin.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/DACommunicator.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/MessageProcess.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/StateManager.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/handlers/ExitHandler.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/threads/LogQueueObservingThread.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/threads/StopLogProcessThread.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/views/CoolbarArea.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/widgets/SaveAsDialog.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/utils/UpdateViewTimer.java

index 1c10774..c8b87f5 100644 (file)
@@ -178,6 +178,7 @@ public class TimerClock extends Canvas {
 
        public void stop() {
                if (null != timer) {
+                       System.out.println("timer canceled!! ");
                        timer.cancel();
                        timer = null;
                }
index e8b7551..10abbec 100755 (executable)
@@ -1,5 +1,3 @@
-
-
 package org.tizen.dynamicanalyzer.workbench;
 
 import org.eclipse.swt.SWT;
@@ -14,59 +12,80 @@ import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
 import org.eclipse.ui.application.WorkbenchWindowAdvisor;
 import org.tizen.dynamicanalyzer.AnalyzerManager;
 import org.tizen.dynamicanalyzer.PathManager;
+import org.tizen.dynamicanalyzer.ResourceCommunicator;
+import org.tizen.dynamicanalyzer.constants.AnalyzerConstants;
+import org.tizen.dynamicanalyzer.handlers.ExitHandler;
 import org.tizen.dynamicanalyzer.ui.views.CoolbarArea;
-
+import org.tizen.dynamicanalyzer.utils.AnalyzerUtil;
 
 public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {
 
-    private static final int DEFAULT_WIDTH = 1024;
-    private static final int DEFAULT_HEIGHT = 768;
-    private static final int MIN_WIDTH = 800;
-    private static final int MIN_HEIGHT = 600;
-    private int width = DEFAULT_WIDTH;
-    private int height = DEFAULT_HEIGHT;
-
-    public static String deviceName;
-    public static String appName;
-
-    public ApplicationWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
-        super(configurer);
-    }
-
-    @Override
-    public ActionBarAdvisor createActionBarAdvisor(IActionBarConfigurer configurer) {
-        return new ApplicationActionBarAdvisor(configurer);
-    }
-
-    @Override
-    public void createWindowContents(Shell shell) {
-        CoolbarArea.createInstance(getWindowConfigurer(), shell);
-        // CoolbarArea.getInstance().setShellSize(width, height);
-    }
-
-    @Override
-    public void preWindowOpen() {
-        Monitor[] monitors = PlatformUI.getWorkbench().getDisplay().getMonitors();
-        Rectangle rectangle = null;
-        rectangle = monitors[0].getBounds();
-        if (rectangle.width < DEFAULT_WIDTH || rectangle.height < DEFAULT_HEIGHT) {
-            width = MIN_WIDTH;
-            height = MIN_HEIGHT;
-        }
-
-        IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
-        configurer.setInitialSize(new Point(width, height));
-        configurer.setShowStatusLine(false);
-        configurer.setShellStyle(SWT.SHELL_TRIM/* | SWT.NO_BACKGROUND */);
-    }
-
-    public void postWindowOpen() {
-
-        PathManager.pathCheck();
-
-        AnalyzerManager.setAutoStartDeviceName(deviceName);
-        AnalyzerManager.setAutoStartApplicationName(appName);
-        CoolbarArea.getInstance().autoStart();
-
-    }
+       private static final int DEFAULT_WIDTH = 1024;
+       private static final int DEFAULT_HEIGHT = 768;
+       private static final int MIN_WIDTH = 800;
+       private static final int MIN_HEIGHT = 600;
+       private int width = DEFAULT_WIDTH;
+       private int height = DEFAULT_HEIGHT;
+
+       public static String deviceName;
+       public static String appName;
+
+       public ApplicationWorkbenchWindowAdvisor(
+                       IWorkbenchWindowConfigurer configurer) {
+               super(configurer);
+       }
+
+       @Override
+       public ActionBarAdvisor createActionBarAdvisor(
+                       IActionBarConfigurer configurer) {
+               return new ApplicationActionBarAdvisor(configurer);
+       }
+
+       @Override
+       public void createWindowContents(Shell shell) {
+               CoolbarArea.createInstance(getWindowConfigurer(), shell);
+               // CoolbarArea.getInstance().setShellSize(width, height);
+       }
+
+       @Override
+       public void preWindowOpen() {
+               Monitor[] monitors = PlatformUI.getWorkbench().getDisplay()
+                               .getMonitors();
+               Rectangle rectangle = null;
+               rectangle = monitors[0].getBounds();
+               if (rectangle.width < DEFAULT_WIDTH
+                               || rectangle.height < DEFAULT_HEIGHT) {
+                       width = MIN_WIDTH;
+                       height = MIN_HEIGHT;
+               }
+
+               IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
+               configurer.setInitialSize(new Point(width, height));
+               configurer.setShowStatusLine(false);
+               configurer.setShellStyle(SWT.SHELL_TRIM/* | SWT.NO_BACKGROUND */);
+       }
+
+       public void postWindowOpen() {
+
+               PathManager.pathCheck();
+
+               AnalyzerManager.setAutoStartDeviceName(deviceName);
+               AnalyzerManager.setAutoStartApplicationName(appName);
+               CoolbarArea.getInstance().autoStart();
+
+       }
+
+       public boolean preWindowShellClose() {
+
+               if (ResourceCommunicator.isRunning()) {
+                       ResourceCommunicator.sendMessage(AnalyzerConstants.MSG_STOP
+                                       + AnalyzerConstants.CMD_SPLIT + 0
+                                       + AnalyzerConstants.CMD_SPLIT);
+               }
+
+               AnalyzerUtil.executeCommand(ExitHandler.ID);
+
+               CoolbarArea.getInstance().dispose();
+               return true;
+       }
 }
index 8ee5dba..a163069 100644 (file)
@@ -25,5 +25,6 @@ Bundle-ClassPath: .,
  lib/jfreechart-1.0.14.jar
 Export-Package: org.tizen.dynamicanalyzer,
  org.tizen.dynamicanalyzer.constants,
+ org.tizen.dynamicanalyzer.handlers,
  org.tizen.dynamicanalyzer.ui.views,
  org.tizen.dynamicanalyzer.utils
index 3aab35e..a8d170d 100755 (executable)
@@ -71,6 +71,8 @@ public class AnalyzerManager {
        private static FailedChecker failedChecker = null;
        private static FailedChecker calledChecker = null;
 
+       private static boolean dataProcessEnd = false;
+
        private static FunctionUsageProfiler functionUserProfiler = null;
        private static Thread stopLogProcessThread = null;
        private static Thread startStopThread = null;
@@ -103,7 +105,7 @@ public class AnalyzerManager {
 
        public static DATheme getTheme() {
                if (null == theme) {
-//                      theme = DAThemeBlack.getInstance();
+                       // theme = DAThemeBlack.getInstance();
                        theme = DAThemeWhite.getInstance();
                }
                return theme;
@@ -545,7 +547,7 @@ public class AnalyzerManager {
                        Display.getDefault().syncExec(new Runnable() {
                                @Override
                                public void run() {
-                                       StateManager.getInstance().StopProcessStart(
+                                       StateManager.getInstance().stopProcessStart(
                                                        AnalyzerLabels.STOP_PROCESS_DLG_ERROR_2);
                                }
                        });
@@ -589,4 +591,12 @@ public class AnalyzerManager {
        public static String getAutoStartApplicationName() {
                return autoStartApplicationName;
        }
+
+       public static void setDataProcessEnd(boolean end) {
+               dataProcessEnd = end;
+       }
+
+       public static boolean isDataProcessEnd() {
+               return dataProcessEnd;
+       }
 }
index 182afab..8c3b20a 100644 (file)
@@ -35,10 +35,8 @@ import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.plugin.AbstractUIPlugin;\r
 import org.osgi.framework.BundleContext;\r
 import org.tizen.dynamicanalyzer.constants.AnalyzerConstants;\r
-import org.tizen.dynamicanalyzer.handlers.ExitHandler;\r
 import org.tizen.dynamicanalyzer.listeners.AnalyzerPartListener;\r
 import org.tizen.dynamicanalyzer.listeners.AnalyzerPerspectiveListener;\r
-import org.tizen.dynamicanalyzer.ui.views.CoolbarArea;\r
 import org.tizen.dynamicanalyzer.utils.AnalyzerUtil;\r
 \r
 public class AnalyzerPlugin extends AbstractUIPlugin {\r
@@ -113,9 +111,9 @@ public class AnalyzerPlugin extends AbstractUIPlugin {
 \r
                        @Override\r
                        public boolean preShutdown(IWorkbench workbench, boolean forced) {\r
-                               AnalyzerUtil.executeCommand(ExitHandler.ID);\r
-\r
-                               CoolbarArea.getInstance().dispose();\r
+//                             AnalyzerUtil.executeCommand(ExitHandler.ID);\r
+//\r
+//                             CoolbarArea.getInstance().dispose();\r
 \r
                                return true;\r
                        }\r
index 2efb531..910f398 100644 (file)
@@ -700,7 +700,7 @@ public class DACommunicator {
                 Display.getDefault().syncExec(new Runnable() {
                     @Override
                     public void run() {
-                        StateManager.getInstance().StopProcessStart(AnalyzerLabels.STOP_PROCESS_DLG_DEVICE_DISCONNECTED);
+                        StateManager.getInstance().stopProcessStart(AnalyzerLabels.STOP_PROCESS_DLG_DEVICE_DISCONNECTED);
                     }
                 });
                 System.out.println("stop log process thread call by device disconnected");//$NON-NLS-1$
index 24fd34d..1f2bdc8 100644 (file)
@@ -221,7 +221,7 @@ public class MessageProcess {
                Display.getDefault().syncExec(new Runnable() {
                        @Override
                        public void run() {
-                               StateManager.getInstance().StopProcessStart(
+                               StateManager.getInstance().stopProcessStart(
                                                AnalyzerLabels.STOP_PROCESS_DLG_SUMMARIZING_DATA);
                        }
                });
@@ -303,7 +303,7 @@ public class MessageProcess {
                        Display.getDefault().syncExec(new Runnable() {
                                @Override
                                public void run() {
-                                       StateManager.getInstance().StopProcessStart(
+                                       StateManager.getInstance().stopProcessStart(
                                                        AnalyzerLabels.STOP_PROCESS_DLG_ERROR_3); // socket
                                                                                                                                                // timeout
                                }
@@ -328,7 +328,7 @@ public class MessageProcess {
                        Display.getDefault().syncExec(new Runnable() {
                                @Override
                                public void run() {
-                                       StateManager.getInstance().StopProcessStart(
+                                       StateManager.getInstance().stopProcessStart(
                                                        AnalyzerLabels.STOP_PROCESS_DLG_ERROR_2);
                                }
                        });
index edb01fd..1d0fbf7 100644 (file)
@@ -6,9 +6,9 @@ import org.tizen.dynamicanalyzer.ui.widgets.StopProgressDialog;
 import org.tizen.dynamicanalyzer.utils.AnalyzerUtil;
 
 public class StateManager {
-       private static final int INIT = 0;
-       private static final int STOP_PROCESS_START = 1;
-       private static final int STOP_PROCESS_END = 2;
+       public static final int INIT = 0;
+       public static final int STOP_PROCESS_START = 1;
+       public static final int STOP_PROCESS_END = 2;
        private int state = INIT;
        private StopProgressDialog dialog = null;
 
@@ -22,49 +22,49 @@ public class StateManager {
                return instance;
        }
 
-       public void StopProcessStart(String EndMessage) {
+       public void stopProcessStart(String EndMessage) {
                if (state == STOP_PROCESS_START)
                        return;
                state = STOP_PROCESS_START;
                Shell shell = AnalyzerUtil.getWorkbenchWindow().getShell();
-               dialog = new StopProgressDialog(shell,  SWT.APPLICATION_MODAL);
+               dialog = new StopProgressDialog(shell, SWT.APPLICATION_MODAL);
                dialog.open();
                if (null != dialog)
                        dialog.setProcessMessage(EndMessage);
        }
 
-       public void WaitForLogParsing(int nSelect) {
+       public void waitForLogParsing(int nSelect) {
 
                if (null != dialog) {
                        dialog.setProcessSelection(nSelect);
                }
        }
 
-       public void SaveProjectAndOthers() {
+       public void saveProjectAndOthers() {
                if (null != dialog) {
                        dialog.setProcessSelection(60);
                }
        }
 
-       public void LogQueueObserverThreadEnd() {
+       public void logQueueObserverThreadEnd() {
                if (null != dialog) {
                        dialog.setProcessSelection(70);
                }
        }
 
-       public void UpdateTimerStop() {
+       public void updateTimerStop() {
                if (null != dialog) {
                        dialog.setProcessSelection(80);
                }
        }
 
-       public void InsertToDBComplete() {
+       public void insertToDBComplete() {
                if (null != dialog) {
                        dialog.setProcessSelection(90);
                }
        }
 
-       public void StopTrace() {
+       public void stopTrace() {
                if (null != dialog) {
                        dialog.setProcessSelection(100);
                        ResourceCommunicator.changePage(1);
@@ -72,4 +72,8 @@ public class StateManager {
                        state = STOP_PROCESS_END;
                }
        }
+
+       public int getState() {
+               return state;
+       }
 }
index 3b263e3..26590f6 100644 (file)
@@ -6,23 +6,25 @@ import org.eclipse.core.commands.ExecutionException;
 import org.tizen.dynamicanalyzer.AnalyzerManager;
 import org.tizen.dynamicanalyzer.DACommunicator;
 import org.tizen.dynamicanalyzer.LogSpliter;
+import org.tizen.dynamicanalyzer.ui.views.CoolbarArea;
 import org.tizen.dynamicanalyzer.utils.UpdateViewTimer;
 
-
 public class ExitHandler extends AbstractHandler {
 
        public static final String ID = ExitHandler.class.getName();
 
        @Override
        public Object execute(ExecutionEvent event) throws ExecutionException {
+               CoolbarArea.getInstance().stopTimer();
                UpdateViewTimer.stop();
                AnalyzerManager.stopLogQueueObservingThread();
                AnalyzerManager.stopInsertLogThread();
                LogSpliter.stopLogQueueObservingThread();
-               
+
                if (DACommunicator.isDaemonAlive()) {
                        DACommunicator.killDaemon();
                }
+
                return null;
        }
 
index cce0860..c87fe9d 100644 (file)
@@ -35,7 +35,7 @@ public class LogQueueObservingThread implements Runnable {
                Display.getDefault().syncExec(new Runnable() {
                        @Override
                        public void run() {
-                               StateManager.getInstance().LogQueueObserverThreadEnd();
+                               StateManager.getInstance().logQueueObserverThreadEnd();
                        }
                });
                CoolbarArea.getInstance().stopTimer();
index cec117a..6a93dfc 100644 (file)
@@ -31,7 +31,7 @@ public class StopLogProcessThread implements Runnable {
                     Display.getDefault().syncExec(new Runnable() {
                         @Override
                         public void run() {
-                            StateManager.getInstance().SaveProjectAndOthers();
+                            StateManager.getInstance().saveProjectAndOthers();
                         }
                     });
 
@@ -46,7 +46,7 @@ public class StopLogProcessThread implements Runnable {
                     Display.getDefault().syncExec(new Runnable() {
                         @Override
                         public void run() {
-                            StateManager.getInstance().InsertToDBComplete();
+                            StateManager.getInstance().insertToDBComplete();
                         }
                     });
 
@@ -84,7 +84,7 @@ public class StopLogProcessThread implements Runnable {
                         Display.getDefault().syncExec(new Runnable() {
                             @Override
                             public void run() {
-                                StateManager.getInstance().WaitForLogParsing(nSeclect);
+                                StateManager.getInstance().waitForLogParsing(nSeclect);
                             }
                         });
                     }
@@ -92,7 +92,7 @@ public class StopLogProcessThread implements Runnable {
                     Display.getDefault().syncExec(new Runnable() {
                         @Override
                         public void run() {
-                            StateManager.getInstance().WaitForLogParsing(50);
+                            StateManager.getInstance().waitForLogParsing(50);
                         }
                     });
                     System.out.println("wait for log parsing..."); //$NON-NLS-1$
@@ -105,10 +105,11 @@ public class StopLogProcessThread implements Runnable {
         CoolbarArea.getInstance().stopTimer();
 
         System.out.println(" stop trace "); //$NON-NLS-1$
+        AnalyzerManager.setDataProcessEnd(true);
         Display.getDefault().syncExec(new Runnable() {
             @Override
             public void run() {
-                StateManager.getInstance().StopTrace();
+                StateManager.getInstance().stopTrace();
             }
         });
 
index 5da09a2..89656cd 100755 (executable)
@@ -125,7 +125,7 @@ public class CoolbarArea {
 
        private static int COMBO_FIRST_INDEX = 0;
 
-       public static boolean bThreadPageWork = true; // FIXME
+       public static boolean bThreadPageWork = false; // FIXME
 
        private ShellListener shellListener = new ShellListener() {
 
@@ -315,7 +315,7 @@ public class CoolbarArea {
                                                        ImageResources.START_HOVER);
                                        setStartToolbarState(false);
                                        setToolbarEnablement(true);
-                                       StateManager.getInstance().StopProcessStart(
+                                       StateManager.getInstance().stopProcessStart(
                                                        AnalyzerLabels.STOP_PROCESS_DLG_SUMMARIZING_DATA);
                                }
                                button.setEnabled(false);
index b3f716d..162bc6e 100644 (file)
@@ -63,24 +63,7 @@ public class SaveAsDialog extends ApplicationWindow {
                data.width = 200;
                textBox.setLayoutData(data);
                textBox.setBackground(ColorResources.VIEW_BG_COLOR);
-               textBox.addKeyListener(new KeyListener() {
-
-                       @Override
-                       public void keyReleased(KeyEvent e) {
-                               // TODO Auto-generated method stub
-                               if (!checkValidFileName(textBox.getText())) {
-                                       okButton.setEnabled(false);
-                               } else {
-                                       okButton.setEnabled(true);
-                               }
-                       }
-
-                       @Override
-                       public void keyPressed(KeyEvent e) {
-                               // TODO Auto-generated method stub
-
-                       }
-               });
+               textBox.addKeyListener(keyListener);
 
                okButton = new DAButton(shell, SWT.NONE);
                data = new FormData();
@@ -123,6 +106,23 @@ public class SaveAsDialog extends ApplicationWindow {
                }
        };
 
+       private KeyListener keyListener = new KeyListener() {
+
+               @Override
+               public void keyReleased(KeyEvent e) {
+                       if (!checkValidFileName(textBox.getText())) {
+                               okButton.setEnabled(false);
+                       } else {
+                               okButton.setEnabled(true);
+                       }
+               }
+
+               @Override
+               public void keyPressed(KeyEvent e) {
+
+               }
+       };
+
        private String getSaveFileName() {
                Project project = AnalyzerManager.getProject();
                String sourcePath = project.getSavePath();
index 7840663..3883388 100644 (file)
@@ -48,7 +48,7 @@ public class UpdateViewTimer {
                        Display.getDefault().syncExec(new Runnable() {
                                @Override
                                public void run() {
-                                       StateManager.getInstance().UpdateTimerStop();
+                                       StateManager.getInstance().updateTimerStop();
                                }
                        });
                }