- both latencytop and perf handler run the same initialization code
        -> moved  the common code to TerminalHandler
        -> added constants to hold dialog's titles and messages that are 
different for each handler

Signed-off-by: Ioana Grigoropol <[email protected]>
---
 .../sdk/remotetools/actions/IBaseConstants.java    |    3 +++
 .../sdk/remotetools/actions/LatencytopHandler.java |   22 +++++++-------------
 .../yocto/sdk/remotetools/actions/PerfHandler.java |   22 +++++++-------------
 .../sdk/remotetools/actions/TerminalHandler.java   |   16 ++++++++++----
 4 files changed, 31 insertions(+), 32 deletions(-)

diff --git 
a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/IBaseConstants.java
 
b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/IBaseConstants.java
index ccab19c..d4bbe12 100644
--- 
a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/IBaseConstants.java
+++ 
b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/IBaseConstants.java
@@ -21,4 +21,7 @@ public interface IBaseConstants {
        public static final String CONNECTION_NAME_LATENCYTOP = QUALIFIER + 
"connection.latencytop"; //$NON-NLS-1$
        public static final String CONNECTION_NAME_PERF = QUALIFIER + 
"connection.perf"; //$NON-NLS-1$
        public static final String CONNECTION_NAME_SYSTEMTAP = QUALIFIER + 
"connection.systemtap"; //$NON-NLS-1$
+
+       public static final String DIALOG_TITLE_LATENCYTOP = "Latencytop"; 
//$NON-NLS-1$
+       public static final String DIALOG_TITLE_PERF = "Perf"; //$NON-NLS-1$
 }
diff --git 
a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/LatencytopHandler.java
 
b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/LatencytopHandler.java
index 55773d6..ef77957 100644
--- 
a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/LatencytopHandler.java
+++ 
b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/LatencytopHandler.java
@@ -10,27 +10,21 @@
  
*******************************************************************************/
 package org.yocto.sdk.remotetools.actions;
 
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.handlers.HandlerUtil;
 
 public class LatencytopHandler extends TerminalHandler {
        
        private static String initCmd="export 
PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin; cd; sudo latencytop\r";
        
+       @Override
        protected String getInitCmd() {
                return initCmd;
        }
-       
-       protected void initialize(ExecutionEvent event) throws 
ExecutionException {
-               IWorkbenchWindow window = 
HandlerUtil.getActiveWorkbenchWindowChecked(event);
-               shell = window.getShell();
-
-               setting=new SimpleSettingDialog(
-                               shell,
-                               "Latencytop",
-                               IBaseConstants.CONNECTION_NAME_LATENCYTOP
-                               );
+       @Override
+       protected String getConnnectionName() {
+               return IBaseConstants.CONNECTION_NAME_LATENCYTOP;
+       }
+       @Override
+       protected String getDialogTitle() {
+               return IBaseConstants.DIALOG_TITLE_LATENCYTOP;
        }
 }
diff --git 
a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/PerfHandler.java
 
b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/PerfHandler.java
index 22046e9..949bd46 100644
--- 
a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/PerfHandler.java
+++ 
b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/PerfHandler.java
@@ -10,27 +10,21 @@
  
*******************************************************************************/
 package org.yocto.sdk.remotetools.actions;
 
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.handlers.HandlerUtil;
 
 public class PerfHandler extends TerminalHandler {
 
        private static String initCmd="cd; perf\r";
        
+       @Override
        protected String getInitCmd() {
                return initCmd;
        }
-       
-       protected void initialize(ExecutionEvent event) throws 
ExecutionException {
-               IWorkbenchWindow window = 
HandlerUtil.getActiveWorkbenchWindowChecked(event);
-               shell = window.getShell();
-               setting=new SimpleSettingDialog(
-                               shell,
-                               "Perf",
-                               IBaseConstants.CONNECTION_NAME_LATENCYTOP
-                               );
+       @Override
+       protected String getConnnectionName() {
+               return IBaseConstants.CONNECTION_NAME_PERF;
+       }
+       @Override
+       protected String getDialogTitle() {
+               return IBaseConstants.DIALOG_TITLE_PERF;
        }
-
 }
diff --git 
a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/TerminalHandler.java
 
b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/TerminalHandler.java
index a3fa409..84e38f2 100644
--- 
a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/TerminalHandler.java
+++ 
b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/TerminalHandler.java
@@ -13,12 +13,11 @@ package org.yocto.sdk.remotetools.actions;
 import org.eclipse.core.commands.AbstractHandler;
 import org.eclipse.core.commands.ExecutionEvent;
 import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.NullProgressMonitor;
 import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
 import org.eclipse.core.runtime.OperationCanceledException;
 import org.eclipse.jface.dialogs.ProgressMonitorDialog;
 import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.swt.widgets.Shell;
 import org.eclipse.rse.core.model.IHost;
 import org.eclipse.rse.internal.terminals.ui.TerminalServiceHelper;
 import org.eclipse.rse.internal.terminals.ui.views.RSETerminalConnector;
@@ -32,10 +31,13 @@ import org.eclipse.rse.ui.SystemBasePlugin;
 import org.eclipse.swt.custom.CTabItem;
 import org.eclipse.swt.events.DisposeEvent;
 import org.eclipse.swt.events.DisposeListener;
+import org.eclipse.swt.widgets.Shell;
 import org.eclipse.tm.internal.terminal.control.ITerminalViewControl;
 import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector;
-import org.yocto.sdk.remotetools.RSEHelper;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.handlers.HandlerUtil;
 import org.yocto.sdk.remotetools.CommonHelper;
+import org.yocto.sdk.remotetools.RSEHelper;
 
 abstract public class TerminalHandler extends AbstractHandler {
        
@@ -46,7 +48,13 @@ abstract public class TerminalHandler extends 
AbstractHandler {
        protected String changeTerm="export TERM=vt100;";
        
        abstract protected String getInitCmd();
-       abstract protected void initialize(ExecutionEvent event) throws 
ExecutionException;
+       abstract protected String getConnnectionName();
+       abstract protected String getDialogTitle();
+       protected void initialize(ExecutionEvent event) throws 
ExecutionException{
+               IWorkbenchWindow window = 
HandlerUtil.getActiveWorkbenchWindowChecked(event);
+               shell = window.getShell();
+               setting = new SimpleSettingDialog(shell, getDialogTitle(), 
getConnnectionName());
+       }
        
        protected ITerminalShell getTerminalShellFromTab(CTabItem item) {
         ITerminalShell terminalShell = null;
-- 
1.7.9.5

_______________________________________________
yocto mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/yocto

Reply via email to