X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=org.eclipse.linuxtools.tmf.ui%2Fsrc%2Forg%2Feclipse%2Flinuxtools%2Ftmf%2Fui%2Fproject%2Fwizards%2FNewTmfProjectWizard.java;h=85894718c28f1043ca867ab6c29950ef2d9a3abd;hb=fbdee51bae97d04fb50bec47da228e74672154ca;hp=dbedb42dbc27d86ad7460fea772e6c74490b6b93;hpb=0134e226709ab086e6869b0a76e4ca651570540e;p=deliverable%2Ftracecompass.git diff --git a/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/NewTmfProjectWizard.java b/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/NewTmfProjectWizard.java index dbedb42dbc..85894718c2 100644 --- a/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/NewTmfProjectWizard.java +++ b/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/NewTmfProjectWizard.java @@ -1,70 +1,104 @@ /******************************************************************************* - * Copyright (c) 2009, 2011 Ericsson - * + * Copyright (c) 2009, 2013 Ericsson + * * All rights reserved. This program and the accompanying materials are * made available under the terms of the Eclipse Public License v1.0 which * accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Francois Chouinard - Initial API and implementation + * Bernd Hufmann - Moved project creation utility method to TmfProjectRegistry *******************************************************************************/ package org.eclipse.linuxtools.tmf.ui.project.wizards; import java.net.URI; -import org.eclipse.core.resources.IFolder; import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.IProjectDescription; -import org.eclipse.core.resources.IWorkspace; -import org.eclipse.core.resources.IWorkspaceRoot; -import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IConfigurationElement; import org.eclipse.core.runtime.IExecutableExtension; -import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jface.wizard.Wizard; -import org.eclipse.linuxtools.internal.tmf.ui.TmfUiPlugin; -import org.eclipse.linuxtools.tmf.core.TmfProjectNature; -import org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentFolder; -import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder; +import org.eclipse.linuxtools.internal.tmf.ui.Activator; +import org.eclipse.linuxtools.tmf.ui.project.model.TmfProjectRegistry; import org.eclipse.ui.INewWizard; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.wizards.newresource.BasicNewProjectResourceWizard; /** - * NewTmfProjectWizard - *

+ * Wizard implementation for creating a TMF tracing project. + * + * @version 1.0 + * @author Francois Chouinard */ public class NewTmfProjectWizard extends Wizard implements INewWizard, IExecutableExtension { + // ------------------------------------------------------------------------ + // Constants + // ------------------------------------------------------------------------ + + /** + * The wizard id + * + * @since 2.0 + */ + public static final String ID = "org.eclipse.linuxtools.tmf.ui.views.ui.wizards.newProject"; //$NON-NLS-1$ + + // ------------------------------------------------------------------------ + // Attributes + // ------------------------------------------------------------------------ + private final String fTtitle; private final String fDescription; + /** + * Wizard main page + */ protected NewTmfProjectMainWizardPage fMainPage; + + /** + * The Project name + */ protected String fProjectName; + + /** + * The project location + */ + protected URI fProjectLocation; + + /** + * The configuration element. + */ protected IConfigurationElement fConfigElement; + /** + * The project reference + */ protected IProject fProject; + // ------------------------------------------------------------------------ + // Constructors + // ------------------------------------------------------------------------ + /** - * + * Default constructor */ public NewTmfProjectWizard() { this(Messages.NewProjectWizard_DialogHeader, Messages.NewProjectWizard_DialogMessage); } /** - * @param title - * @param desc + * Constructor + * @param title The tile string + * @param desc The description string */ public NewTmfProjectWizard(String title, String desc) { super(); - setDialogSettings(TmfUiPlugin.getDefault().getDialogSettings()); + setDialogSettings(Activator.getDefault().getDialogSettings()); setNeedsProgressMonitor(true); setForcePreviousAndNextButtons(true); setWindowTitle(title); @@ -72,11 +106,10 @@ public class NewTmfProjectWizard extends Wizard implements INewWizard, IExecutab fDescription = desc; } - /* - * (non-Javadoc) - * - * @see org.eclipse.jface.wizard.Wizard#addPages() - */ + // ------------------------------------------------------------------------ + // Wizard + // ------------------------------------------------------------------------ + @Override public void addPages() { fMainPage = new NewTmfProjectMainWizardPage(Messages.NewProjectWizard_DialogHeader); @@ -85,79 +118,24 @@ public class NewTmfProjectWizard extends Wizard implements INewWizard, IExecutab addPage(fMainPage); } - /* - * (non-Javadoc) - * - * @see org.eclipse.jface.wizard.Wizard#performCancel() - */ @Override public boolean performCancel() { return true; } - /* - * (non-Javadoc) - * - * @see org.eclipse.jface.wizard.Wizard#performFinish() - */ @Override public boolean performFinish() { fProjectName = fMainPage.getProjectName(); fProjectLocation = fMainPage.useDefaults() ? null : fMainPage.getLocationURI(); - fProject = createProject(fProjectName, fProjectLocation, new NullProgressMonitor()); + fProject = TmfProjectRegistry.createProject(fProjectName, fProjectLocation, new NullProgressMonitor()); BasicNewProjectResourceWizard.updatePerspective(fConfigElement); return true; } - /** - * @param projectName - * @param projectLocation - * @param monitor - * @return - */ - private IProject createProject(String projectName, URI projectLocation, IProgressMonitor monitor) { - - IWorkspace workspace = ResourcesPlugin.getWorkspace(); - IWorkspaceRoot root = workspace.getRoot(); - IProject project = root.getProject(projectName); - - try { - if (!project.exists()) { - IProjectDescription description = workspace.newProjectDescription(project.getName()); - if (projectLocation != null) - description.setLocationURI(projectLocation); - project.create(description, monitor); - } - - if (!project.isOpen()) - project.open(monitor); - - IProjectDescription description = project.getDescription(); - description.setNatureIds(new String[] { TmfProjectNature.ID }); - project.setDescription(description, null); - - IFolder folder = project.getFolder(TmfTraceFolder.TRACE_FOLDER_NAME); - if (!folder.exists()) - folder.create(true, true, null); - - folder = project.getFolder(TmfExperimentFolder.EXPER_FOLDER_NAME); - if (!folder.exists()) - folder.create(true, true, null); - - return project; - } catch (CoreException e) { - e.printStackTrace(); - } - return null; - } - // ------------------------------------------------------------------------ // INewWizard // ------------------------------------------------------------------------ - /* (non-Javadoc) - * @see org.eclipse.ui.IWorkbenchWizard#init(org.eclipse.ui.IWorkbench, org.eclipse.jface.viewers.IStructuredSelection) - */ @Override public void init(IWorkbench iworkbench, IStructuredSelection istructuredselection) { }