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

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

Introduction

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

Prototype

int CPE_PROJECT

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

Click Source Link

Document

Entry kind constant describing a classpath entry identifying a required project.

Usage

From source file:org.jboss.tools.common.model.util.EclipseResourceUtil.java

License:Open Source License

public static IResource[] getClasspathResources(IProject project) {
    IJavaProject javaProject = getJavaProject(project);
    if (javaProject == null)
        return new IProject[0];

    ArrayList<IResource> l = new ArrayList<IResource>();

    IClasspathEntry[] es = null;//  ww  w . j ava2 s.  c  o m

    try {
        es = javaProject.getResolvedClasspath(true);
    } catch (JavaModelException e) {
        //ignore - if project cannot respond, it may not have resources of interest.
        return new IProject[0];
    }

    if (es != null)
        for (int i = 0; i < es.length; i++) {
            if (es[i].getEntryKind() == IClasspathEntry.CPE_PROJECT) {
                IPath path = es[i].getPath();
                IProject p = (IProject) project.getWorkspace().getRoot().findMember(path);
                l.add(p);
            } else if (es[i].getEntryKind() == IClasspathEntry.CPE_LIBRARY) {
                IPath path = es[i].getPath();
                IResource r = project.getWorkspace().getRoot().findMember(path);
                if (r instanceof IContainer) {
                    l.add(r);
                } else if (r != null && !project.getFullPath().isPrefixOf(r.getFullPath())) {
                    l.add(r); //probably it is jar 
                }
            }
        }

    return l.toArray(new IResource[0]);
}

From source file:org.jboss.tools.fuse.transformation.editor.internal.util.JavaUtil.java

License:Open Source License

/**
 * Creates a ClassLoader using the project's build path.
 *
 * @param javaProject the Java project./*from   ww w  . j a  v a 2s . c  om*/
 * @param parentClassLoader the parent class loader, may be null.
 *
 * @return a new ClassLoader based on the project's build path.
 *
 * @throws Exception if something goes wrong.
 */
public static ClassLoader getProjectClassLoader(IJavaProject javaProject, ClassLoader parentClassLoader)
        throws Exception {
    IProject project = javaProject.getProject();
    IWorkspaceRoot root = project.getWorkspace().getRoot();
    List<URL> urls = new ArrayList<>();
    urls.add(new File(project.getLocation() + "/" + javaProject.getOutputLocation().removeFirstSegments(1) //$NON-NLS-1$
            + "/") //$NON-NLS-1$
                    .toURI().toURL());
    for (IClasspathEntry classpathEntry : javaProject.getResolvedClasspath(true)) {
        if (classpathEntry.getEntryKind() == IClasspathEntry.CPE_PROJECT) {
            IPath projectPath = classpathEntry.getPath();
            IProject otherProject = root.getProject(projectPath.segment(0));
            IJavaProject otherJavaProject = JavaCore.create(otherProject);
            urls.add(new File(otherProject.getLocation() + "/" //$NON-NLS-1$
                    + otherJavaProject.getOutputLocation().removeFirstSegments(1) + "/").toURI().toURL()); //$NON-NLS-1$
        } else if (classpathEntry.getEntryKind() == IClasspathEntry.CPE_LIBRARY) {
            urls.add(new File(classpathEntry.getPath().toOSString()).toURI().toURL());
        }
    }
    if (parentClassLoader == null) {
        return new URLClassLoader(urls.toArray(new URL[urls.size()]));
    }
    return new URLClassLoader(urls.toArray(new URL[urls.size()]), parentClassLoader);
}

From source file:org.jboss.tools.jsf.jsf2.bean.scanner.lib.ClassPathMonitor.java

License:Open Source License

public static List<IJSF2Project> getProjects(IProject project) throws CoreException {
    List<IJSF2Project> list = new ArrayList<IJSF2Project>();
    IJavaProject javaProject = EclipseResourceUtil.getJavaProject(project);
    if (javaProject != null) {
        IClasspathEntry[] es = javaProject.getResolvedClasspath(true);
        for (int i = 0; i < es.length; i++) {
            if (es[i].getEntryKind() == IClasspathEntry.CPE_PROJECT) {
                IProject p = ResourcesPlugin.getWorkspace().getRoot().getProject(es[i].getPath().lastSegment());
                if (p == null || !p.isAccessible())
                    continue;
                IJSF2Project sp = JSF2ProjectFactory.getJSF2Project(p, false);
                if (sp != null)
                    list.add(sp);/*from   w  ww .jav  a 2  s  . c o m*/
            }
        }
    }
    return list;
}

