Example usage for org.eclipse.jdt.core IClasspathEntry CPE_SOURCE

List of usage examples for org.eclipse.jdt.core IClasspathEntry CPE_SOURCE

Introduction

In this page you can find the example usage for org.eclipse.jdt.core IClasspathEntry CPE_SOURCE.

Prototype

int CPE_SOURCE

To view the source code for org.eclipse.jdt.core IClasspathEntry CPE_SOURCE.

Click Source Link

Document

Entry kind constant describing a classpath entry identifying a folder containing package fragments with source code to be compiled.

Usage

From source file:org.eclipse.jpt.common.core.internal.resource.SimpleJavaResourceLocator.java

License:Open Source License

protected boolean locationIsValid_(IProject project, IContainer container) throws JavaModelException {
    IJavaProject javaProject = this.getJavaProject(project);
    if (javaProject.isOnClasspath(container)) {
        return true;
    }//from w w w. j  a va 2  s  .co m

    Set<IPath> outputPaths = new LinkedHashSet<IPath>();
    outputPaths.add(javaProject.getOutputLocation());
    IClasspathEntry[] entries = javaProject.getRawClasspath();
    for (int i = 0; i < entries.length; i++) {
        IClasspathEntry entry = entries[i];
        if (entry.getEntryKind() == IClasspathEntry.CPE_SOURCE && entry.getOutputLocation() != null) {
            outputPaths.add(entry.getOutputLocation());
        }
    }
    IPath containerPath = container.getFullPath();
    for (IPath outputPath : outputPaths) {
        if (container.equals(project) && outputPath.isPrefixOf(containerPath)) {
            return true;
        }
        if (outputPath.isPrefixOf(containerPath)) {
            return false;
        }
    }

    for (Object resource : javaProject.getNonJavaResources()) {
        if (resource instanceof IFolder) {
            IFolder folder = (IFolder) resource;
            if (folder.getFullPath().isPrefixOf(containerPath)) {
                return true;
            }
        }
    }

    return false;
}

From source file:org.eclipse.jpt.jpadiagrameditor.swtbot.tests.internal.JPACreateFactory.java

License:Open Source License

@SuppressWarnings("deprecation")
private String getFolderName(IProject project, String[] packageFragments) throws JavaModelException {
    IJavaProject javaProject = JavaCore.create(project);
    IPackageFragmentRoot[] packageFragmentRoots = new IPackageFragmentRoot[0];
    final IClasspathEntry[] classpathEntries = javaProject.getRawClasspath();
    for (IClasspathEntry classpathEntry : classpathEntries) {
        if (classpathEntry.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
            packageFragmentRoots = javaProject.getPackageFragmentRoots(classpathEntry);
            break;
        }//from  www.ja  v a 2  s.  c  o m
    }

    String folderName = packageFragmentRoots[0].getResource().getName();
    for (String fragment : packageFragments) {
        folderName += Path.SEPARATOR + fragment;
    }
    return folderName;
}

From source file:org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil.java

License:Open Source License

@SuppressWarnings("deprecation")
private static IFolder getPackageFolder(IProject project) throws JavaModelException {

    IJavaProject javaProject = JavaCore.create(project);
    IPackageFragmentRoot[] packageFragmentRoots = new IPackageFragmentRoot[0];
    final IClasspathEntry[] classpathEntries = javaProject.getRawClasspath();
    for (IClasspathEntry classpathEntry : classpathEntries) {
        if (classpathEntry.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
            packageFragmentRoots = javaProject.getPackageFragmentRoots(classpathEntry);
            break;
        }//w ww.jav  a  2  s.com
    }

    IPackageFragmentRoot packageFragmentRoot = packageFragmentRoots[0];
    Properties props = JPADiagramPropertyPage.loadProperties(project);
    IPackageFragment packageFragment = packageFragmentRoot
            .getPackageFragment(JPADiagramPropertyPage.getDefaultPackage(project, props));
    if (packageFragment.exists() == false) {
        packageFragment = packageFragmentRoot.createPackageFragment(
                JPADiagramPropertyPage.getDefaultPackage(project, props), true, new NullProgressMonitor());
    }
    IFolder folder = (IFolder) packageFragment.getCorrespondingResource();
    return folder;

}

From source file:org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil.java

License:Open Source License

