public void test_configurePackagesFilter() throws Exception { IProject project = mock(IProject.class); IProjectUtilities.configurePackagesFilter(project); verify(project) .createFilter( anyInt(), any(FileInfoMatcherDescription.class), anyInt(), any(IProgressMonitor.class)); }
public void test_newProjectDescription() throws Exception { MockWorkspaceRoot root = new MockWorkspaceRoot(); IProjectDescription description = IProjectUtilities.newDartProjectDescription(root, "foo", null); assertNotNull(description); assertEquals("foo", description.getName()); assertNull(description.getLocation()); }
@SuppressWarnings("deprecation") public void test_newProjectDescription_outsideWorkspace() throws Exception { MockWorkspaceRoot root = new MockWorkspaceRoot(); IPath loc = new Path("/some/other/place"); IProjectDescription description = IProjectUtilities.newDartProjectDescription(root, "foo", loc); assertNotNull(description); assertEquals("foo", description.getName()); assertFalse(root.getLocation().isPrefixOf(description.getLocation())); }
/** * Create a ProjectType.WEB project or a ProjectType.SERVER project. * * @param project * @param projectType * @throws CoreException */ private IFile createProjectContent( IProject project, IFolder folder, String name, AbstractSample sampleContent) throws CoreException { IProjectUtilities.configurePackagesFilter(project); if (sampleContent == null) { return null; } IContainer container = project; if (folder != null) { container = folder; } return sampleContent.generateInto(container, name); }
/** * Creates a new project resource. * * @param name the project name * @param newProjectHandle the project handle * @param projectType the type of project * @param location the location * @param runnableContext a context for executing the creation operation * @param shell the shell (for UI context) * @return the created project resource, or <code>null</code> if the project was not created */ public static IProject createNewProject( String name, final IProject newProjectHandle, final ProjectType projectType, URI location, final IRunnableContext runnableContext, final Shell shell) { final IProjectDescription description = createProjectDescription(newProjectHandle, location); // create the new project operation IRunnableWithProgress op = new IRunnableWithProgress() { @Override public void run(IProgressMonitor monitor) throws InvocationTargetException { CreateProjectOperation op = new CreateProjectOperation(description, ResourceMessages.NewProject_windowTitle); try { IStatus status = op.execute(monitor, WorkspaceUndoUtil.getUIInfoAdapter(shell)); if (status.isOK() && projectType != ProjectType.NONE) { createProjectContent(newProjectHandle, projectType); } } catch (ExecutionException e) { throw new InvocationTargetException(e); } catch (CoreException e) { throw new InvocationTargetException(e); } } }; try { runnableContext.run(true, true, op); } catch (InterruptedException e) { return null; } catch (InvocationTargetException e) { Throwable t = e.getTargetException(); if (t instanceof ExecutionException && t.getCause() instanceof CoreException) { CoreException cause = (CoreException) t.getCause(); StatusAdapter status; if (cause.getStatus().getCode() == IResourceStatus.CASE_VARIANT_EXISTS) { status = new StatusAdapter( StatusUtil.newStatus( IStatus.WARNING, NLS.bind( ResourceMessages.NewProject_caseVariantExistsError, newProjectHandle.getName()), cause)); } else { status = new StatusAdapter( StatusUtil.newStatus( cause.getStatus().getSeverity(), ResourceMessages.NewProject_errorMessage, cause)); } status.setProperty( IStatusAdapterConstants.TITLE_PROPERTY, ResourceMessages.NewProject_errorMessage); StatusManager.getManager().handle(status, StatusManager.BLOCK); } else { StatusAdapter status = new StatusAdapter( new Status( IStatus.WARNING, IDEWorkbenchPlugin.IDE_WORKBENCH, 0, NLS.bind(ResourceMessages.NewProject_internalError, t.getMessage()), t)); status.setProperty( IStatusAdapterConstants.TITLE_PROPERTY, ResourceMessages.NewProject_errorMessage); StatusManager.getManager().handle(status, StatusManager.LOG | StatusManager.BLOCK); } return null; } try { IProjectUtilities.configurePackagesFilter(newProjectHandle); } catch (CoreException e) { DartCore.logError("Could not set package filter on folder " + newProjectHandle.getName(), e); } return newProjectHandle; }