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)
52 public void init(IWorkbench workbench
, IStructuredSelection selection
) {
53 setWindowTitle("Adding traces to experiment");
57 * @see org.eclipse.jface.wizard.Wizard#addPages()
60 public void addPages() {
62 fMainPage
= new AddTraceWizardPage(fProject
, "Some string");
67 * @see org.eclipse.jface.wizard.Wizard#performFinish()
70 public boolean performFinish() {
72 IWorkspace workspace
= ResourcesPlugin
.getWorkspace();
73 IFolder experimentFolder
= fExperiment
.getFolder();
75 TmfTraceNode
[] traces
= fMainPage
.getSelection();
76 for (TmfTraceNode trace
: traces
) {
78 IResource resource
= trace
.getResource();
79 IPath location
= resource
.getLocation();
80 if (resource
instanceof IFolder
) {
81 IFolder folder
= experimentFolder
.getFolder(trace
.getName());
82 if (workspace
.validateLinkLocation(folder
, location
).isOK()) {
83 folder
.createLink(location
, IResource
.REPLACE
, null);
86 System
.out
.println("Problem");
89 IFile file
= experimentFolder
.getFile(trace
.getName());
90 if (workspace
.validateLinkLocation(file
, location
).isOK()) {
91 file
.createLink(location
, IResource
.REPLACE
, null);
94 System
.out
.println("Problem");
97 } catch (CoreException e
) {