trace/traceviewer/com.nokia.traceviewer/src/com/nokia/traceviewer/engine/preferences/wizard/ImportWizard.java
changeset 11 5b9d4d8641ce
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trace/traceviewer/com.nokia.traceviewer/src/com/nokia/traceviewer/engine/preferences/wizard/ImportWizard.java	Wed Jun 23 14:49:59 2010 +0300
@@ -0,0 +1,114 @@
+/*
+ * 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);
+	}
+
+}