- powertop and ust2 models contain duplicate code that performs the same 
action when getting data from remote host (method getDataFile)
        - unify getDataFile method implementation by removing the extra param 
from ust2-> convert it into a field of BaseModel
            - move getDataFile method to BaseModel in order to remove duplicate 
code
        - move localFile and remoteFile variables to BaseModel
        - ensure that each model will check the validity of the remote file at 
the end of generateData method

Signed-off-by: Ioana Grigoropol <ioanax.grigoro...@intel.com>
---
 .../yocto/sdk/remotetools/actions/BaseModel.java   |    6 ++-
 .../sdk/remotetools/actions/PowertopModel.java     |   25 +++----------
 .../yocto/sdk/remotetools/actions/Ust2Model.java   |   39 ++++++--------------
 3 files changed, 23 insertions(+), 47 deletions(-)

diff --git 
a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/BaseModel.java
 
b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/BaseModel.java
index 650cc67..51ab09b 100644
--- 
a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/BaseModel.java
+++ 
b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/BaseModel.java
@@ -23,6 +23,8 @@ abstract public class BaseModel implements 
IRunnableWithProgress {
        protected String taskName;
        protected String localScript;
        protected String remoteExec;
+       protected String localFile;
+       protected String remoteFile;
        
        private static final int WORKLOAD = 100;
 
@@ -95,5 +97,7 @@ abstract public class BaseModel implements 
IRunnableWithProgress {
                        monitor.done();
                }
        }
-
+       protected void getDataFile(IProgressMonitor monitor) throws Exception {
+               RSEHelper.getRemoteFile( host, localFile, remoteFile, monitor);
+       }
 }
diff --git 
a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/PowertopModel.java
 
