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

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

Introduction

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

Prototype

int ORIGINATING_PROJECT_CLASSPATH

To view the source code for org.eclipse.jdt.core IPackageFragmentRoot ORIGINATING_PROJECT_CLASSPATH.

Click Source Link

Document

Update model flag constant (bit mask value 2) indicating that the operation is to update the classpath of the originating project.

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 {//from  w ww.  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;
}