@SuppressWarnings("deprecation")
static private boolean isJavaFileInProject(IProject project, String entityName, String defaultEntityPacakage) {
    IJavaProject javaProject = JavaCore.create(project);
    IPackageFragmentRoot[] packageFragmentRoots = new IPackageFragmentRoot[0];
    IClasspathEntry[] classpathEntries = null;
    try {/*from  ww  w  .  jav  a 2 s .  c  o m*/
        classpathEntries = javaProject.getRawClasspath();
    } catch (JavaModelException e) {
        JPADiagramEditorPlugin.logError("Cannot obtain the classpath", e); //$NON-NLS-1$   
        return false;
    }
    for (IClasspathEntry classpathEntry : classpathEntries) {
        if (classpathEntry.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
            packageFragmentRoots = javaProject.getPackageFragmentRoots(classpathEntry);
            break;
        }
    }

    IPackageFragmentRoot packageFragmentRoot = packageFragmentRoots[0];
    IPackageFragment packageFragment = packageFragmentRoot
            .getPackageFragment(JPADiagramPropertyPage.getDefaultPackage(project));
    if (!packageFragment.exists())
        return false;
    IFolder folder = null;
    try {
        folder = (IFolder) packageFragment.getCorrespondingResource();
    } catch (JavaModelException e) {
        JPADiagramEditorPlugin.logError("Cannot obtain the folder", e); //$NON-NLS-1$   
        return false;
    }
    if (!folder.exists())
        return false;
    String entityShortName = entityName.substring(entityName.lastIndexOf('.') + 1);
    IFile file = folder.getFile(entityShortName + ".java"); //$NON-NLS-1$
    return file.exists();
}

From source file:org.eclipse.jst.common.internal.modulecore.AddMappedOutputFoldersParticipant.java

License:Open Source License

public final static HashMap<IContainer, IPath> getMappedJavaOutputContainers(IProject project) {
    ComponentResourceProxy[] proxies = findAllMappingProxies(project);
    IJavaProjectLite javaProjectLite = JavaCoreLite.create(project);

    HashMap<IContainer, IPath> map = new HashMap<IContainer, IPath>();
    IFile classpathFile = project.getFile(JavaProject.CLASSPATH_FILENAME);
    if (javaProjectLite.exists() && classpathFile.exists()) {
        IClasspathEntry[] entries = javaProjectLite.readRawClasspath();
        for (IClasspathEntry entry : entries) {
            if (entry.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
                IPath cpePath = entry.getPath();
                for (int i = 0; i < proxies.length; i++) {
                    if (cpePath.equals(new Path(project.getName()).append(proxies[i].source).makeAbsolute())) {
                        IContainer outputContainer = JavaLiteUtilities.getJavaOutputContainer(javaProjectLite,
                                entry);/*from  w ww  .  j a va 2  s. co m*/
                        if (!map.containsKey(outputContainer)) {
                            map.put(outputContainer, proxies[i].runtimePath);
                        }
                    }
                    // TODO 
                }
            }
        }
    }
    return map;
}

From source file:org.eclipse.jst.common.jdt.internal.classpath.FlexibleProjectContainer.java

License:Open Source License

private boolean isSourceOrOutputDirectory(final IPath aPath) {
    if (isJavaProject(this.project)) {
        try {/*  w  w  w  .  j a  v  a2  s .  com*/
            final IJavaProject jproject = JavaCore.create(this.project);
            final IClasspathEntry[] cp = jproject.getRawClasspath();

            for (int i = 0; i < cp.length; i++) {
                final IClasspathEntry cpe = cp[i];

                if (cpe.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
                    final IPath src = cpe.getPath();
                    final IPath output = cpe.getOutputLocation();

                    if (src.equals(aPath) || output != null && output.equals(aPath)) {
                        return true;
                    }
                }
            }

            if (jproject.getOutputLocation().equals(aPath)) {
                return true;
            }
        } catch (JavaModelException e) {
            CommonFrameworksPlugin.log(e);
        }
    }

    return false;
}

From source file:org.eclipse.jst.common.jdt.internal.javalite.JavaLiteUtilities.java

License:Open Source License

/**
 * Returns the Java source (i.e. where the .java files are) IContainers for
 * the specified IJavaProjectLite//  w ww  . ja  v  a2 s. co m
 * 
 * @param javaProjectLite
 * @return
 */
public final static List<IContainer> getJavaSourceContainers(final IJavaProjectLite javaProjectLite) {
    IClasspathEntry[] entries = javaProjectLite.readRawClasspath();
    List<IContainer> containers = new ArrayList<IContainer>();
    for (IClasspathEntry entry : entries) {
        if (entry.getEntryKind() == IClasspathEntry.CPE_SOURCE && entry.getPath().segmentCount() > 0) {
            IContainer container = null;
            if (entry.getPath().segmentCount() == 1)
                container = ResourcesPlugin.getWorkspace().getRoot().getProject(entry.getPath().segment(0));
            else
                container = ResourcesPlugin.getWorkspace().getRoot().getFolder(entry.getPath());
            if (!containers.contains(container))
                containers.add(container);
        }
    }
    return containers;
}