b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/PowertopModel.java
index 0bd4e9e..ae1f8bf 100644
--- 
a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/PowertopModel.java
+++ 
b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/PowertopModel.java
@@ -40,9 +40,6 @@ public class PowertopModel extends BaseModel {
        private Float time;
        private boolean showpid;
        Display display;
-
-       String localfile;
-       String remotefile;
        
        public PowertopModel(IHost host, Float time,boolean showpid,Display 
display) {
                super(host, TASK_NAME, LOCAL_SCRIPT, REMOTE_EXEC);
@@ -55,7 +52,7 @@ public class PowertopModel extends BaseModel {
        public void postProcess(IProgressMonitor monitor)
                        throws InvocationTargetException, InterruptedException {
                try {
-                       new File(localfile).delete();
+                       new File(localFile).delete();
                }catch (Exception e) {
                }
        }
@@ -64,21 +61,21 @@ public class PowertopModel extends BaseModel {
                int exit_code;
                RemoteApplication app = new RemoteApplication(host, null, 
remoteExec, null);
                String currentDate=new 
SimpleDateFormat("yyyyMMddHHmmssSSS").format(Calendar.getInstance().getTime()).toString();
-               remotefile = new String(REMOTE_FILE_PREFIX + currentDate);
-               localfile = new String(remotefile + LOCAL_FILE_SUFFIX);
+               remoteFile = new String(REMOTE_FILE_PREFIX + currentDate);
+               localFile = new String(remoteFile + LOCAL_FILE_SUFFIX);
                
                ArrayList <String> param= new ArrayList <String>();
                param.add(remoteExec);
                param.add("start");
                param.add("-l");
-               param.add(remotefile);
+               param.add(remoteFile);
                param.add("powertop");
                param.add("-d");
                param.add("-t");
                param.add(time.toString());
                if(showpid)
                        param.add("-p");
-               String args = "start -l " + remotefile + " powertop -d -t " + 
time.toString();
+               String args = "start -l " + remoteFile + " powertop -d -t " + 
time.toString();
                if(showpid)
                        args += " -p";
                
@@ -97,16 +94,6 @@ public class PowertopModel extends BaseModel {
                }
        }
 
-       private void getDataFile(IProgressMonitor monitor) throws Exception {
-                               
-               RSEHelper.getRemoteFile(
-                               host,
-                               localfile,
-                               remotefile, 
-                               monitor);
-       }
-       
-       
        @Override
        public void process(IProgressMonitor monitor)
                        throws InvocationTargetException, InterruptedException {
@@ -130,7 +117,7 @@ public class PowertopModel extends BaseModel {
                                                e.printStackTrace();
                                                return;
                                        }
-                                       view.setInput(localfile);
+                                       view.setInput(localFile);
                                        page.bringToTop(view);
                                }
                        });
diff --git 
a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/Ust2Model.java
 
b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/Ust2Model.java
index 2f508a6..f767965 100644
--- 
a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/Ust2Model.java
+++ 
b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/Ust2Model.java
@@ -26,7 +26,6 @@ import org.eclipse.core.runtime.Path;
 import org.eclipse.core.runtime.SubProgressMonitor;
 import org.eclipse.rse.core.model.IHost;
 import org.eclipse.ui.IWorkbenchWindow;
-import org.yocto.sdk.remotetools.RSEHelper;
 import org.yocto.sdk.remotetools.remote.RemoteApplication;
 
 public class Ust2Model extends BaseModel {
@@ -46,8 +45,6 @@ public class Ust2Model extends BaseModel {
        
        private String prj_name;
        
-       private String localfile;
-       
        private IWorkbenchWindow window;
        
        public Ust2Model(IHost host, String trace, String project, 
IWorkbenchWindow window) {
@@ -58,11 +55,10 @@ public class Ust2Model extends BaseModel {
                this.window = window;
        }
        
-       private String generateData(IProgressMonitor monitor) throws Exception {
+       private void generateData(IProgressMonitor monitor) throws Exception {
                int exit_code;
                RemoteApplication app = new RemoteApplication(host, null, 
remoteExec, null);
                
-               String remoteDataFile = null;
                
                try {
                        String temp;
@@ -75,7 +71,7 @@ public class Ust2Model extends BaseModel {
                        while((temp=in.readLine())!=null) {
                                idx=temp.indexOf(DATAFILE_PREFIX);
                                if(idx!=-1) {
-                                       remoteDataFile=temp.substring(idx + 
DATAFILE_PREFIX.length());
+                                       remoteFile = temp.substring(idx + 
DATAFILE_PREFIX.length());
                                        break;
                                }
                        }
@@ -87,33 +83,22 @@ public class Ust2Model extends BaseModel {
                }finally {
                        monitor.done();
                }
-               if(remoteDataFile==null)
+               if(remoteFile == null)
                        throw new Exception("Ust: null remote data file");
-               return remoteDataFile;
-       }
-       
-       private void getDataFile(IProgressMonitor monitor,String datafile) 
throws Exception {
-               
-               if(datafile.endsWith(REMOTE_FILE_SUFFIX)==false)
-                       throw new Exception("Wrong ust data file "+datafile);
-               
-               localfile=new String(datafile.substring(0,datafile.length()-4) 
+ LOCAL_FILE_SUFFIX);
+               if(remoteFile.endsWith(REMOTE_FILE_SUFFIX)==false)
+                       throw new Exception("Wrong ust data file " + 
remoteFile);
                
-               RSEHelper.getRemoteFile(
-                               host,
-                               localfile,
-                               datafile, 
-                               monitor);
+               localFile = new String(remoteFile.substring(0, 
remoteFile.length()-4) + LOCAL_FILE_SUFFIX);
        }
 
        private void importToProject(IProgressMonitor monitor) throws Exception 
{
-               ProcessBuilder pb = new ProcessBuilder("tar", "fx", localfile);
+               ProcessBuilder pb = new ProcessBuilder("tar", "fx", localFile);
                pb.directory(new File("/tmp"));
                Process p=pb.start();
                if(p.waitFor()!=0)
                        throw new Exception("extract ust data files failed");
                
-               String traceName = 
localfile.substring(0,localfile.length()-LOCAL_FILE_SUFFIX.length());
+               String traceName = 
localFile.substring(0,localFile.length()-LOCAL_FILE_SUFFIX.length());
                
                IWorkspaceRoot wsroot = 
ResourcesPlugin.getWorkspace().getRoot();
                IPath full_path = wsroot.getFullPath();
@@ -142,12 +127,12 @@ public class Ust2Model extends BaseModel {
                String viewerParam=new String(LOCAL_EXEC);
                int i;
                
-               ProcessBuilder pb = new ProcessBuilder("tar", "fx", localfile);
+               ProcessBuilder pb = new ProcessBuilder("tar", "fx", localFile);
                pb.directory(new File("/tmp"));
                Process p=pb.start();
                if(p.waitFor()!=0)
                        throw new Exception("extract ust data files failed");
-               File f=new 
File(localfile.substring(0,localfile.length()-LOCAL_FILE_SUFFIX.length()));
+               File f=new 
File(localFile.substring(0,localFile.length()-LOCAL_FILE_SUFFIX.length()));
                File []subdir=f.listFiles();
                
                for (i=0;i<subdir.length;i++) {
@@ -171,11 +156,11 @@ public class Ust2Model extends BaseModel {
                        //preparing remote trace
                        
                        monitor.subTask("Preparing user space lttng data file 
remotely");
-                       datafile=generateData(new 
SubProgressMonitor(monitor,30));
+                       generateData(new SubProgressMonitor(monitor,30));
                        
                        //download datafile to local
                        monitor.subTask("Downloading user space lttng data 
file");
-                       getDataFile(new 
SubProgressMonitor(monitor,30),datafile);
+                       getDataFile(new SubProgressMonitor(monitor,30));
                        
                        //extract datafile and import to lttng project
                        importToProject(new SubProgressMonitor(monitor,30));
-- 
1.7.9.5

_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto

Reply via email to