trace/traceviewer/com.nokia.traceviewer/src/com/nokia/traceviewer/engine/preferences/wizard/ImportWizard.java
author Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
Tue, 24 Aug 2010 14:01:48 +0300
changeset 16 72f198be1c1d
parent 11 5b9d4d8641ce
permissions -rw-r--r--
Crash Analyser Carbide Extension 1.4.0

/*
 * Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). 
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
 * Initial Contributors:
 * Nokia Corporation - initial contribution.
 *
 * Contributors:
 *
 * Description:
 *
 * Import wizard
 *
 */
package com.nokia.traceviewer.engine.preferences.wizard;

import java.io.File;

import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.wizard.Wizard;
import org.eclipse.ui.IImportWizard;
import org.eclipse.ui.IWorkbench;

import com.nokia.traceviewer.engine.TraceViewerGlobals;
import com.nokia.traceviewer.engine.preferences.XMLColorConfigurationImporter;
import com.nokia.traceviewer.engine.preferences.XMLFilterConfigurationImporter;
import com.nokia.traceviewer.engine.preferences.XMLLineCountConfigurationImporter;
import com.nokia.traceviewer.engine.preferences.XMLTriggerConfigurationImporter;
import com.nokia.traceviewer.engine.preferences.XMLVariableTracingConfigurationImporter;

/**
 * Wizard for importing TraceViewer configurations from a file
 */
public class ImportWizard extends Wizard implements IImportWizard {

	/**
	 * Import page
	 */
	private ImportPage importPage;

	/*
	 * (non-Javadoc)
	 * 
	 * @see org.eclipse.jface.wizard.Wizard#performFinish()
	 */
	@Override
	public boolean performFinish() {
		boolean success = false;
		File file = importPage.getFile();
		if (file != null) {
			String fn = file.getAbsolutePath();

			// Import Filter rules
			XMLFilterConfigurationImporter filterImporter = new XMLFilterConfigurationImporter(
					TraceViewerGlobals.getTraceViewer()
							.getDataProcessorAccess().getFilterProcessor()
							.getRoot(), fn, false);
			filterImporter.importData();

			// Import Color rules
			XMLColorConfigurationImporter colorImporter = new XMLColorConfigurationImporter(
					TraceViewerGlobals.getTraceViewer()
							.getDataProcessorAccess().getColorer().getRoot(),
					fn, false);
			colorImporter.importData();

			// Import LineCount rules
			XMLLineCountConfigurationImporter countImporter = new XMLLineCountConfigurationImporter(
					TraceViewerGlobals.getTraceViewer()
							.getDataProcessorAccess().getLineCountProcessor()
							.getRoot(), fn, false);
			countImporter.importData();

			// Import Variable Tracing rules
			XMLVariableTracingConfigurationImporter var = new XMLVariableTracingConfigurationImporter(
					TraceViewerGlobals.getTraceViewer()
							.getDataProcessorAccess()
							.getVariableTracingProcessor().getRoot(), fn, false);
			var.importData();

			// Import Trigger rules
			XMLTriggerConfigurationImporter triggerImporter = new XMLTriggerConfigurationImporter(
					TraceViewerGlobals.getTraceViewer()
							.getDataProcessorAccess().getTriggerProcessor()
							.getRoot(), fn, false);
			triggerImporter.importData();

			// Inform about import succesful
			String imported = Messages.getString("ImportWizard.Imsg"); //$NON-NLS-1$
			TraceViewerGlobals.getTraceViewer().getDialogs()
					.showInformationMessage(imported);

			success = true;
		}
		return success;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see org.eclipse.ui.IWorkbenchWizard#init(org.eclipse.ui.IWorkbench,
	 * org.eclipse.jface.viewers.IStructuredSelection)
	 */
	public void init(IWorkbench workbench, IStructuredSelection selection) {
		setWindowTitle(Messages.getString("ImportWizard.ImportTitle")); //$NON-NLS-1$
		importPage = new ImportPage();
		addPage(importPage);
	}

}