1 /*******************************************************************************
2 * Copyright (c) 2009, 2010 Ericsson
4 * All rights reserved. This program and the accompanying materials are
5 * made available under the terms of the Eclipse Public License v1.0 which
6 * accompanies this distribution, and is available at
7 * http://www.eclipse.org/legal/epl-v10.html
10 * Francois Chouinard - Initial API and implementation
11 *******************************************************************************/
13 package org
.eclipse
.linuxtools
.tmf
.ui
.views
.project
.dialogs
;
15 import org
.eclipse
.core
.resources
.IFile
;
16 import org
.eclipse
.core
.resources
.IFolder
;
17 import org
.eclipse
.core
.resources
.IResource
;
18 import org
.eclipse
.core
.resources
.IWorkspace
;
19 import org
.eclipse
.core
.resources
.ResourcesPlugin
;
20 import org
.eclipse
.core
.runtime
.CoreException
;
21 import org
.eclipse
.core
.runtime
.IPath
;
22 import org
.eclipse
.jface
.viewers
.IStructuredSelection
;
23 import org
.eclipse
.jface
.wizard
.Wizard
;
24 import org
.eclipse
.linuxtools
.tmf
.ui
.views
.project
.model
.TmfExperimentNode
;
25 import org
.eclipse
.linuxtools
.tmf
.ui
.views
.project
.model
.TmfProjectNode
;
26 import org
.eclipse
.linuxtools
.tmf
.ui
.views
.project
.model
.TmfTraceNode
;
27 import org
.eclipse
.ui
.IImportWizard
;
28 import org
.eclipse
.ui
.IWorkbench
;
31 * <b><u>AddTraceWizard</u></b>
33 * TODO: Implement me. Please.
35 public class AddTraceWizard
extends Wizard
implements IImportWizard
{
37 private TmfProjectNode fProject
;
38 private TmfExperimentNode fExperiment
;
39 private AddTraceWizardPage fMainPage
;
44 public AddTraceWizard(TmfProjectNode project
, TmfExperimentNode experiment
) {
46 fExperiment
= experiment
;
50 * @see org.eclipse.ui.IWorkbenchWizard#init(org.eclipse.ui.IWorkbench, org.eclipse.jface.viewers.IStructuredSelection)
53 public void init(IWorkbench workbench
, IStructuredSelection selection
) {
54 setWindowTitle(Messages
.AddTraceWizard_windowTitle
);
58 * @see org.eclipse.jface.wizard.Wizard#addPages()
61 public void addPages() {
63 fMainPage
= new AddTraceWizardPage(fProject
, "Some string"); //$NON-NLS-1$
68 * @see org.eclipse.jface.wizard.Wizard#performFinish()
71 public boolean performFinish() {
73 IWorkspace workspace
= ResourcesPlugin
.getWorkspace();
74 IFolder experimentFolder
= fExperiment
.getFolder();
76 TmfTraceNode
[] traces
= fMainPage
.getSelection();
77 for (TmfTraceNode trace
: traces
) {
79 IResource resource
= trace
.getResource();
80 IPath location
= resource
.getLocation();
81 if (resource
instanceof IFolder
) {
82 IFolder folder
= experimentFolder
.getFolder(trace
.getName());
83 if (workspace
.validateLinkLocation(folder
, location
).isOK()) {
84 folder
.createLink(location
, IResource
.REPLACE
, null);
87 System
.out
.println(Messages
.AddTraceWizard_invalidTraceLocation
);
90 IFile file
= experimentFolder
.getFile(trace
.getName());
91 if (workspace
.validateLinkLocation(file
, location
).isOK()) {
92 file
.createLink(location
, IResource
.REPLACE
, null);
95 System
.out
.println(Messages
.AddTraceWizard_invalidTraceLocation
);
98 } catch (CoreException e
) {