From source file:org.jboss.tools.jst.web.kb.internal.scanner.ClassPathMonitor.java

License:Open Source License

List<KbProject> getKbProjects(IProject project) throws CoreException {
    List<KbProject> list = new ArrayList<KbProject>();
    if (project.isAccessible() && project.hasNature(JavaCore.NATURE_ID)) {
        IJavaProject javaProject = JavaCore.create(project);
        IClasspathEntry[] es = javaProject.getResolvedClasspath(true);
        for (int i = 0; i < es.length; i++) {
            if (es[i].getEntryKind() == IClasspathEntry.CPE_PROJECT) {
                IProject p = ResourcesPlugin.getWorkspace().getRoot().getProject(es[i].getPath().lastSegment());
                if (p == null || !p.isAccessible())
                    continue;
                KbProject.checkKBBuilderInstalled(p);
                IKbProject sp = KbProjectFactory.getKbProject(p, false);
                if (sp != null)
                    list.add((KbProject) sp);
            }//ww w  . j  av a  2 s . c o m
        }

    }
    return list;
}

From source file:org.jboss.tools.m2e.extras.AptBuildParticipant.java

License:Open Source License

private void processClasspathElement(IClasspathEntry ice, IProject containingProject,
        Xpp3Dom newClasspathElementsDom) throws JavaModelException {
    IPath path;//from  ww w .  j av  a  2 s  .c  o  m
    switch (ice.getEntryKind()) {
    case IClasspathEntry.CPE_SOURCE: {
        path = ice.getOutputLocation();
        if (path == null) {
            path = JavaCore.create(containingProject).getOutputLocation();
        }
        break;
    }
    case IClasspathEntry.CPE_PROJECT: {
        IProject referenceProject = containingProject.getWorkspace().getRoot()
                .getProject(ice.getPath().toPortableString());
        for (IClasspathEntry resolvedIce : JavaCore.create(referenceProject).getRawClasspath()) {
            // we're only concerned with exported libraries and the project
            // output
            if (resolvedIce.isExported() || resolvedIce.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
                try {
                    processClasspathElement(resolvedIce, referenceProject, newClasspathElementsDom);
                } catch (JavaModelException e) {
                }
            }
        }
        return;
    }
    case IClasspathEntry.CPE_CONTAINER: {
        // we're only concerned with the PDE container
        if (!PDE_CLASSPATH_CONTAINER.equals(ice.getPath())) {
            return;
        }
        IClasspathContainer icc = JavaCore.getClasspathContainer(ice.getPath(),
                JavaCore.create(containingProject));
        if (icc == null) {
            return;
        }
        for (IClasspathEntry resolvedIce : icc.getClasspathEntries()) {
            try {
                processClasspathElement(resolvedIce, containingProject, newClasspathElementsDom);
            } catch (JavaModelException e) {
            }
        }
        return;
    }
    case IClasspathEntry.CPE_LIBRARY:
        path = ice.getPath();
        break;
    case IClasspathEntry.CPE_VARIABLE:
        ice = JavaCore.getResolvedClasspathEntry(ice);
        if (ice == null) {
            return;
        }
        path = ice.getPath();
        break;
    default:
        return;
    }
    // make sure we have an absolute file system path
    Xpp3Dom child = new Xpp3Dom("#");
    IResource resource = containingProject.getWorkspace().getRoot().findMember(path);
    if (resource == null) {
        child.setValue(ice.getPath().toPortableString());
    } else {
        child.setValue(resource.getLocation().toPortableString());
    }
    newClasspathElementsDom.addChild(child);
}

From source file:org.jboss.tools.maven.conversion.core.internal.JavaDependency.java

License:Open Source License

public JavaDependency(IClasspathEntry cpe) {
    super();//w w  w  . j a v  a  2 s.  com
    Assert.isNotNull(cpe, "classpentry parameter can not be null");
    classpathEntry = cpe;
    if (cpe.getEntryKind() == IClasspathEntry.CPE_PROJECT) {
        setDependencyKind(DependencyKind.Project);
    } else if (cpe.getEntryKind() == IClasspathEntry.CPE_LIBRARY) {
        setDependencyKind(DependencyKind.Archive);
    } else {
        setDependencyKind(DependencyKind.Unsupported);
    }
}

