sysperfana/perfinvestigator/com.nokia.carbide.cpp.pi/src/com/nokia/carbide/cpp/internal/pi/analyser/AnalyserDataProcessor.java
changeset 12 ae255c9aa552
parent 5 844b047e260d
--- a/sysperfana/perfinvestigator/com.nokia.carbide.cpp.pi/src/com/nokia/carbide/cpp/internal/pi/analyser/AnalyserDataProcessor.java	Wed Jun 23 14:49:59 2010 +0300
+++ b/sysperfana/perfinvestigator/com.nokia.carbide.cpp.pi/src/com/nokia/carbide/cpp/internal/pi/analyser/AnalyserDataProcessor.java	Wed Jun 23 15:05:09 2010 +0300
@@ -31,15 +31,9 @@
 import java.util.List;
 
 import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.WorkspaceJob;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.IJobChangeEvent;
-import org.eclipse.core.runtime.jobs.IJobChangeListener;
-import org.eclipse.core.runtime.jobs.Job;
 import org.eclipse.jface.operation.IRunnableWithProgress;
 import org.eclipse.swt.events.PaintEvent;
 import org.eclipse.swt.events.PaintListener;
@@ -63,7 +57,6 @@
 import com.nokia.carbide.cpp.internal.pi.test.IProvideTraceAdditionalInfo;
 import com.nokia.carbide.cpp.internal.pi.visual.GraphDrawRequest;
 import com.nokia.carbide.cpp.internal.pi.visual.PICompositePanel;
-import com.nokia.carbide.cpp.pi.PiPlugin;
 import com.nokia.carbide.cpp.pi.editors.PIPageEditor;
 import com.nokia.carbide.cpp.pi.importer.SampleImporter;
 import com.nokia.carbide.cpp.pi.util.GeneralMessages;
@@ -78,13 +71,13 @@
 public class AnalyserDataProcessor {
 	protected static final int MAX_CPU = 4;
 	// whether the profile file was read correctly
-	public static int STATE_OK				= 0;
-	public static int STATE_IMPORTING		= 1;
-	public static int STATE_OPENING			= 2;
-	public static int STATE_TIMESTAMP		= 3;
-	public static int STATE_CANCELED		= 4;
-	public static int STATE_INVALID			= 5;
-	public static int TOTAL_PROGRESS_COUNT	= 10000;
+	public final static int STATE_OK				= 0;
+	public final static int STATE_IMPORTING		= 1;
+	public final static int STATE_OPENING			= 2;
+	public final static int STATE_TIMESTAMP		= 3;
+	public final static int STATE_CANCELED		= 4;
+	public final static int STATE_INVALID			= 5;
+	public final static int TOTAL_PROGRESS_COUNT	= 10000;
 
 	static AnalyserDataProcessor instance = null;
 
@@ -385,68 +378,25 @@
 			
 		};
 		
-		
-		
 		try {
 			progressService.busyCursorWhile(runnableImportAndSave);
-		
-			final WorkspaceJob saveNpi = new WorkspaceJob (Messages.getString("AnalyserDataProcessor.savingImportedFile")) { //$NON-NLS-1$
+			final IRunnableWithProgress saveNpi = new IRunnableWithProgress() {
+				public void run(IProgressMonitor monitor)
+						throws InvocationTargetException, InterruptedException {
+					ProfileReader.getInstance().writeAnalysisFile(
+							analysisFile.getLocation().toString(), monitor,
+							null, uid);
 
-				public IStatus runInWorkspace(IProgressMonitor monitor)
-						throws CoreException {
-					try {
-						ProfileReader.getInstance().writeAnalysisFile(analysisFile.getLocation().toString(), monitor, null, uid);
-					} catch (InvocationTargetException e) {
-						return new Status(IStatus.ERROR, PiPlugin.PLUGIN_ID, Messages.getString("AnalyserDataProcessor.invocationTargetException"), e); //$NON-NLS-1$ //$NON-NLS-2$
-					} catch (InterruptedException e) {
-						return new Status(IStatus.CANCEL, PiPlugin.PLUGIN_ID, Messages.getString("AnalyserDataProcessor.interruptedException"), e); //$NON-NLS-1$ //$NON-NLS-2$
-					}
-					return new Status(IStatus.OK, PiPlugin.PLUGIN_ID, Messages.getString("AnalyserDataProcessor.ok"), null); //$NON-NLS-1$ //$NON-NLS-2$
-				}
-				
-			};
-		
-			progressService.busyCursorWhile(runnableOpen);
-
-			saveNpi.setPriority(Job.DECORATE);
-			saveNpi.addJobChangeListener(new IJobChangeListener () {
-				
-				public void aboutToRun(IJobChangeEvent event) {
 				}
 
-				public void awake(IJobChangeEvent event) {
-				}
-
-				public void done(IJobChangeEvent event) {
-					if (saveNpi.getResult().getSeverity()  != IStatus.OK) {
-						handleRunnableException (saveNpi.getResult().getException(), uid, analysisFile);
-					}
-				}
-
-				public void running(IJobChangeEvent event) {
-				}
-
-				public void scheduled(IJobChangeEvent event) {
-				}
-
-				public void sleeping(IJobChangeEvent event) {
-				}
-				
-			});
-			
-			saveNpi.schedule();
-			
-			if (pollTillNpiSaved) {
-				while (saveNpi.getState() != Job.NONE) {
-					// until it's done
-				}
-			}
-			
+			};
+			progressService.busyCursorWhile(saveNpi);
+			progressService.busyCursorWhile(runnableOpen);
 		} catch (InvocationTargetException e) {
 			handleRunnableException(e, uid, analysisFile);
 		} catch (InterruptedException e) {
 			handleRunnableException(e, uid, analysisFile);
-		}							
+		}						
 	}
 	
 	public void importSave(final IFile analysisFile, final List<ITrace> pluginsToUse, String suffixTaskName, IProgressMonitor monitor) {