From source file:org.eclipse.jst.common.jdt.internal.javalite.JavaLiteUtilities.java

License:Open Source License

/**
 * Returns the Java source (i.e. where the compiled .class files are) IContainers for
 * the specified IJavaProjectLite//from www .j a  va2s .  c  om
 * 
 * @param javaProjectLite
 * @return
 */
public final static List<IContainer> getJavaOutputContainers(final IJavaProjectLite javaProjectLite) {
    List<IContainer> containers = new ArrayList<IContainer>();
    IContainer defaultOutputContainer = getDefaultJavaOutputContainer(javaProjectLite);
    containers.add(defaultOutputContainer);
    IClasspathEntry[] entries = javaProjectLite.readRawClasspath();
    for (IClasspathEntry entry : entries) {
        if (entry.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
            IContainer outputContainer = getJavaOutputContainer(javaProjectLite, entry);
            if (!containers.contains(outputContainer)) {
                containers.add(outputContainer);
            }
        }
    }
    return containers;
}

From source file:org.eclipse.jst.common.jdt.internal.javalite.JavaLiteUtilities.java

License:Open Source License

private static List<IContainer> getJavaContainers(IVirtualComponent virtualComponent,
        JavaContainerType javaContainerType) {
    if (virtualComponent.isBinary()) {
        return Collections.emptyList();
    }//from w ww . j av  a  2 s. c om
    IProject project = virtualComponent.getProject();
    try {
        if (!project.hasNature(JavaCoreLite.NATURE_ID)) {
            return Collections.emptyList();
        }
    } catch (CoreException e) {
        CommonFrameworksPlugin.logError(e);
        return Collections.emptyList();
    }

    IJavaProjectLite javaProjectLite = JavaCoreLite.create(project);
    List<IContainer> containers = new ArrayList<IContainer>();
    if (javaContainerType == JavaContainerType.OUTPUT) {
        IContainer defaultOutputContainer = getDefaultJavaOutputContainer(javaProjectLite);
        IVirtualResource[] virtualResources = ComponentCore.createResources(defaultOutputContainer);
        for (IVirtualResource virtualResource : virtualResources) {
            if (virtualResource.getComponent().equals(virtualComponent)) {
                containers.add(defaultOutputContainer);
                break;
            }
        }
    }
    IClasspathEntry[] entries = javaProjectLite.readRawClasspath();
    for (IClasspathEntry entry : entries) {
        if (entry.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
            IPath sourcePath = entry.getPath().removeFirstSegments(1); // remove the project from the path
            IContainer sourceContainer = sourcePath.segmentCount() == 0 ? project
                    : project.getFolder(sourcePath);
            if (sourceContainer != null) {
                IVirtualResource[] virtualResources = ComponentCore.createResources(sourceContainer);
                for (IVirtualResource virtualResource : virtualResources) {
                    if (virtualResource.getComponent().equals(virtualComponent)) {
                        switch (javaContainerType) {
                        case SOURCE:
                            if (!containers.contains(sourceContainer)) {
                                containers.add(sourceContainer);
                            }
                            break;
                        case OUTPUT:
                            IContainer outputContainer = getJavaOutputContainer(javaProjectLite, entry);
                            if (!containers.contains(outputContainer)) {
                                containers.add(outputContainer);
                            }
                            break;
                        default:
                        }
                    }
                }
            }
        }
    }
    return containers;
}

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

License:Open Source License

protected void ensureBinary(IJavaProject javaProject, IProgressMonitor monitor) {

    if (javaProject == null)
        return;/*from   w  w w  .ja va 2s . c  o m*/
    List newCp = new ArrayList();
    try {
        IClasspathEntry[] entries = javaProject.getRawClasspath();
        for (int i = 0; i < entries.length; i++) {
            if (entries[i].getEntryKind() != IClasspathEntry.CPE_SOURCE)
                newCp.add(entries[i]);
        }
        entries = (IClasspathEntry[]) newCp.toArray(new IClasspathEntry[newCp.size()]);
        javaProject.setRawClasspath(entries, monitor);
    } catch (JavaModelException ex) {
        J2EEPlugin.logError(ex);
    }
}