From source file:org.jboss.tools.seam.internal.core.project.facet.WtpUtils.java

License:Open Source License

static private void insertClasspathEntry(IClasspathEntry entry, List<IClasspathEntry> entries) {
    int length = entries.size();
    IClasspathEntry[] elements = entries.toArray(new IClasspathEntry[length]);
    int i = 0;/*w  w w .j ava  2  s  .  c o m*/
    while (i < length && elements[i].getEntryKind() != entry.getEntryKind()) {
        i++;
    }
    if (i < length) {
        i++;
        while (i < length && elements[i].getEntryKind() == entry.getEntryKind()) {
            i++;
        }
        entries.add(i, entry);
        return;
    }

    switch (entry.getEntryKind()) {
    case IClasspathEntry.CPE_SOURCE:
        entries.add(0, entry);
        break;
    case IClasspathEntry.CPE_CONTAINER:
    case IClasspathEntry.CPE_LIBRARY:
    case IClasspathEntry.CPE_PROJECT:
    case IClasspathEntry.CPE_VARIABLE:
    default:
        entries.add(entry);
        break;
    }
}

From source file:org.jboss.tools.seam.internal.core.scanner.lib.ClassPath.java

License:Open Source License

List<SeamProject> getSeamProjects(IProject project) throws CoreException {
    List<SeamProject> list = new ArrayList<SeamProject>();
    if (project.isAccessible() && project.hasNature(JavaCore.NATURE_ID)) {
        IJavaProject javaProject = JavaCore.create(project);
        IClasspathEntry[] es = javaProject.getResolvedClasspath(true);
        for (int i = 0; i < es.length; i++) {
            if (es[i].getEntryKind() == IClasspathEntry.CPE_PROJECT) {
                IProject p = ResourcesPlugin.getWorkspace().getRoot().getProject(es[i].getPath().lastSegment());
                if (p == null || !p.isAccessible())
                    continue;
                ISeamProject sp = SeamCorePlugin.getSeamProject(p, false);
                if (sp != null)
                    list.add((SeamProject) sp);
            }//from w w w .j  av  a2  s  .c om
        }
    }
    return list;
}

From source file:org.jboss.tools.ws.creation.core.utils.ClasspathParser.java

License:Open Source License

private String[] classpathEntryToString(IClasspathEntry entry, IProject project) {
    switch (entry.getEntryKind()) {
    case IClasspathEntry.CPE_LIBRARY: {
        return new String[] { pathToString(entry.getPath()) };
    }/*from w  w w .  ja  va 2s  .  c  om*/
    case IClasspathEntry.CPE_PROJECT: {
        return getClasspath(ResourcesPlugin.getWorkspace().getRoot().getProject(entry.getPath().lastSegment()),
                true);
    }
    case IClasspathEntry.CPE_SOURCE: {
        IPath path = entry.getPath();
        if (path.segment(0).equals(project.getName()))
            path = path.removeFirstSegments(1);
        return new String[] { pathToString(project.getLocation().addTrailingSeparator().append(path)) };
    }
    case IClasspathEntry.CPE_VARIABLE: {
        return classpathEntryToString(JavaCore.getResolvedClasspathEntry(entry), project);
    }
    default: {
        return new String[] { pathToString(entry.getPath()) };
    }
    }
}

From source file:org.jetbrains.kotlin.core.utils.ProjectUtils.java

License:Apache License

public static List<IProject> getDependencyProjects(@NotNull IJavaProject javaProject)
        throws JavaModelException {
    List<IProject> projects = Lists.newArrayList();
    for (IClasspathEntry classPathEntry : javaProject.getResolvedClasspath(true)) {
        if (classPathEntry.getEntryKind() == IClasspathEntry.CPE_PROJECT) {
            IPath path = classPathEntry.getPath();
            IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(path.toString());
            if (project.exists()) {
                projects.add(project);/*  w w w  . ja va2s  .c  o m*/
                getDependencyProjects(JavaCore.create(project));
            }
        }
    }

    return projects;
}