package org.bundlemaker.core.ui.projecteditor.jdt.wizard; import org.bundlemaker.core.jdt.content.JdtProjectContentProvider; import org.bundlemaker.core.project.IModifiableProjectDescription; import org.bundlemaker.core.project.IProjectDescriptionAwareBundleMakerProject; import org.bundlemaker.core.ui.BundleMakerImages; import org.bundlemaker.core.ui.projecteditor.provider.INewProjectContentProviderWizardContribution; import org.eclipse.core.resources.IProject; import org.eclipse.jdt.core.IJavaProject; import org.eclipse.jdt.core.JavaCore; import org.eclipse.jface.wizard.IWizard; import org.eclipse.jface.wizard.Wizard; import org.eclipse.swt.graphics.Image; /** * @author Nils Hartmann (nils@nilshartmann.net) * */ public class JdtProjectContentProviderWizardContribution implements INewProjectContentProviderWizardContribution { /* * (non-Javadoc) * * @see * org.bundlemaker.core.ui.projecteditor.provider.NewProjectContentProviderWizardContribution#getLabel(org.bundlemaker * .core.IBundleMakerProject) */ @Override public String getLabel(IProjectDescriptionAwareBundleMakerProject bundleMakerProject) { return "JDT Projects (experimental)"; } /* * (non-Javadoc) * * @see * org.bundlemaker.core.ui.projecteditor.provider.NewProjectContentProviderWizardContribution#getImage(org.bundlemaker * .core.IBundleMakerProject) */ @Override public Image getImage(IProjectDescriptionAwareBundleMakerProject bundleMakerProject) { return BundleMakerImages.JDT_PROJECT_CONTENT_PROVIDER.getImage(); } /* * (non-Javadoc) * * @see org.bundlemaker.core.ui.projecteditor.provider.NewProjectContentProviderWizardContribution#getDescription(org. * bundlemaker.core.IBundleMakerProject) */ @Override public String getDescription(IProjectDescriptionAwareBundleMakerProject bundleMakerProject) { return "Add JDT projects from your workspace"; } /* * (non-Javadoc) * * @see * org.bundlemaker.core.ui.projecteditor.provider.NewProjectContentProviderWizardContribution#createWizard(org.bundlemaker * .core.IBundleMakerProject) */ @Override public IWizard createWizard(final IProjectDescriptionAwareBundleMakerProject bundleMakerProject) { final IModifiableProjectDescription modifiableProjectDescription = bundleMakerProject .getModifiableProjectDescription(); return new Wizard() { private final EditJdtContentProviderPage _page = new EditJdtContentProviderPage(modifiableProjectDescription); /* * (non-Javadoc) * * @see org.eclipse.jface.wizard.Wizard#addPages() */ @Override public void addPages() { addPage(_page); } @Override public boolean performFinish() { IProject[] selectedProjects = _page.getSelectedProjects(); JdtProjectContentProvider provider = new JdtProjectContentProvider(); provider.setName(_page.getName()); for (IProject iProject : selectedProjects) { IJavaProject javaProject = JavaCore.create(iProject); provider.addJavaProject(javaProject); } modifiableProjectDescription.addContentProvider(provider); return true; } }; } }