### Eclipse Workspace Patch 1.0 #P org.eclipse.ide4edu.javalite.ui Index: src/org/eclipse/ide4edu/javalite/ui/view/OpenNewLiteClassWizardAction.java =================================================================== RCS file: /cvsroot/technology/org.eclipse.ide4edu/javalite/plugins/org.eclipse.ide4edu.javalite.ui/src/org/eclipse/ide4edu/javalite/ui/view/OpenNewLiteClassWizardAction.java,v retrieving revision 1.1 diff -u -r1.1 OpenNewLiteClassWizardAction.java --- src/org/eclipse/ide4edu/javalite/ui/view/OpenNewLiteClassWizardAction.java 4 Sep 2009 19:57:23 -0000 1.1 +++ src/org/eclipse/ide4edu/javalite/ui/view/OpenNewLiteClassWizardAction.java 17 Jan 2010 16:08:03 -0000 @@ -11,13 +11,20 @@ *******************************************************************************/ package org.eclipse.ide4edu.javalite.ui.view; +import java.net.URI; + +import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IWorkspaceRoot; import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.NullProgressMonitor; +import org.eclipse.jdt.core.IJavaProject; +import org.eclipse.jdt.core.JavaCore; import org.eclipse.jdt.internal.ui.JavaPluginImages; -import org.eclipse.jdt.internal.ui.wizards.NewWizardMessages; +import org.eclipse.jdt.ui.PreferenceConstants; import org.eclipse.jdt.ui.actions.AbstractOpenWizardAction; -import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.jdt.ui.wizards.JavaCapabilityConfigurationPage; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.swt.widgets.Shell; import org.eclipse.ui.INewWizard; @@ -38,7 +45,7 @@ setImageDescriptor(JavaPluginImages.DESC_TOOL_NEWCLASS); //PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IJavaHelpContextIds.OPEN_CLASS_WIZARD_ACTION); - fPage= new NewLiteClassWizardPage(); + fPage= new NewLiteClassWizardPage(null); fOpenEditorOnFinish= true; } @@ -67,19 +74,38 @@ * @see org.eclipse.jdt.ui.actions.AbstractOpenWizardAction#createWizard() */ protected final INewWizard createWizard() throws CoreException { - return new NewLiteClassCreationWizard(fPage, fOpenEditorOnFinish); + // If there is more then one project in the workspace and none is + // selected, show the project chooser. + boolean openProjectChooser = false; + IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot(); + if (workspaceRoot.getProjects().length >= 2 && getSelection().size() == 0) { + openProjectChooser = true; + } + return new NewLiteClassCreationWizard(fPage, openProjectChooser, fOpenEditorOnFinish); } protected boolean doCreateProjectFirstOnEmptyWorkspace(Shell shell) { IWorkspaceRoot workspaceRoot= ResourcesPlugin.getWorkspace().getRoot(); if (workspaceRoot.getProjects().length == 0) { - String title= NewWizardMessages.AbstractOpenWizardAction_noproject_title; - String message= NewWizardMessages.AbstractOpenWizardAction_noproject_message; - if (MessageDialog.openQuestion(shell, title, message)) { - new OpenNewLiteJavaProjectWizardAction().run(); - return workspaceRoot.getProjects().length != 0; + + // Set the preferences to not create src and bin folders when we + // automatically create a new project. + PreferenceConstants.getPreferenceStore().setValue(PreferenceConstants.SRCBIN_FOLDERS_IN_NEWPROJ, false); + + // Create the default assignment project + IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject("MyAssignment"); + URI locationURI = null; + IProgressMonitor monitor = new NullProgressMonitor(); + try { + JavaCapabilityConfigurationPage.createProject(project, locationURI, monitor); + JavaCapabilityConfigurationPage jcc = new JavaCapabilityConfigurationPage(); + IJavaProject jProject = JavaCore.create(project); + jcc.init(jProject, null, null, false); + jcc.configureJavaProject(null); + } catch (Exception e) { + return false; } - return false; + return true; } return true; }