Example usage for org.eclipse.jdt.core IPackageFragmentRoot delete

List of usage examples for org.eclipse.jdt.core IPackageFragmentRoot delete

Introduction

In this page you can find the example usage for org.eclipse.jdt.core IPackageFragmentRoot delete.

Prototype

void delete(int updateResourceFlags, int updateModelFlags, IProgressMonitor monitor) throws JavaModelException;

Source Link

Document

Deletes the resource of this package fragment root as specified by IResource.delete(int, IProgressMonitor) but excluding nested source folders.

Usage

From source file:org.eclipse.jst.j2ee.application.internal.operations.CreateProjectWithLinkedJarOperation.java

License:Open Source License

@Override
public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
    MultiStatus status = new MultiStatus(J2EEPlugin.PLUGIN_ID, 0, NLS.bind(
            EARCreationResourceHandler.CreateProjectWithLinkedJarOperation_Creating_project_with_linked_archiv_,
            getUtilityJar().getName()), null);

    try {/*  w w w  .j  a v  a  2 s . c o  m*/
        IProject project = getWorkspaceRoot().getProject(getUtilityJarProjectName(getUtilityJar()));

        IDataModel createUtilityProject = DataModelFactory
                .createDataModel(new UtilityProjectCreationDataModelProvider());
        createUtilityProject.setProperty(IFacetProjectCreationDataModelProperties.FACET_PROJECT_NAME,
                getUtilityJarProjectName(getUtilityJar()));

        if (projectRoot != null && projectRoot.length() > 0) {
            createUtilityProject.setBooleanProperty(IProjectCreationPropertiesNew.USE_DEFAULT_LOCATION, false);
            createUtilityProject.setProperty(IProjectCreationPropertiesNew.USER_DEFINED_LOCATION, projectRoot);
        }

        createUtilityProject.setProperty(IJ2EEFacetProjectCreationDataModelProperties.ADD_TO_EAR, true);
        createUtilityProject.setProperty(IJ2EEFacetProjectCreationDataModelProperties.EAR_PROJECT_NAME,
                getAssociatedEARProjectName());

        status.add(createUtilityProject.getDefaultOperation().execute(monitor, info));

        IProject utilityJarProject = getWorkspaceRoot().getProject(getUtilityJarProjectName(getUtilityJar()));

        /* Remove the default src folder */
        IJavaProject utilityJarJavaProject = JavaCore.create(utilityJarProject);
        IPackageFragmentRoot srcFolder = utilityJarJavaProject
                .getPackageFragmentRoot(utilityJarProject.getFolder("src")); //$NON-NLS-1$
        if (srcFolder.exists()) {
            srcFolder.delete(IResource.FORCE, IPackageFragmentRoot.ORIGINATING_PROJECT_CLASSPATH, monitor);
        }
        status.add(createLinkedArchive(project, getUtilityJar().getName(), getUtilityJar(), linkedPathVariable,
                monitor));

        /* Remove the /src mapping */
        IVirtualComponent utilComponent = ComponentCore.createComponent(project);
        status.add(removeRootMapping(utilComponent, "/src", monitor)); //$NON-NLS-1$

    } catch (Exception e) {
        status.add(J2EEPlugin.createErrorStatus(0,
                EARCreationResourceHandler.J2EEUtilityJarListImportOperation_UI_2, e));
    }
    return status;
}